点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
SAP Cloud SDK专家您好,
我正在完成教程任务使用CAP和SAP Cloud SDK 扩展S/4HANA 。 但是,我没有使用基于S/4HANA的业务伙伴,而是在我的AS ABAP中基于EPM业务伙伴创建了一个简单的OData服务。 为了简化复制问题,我为此OData服务创建了模拟服务 。 下一步,我遵循了使用SAP Cloud SDK的生成器生成自定义OData客户端库。 为我的消费者应用获取类型化的界面。
到目前为止一切顺利。 生成的结果即 EpmBusinessPartnerSet.ts 文件,其中包含实体集的所有属性。 但不像EDMX磁贴中的 ZEPM_BP_SRV.edmx a>用作来源的属性(即BpId)始终以小写字母(即bpId)开头。 因此,我需要调整服务定义,这样 服务实现与通用选择一起使用。
有没有办法改变发生器的这种行为? 还是有一种更简单的方式来使用OData服务?
最诚挚的问候
格雷戈尔
你好,格雷格,
感谢您与我们联系! 如果我理解正确,那么您正在使用CAP公开OData服务,并希望从下游服务中提供一些数据,这些数据是使用SAP Cloud SDK的OData客户端生成器生成的代码来消费的。
在最终的JavaScript代码中减少属性是一个明智的决定,以便与您通常在JavaScript中定义属性的方式保持一致。 话虽这么说,SDK的核心包(@ sap/cloud-sdk-core)导出了一个函数" serializeEntity",该函数将服务调用的结果转换为OData JSON格式(因此,仅是用于与该服务进行通信的常规格式) 无论如何)。 如果在调用select之前应用此功能,则应该可以解决格式问题。 因此,在您的情况下,它将是:
尽管这是暂时的解决方法,请让我们知道这是否可以解决您的问题!
如果您总体上有解决此问题的想法,我们也很想听听您的看法!
最诚挚的问候,
丹尼斯
请查看有关此主题的后续问题在实现中使用package.json/default-env.json中的目标
格雷戈·沃尔夫,
再次感谢您的支持,效果很好。
最诚挚的问候,
马克
一周热门 更多>