<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Better solution for filter data in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/better-solution-for-filter-data/m-p/602977#M24680</link>
    <description>&lt;P&gt;Dear All, &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;I'm working on a case to generate a report it works but very slow. I post part of the code about the data select part, could any one give me a hand make it better?&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;All datas selected in method get_ekko. In method get_ekko I need to select the ebeln that b~vstat NE 1, and In method get_nast I need select ebeln that vstat = 1. If these two ebeln is same then remove the record from at_ekko. &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;When I try run it in Q it takes very long time to run coz the get_nast go throw whole nast . Is there any better way to write the code to make it faster and more effective.&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;Many thanks in advance!&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;Regards,&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;Lynn&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt; 
  &lt;PRE&gt;&lt;CODE&gt;  METHOD get_nast.
    SELECT nast~objky nast~vstat  " obj key
    INTO CORRESPONDING FIELDS OF TABLE at_nast
    FROM nast
    WHERE  vstat EQ 1.
  ENDMETHOD.                    
  METHOD get_ekko.
    SELECT b~objky   " obj key
           b~vstat   " process status
           a~ebeln   " Purchase doc
           a~bukrs   " Company Code
           a~bsart   " document type
           a~ernam   " created by
           a~lifnr   " Vendor num
           c~loekz   " po deletion = x
           d~name1   " Vendor acc no
           a~aedat    " Create on
    INTO CORRESPONDING FIELDS OF TABLE at_ekko
    FROM ekko AS a
    INNER JOIN nast AS b
     ON  a~ebeln EQ b~objky  AND
         b~vstat NE 1
    INNER JOIN ekpo AS c
      ON a~ebeln = c~ebeln  AND
         c~loekz &amp;lt;&amp;gt; 'L'
    INNER JOIN lfa1 AS d
      ON a~lifnr = d~lifnr
    WHERE "a~bsart = 'UB' and
          a~aedat IN s_aedat AND
          a~bukrs IN s_bukrs.
    SORT at_ekko BY ebeln.
    DELETE ADJACENT DUPLICATES FROM at_ekko.  " Deleted duplicated value
  ENDMETHOD.                 


  METHOD get_data.
    FIELD-SYMBOLS: &amp;lt;fs_ekko&amp;gt; LIKE LINE OF at_ekko,
                   &amp;lt;fs_nast&amp;gt; LIKE LINE OF at_nast,
                   &amp;lt;fs_output&amp;gt; LIKE LINE OF at_output.
    DATA: lr_ebeln TYPE RANGE OF ebeln,
          ls_ebeln LIKE LINE OF lr_ebeln.
    MOVE: 'I' TO ls_ebeln-sign,
          'EQ' TO ls_ebeln-option.
    LOOP AT at_nast ASSIGNING &amp;lt;fs_nast&amp;gt;.
      MOVE &amp;lt;fs_nast&amp;gt;-objky TO ls_ebeln-low.
      APPEND ls_ebeln TO lr_ebeln.
    ENDLOOP.
    DELETE at_ekko WHERE ebeln IN lr_ebeln.


    LOOP AT at_ekko ASSIGNING &amp;lt;fs_ekko&amp;gt;.
    ENDLOOP.


  ENDMETHOD.                    "get_data

