现有非hdi表上的CDS关联

2020-08-16 18:38发布

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

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


专家您好,

我正在研究XSA Express,并设法使用cds(使用cds.persistence)引入非hdi模式表。 我还设法通过odata v4服务公开由sapui5使用的表数据。

当前,我想创建与CD中两个现有表的关联。 我设法构建CDS时没有任何错误,但是当我尝试构建数据库时却出现错误。

以下是我遇到的错误。

与" src/gen/CATALOGSERVICE_EKKO.hdbcds"合并。
错误:com.sap.hana.di.cds:在" src// gen/CATALOGSERVICE_EKKO.hdbcds"(22:12-23)
错误:com.sap.hana.di.cds:在" src/gen"的" BHT_EKKO" [1310040]
中找不到子工件" ITEMS_EBELN" /CATALOGSERVICE_EKKO.hdbcds"(23:12-23)
错误:com.sap.hana.di.cds:在" src/gen/"的" BHT_EKKO" [1310040]
中找不到子工件" ITEMS_EBELP" CATALOGSERVICE_EKKO.hdbcds"(24:12-23)

我要与关联关联的两个表是EKKO和EKPO。 标准标题-项目表。 代码如下。

 @ cds.persistence.exists
 实体EKKO {
  关键字MANDT:String(3);
 键EBELN:字符串(20);
 项目:与EKPO关联;
 BUKRS:字符串(8);
 BSTYP:String(2);
 }
 @ cds.persistence.exists
 实体EKPO {
  关键字MANDT:String(3);
 键EBELN:字符串(20);
 HEADER:在HEADER.EBELN = EBELN上与EKKO的关联[*];
 密钥EBELP:字符串(10);
 LOEKZ:字符串(2);
 状态:String(2);
 AEDAT:字符串(16);
 }
 

对于现有表,这是否有可能,还是应该在odata中的目录服务处进行关联?

谢谢。

Anand

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

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


专家您好,

我正在研究XSA Express,并设法使用cds(使用cds.persistence)引入非hdi模式表。 我还设法通过odata v4服务公开由sapui5使用的表数据。

当前,我想创建与CD中两个现有表的关联。 我设法构建CDS时没有任何错误,但是当我尝试构建数据库时却出现错误。

以下是我遇到的错误。

与" src/gen/CATALOGSERVICE_EKKO.hdbcds"合并。
错误:com.sap.hana.di.cds:在" src// gen/CATALOGSERVICE_EKKO.hdbcds"(22:12-23)
错误:com.sap.hana.di.cds:在" src/gen"的" BHT_EKKO" [1310040]
中找不到子工件" ITEMS_EBELN" /CATALOGSERVICE_EKKO.hdbcds"(23:12-23)
错误:com.sap.hana.di.cds:在" src/gen/"的" BHT_EKKO" [1310040]
中找不到子工件" ITEMS_EBELP" CATALOGSERVICE_EKKO.hdbcds"(24:12-23)

我要与关联关联的两个表是EKKO和EKPO。 标准标题-项目表。 代码如下。

 @ cds.persistence.exists
 实体EKKO {
  关键字MANDT:String(3);
 键EBELN:字符串(20);
 项目:与EKPO关联;
 BUKRS:字符串(8);
 BSTYP:String(2);
 }
 @ cds.persistence.exists
 实体EKPO {
  关键字MANDT:String(3);
 键EBELN:字符串(20);
 HEADER:在HEADER.EBELN = EBELN上与EKKO的关联[*];
 密钥EBELP:字符串(10);
 LOEKZ:字符串(2);
 状态:String(2);
 AEDAT:字符串(16);
 }
 

对于现有表,这是否有可能,还是应该在odata中的目录服务处进行关联?

谢谢。

Anand

付费偷看设置
发送
3条回答
打一壶酱油
1楼-- · 2020-08-16 19:23

嗨,阿南德。

您解决了这个问题吗?

我正面临着同样的问题。

这样。

SAP德到
2楼-- · 2020-08-16 19:14

嗨Grazziani,

我没有解决这个问题。 我在服务目录级别进行了关联。 我还放弃了odata v4方法,而选择了odata v2 xsodata。 所有相关的链接/关联都在计算视图或nodejs服务声明中完成。 如果您设法取得进展,我也会非常感兴趣。

谢谢。

Anand

半个程序猿
3楼-- · 2020-08-16 19:24

嗨,Anand,我使用了一种解决方法,在cds级别上使用了specifics键,它对我有用。

赞:

实体标题{
 关键要求:字符串(3);
 键in_object:String(20);
 键in_subobject:String(20);
 键in_extnumber:String(10);
 键in_source_system:String(4);
 键in_target_system:String(4);
           items:item.mandt = mandt和items.in_object = in_object和items.in_subobject = in_subobject和items.in_extnumber = in_extnumber和items.in_source_system = in_source_system和items.in_target_system = in_target_system上许多Items的组成;

 }

 实体项目{
 关键要求:字符串(3);
 键in_object:String(20);
 键in_subobject:String(20);
 键in_extnumber:String(10);
 键in_source_system:String(4);
 键in_target_system:String(4);
 键序列:String(6);
             pstyv:字符串(4);
 werks:String(4);
 } 

尽管如此,我必须打开一张票向SAP报告此问题。

解决后,我会通知您。

谢谢。

Grazziani

一周热门 更多>