ALV拆分器的排序问题

2020-08-19 00:52发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我的ALV报告,双击标题后,将显...

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

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


我的ALV报告,双击标题后,将显示订单项。

当我尝试按标题排序时,双击(在标题上),它没有显示正确的订单项(图片)。

表格SORT。

 数据:无类型I值1。

   如果G_GRID_LEFT不是INITIAL。 显示的<<<< SPOS FIELDNAME的值

     清除gt_sort。

     GS_SORT-SPOS = NO。

     GS_SORT-FIELDNAME ='EBELN'。

     GS_SORT-DOWN ='X'。

     将GS_SORT附加到GT_SORT。


   ELSEIF g_grid_right不是INITIAL。  <<<在调试过程中,由于ebeln是关键字段,因此跳过了这一部分

     清除gt_sort。

     GS_SORT-SPOS = NO。

     GS_SORT-FIELDNAME ='EBELN'。

     GS_SORT-DOWN ='X'。

     将GS_SORT附加到GT_SORT。

   万一。


 ENDFORM。

(标题和订单项之间的)采购单据号共享相同的密钥,当右击项目双击时,应显示相关的采购单据项目详细信息(如在将SORT添加到程序中之前所示)

程序: https://www.mediafire.com /file/v0tlqnarkogm1ov/ALV_Program.docx/file

5条回答
梦想连接
2020-08-19 01:15

您好 AS

问题是您正在从DB再次将数据读取到LT_ZHEADER内部 表。 这样做时,您将失去在ALV中完成的排序,因此读取带有索引的记录会给您不正确的结果。

在您的类中创建一个实例变量,例如AT_ZHEADER(for属性 ),并且在加载程序时仅一次将PO数据读入表中。

对项目执行相同的操作。

这样,您的程序将运行得更快(不会重复多次) 数据库读取),您不必在每种方法中都刷新数据。

删除数据库刷新后,您还应该获得正确的HANDLE_DOUBLE_CLICK方法结果。

希望

致谢,

Mateusz

一周热门 更多>