基于代码的OData。 如何执行orderby

2020-08-27 15:22发布

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

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


你好

如何在基于代码的OData中实现orderby? 我尝试在SEGW中将基于CDS的OData公开为RDS,并使用Fiori Elements List Report创建UI。 然后,我在DPC_EXT类中重新定义GET_ENTITYSET,并且不调用超类。

这是我当前实施orderby的方式

选择....
       插入表@DATA(lit_data)
 ....

     "按
     呼叫方法/iwbep/cl_mgw_data_util => orderby
       出口
         it_order = it_order
       改变
         ct_data = lit_data。
 ....
 实现分页和内容

我可以调试并显示其内部表实际上已正确排序。 但是以某种方式,在"列表报告"应用程序中,记录的显示顺序与内部表中显示的顺序不同。

如何正确执行订单?

谢谢。

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

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


你好

如何在基于代码的OData中实现orderby? 我尝试在SEGW中将基于CDS的OData公开为RDS,并使用Fiori Elements List Report创建UI。 然后,我在DPC_EXT类中重新定义GET_ENTITYSET,并且不调用超类。

这是我当前实施orderby的方式

选择....
       插入表@DATA(lit_data)
 ....

     "按
     呼叫方法/iwbep/cl_mgw_data_util => orderby
       出口
         it_order = it_order
       改变
         ct_data = lit_data。
 ....
 实现分页和内容

我可以调试并显示其内部表实际上已正确排序。 但是以某种方式,在"列表报告"应用程序中,记录的显示顺序与内部表中显示的顺序不同。

如何正确执行订单?

谢谢。

付费偷看设置
发送
3条回答
小c菟菟
1楼 · 2020-08-27 15:47.采纳回答

嗨,

我通过在CDS中指定正确的密钥来解决此问题。 因此,在报告结果中实际上有2个字段使每个记录都是唯一的,但是在CDS中,我仅指定这2个字段中的1个为键。 我将2个字段正确设置为键,现在可以进行排序了。

谢谢。

SAP浪
2楼-- · 2020-08-27 15:56

Suwandi Cahyadi 您可以添加完整的代码吗? 任何不调用super方法的原因实际上都会带来SADL的所有功能,而不仅仅是排序

SKY徐
3楼-- · 2020-08-27 16:09

嗨,

使用it_order值时遇到了问题 。 但是我已经用io_tech_request_context-> get_orderby()可以阅读的内容代替了它。 我正在使用et_entityset进行操作:

数据:lt_order TYPE/iwbep/t_mgw_sorting_order。

     如果不是it_order为INITIAL。

       DATA(lt_orderby)= io_tech_request_context-> get_orderby()。

       在lt_orderby处分配ASSIGNING FIELD-SYMBOL()。
         在lt_order ASSIGNING FIELD-SYMBOL()后面加上首行。
         将对应的移动到。
       结局。

     /iwbep/cl_mgw_data_util => orderby(
         出口
           it_order = lt_order
         改变
           ct_data = et_entityset
       )。
     万一。
 

也许有帮助。

最诚挚的问候
Gregor

一周热门 更多>