回复:基于CDS服务的SAP ODATA服务中的错误

2020-08-16 17:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)推荐的SAP开发人员 ===...

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

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


推荐的SAP开发人员

==============

ODATA服务中存在错误

复制步骤
=========

创建基本CDS视图(ZPURCHASEORG TABLE

创建消耗CDs视图-(ZPURCHAEDOCUMENT TABLE)

在这种情况下,在表格下面创建一个与消耗cds相关的视图

ZPURCHAEDOCUMENT表购买组织(是外键)和ZPURCHASEORGANIZATION表

购买组织是主键(字符长度4)

我在zpurchasedocument表中存储的数据为

"采购组织"列(外键)

=====

ORG1

ORG2

ORG3

========

在ZPURCHASEORGANIZATION表中

PurchasingOrganization列(主键)的数据区分大小写

org1

org2

org3

ORG1

ORG2

ORG3

然后我使用SAP WEB IDE创建了一个基于sap fiori列表报告的模板应用程序,并在启动fiori启动板测试并访问该应用程序时指向下一个由消耗cds视图创建的Odata SERVICE

它给ABAP DUMP WITH -Runtime Error:'ITAB_ILLEGAL_SCND_SORT_KEY'。 OData请求处理已异常终止,我在ODATA服务中放置了外部断点以调试它在SAP代码内部的深处

为了解决此问题,我重新定义了GET_EX [PANDED_ENTITY和GET_EXPANDED_ENTITYSET方法

我已将SAP GATEWAY CLIENT的屏幕截图附加到FIORI应用程序作为批处理请求发送的确切查询

请看看

谢谢

拉玛·安妮

odatabug.jpg (255.9 kB)
2条回答
SKY徐
2020-08-16 17:03

您好 马赫什

sapui5应用程序可以很好地处理数据,因此主键不会出现$ expand的问题

我在上面所写的要点是

======

有一个消费视图示例Z_C_PUR *,其基础表中有一个PurchasingOrganization(CHAR(4))字段,称为ZPURCHASEDOCUMENT(主键PurchaseDocument),另一个基本CDS示例Z_I_PUR *视图具有一个名为ZPURCASINGORG的基础表 列PurchasingOrganization(char(4)),因此此CDS视图中的关联将成为主键--->外键

鉴于上述-测试数据为

ZPURCHASEDOCUMENT表(不区分大小写)

样本数据为

1 ....... ORG1 ............(第1行)

2 .......... ORG2 -----------(ROW2)

====

ZPURCHASEORGANIZATION的数据如下(区分大小写)

1 .... org1(row1)

2 .. org2(row2)

3..ORG1(row3)

4.ORG2(Row4)

$ expand查询参数尝试建立to_PurchasingOrganization时失败,并发生abap dump -ITAB_ILLEGAL_SCND_SORT_KEY

如果我从$ expand查询中删除to_PurchasingOrganization,请参见上面的屏幕快照,然后可以将断点和错误sap代码放到它们对键进行一般排序的地方....我认为这可能是由于大小写 主键(表中标记为区分大小写)中的数据,如果您快速重新创建,则可以得到上述转储,希望SAP的某人对此有所了解

谢谢

拉玛·安妮

一周热门 更多>