筛选数据的更好解决方案

2020-09-16 07:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的 我正...

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

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


亲爱的

我正在处理一个案例,以生成可以运行但非常慢的报告。 我张贴了有关数据选择部分的部分代码,有人可以帮我做得更好吗?

在方法get_ekko中选择的所有数据。 在方法get_ekko中,我需要选择b〜vstat NE 1的ebeln;在方法get_nast中,我需要选择vstat = 1的ebeln。如果这两个ebeln相同,则从at_ekko中删除记录。

当我尝试在Q中运行它时,运行getz-nast会花费很长时间,这会抛出整个nast。 有没有更好的方法来编写代码以使其更快,更有效。

非常感谢!

此致

林恩

 METHOD get_nast。
     选择nast〜objky nast〜vstat" obj键
     表at_nast的对应字段
     从纳斯特
     其中的vstat EQ 1。
   终结法。
   方法get_ekko。
     选择b〜objky" obj键
            b〜vstat的进程状态
            采购文件
            公司代码
            〜bsart文件类型
            一个〜ernam
            供应商编号
            c〜loekz" po删除= x
            d〜name1"供应商帐号
            a〜aedat创建
     表的对应字段at_ekko
     来自ekko AS
     内联接nast AS b
      在a〜ebeln EQ b〜objky AND
          b〜vstat NE 1
     内联ekpo AS c
       在a〜ebeln = c〜ebeln上
          c〜loekz <>'L'
     内联接lfa1 AS d
       在a〜lifnr = d〜lifnr
     在" a〜bsart ='UB'并且
           a〜aedat IN s_aedat和
           s_bukrs中的a〜bukrs。
     at_ekko BY ebeln排序。
     从at_ekko删除相邻的重复项。  "删除重复值
   终结法。


   方法get_data。
     FIELD-SYMBOLS:像at_ekko的线,
                    与at_nast类似,
                    类似于at_output的行。
     数据:lr_ebeln类型的ebeln,
           ls_ebeln与lr_ebeln类似。
     移动:"我"到ls_ebeln-sign,
           'EQ'到ls_ebeln-option。
     在at_nast ASSIGNING 处循环播放。
       将 -objky移动到ls_ebeln-low。
       附加ls_ebeln到lr_ebeln。
     结局。
     在lr_ebeln中的at_ekko处删除ebeln。


     在at_ekko分配处循环播放。
     结局。


   终结法。  " get_data