点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我在考虑是否可以通过ABAP模拟在同一系统上开发的网关服务的调用。
一个小场景
我创建了一个OData服务来创建和更新材料:它接收JSON,检索模型材料并将其复制以创建新材料。
这是完美的工作,但是,当然,它是一个接一个地工作。
对于即将上线的golive项目,我们必须创建约1000种材料,并且可能有些棘手,所以我正在开发经典的ABAP报告,该报告读取XLSX文件并完成工作
问题/问题
是的,我可以复制和粘贴我的OData服务的相同方法,但是在两个不同的位置保持更新相同的代码将是一团糟。
我可以将原始代码分离出来,放入另一个地方 类,然后在服务和报告中调用该类。
但是我想知道是否有可能调用我已经实现的服务,只是参数io_data_provider似乎有点棘手。
有人尝试过吗?
Uwe Fetzer 是完全正确的。 请查看 https://grahamrobbo.github.io/building_gateway_services /并提供有关此主题的示例代码和演示 。 但是实际上有一种方法可以在ABAP系统中调用OData服务:使用eCATT OData助手自动进行OData服务测试。
我找不到我两年前使用的博客/维基,但也许它们只是博客,而不像 this 或此其中的逻辑(即使 仅用于读取操作)直接放在_DPC_EXT类中。
我会尽力再次找到它,但是更改笔记本电脑对我没有帮助
您永远不要在dpc_ext类中包含业务逻辑,请始终调用外部方法。 如果将逻辑重构(外包)到一个独立的类中,则可以为当前问题提供解决方案,并为将来提供更简洁的代码。 双赢。
感谢 Uwe Fetzer 和格雷戈·沃尔夫(Gregor Wolf)为您提供提示。
我同意,外包代码是最好的选择,但我年轻又愚蠢,错误。 当我写Ocode的时候还不是OData的专家,所以我有点混乱。
我可以在这里责怪一些维基,这些例子展示了如何将编码放在_dpc_ext类中,但是我很可能会误解了整个例子,因为它们都引用了标准BAPI:)
再次,非常感谢您的提示:)
一周热门 更多>