2.使用CDS创建一个主从表关系的ODATA

在上一步中,创建了一个有主从表关系的BOPF,在此使用上一步创建的BOPF,再创建CDS并生成ODATA

1.创建两个有主从关系的CDS

在HANA Studio中创建两个CDS,如下内容。

并同时激活,

2.在ODATA中使用

1.当激活时就会生成对应的ODATA了,但此时ODATA is not active,可以使用事务码/IWFND/MAINT_SERVICE激活ODATA服务,但现实中我们不会一个CDS一个ODATA服务,所以我们需要会在统一的ODATA服务中引用此两个ODATA服务。

1.在SAP GUI中使用事务码:SEGW,打开ODATA服务,我使用ZUSER_TEST来测试

2.引入CDS到新的ODATA中。

2.使用CDS创建一个主从表关系的ODATA - 第1张  | 优通SAP

3.输入主CDS并,选择所有相关的子CDS,结果如图,图中第2步,激活。

2.使用CDS创建一个主从表关系的ODATA - 第2张  | 优通SAP

4.把生成ODATA服务,此步骤如在之前已生成后可以不在生成。

2.使用CDS创建一个主从表关系的ODATA - 第3张  | 优通SAP

此时ODATA就创建完成了。

3.测试ODATA

点击上图中的第3步中的SAP Gateway Client,不可打开测试

1.使用GET

/sap/opu/odata/SAP/ZUSER_TEST_SRV/ZUSER_C_USER2?$format=json

可得到当前主表的数据,

2.使用POST ,可创建新的数据

/sap/opu/odata/SAP/ZUSER_TEST_SRV/ZUSER_C_USER2

3.使用PUT时为修改,相当于在使用MODIFY,把数据修改为传入的数据,没传入的数据就相当于是传入了“”空值。所以使用时要注意,

/sap/opu/odata/SAP/ZUSER_TEST_SRV/ZUSER_C_USER2(‘BBB’)

4.使用PATCH时,只会修改报文中指定了的值,相当于是UPDATA更新报文中的值,所以大部份时候来说,我们可能所需要的更新应该是PATCH,而不是PUT.

/sap/opu/odata/SAP/ZUSER_TEST_SRV/ZUSER_C_USER2(‘BBB’)

5.在使用PUT,PATCH,DELETE时,URI中需要指定修改的主键,当只有一个字段时,可以直接如上连接(‘BBB’),也可以写为(bname=’BBB’)

4.多表关联导航

一下步为多表关联的CDS学习,使用EKKO,EKPO,KONV说明。