如何创建OData Service?
SAP中如何使用创建、注册、发布OData Service?
工具/原料
t-code:SE11
t-code:SEGW
t-code:/iwfnd/maint_service
Part 1:创建OData Services
1、通过DDIC import的方式创建OData Services. 首先,在t-code:SE11中创建一个名称为YIRIS_TABLE的表。并往这种表中加入两条测试数据。
2、t-code:SEGW,创建一个projectYPROJECT1,如图所示,系统会自动创建名称为Data Model, Service Implemenation, Runtime Artifacts, Services Maintenance的文件夹。
3、右键Data Model -> Import -> DDIC Structure. 在弹出的界面中,指定 Entity Name为Entity1 ;A蚱澄堆别BAP structure 为YIRIS_TABLE;并勾中Crete Default Entity Set,让系统自动创建 Entity Set. 然后点击"Next"按钮进入下一个界面。
4、在下一个界面的右侧,勾中要加入到OData Service的字段,然后点击"Next"进入一个界面。在下一个界面,指定EMPNO字段“Is Key"。然后点击”Finish“完成DDIC import.
5、如图所示,Entity Types ‘Entity1’, Entity Set ‘Entity1Set’ and Service Implementation ‘Entity1Set’会被自动创建。然后我们点击上方的按钮,创建runtime object.
6、在创建runtime object的时候,下面的界面会弹出,下面的runtime objects会被自动创建。·Model Provider Class name: YCL_YPROJECT1_MPC_EXT·Model Provider Base class name: YCL_YPROJECT1_MPC·Data Provider Class name: YCL_YPROJECT1_DPC_EXT·Data Provider Base class name: YCL_YPROJECT1_DPC·Technical Model Name: YPROJECT1_MDL·Technical Service Name: YPROJECT1_SRV (会在part 2 Add services时用到)
7、这一步我们要将 Data Provider Class YCL_YPROJECT1_DPC_EXT中的methods进行redefine. 在t-code:SE24中打开该Class,知道要redefine的method,右键-> redefine. 然后再右侧source code窗口中写入实现代码。
8、需要redefine的几个method为:1)ENTITY1SET_GET_ENTITYSET2)ENTITY1SET_GET_ENTITY3)ENTITY1SET_UPDATE_ENTITY4)ENTITY1SET_CREATE_ENTITY5)ENTITY1SET_DELETE_ENTITY
Part 2:Gateway Hub上注册服务
1、Gateway Hub上注册服务,向外部系统暴露我们的OData Service。t-code:/iwfnd/maint_service , 点击"Add servcie"按钮。指定我们上一步创建的Technical Service name YPROJECT1_SRV,以及System Alias,然后回车。那么YPROJECT1_SRV这个Backed Service就会出现,然后双击。
2、在弹出的界面中点击绿色的对号。我们这个新的backend service就会创建成功了 。
3、点击回退,来到Service Catalog, 找到我们新创建的service , 双击,选择Call Browser.在浏览器中的结果如下图所示
4、: 在Advanced REST client中测试我们redefine的ENTITY1SET_GET_ENTITYSET这个method.URL中输入http://XXXXXXX:8000/sap/opu/odata/sap/YPROJECT1_SRV/Entity1Set 其中XXXXXX代表服务器地址。 输出的结果为YIRIS_TABLE中所有的两条记录。