SAP ODATA 开发教程

本文详细介绍了如何在SAP环境中使用SEGW交易码创建和配置基于RFC的ODATA服务。步骤包括定义数据模型、创建实体集、设置主键、建立关联关系,以及在DPC_EXT中实现业务逻辑。最后,通过/IWFND/MAINT_SERVICE激活服务,并在SAP Gateway客户端进行测试,确保POST请求能成功执行并保存数据到指定表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SAP ODATA 开发教程

如果这个看不太明白的可以移步到SAP社区上的那个基于RFC的odata教程,这个特别全细,
基于RFC构建的ODATA教程

T-CODE: SEGW,创建ODATA,填写ODATA名称、描述及包

在这里插入图片描述

创建实体集Header

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在Properties添加字段作为抬头字段

在这里插入图片描述

同样的方法创建result,用于返回消息

在这里插入图片描述

选中Data Model使用导入,参考表创建实体集(结构也可参考)

在这里插入图片描述

填写实体集名及参考表ZTMATERIAL_PRICE

在这里插入图片描述

勾选要导入的字段,点击下一步

在这里插入图片描述

选择作为主键的字段,点击Finish完成导入

在这里插入图片描述
在这里插入图片描述

创建关联

在这里插入图片描述

填写关联名称、关联双方、关联关系、导航属性,抬头与明细数据的关系为一对多,故此处抬头为1,明细数据MaterialPrice为N,点击下一步

在这里插入图片描述

填写关联字段,点击下一步
在这里插入图片描述

本页面默认即可,点击完成,完成关联关系的创建

在这里插入图片描述

相同方法创建抬头与返回消息的关联关系

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

创建完成如图:

在这里插入图片描述

点击Generate Runtime Objects按钮生成服务

在这里插入图片描述
在这里插入图片描述

MPC用于定义模型,ODATA使用的全局结构等在此定义; DPC用于实现增删改查、函数调用等,通过重定义对应方法并编写逻辑实现。

在这里插入图片描述

在这里插入图片描述

添加自定义数据类型TS_DEEP_ENTITY,引用上面定义的实体集结构,名称与实体集导航属性一致

在这里插入图片描述

注:TS_DEEP_ENTITY中的TS_MATERIALPRICE、TS_RESULT结构是创建实体集时系统生成的,在类别中可查看

在这里插入图片描述

转到DPC_EXT

在这里插入图片描述

创建方法CUSTOME_CREATE_DEEP_ENTITY,用于执行具体的事务操作

在这里插入图片描述

点击参数,添加方法参数

在这里插入图片描述

点击异常,添加异常处理

在这里插入图片描述

完成后在目录【方法】下查看添加的方法,可点击签名查看方法的参数及异常处理

在这里插入图片描述

重定义/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_DEEP_ENTITY方法

在这里插入图片描述

添加代码,当服务调用HeaderSet时调用方法CUSTOME_CREATE_DEEP_ENTITY执行事务操作

在这里插入图片描述

编写方法CUSTOME_CREATE_DEEP_ENTITY执行事务操作代码

在这里插入图片描述

T-CODE: /IWFND/MAINT_SERVICE–激活并维护服务

在这里插入图片描述

添加服务

在这里插入图片描述

填写包即可,其他由系统生成,无需修改,这里因为已经添加过,用其他服务演示

在这里插入图片描述

添加服务完成,选中服务,点击SAP Gateway客户端按钮进入测试客户端

在这里插入图片描述
在这里插入图片描述

更改请求方式为POST,更改请求URI,添加请求数据

在这里插入图片描述

点击执行按钮,执行返回状态,执行成功
在这里插入图片描述

验证接口操作是否执行成功,本例接口为保存数据至表ZTMATERIAL_PRICE,故查看表数据是否增加
在这里插入图片描述

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

雨天行舟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值