@ sap/cds-odata-v2-adapter-proxy-外键问题

2020-08-19 00:42发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)错误:CDS编译失败 srv...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


错误:CDS编译失败

 srv/csn.json:861:错误:为关联\" MYAPP_SRV.RecipientSet.parent \"生成的外键元素\" parent_ID \"与现有元素冲突

 srv/csn.json:1063:错误:为关联\" Recipient.parent \"生成的外键元素\" parent_ID \"与现有元素冲突

 srv/csn.json:1264:信息:输入CSN包含重新计算的本地化视图定义

  在transform4odata(/home/vcap/deps/0/node_modules/@sap/cds-compiler/lib/transform/forOdata.js:401:11)
 在Object.toOdata(/home/vcap/deps/0/node_modules/@sap/cds-compiler/lib/backends.js:246:27)
 在Object.emitter。 [作为toOdata](/home/vcap/deps/0/node_modules/@sap/cds/lib/models/cdsv.js:152:27)
 在Object.forOData(/home/vcap/deps/0/node_modules/@sap/cds/lib/models/cdsv.js:30:37)
 在Object.odata(/home/vcap/deps/0/node_modules/@sap/cds/lib/models/compile.js:42:23)
 在compDefaultService(/home/vcap/deps/0/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:326:46)在getDefaultMetadata(/home/vcap/deps/0/node_modules /@sap/cds-odata-v2-adapter-proxy/lib/index.js:305:18)
 在getMetadata(/home/vcap/deps/0/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:255:24)
 在/home/vcap/deps/0/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:123:33
 在/home/vcap/deps/0/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:130:11 

我的带有V2适配器的CAP CDS服务运行良好,直到今天早上,当我进行新的部署时,执行v2服务时开始出现上述错误。
@ sap/cds的版本 -odata-v2-adapter-proxy是1.4.19

该服务的v4版本运行正常,并生成以下元数据:

 <?xml版本=" 1.0"编码=" utf-8"?>
 
     
         
     
     
         
     
     
         
     
     
         
     
     
         
             
                 
                     
                 
                 
                     
                 
             
             
                 <键>
                     
                 
                 
                 
                 
                 <属性名称=" createdBy"类型=" Edm.String" MaxLength =" 255"/>
                 <属性名称=" modifiedBy"类型=" Edm.String" MaxLength =" 255"/>
                 <属性名称=" DocumentNo"类型=" Edm.String" MaxLength =" 10"/>
                 <属性名称=" DocumentType"类型=" Edm.String" MaxLength =" 25"/>
                 
                 
                     
                 
             
             
                 <键>
                     
                 
                 
                 
                     
                 
                 <属性名称=" RecipientType"类型=" Edm.String" MaxLength =" 3"/>
                 <属性名称=" RecipientNo"类型=" Edm.String" MaxLength =" 10"/>
                 <属性名称="收件人"类型=" Edm.String"/>
                 <属性名称=" parent_ID"类型=" Edm.Guid"/>
             
         
     
  

我的数据模型:

实体收件人:cuid {
   parent:与DocumentRecipient的关联;
   RecipientType:字符串(3);
   RecipientNo:String(10);
   收件人:字符串;
 }

 实体DocumentRecipient:cuid,托管{
   DocumentNo:字符串(10);
   DocumentType:字符串(25);
   事件:字符串(6);
   收件人:收件人上许多收件人的组成。parent= $ self;
 }
 

预先感谢

10条回答
clasier
2020-08-19 01:44

你好史蒂文,

感谢您发布报告。 您当前使用哪个CDS版本?

看起来好像是从csn.json提供代理...对吗?

csn.json是如何生成的? csn.json上发生转换吗? 例如。 转换为OData ...?

您是否处于仅Node.js的情况?

似乎CSN已被编译器转换为OData,现在代理尝试再次将其转换为OData ...

代理需要处理原始CSN json,该命令由以下命令返回:

 cds srv -s all -o 

你可以尝试吗?

最诚挚的问候

Oliver

一周热门 更多>