在ECC的netweaver gateway基础配置激活完成后,就可以使用SEGW事务码来创建ODATA了,
As you’ve learned from the previous chapters, each OData service con –
sists of a data model definition and a service implementation. At runt –
ime, the model definiti on results in the service document and the ser –
vice metadata document, and the service implementation results in th e
actual functionality of the SAP NetWeaver Gateway service. For an SAP
NetWeaver Gateway OData service using the OData channel develop-
ment paradigm, the model definition is provided via the model provider
class (MPC). The service implementation is provided via the data pro-
vi der class (DPC). The too l that performs both of these tasks is the SAP
NetWeaver Gateway Service Builder.
一、输入事务码SEGW,并点击新建,创建一个ODATA项目,如图输入ZFIORI,为项目名。
二、如图,右键点击选择“DDIC Structure”就可以用ECC的一个已有的结构来创建一个ODATA的Data Model.
三、选择一个表名来如图,创建完成,如图中使用SAP的用户表来生成,并生成如图
四、如图选中项目,并生成ODATA的代理类。
五、在类中写入代码,查询出为ODATA提供的数据了,在这里一定是对*GET_ENTITYSET的方法进行重实现,不能是直接双击打开,
实现的代码如下:
1 2 3 4 5 6 7 8 |
DATA:gt_data TYPE STANDARD TABLE OF usr01. FIELD-SYMBOLS:<gs_data> TYPE usr01. FIELD-SYMBOLS: <gs_exporting> TYPE ZCL_ZFIORI_MPC=>TS_USR01. SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_data FROM usr01 up to 10 rows. LOOP AT gt_data ASSIGNING <gs_data>. APPEND INITIAL LINE TO ET_ENTITYSET ASSIGNING <gs_exporting>. MOVE-CORRESPONDING <gs_data> to <gs_exporting>. ENDLOOP. |
六、把SEGW项目加入到服务中,以便用外使用,使用事务码/IWFND/MAINT_SERVICE打开,有的系统使用此事务码会报错,此时要吧使用SE93输入此事务码然后再运行,就可以了。
/IWFND/MAINT_SERVICE创建服务并测试,请看一节。