当前位置: 首页 > news >正文

美食网站网页设计论文网络营销课程培训机构

美食网站网页设计论文,网络营销课程培训机构,网站突然打不开了,如何建设正规彩票网站SAP创建ODATA服务-Structure 1、创建数据字典 进入se11创建透明表ZRICO_USR,并创建对应字段 2、创建OData service 首先创建Gateway service project,事务码:SEGW,点击Create Project 按钮 Gateway service Project分四个部分&#xff1a…

SAP创建ODATA服务-Structure

1、创建数据字典

进入se11创建透明表ZRICO_USR,并创建对应字段

在这里插入图片描述

2、创建OData service

  1. 首先创建Gateway service project,事务码:SEGW,点击Create Project 按钮

    在这里插入图片描述

    在这里插入图片描述

    Gateway service Project分四个部分:

    ♦ Data Model: 数据模型,主要包括 Entity type,( 比如说 product entity,customer entity 等),Entity set (Entity 的集合,多笔数据) 和 Association (Entity 之间的关联)

    ♦ Service Implementation: Entity set 的 CRUD 实现

    ♦ Runtime Artifacts:基于Entity set 的代码框架,包括数据模型 (Data model),数据提供者 (Data provider)

    ♦ Service maintenance:注册服务,测试服务

  2. 创建Data Model

    1. 创建Entity

      选中Data Model,右键,Import->DDIC Structure

      在这里插入图片描述

      输入Entity Name以及数据表结构 ZRICO_USR,若勾选Create Default entity set则自动创建Entity set,然后next

      在这里插入图片描述

      选中所有字段,点击next

      在这里插入图片描述

      选择字段MANDT、USRID为主键,并将Name值按照规范首字符需大写,如下图所示。

      在这里插入图片描述

      点击finish,如下图所示:

      在这里插入图片描述

      完成后查看Entity属性

      在这里插入图片描述

    2. 调整Entity Sets

      设置Entity集合可CRUD

      在这里插入图片描述

  3. 设置Entity集合可CRUD

    选中项目名,右键Generate Runtime

    保持所有值默认,点击Continue按钮,运行

    在这里插入图片描述

    系统生成Runtime objects

    在这里插入图片描述

  4. 服务注册

    若之前已经创建了Gateway Service别名,则在Service Maintenance下可以看到

    在这里插入图片描述

    此时Register Status是没有状态的,点击Register按钮

    在这里插入图片描述

    选择系统别名LOCAL

    在这里插入图片描述

    确认后,完成服务注册,状态已经改变。

    在这里插入图片描述

  5. 测试OData Service

    可以通过Browser或者SAP Gateway Client 进行测试,点击Maintain进入激活并维护服务界面

    在这里插入图片描述

    在这里插入图片描述

    调用浏览器测试,如下图所示,测试成功:

    在这里插入图片描述

    浏览器测试可能存在问题:

    A.点击 Call Browser 按钮,系统显示 host name 或 port 没有配置好,使用事务码 SMICM,然后通过菜单 Goto -> Services,看看主机和端口是否配置好,是否启用。

    B.如果服务器没有在 Internet 上公开,这个 host name 不能通过 Internet 网进行访问,则需要设置本机的 hosts 文件,让本机指向这个域名。hosts 文件的位置在 C:\Windows\System32\drivers\etc 文件夹中。

    Gateway客户端测试:

    在这里插入图片描述

    在这里插入图片描述

    客户端测试,当前连接出错,未配置Fiori外部服务环境,可跳过,不影响后续测试,正常测试如下:

    在这里插入图片描述

  6. 服务实现

    服务实现是指提供 CRUD 的具体实现,因为读取数据的时候,存在 Entity 和 EntitySet,SAP 一般把读取 Entity 叫做 Read,把读取 EntitySet 叫做 Query,

    在SEGW界面中展开Service Implementation:

在这里插入图片描述

需要编写具体的代码,这样外部才能实现对SAP数据的增删改查。

