如何在ITAB中获取最新记录?

2020-08-21 19:29发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我有一个已排序的内部表,该表...

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

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


嗨,我有一个已排序的内部表,该表根据日期(DATUV)以降序排序。 从表中获取数据时,由于日期不同,我得到了多个重复记录。 我只想保留最新记录,并删除旧的重复记录。 请逻辑帮助我吗?

7条回答
大简至美
2020-08-21 20:25

这是一种非常古老的方法,(可能不好,如果您的数据量很大)。 ,这将起作用。

创建一些临时表以对其进行循环-并将最新的录音存储在决赛中。

 it_stpo_temp [] = it_stpo []。
 按idnrk datuv升序对it_stpo_temp进行排序。
 按idnrk datuv升序对it_stpo进行排序。

 move_flag =''。
 以it_stpo_temp循环到wa_stpo_temp。


    "获取由datuv排序的最后一条记录-因此将选择最大记录
    在it_stpo循环到wa_stpo,其中idnrk = wa_stpo_temp-idnrl。
            将对应的wa_stpo_temp移动到wa_stpo_final。
            move_flag ='Y'。
    结束循环。

    如果move_flag ='Y'。
            将wa_stpo_final附加到it_stpo_final。
    万一。
    move_flag =''。


 结束循环。

 " it_stpo_final [] ===是您的最终ittable 

一周热门 更多>