<?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 Re: VAPMA, VBAP, VBUP in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/vapma-vbap-vbup/m-p/2148316#M453379</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tanuja Bollavar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried to use the FM but I don't understand the Importing parameters that FM needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you give me some example code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tiwa Noitawee&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 12 Apr 2007 08:39:26 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-12T08:39:26Z</dc:date>
    <item>
      <title>VAPMA, VBAP, VBUP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/vapma-vbap-vbup/m-p/2148314#M453377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm developing a program where it get open sales order but it slowly running.&lt;/P&gt;&lt;P&gt;Here's my algorithm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. use VAPMA for select S/O number by material code.&lt;/P&gt;&lt;P&gt;2. get S/O Items from VBAP into t_vbap&lt;/P&gt;&lt;P&gt;3. get open sales order from VBUP into t_vbup&lt;/P&gt;&lt;P&gt;4. Delete t_vbap intems that's not found in t_vbup&lt;/P&gt;&lt;P&gt;5. get D/O from VBFA into t_vbfa&lt;/P&gt;&lt;P&gt;6. LOOP AT t_vbap, each round LOOP AT t_vbfa for sum Qty. in D/O&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you give me some advice or some FM that return me with open sales order?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's my code:&lt;/P&gt;&lt;P&gt;FORM get_open_sales_order.&lt;/P&gt;&lt;P&gt;  DATA : back              TYPE P VALUE 0 DECIMALS 3,&lt;/P&gt;&lt;P&gt;         subtract          TYPE P VALUE 0 DECIMALS 3,&lt;/P&gt;&lt;P&gt;         do_qty            LIKE vbfa-rfmng,&lt;/P&gt;&lt;P&gt;         t_tmp_back_ord    LIKE t_vbap_vbep OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--&amp;gt; Index Table&lt;/P&gt;&lt;P&gt;  CHECK NOT t_marc[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SELECT * INTO TABLE t_vapma FROM vapma&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN t_marc&lt;/P&gt;&lt;P&gt;  WHERE matnr  =   t_marc-matnr&lt;/P&gt;&lt;P&gt;    AND werks  =   p_werks&lt;/P&gt;&lt;P&gt;    AND ( vbeln LIKE '21%'  OR   " Sales Order&lt;/P&gt;&lt;P&gt;          vbeln LIKE '25%'  OR   " Exchange&lt;/P&gt;&lt;P&gt;          vbeln LIKE '26%' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT t_vapma[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--&amp;gt; Sales Document: Item Data&lt;/P&gt;&lt;P&gt;  SELECT vbap&lt;SUB&gt;vbeln  vbap&lt;/SUB&gt;posnr  vbap~matnr&lt;/P&gt;&lt;P&gt;         vbap&lt;SUB&gt;kwmeng vbap&lt;/SUB&gt;kbmeng vbap&lt;SUB&gt;klmeng vbap&lt;/SUB&gt;spart&lt;/P&gt;&lt;P&gt;  INTO TABLE t_vbap FROM vbap&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN t_vapma&lt;/P&gt;&lt;P&gt;  WHERE&lt;/P&gt;&lt;P&gt;    vbeln  =  t_vapma-vbeln  AND&lt;/P&gt;&lt;P&gt;    posnr  =  t_vapma-posnr  AND&lt;/P&gt;&lt;P&gt;    fixmg  NE 'X'.                " fixed date and qty isn't cal in v_ra&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT t_vbap[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select Back Order only&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHECK NOT t_vbap[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SELECT vbup&lt;SUB&gt;vbeln vbup&lt;/SUB&gt;posnr&lt;/P&gt;&lt;P&gt;  INTO TABLE t_vbup FROM vbup&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN t_vbap&lt;/P&gt;&lt;P&gt;  WHERE&lt;/P&gt;&lt;P&gt;    vbeln = t_vbap-vbeln AND&lt;/P&gt;&lt;P&gt;    posnr = t_vbap-posnr AND&lt;/P&gt;&lt;P&gt;    vbup~rfsta NE 'C'    AND&lt;/P&gt;&lt;P&gt;    vbup~rfgsa NE 'C'    AND&lt;/P&gt;&lt;P&gt;    vbup~lfsta NE 'C'    AND&lt;/P&gt;&lt;P&gt;    vbup~lfgsa NE 'C'    AND&lt;/P&gt;&lt;P&gt;    vbup~absta NE 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT t_vbup[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S/O is not Back Order will be deleted&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT t_vbap BY vbeln posnr.&lt;/P&gt;&lt;P&gt;  SORT t_vbup BY vbeln posnr.&lt;/P&gt;&lt;P&gt;  LOOP AT t_vbap.&lt;/P&gt;&lt;P&gt;    READ TABLE t_vbup WITH KEY vbeln = t_vbap-vbeln&lt;/P&gt;&lt;P&gt;                               posnr = t_vbap-posnr&lt;/P&gt;&lt;P&gt;                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.  &lt;/P&gt;&lt;P&gt;      DELETE t_vbap.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- summary qty in D/O&lt;/P&gt;&lt;P&gt;  CHECK NOT t_vbap[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SELECT vbfa&lt;SUB&gt;vbelv vbfa&lt;/SUB&gt;posnv vbfa&lt;SUB&gt;vbtyp_n vbfa&lt;/SUB&gt;rfmng&lt;/P&gt;&lt;P&gt;         vbfa&lt;SUB&gt;matnr vbfa&lt;/SUB&gt;vbeln vbfa~posnn&lt;/P&gt;&lt;P&gt;  INTO TABLE t_vbfa FROM vbfa&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN t_vbap&lt;/P&gt;&lt;P&gt;  WHERE   vbfa~vbtyp_n EQ 'J'            "D/O&lt;/P&gt;&lt;P&gt;    AND   vbfa~rfmng   GT 0&lt;/P&gt;&lt;P&gt;    AND   vbfa~vbelv   EQ t_vbap-vbeln&lt;/P&gt;&lt;P&gt;    AND   vbfa~posnv   EQ t_vbap-posnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF t_vbfa[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    CLEAR: t_vbap, t_vbap[].&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT: t_marc BY werks matnr.&lt;/P&gt;&lt;P&gt;  LOOP AT t_vbap.&lt;/P&gt;&lt;P&gt;    CLEAR: subtract.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE t_marc WITH KEY matnr = t_vbap-matnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      DELETE t_vbap.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CLEAR : t_vbfa, do_qty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT t_vbfa WHERE vbelv = t_vbap-vbeln&lt;/P&gt;&lt;P&gt;                       AND posnv = t_vbap-posnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF t_vbfa-vbtyp_n EQ 'J'.  " d/o&lt;/P&gt;&lt;P&gt;          do_qty = do_qty + t_vbfa-rfmng.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     t_oso1-spart = t_vbap-spart.&lt;/P&gt;&lt;P&gt;      t_oso1-matnr = t_vbap-matnr.&lt;/P&gt;&lt;P&gt;      t_oso1-back  = t_oso-back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      COLLECT  t_oso1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE t_oso WHERE back EQ 0.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Tiwa Noitawee&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Apr 2007 07:59:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/vapma-vbap-vbup/m-p/2148314#M453377</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-12T07:59:46Z</dc:date>
    </item>
    <item>
      <title>Re: VAPMA, VBAP, VBUP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/vapma-vbap-vbup/m-p/2148315#M453378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check BAPISDORDER_GETDETAILEDLIST...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Apr 2007 08:29:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/vapma-vbap-vbup/m-p/2148315#M453378</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-12T08:29:37Z</dc:date>
    </item>
    <item>
      <title>Re: VAPMA, VBAP, VBUP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/vapma-vbap-vbup/m-p/2148316#M453379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tanuja Bollavar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried to use the FM but I don't understand the Importing parameters that FM needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you give me some example code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tiwa Noitawee&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Apr 2007 08:39:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/vapma-vbap-vbup/m-p/2148316#M453379</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-12T08:39:26Z</dc:date>
    </item>
    <item>
      <title>Re: VAPMA, VBAP, VBUP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/vapma-vbap-vbup/m-p/2148317#M453380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tiwa,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If any FM does not solve your problem, use following tips to tune this program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can tune the following code as here query on the VAPMA will cause the issue at it will select all the sales orders for a material.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here you can do following things:&lt;/P&gt;&lt;P&gt;1) Add sales org, Sales document type, transaction group, Distribution channel and Division  on the selection screen. If possible make all of them mandatory. In the above list there can be only issue with transaction group so check with functional consultant for this. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) If possible, report can also be run for specific Sold to Parties which will again reduce amount of data selected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Once you add above fields, query on the VAPMA table will work faster.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) in query on VBAP, you are selecting fields from VBAP only hence no need to use VBAP~vbeln&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) Query on VBUP, here do not use the NE operators. NE operators are always caluse of slow performance hence always avoid using them. Instead create a range like r_gbstk and add A, B to it and use the same range. Or here you can use the query as below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select Back Order only&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHECK NOT t_vbap[] IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT vbeln posnr ( also select all the fields in that are use for NE operation )&lt;/P&gt;&lt;P&gt;INTO TABLE t_vbup FROM vbup&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_vbap&lt;/P&gt;&lt;P&gt;WHERE&lt;/P&gt;&lt;P&gt;vbeln = t_vbap-vbeln AND&lt;/P&gt;&lt;P&gt;posnr = t_vbap-posnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then delete from the internal table t_vbup where gbstk NE 'C'.&lt;/P&gt;&lt;P&gt;This will give the same result as you have now but will improve performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) About VBFA query - just change the sequence of fields in the where conditions. Arrange them as per the primary key combination of VBFA table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The above things will definitely improve the performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Shahu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Apr 2007 08:45:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/vapma-vbap-vbup/m-p/2148317#M453380</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-12T08:45:37Z</dc:date>
    </item>
  </channel>
</rss>