&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 29 May 2018 08:05:01 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2018-05-29T08:05:01Z</dc:date>
    <item>
      <title>Better solution for filter data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/better-solution-for-filter-data/m-p/602977#M24680</link>
      <description>&lt;P&gt;Dear All, &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;I'm working on a case to generate a report it works but very slow. I post part of the code about the data select part, could any one give me a hand make it better?&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;All datas selected in method get_ekko. In method get_ekko I need to select the ebeln that b~vstat NE 1, and In method get_nast I need select ebeln that vstat = 1. If these two ebeln is same then remove the record from at_ekko. &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;When I try run it in Q it takes very long time to run coz the get_nast go throw whole nast . Is there any better way to write the code to make it faster and more effective.&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;Many thanks in advance!&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;Regards,&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt;Lynn&lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt;
  &lt;P&gt; &lt;/P&gt; 
  &lt;PRE&gt;&lt;CODE&gt;  METHOD get_nast.
    SELECT nast~objky nast~vstat  " obj key
    INTO CORRESPONDING FIELDS OF TABLE at_nast
    FROM nast
    WHERE  vstat EQ 1.
  ENDMETHOD.                    
  METHOD get_ekko.
    SELECT b~objky   " obj key
           b~vstat   " process status
           a~ebeln   " Purchase doc
           a~bukrs   " Company Code
           a~bsart   " document type
           a~ernam   " created by
           a~lifnr   " Vendor num
           c~loekz   " po deletion = x
           d~name1   " Vendor acc no
           a~aedat    " Create on
    INTO CORRESPONDING FIELDS OF TABLE at_ekko
    FROM ekko AS a
    INNER JOIN nast AS b
     ON  a~ebeln EQ b~objky  AND
         b~vstat NE 1
    INNER JOIN ekpo AS c
      ON a~ebeln = c~ebeln  AND
         c~loekz &amp;lt;&amp;gt; 'L'
    INNER JOIN lfa1 AS d
      ON a~lifnr = d~lifnr
    WHERE "a~bsart = 'UB' and
          a~aedat IN s_aedat AND
          a~bukrs IN s_bukrs.
    SORT at_ekko BY ebeln.
    DELETE ADJACENT DUPLICATES FROM at_ekko.  " Deleted duplicated value
  ENDMETHOD.                 


  METHOD get_data.
    FIELD-SYMBOLS: &amp;lt;fs_ekko&amp;gt; LIKE LINE OF at_ekko,
                   &amp;lt;fs_nast&amp;gt; LIKE LINE OF at_nast,
                   &amp;lt;fs_output&amp;gt; LIKE LINE OF at_output.
    DATA: lr_ebeln TYPE RANGE OF ebeln,
          ls_ebeln LIKE LINE OF lr_ebeln.
    MOVE: 'I' TO ls_ebeln-sign,
          'EQ' TO ls_ebeln-option.
    LOOP AT at_nast ASSIGNING &amp;lt;fs_nast&amp;gt;.
      MOVE &amp;lt;fs_nast&amp;gt;-objky TO ls_ebeln-low.
      APPEND ls_ebeln TO lr_ebeln.
    ENDLOOP.
    DELETE at_ekko WHERE ebeln IN lr_ebeln.


    LOOP AT at_ekko ASSIGNING &amp;lt;fs_ekko&amp;gt;.
    ENDLOOP.


  ENDMETHOD.                    "get_data

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 29 May 2018 08:05:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/better-solution-for-filter-data/m-p/602977#M24680</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2018-05-29T08:05:01Z</dc:date>
    </item>
    <item>
      <title>Re: Better solution for filter data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/better-solution-for-filter-data/m-p/602978#M24681</link>
      <description>&lt;P&gt;I would try it with subquery in get_ekko SELECT. Something like this:&lt;/P&gt;
  &lt;PRE&gt;&lt;CODE&gt;WHERE NOT EXIST ( SELECT objky FROM nast
                    WHERE objky = a~ebeln AND
                          vstat = 1 )&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 30 May 2018 09:35:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/better-solution-for-filter-data/m-p/602978#M24681</guid>
      <dc:creator>Tomas_Buryanek</dc:creator>
      <dc:date>2018-05-30T09:35:26Z</dc:date>
    </item>
    <item>
      <title>Re: Better solution for filter data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/better-solution-for-filter-data/m-p/602979#M24682</link>
      <description>&lt;P&gt;Thanks Tomas sorry about reply so late I was working in another team last month. Will try your idea hopefully it will work. &lt;/P&gt;
  &lt;P&gt;Cheers,&lt;/P&gt;
  &lt;P&gt;Lynn&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jul 2018 05:56:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/better-solution-for-filter-data/m-p/602979#M24682</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2018-07-12T05:56:30Z</dc:date>
    </item>
  </channel>
</rss>