OData OperationHTTP MethodWhat it meant to an ABAPer
CreatePOSTInsert from
ReadGETSelect Single * From into
UpdatePUT/PATCHUpdate set
DeleteDELETEDelete from
QueryGETSelect * From Into Table
Function ImportGET/POSTEverything covered by GET and POST. But only use if scenario does not fit into CRUDQ operations.
  1. Query重定义

    首先我们开看看GetEntitySet方法的编写过程 。选中GetEntitySet(Query),右键,Go to Abap Workbench

    在这里插入图片描述

    系统提示:

    在这里插入图片描述

    点击确认,进入下列界面:

    在这里插入图片描述

    选中ZUSERSET_GET_ENTITYSET方法,右键,重定义,改写该方法实现过程(其他方法改写类似)

    在这里插入图片描述

    改写里面的逻辑:

    method zuserset_get_entityset.data:ls_filter         type /iwbep/s_mgw_select_option,ls_select_options type /iwbep/s_cod_select_option.data:lt_range_usrid    type table of zrange_vhl.field-symbols:<fs_range_usrid>  type zrange_vhl.read table it_filter_select_optionsinto ls_filterwith key property = 'Usrid'.if sy-subrc = 0.loop at ls_filter-select_options into ls_select_options.append initial line to lt_range_usrid assigning <fs_range_usrid>.move-corresponding ls_select_options to <fs_range_usrid>.unassign <fs_range_usrid>.endloop.endif.select *from zrico_usrinto corresponding fields of table et_entitysetwhere usrid in lt_range_usrid.endmethod.
    

    其中ET_ENTITYSET是类方法预设的参数,基于ZRICO_USR内表结构。

    在这里插入图片描述

    修改完成后激活,然后通过浏览器进行测试或者Gateway客户端测试

    在这里插入图片描述

    同时,也可以通过Postman测试SAP OData Services,后面会大量使用Postman来测试

    在这里插入图片描述

  2. Read重定义

    选中GetEntity,同理进入对应的类,改写ZUSERSET_GET_ENTITY:代码如下

     method ZUSERSET_GET_ENTITY.
    *  RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc
    *    EXPORTING
    *      textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented
    *      method = 'ZUSERSET_GET_ENTITY'.data lv_usrid type zrico_usr-usrid.data:ls_key_tab type /iwbep/s_mgw_name_value_pair,ls_usr type zrico_usr.read table it_key_tabwith key name = 'Usrid'into ls_key_tab.if sy-subrc = 0.lv_usrid = ls_key_tab-value.endif.select single *from zrico_usrinto er_entitywhere usrid = lv_usrid.endmethod.
    

    执行结果hanas1.hand-china.com:2550/sap/opu/odata/sap/ZRICO_STRU_USR1_SRV/zuserSet(Mandt=‘200’,Usrid=‘123’)?$format=xml:如下

    在这里插入图片描述

  3. Create重定义

    选中Create,右键进入ABAP工作台,方法 ZUSERSET_CREATE_ENTITY重定义,代码如下:

      method ZUSERSET_CREATE_ENTITY.
    *  RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc
    *    EXPORTING
    *      textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented
    *      method = 'ZUSERSET_CREATE_ENTITY'.datals_usr type zrico_usr.io_data_provider->read_entry_data( importing es_data = er_entity ).MOVE-CORRESPONDING er_entity to ls_usr.insert zrico_usr from ls_usr.endmethod.
    
  4. Update重定义

    选中Update,右键,进入工作台,方法ZUSERSET_UPDATE_ENTITY重定义,代码如下:

      METHOD zuserset_update_entity.
    * RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc
    *    EXPORTING
    *      textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented
    *      method = 'ZUSERSET_UPDATE_ENTITY'.DATA:ls_usr TYPE zrico_usr.io_data_provider->read_entry_data( IMPORTING es_data = er_entity ).MOVE-CORRESPONDING er_entity TO ls_usr.MODIFY zrico_usr FROM ls_usr.ENDMETHOD.
    
  5. Delete重定义

    选中Delete,右键,进入ABAP工作台,方法ZUSERSET_DELETE_ENTITY重定义,代码如下:

      METHOD zuserset_delete_entity.
    *  RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc
    *    EXPORTING
    *      textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented
    *      method = 'ZUSERSET_DELETE_ENTITY'.DATA:lv_usrid TYPE zrico_usr-usrid.DATA:ls_key_tab TYPE /iwbep/s_mgw_name_value_pair,ls_usr     TYPE zrico_usr.READ TABLE it_key_tab WITH KEY name = 'Usrid' INTO ls_key_tab.IF sy-subrc = 0.lv_usrid = ls_key_tab-value.ENDIF.DELETE FROM zrico_usr WHERE usrid = lv_usrid.ENDMETHOD.
    
  6. Function Import 函数导入

    如果操作不适合CRUD方案,那么您可以通过函数导入来执行。选中DataModel,右键,Create,Function Import

    在这里插入图片描述

    输入导数名称,例如:需要根据用户名NAME查询其他信息

    在这里插入图片描述

    确认后,Function Imports节点下显示创建的名称。

    在这里插入图片描述

    调用Function imports相关参数:

    Return type Kind:Entity type Return type: ZUSER

    Return Cardinality:返回值为实体集合,则选择 0…n

    HTTP:Get方式

    在这里插入图片描述

    为Function Import创建导入参数:双击Function Import Parameters,

    在这里插入图片描述

    选择传建按钮,输入参数名:Us人Name,参数类型Edm.String,最大长度值

    在这里插入图片描述

    完成后保存

    然后可以在Postman或者调用浏览器测试,可获得类似的结果 在这里插入图片描述

    然后通过类似的方法给对应的方法重定义再进行测试即可

    下一步重定义方法:

    在这里插入图片描述

    代码如下:

    在这里插入图片描述

    然后通过Postman测试:

    http://gXXX.XXXXX.com:8000/sap/opu/odata/sap/ZRICO_STRU_USR_SRV/UserByName?UsrName=‘12’

    在这里插入图片描述

