无法使用Cloud SDK创建虚拟数据模型类

时间:2019-05-20 14:25:43

标签: s4sdk sap-cloud-sdk

我正在尝试使用this blog

使用来自SFSF的EDMX创建VDM。

我创建一个SCP业务应用程序模板,然后从srv模块中尝试从外部源(在本例中为API Business Hub)添加新的数据模型。 我尝试使用SuccessFactors员工中心-个人信息。 https://api.sap.com/api/ECPersonalInformation/overview

此过程开始并失败,并显示以下消息:“不支持具有多个架构的OData模型”,然后显示“无法生成虚拟数据模型类”。

将按预期生成外部文件夹,并使用EDMX文件夹中的XML,但csn文件夹为空。

据我所知,它应该与商业中心的任何api一起使用吗?我做错了什么还是错过了什么?

谢谢。

1 个答案:

答案 0 :(得分:6)

更新

Web IDE(不属于SAP Cloud SDK的一部分)将EDMX转换为CSN似乎存在问题。

OData Generator从SAP Cloud SDK(由Web IDE用作组件)生成的Java VDM应该可以正常工作。


这似乎是意外行为。我们将对此进行进一步调查。

同时,作为一种变通办法,您可以使用我们的maven插件或CLI为您创建数据模型。 this blog post中对此有详细说明。

tl博士版本(对于CLI)是:

  1. 确定您正在使用哪个版本的SAP Cloud SDK(在父pom.xml中搜索sdk-bom)。在此示例中,我假定该版本为2.16.0。
  2. 从maven Central下载CLI库:https://search.maven.org/artifact/com.sap.cloud.s4hana.datamodel/odata-generator-cli/2.16.0/jar
  3. 从API业务中心下载元数据文件(edmx)(在您的问题中链接)
  4. 使用以下命令运行CLI以下命令:
    java -jar odata-generator-cli-2.16.0.jar -i <input-directory> -o <output-directory> -b <base-path>
    
    主机配置和实际服务名称之间将使用前缀<base-path>(与服务无关)。
  5. 将生成的代码手动添加到您的项目中。

我将用调查结果更新此答案。