【Fiori学习笔记】OData深度实体(Deep Entity)测试

OData深度实体(Deep Entity)测试

在 SAP OData 中, Deep Entity (深度实体)是指通过一次请求创建具有复杂关联关系的实体集合,其核心功能是支持事务性操作和简化多对象创建流程,优化了多对象操作效率和数据一致性。

1、创建结构/表

Tcode:SE11

(抬头表)

(明细表)

2、创建OData服务

Tcode:SEGW

通过“Data Model→Import→DDIC Structure”创建实体类型(Entity Type)。

同时会自动生成实体集(Entity Set)。

创建关联(Associations),Associations定义了实体类型之间的逻辑关系(比如1:1、1:N、N:N)。

生成运行时对象(Generation Runtime Objects),将设计阶段定义的数据模型(实体类型、关联、函数导入等)转换为可执行的ABAP代码,从而支持服务在SAP系统中的实际运行。

生成运行时对象会创建以下两类核心ABAP类:

模型提供类(Model Provider Class):定义OData模型的结构并负责与元数据交互。

数据提供类(Data Provider Class):实现服务的数据操作逻辑(CRUD操作、函数导入、导航属性处理等),处理客户端请求并返回响应。

这里需要调整以下两个类/接口(Go to ABAP Workbench):

ZCL_ZAPI_USER_INFO_DEE_MPC_EXT

ZCL_ZAPI_USER_INFO_DEE_DPC_EXT

重定义“DEFINE”方法。

进入类/接口“ZCL_ZAPI_USER_INFO_DEE_DPC_EXT”,重定义方法“/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_DEEP_ENTITY”。

服务维护(Service Maintenance)

点了“Register”按钮没有任何反应,通过事务代码“/IWBEP/ERROR_LOG”查看错误Log。

注意这里的GET_ENTITY_TYPE里面的IV_ENTITY_NAME参数区分大小写。

修改之后就可以正常添加服务。

调用浏览器测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值