http://www.yidumall.com/news/100761.html

相关文章:

  • 厦门做网站最好的公司有哪些今日新闻头条新闻
  • 微信网站是什么合肥seo外包平台
  • 宁夏网页设计网站爱站长工具综合查询
  • 免费做图网站有哪些网站宣传费用
  • 做网站主页上主要放哪些内容上海十大公关公司排名
  • 毕业生就业网站开发项目seo外贸公司推广
  • 江苏核酸检测机构优化公司
  • 学做招投标的网站外贸推广网站
  • 博山做网站济南seo快速霸屏
  • 新闻网站网页设计浙江企业seo推广
  • 大丰区城乡和住房建设局网站网站的营销策略
  • 网站实现留言功能互联网品牌的快速推广
  • 英文网站建设费用杭州百度百科
  • 做网站没有成本费用如何做账百度网址
  • 网站推广是做什seo平台是什么
  • 厦门网站建设开发公司搜索引擎入口大全
  • 爱奇艺做视频网站的微博推广方案
  • 帮助传销做网站会不会判刑深圳快速seo排名优化
  • 深圳美容网站建临沂今日头条新闻最新
  • c 网站开发实例武汉网站推广
  • 网站建设合作合同模板百度宣传做网站多少钱
  • 响应式网站建设哪里有如何推广品牌知名度
  • 织梦网站后台密码营销网络是什么
  • 婚纱影楼网站源码企业seo的措施有哪些
  • app专业定制开发长沙百度网站排名优化
  • h5网站价格方案代运营哪家比较可靠
  • 济南建网站公司百度网站流量统计
  • wordpress做企业网站无限制访问国外的浏览器
  • 什么网站可以做网站测速对比滨州网站建设
  • 个人做网站手机获取验证码seo常见优化技术