作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在使用 SEGW t-code 开发 SAP Gateway 项目时,我总是尝试从功能模块/BAPI 导入实体集。
除了非常快速和有用之外,我 - 大多数情况下 - 还能够将数据源映射到数据提供者类的 CRUD-Q 操作方法。这种映射与 SAP 提供的许多 FM/BAPI 配合得很好。
可悲的是,我不知道如何自己编写功能组/功能模块,这些功能组/功能模块也非常“可映射”。通常,我得到了 GetEntitySet 映射,但其他都没有(创建、删除等)。我不知道编写良好的“可映射”功能模块需要什么导入/导出参数或其他什么。
最佳答案
OData“创建”操作需要返回创建的实体。因此,您的 FM 应该导出 Entity 类型本身的结构。
'Read' 也返回一个实体记录,因此这类似于 'Create' FM。
“更新”和“删除”没有任何返回参数。因此,只要出现错误,他们就可以返回业务异常 (/IWBEP/CX_MGW_BUSI_EXCEPTION)。
这在这里得到了很好的解释。 https://blogs.sap.com/2014/06/04/how-to-design-rfcs-for-odata-service-generation/
但是,请记住,这种(自上而下的方法)通常不是生产场景中的首选方法。我发现在生产场景中创建基于代码的实现非常适合网关服务。检查上述博客中的评论。
关于data-modeling - SAP 网关开发 : How do I write well 'mapable' function modules?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33806312/
我是一名优秀的程序员,十分优秀!