<?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: need help with loop in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274696#M782911</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ricardo, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had already updated my previous post with type declarations... please check the same..&lt;/P&gt;&lt;P&gt;Data: &lt;/P&gt;&lt;P&gt;month(2) type n,&lt;/P&gt;&lt;P&gt;year(4) type n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and I dont think there will be an issue for year 2010 and so on...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lokesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 03 Jan 2008 16:21:06 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-03T16:21:06Z</dc:date>
    <item>
      <title>need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274688#M782903</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hallow&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i need help with loop that i do for numbers of month between dates i give  eg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if i have to dates like l_datefrom 012007&lt;/P&gt;&lt;P&gt;and l_dateto like 032008&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i wont to do this loop 14 times (the number of month between this 2 dates)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---this i wont to run in the loop&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;012007   "l_datefrom &lt;/P&gt;&lt;P&gt;022007   "l_dateto&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;022007   "l_datefrom &lt;/P&gt;&lt;P&gt;032007   "l_dateto&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;032007   "l_datefrom &lt;/P&gt;&lt;P&gt;042007   "l_dateto&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;how i increase all times the month by one in the loop &lt;/P&gt;&lt;P&gt;and after 12 month  also increase year?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;best regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;i reward&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do no_month times."14&lt;/P&gt;&lt;P&gt;loop at itab&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'Z_GET_PRO&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            project      = gt_prps-psphi&lt;/P&gt;&lt;P&gt;            date_from    = l_datefrom&lt;/P&gt;&lt;P&gt;            date_to      = l_dateto.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append....&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;enddo.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 15:42:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274688#M782903</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T15:42:13Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274689#M782904</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Code a Logic like below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Months_between  =   ( DATETO&lt;EM&gt;2(4) - DATEFROM&lt;/EM&gt;2(4) ) * 12  + ( DATETO(2)   - DATEFROM(2)  ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now Next step would be &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DO&lt;/STRONG&gt; Months_between &lt;STRONG&gt;Times&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at itab&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'Z_GET_PRO&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;project = gt_prps-psphi&lt;/P&gt;&lt;P&gt;date_from = l_datefrom&lt;/P&gt;&lt;P&gt;date_to = l_dateto.&lt;/P&gt;&lt;P&gt;append....&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ENDDO&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Trt and let me know.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 15:54:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274689#M782904</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T15:54:50Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274690#M782905</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try this..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;  p_from(6) type n,&lt;/P&gt;&lt;P&gt;  p_to(6)   type n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  v_from(4) type n,&lt;/P&gt;&lt;P&gt;  v_to(4)   type n,&lt;/P&gt;&lt;P&gt;  v_years(4) type n,&lt;/P&gt;&lt;P&gt;  v_months   type n,&lt;/P&gt;&lt;P&gt;  v_loop(4)  type n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_from = p_from+2(4) .&lt;/P&gt;&lt;P&gt;v_to   = p_to+2(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_years = v_from - v_to.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_from = p_from+0(2) .&lt;/P&gt;&lt;P&gt;v_to   = p_to+0(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_months = v_from - v_to.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_loop = v_years * 12 + v_months.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do v_loop times.&lt;/P&gt;&lt;P&gt;write:/ sy-index.&lt;/P&gt;&lt;P&gt;enddo.&lt;/P&gt;&lt;P&gt;write:/ v_loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Veeresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 15:59:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274690#M782905</guid>
      <dc:creator>former_member673464</dc:creator>
      <dc:date>2008-01-03T15:59:19Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274691#M782906</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;lv_month =  &amp;lt;diff in months&amp;gt;&lt;/P&gt;&lt;P&gt;data : &lt;/P&gt;&lt;P&gt;count type i,&lt;/P&gt;&lt;P&gt;month(2) type n.&lt;/P&gt;&lt;P&gt;year(4) type n.&lt;/P&gt;&lt;P&gt;Loop at Itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;month = l_datefrom+0(2).&lt;/P&gt;&lt;P&gt;month =  month + count.&lt;/P&gt;&lt;P&gt;move month to l_datefrom+0(2).&lt;/P&gt;&lt;P&gt;if month &amp;gt; 12.&lt;/P&gt;&lt;P&gt;month = month - 12.&lt;/P&gt;&lt;P&gt;year = l_datefrom+2(4) + 1.&lt;/P&gt;&lt;P&gt;concatenate month year into l_datefrom.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if count &amp;gt; lv_month.&lt;/P&gt;&lt;P&gt;exit.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;month =  month + 1.&lt;/P&gt;&lt;P&gt;move month to l_dateto+0(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'Z_GET_PRO&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;project = gt_prps-psphi&lt;/P&gt;&lt;P&gt;date_from = l_datefrom&lt;/P&gt;&lt;P&gt;date_to = l_dateto.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;count = count + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append....&lt;/P&gt;&lt;P&gt;Endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers!!&lt;/P&gt;&lt;P&gt;Lokesh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Lokesh Aggarwal on Jan 3, 2008 4:06 PM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Lokesh Aggarwal on Jan 3, 2008 4:09 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 16:04:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274691#M782906</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T16:04:25Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274692#M782907</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Vinodh  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i now the number of month between i have fm that calculate that what i wont is all time to increase the period for loop in 1&lt;/P&gt;&lt;P&gt;l_datefrom and  l_dateto and if nom of month &amp;gt; 12 &lt;/P&gt;&lt;P&gt;increase the year to .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 16:05:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274692#M782907</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T16:05:24Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274693#M782908</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gurus!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have been asked to create a report which shall track the Lugger Bins.The report shows the movemnet list diplay through MB51 transaction .Now they want me to create a new report by either making a copy of MB51 transaction or a new report which will have only the below mentyioned fields in it .This new report has two extra fields which is not present in mb51 transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plant&lt;/P&gt;&lt;P&gt;storage location&lt;/P&gt;&lt;P&gt;movemnet type&lt;/P&gt;&lt;P&gt;material documnet number&lt;/P&gt;&lt;P&gt;material&lt;/P&gt;&lt;P&gt;material description&lt;/P&gt;&lt;P&gt;serial number(new)&lt;/P&gt;&lt;P&gt;quantity&lt;/P&gt;&lt;P&gt;unit of entry&lt;/P&gt;&lt;P&gt;posting date&lt;/P&gt;&lt;P&gt;user&lt;/P&gt;&lt;P&gt;customer&lt;/P&gt;&lt;P&gt;customer description(new)&lt;/P&gt;&lt;P&gt;documnet date&lt;/P&gt;&lt;P&gt;header text&lt;/P&gt;&lt;P&gt;entered on&lt;/P&gt;&lt;P&gt;entered at&lt;/P&gt;&lt;P&gt;name1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone help me out with this report , as I cheched mb51 program and its really difficult to copy it and use it for this program as lots of changes will be required.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 16:10:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274693#M782908</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T16:10:04Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274694#M782909</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi  Lokesh  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thankes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how to declare field month and field years &lt;/P&gt;&lt;P&gt;and what i do in year 2010 and so on..?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 16:14:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274694#M782909</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T16:14:14Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274695#M782910</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi I had a similar req.. .check the below code &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REPORT RM07MLBS (Transaction MB52)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;History:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;July 2006 MS "n960980&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;changed output of first line in print modus. If you enter "n960980&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user commands after function print, you get the list in "n960980&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;print modus view. "n960980&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Jan. 2006 MS "n912093&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;added fields GLGMG,WGLGM,UMLMC,WUMLC,TRAME,WTRAM "n912093&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;into output list with parameter "c-no-out" "n912093&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;corrected documentation for field "Stock in transfer" "n912093&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;down with release 6.0 "n912093&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;added dynamic break-points from cp-group MMIM_REP_MB52 "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;März 2005 TW "n829722&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;authorization check should be always processed "n829722&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Nov. 2004 MM : "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;origin acceptance : process valuated block GR "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock MARC-BWESB as hidden field "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;July 2004 MM "n759412&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Avoid shortdump DBIF_RSQL_INVALID_RSQL&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Improvements : Nov 2003 TW "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- enable Webreporting "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- print the page numbers "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- use function module for database commit for the update "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of the parameters in table ESDUS. This allows to record "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;this transaction for a batch input session using "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;transaction SHDB "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Feb. 2003 MM "n577268&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ignore stocks or special stocks from plant level when "n577268&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user selects via storage location "n577268&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Jan. 2003 MM "n591618&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;report displayed stocks for plant although the user has "n591618&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;not the required authorization for that plant "n591618&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Dec. 2002 MM "n579976&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;M7 393 when user deletes the initial display variant "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n546707&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;note 546707 August 19th, 2002 MM "n546707&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wrong parameters for AUTHORITY-CHECK 'F_BKPF_BUK' fixed "n546707&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n531604&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;performance improved 4.6 and higher July 2002 MM "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- consider settings from view V_MMIM_REP_PRINT "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- choose flat or hierarchic list "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- show the individual line of special stocks E and Q "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- authority-check for values per company code "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- work with a lean table ORGAN "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- new function processing special stocks "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- new function of parameter XLVORM "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- evaluate and show the flag for deletion "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- contents of parameters : "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- in dialog mode : preset parameters from last run "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- save the parameters during each run "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n531604&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;note 494306 FI help dokumentation for parameters improved&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Feb. 11th 2002 XJD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 155853: First version&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 161442: Display variante possible again&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 177898: MSKA/MSPR with duplicate entires, SELECT error&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 182322: Error during authorization check for plant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 307852: Jump back to initial screen for empty selection&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 311770: Batch selection&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 353428: Value even for valuation area with 0 stock&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 304353: New selection fields into the standard.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 388735: Abort COLLECT_OVERFLOW_TYPE_P due to note 353428&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note 407810: Typo-error causes unprecise values (follow up&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of note 388735).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List of stock quantities and values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;REPORT zrm07mlbs MESSAGE-ID m7 NO STANDARD PAGE HEADING LINE-SIZE 170.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MLBS_G4 SPOTS ES_RM07MLBS STATIC.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MLBS_G5 SPOTS ES_RM07MLBS.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MLBS_G6 SPOTS ES_RM07MLBS STATIC.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MLBS_G7 SPOTS ES_RM07MLBS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Enhancement : 11/13/07&lt;/P&gt;&lt;P&gt;*Custom program for Curbell to display the base unit of&lt;/P&gt;&lt;P&gt;*measure from Sq. Inch to Each. Added a perform to make the&lt;/P&gt;&lt;P&gt;*convertion.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Type pools&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPE-POOLS: slis, imrep.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Database tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: mara, makt, mard, mchb, mkol, mslb, mska, msku, mssa, mspr,&lt;/P&gt;&lt;P&gt;mssq, mbew, ebew, qbew, t134m, t001w, t001l, marc, t001, t001k,&lt;/P&gt;&lt;P&gt;t023, t024.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : sscrfields. "for the user-commands&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;working table for the entries of all stock tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF collector OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE t001w-werks,&lt;/P&gt;&lt;P&gt;lgort LIKE mard-lgort,&lt;/P&gt;&lt;P&gt;sobkz LIKE mkol-sobkz,&lt;/P&gt;&lt;P&gt;pspnr LIKE mspr-pspnr,&lt;/P&gt;&lt;P&gt;vbeln LIKE mska-vbeln,&lt;/P&gt;&lt;P&gt;posnr LIKE mska-posnr,&lt;/P&gt;&lt;P&gt;lifnr LIKE mslb-lifnr,&lt;/P&gt;&lt;P&gt;kunnr LIKE msku-kunnr,&lt;/P&gt;&lt;P&gt;lvorm LIKE mard-lvorm,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kzbws LIKE mssa-kzbws,&lt;/P&gt;&lt;P&gt;charg LIKE mchb-charg,&lt;/P&gt;&lt;P&gt;labst LIKE mard-labst,&lt;/P&gt;&lt;P&gt;insme LIKE mard-insme,&lt;/P&gt;&lt;P&gt;speme LIKE mard-speme,&lt;/P&gt;&lt;P&gt;einme LIKE mard-einme,&lt;/P&gt;&lt;P&gt;retme LIKE mard-retme,&lt;/P&gt;&lt;P&gt;umlme LIKE mard-umlme,&lt;/P&gt;&lt;P&gt;bwesb LIKE marc-bwesb, "AC0K020254&lt;/P&gt;&lt;P&gt;glgmg LIKE marc-glgmg, "n912093&lt;/P&gt;&lt;P&gt;trame LIKE marc-trame, "n912093&lt;/P&gt;&lt;P&gt;umlmc LIKE marc-umlmc, "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF header OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;werks LIKE t001w-werks,&lt;/P&gt;&lt;P&gt;name1 LIKE t001w-name1,&lt;/P&gt;&lt;P&gt;mtart LIKE mara-mtart,&lt;/P&gt;&lt;P&gt;matkl LIKE mara-matkl,&lt;/P&gt;&lt;P&gt;END OF header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF bestand OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Key fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE t001w-werks,&lt;/P&gt;&lt;P&gt;lgort LIKE mard-lgort,&lt;/P&gt;&lt;P&gt;sobkz LIKE mkol-sobkz,&lt;/P&gt;&lt;P&gt;ssnum LIKE bickey-ssnum, "n531604&lt;/P&gt;&lt;P&gt;pspnr LIKE mspr-pspnr, "n531604&lt;/P&gt;&lt;P&gt;vbeln LIKE mska-vbeln, "n531604&lt;/P&gt;&lt;P&gt;posnr LIKE mska-posnr, "n531604&lt;/P&gt;&lt;P&gt;lifnr LIKE mkol-lifnr,&lt;/P&gt;&lt;P&gt;kunnr LIKE msku-kunnr,&lt;/P&gt;&lt;P&gt;kzbws LIKE mssa-kzbws,&lt;/P&gt;&lt;P&gt;charg LIKE mchb-charg,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Additional data (texts, unit, ...)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;maktx LIKE marav-maktx,&lt;/P&gt;&lt;P&gt;bwkey LIKE mbew-bwkey,&lt;/P&gt;&lt;P&gt;mtart LIKE marav-mtart,&lt;/P&gt;&lt;P&gt;matkl LIKE marav-matkl,&lt;/P&gt;&lt;P&gt;meins LIKE marav-meins,&lt;/P&gt;&lt;P&gt;bwtty LIKE marc-bwtty,&lt;/P&gt;&lt;P&gt;xchar LIKE marc-xchar,&lt;/P&gt;&lt;P&gt;lgobe LIKE t001l-lgobe,&lt;/P&gt;&lt;P&gt;bwtar LIKE mcha-bwtar,&lt;/P&gt;&lt;P&gt;waers LIKE t001-waers,&lt;/P&gt;&lt;P&gt;name1 LIKE t001w-name1,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Quantities and currencies&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;labst LIKE mard-labst,&lt;/P&gt;&lt;P&gt;wlabs LIKE mbew-salk3,&lt;/P&gt;&lt;P&gt;insme LIKE mard-insme,&lt;/P&gt;&lt;P&gt;winsm LIKE mbew-salk3,&lt;/P&gt;&lt;P&gt;speme LIKE mard-speme,&lt;/P&gt;&lt;P&gt;wspem LIKE mbew-salk3,&lt;/P&gt;&lt;P&gt;einme LIKE mard-einme,&lt;/P&gt;&lt;P&gt;weinm LIKE mbew-salk3,&lt;/P&gt;&lt;P&gt;retme LIKE mard-retme,&lt;/P&gt;&lt;P&gt;wretm LIKE mbew-salk3,&lt;/P&gt;&lt;P&gt;umlme LIKE mard-umlme,&lt;/P&gt;&lt;P&gt;wumlm LIKE mbew-salk3,&lt;/P&gt;&lt;P&gt;glgmg LIKE marc-glgmg, "n912093&lt;/P&gt;&lt;P&gt;wglgm LIKE mbew-salk3, "n912093&lt;/P&gt;&lt;P&gt;trame LIKE marc-trame, "n912093&lt;/P&gt;&lt;P&gt;wtram LIKE mbew-salk3, "n912093&lt;/P&gt;&lt;P&gt;umlmc LIKE marc-umlmc, "n912093&lt;/P&gt;&lt;P&gt;wumlc LIKE mbew-salk3, "n912093&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Dummy field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;dummy TYPE alv_dummy,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Colour&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;farbe TYPE slis_t_specialcol_alv,&lt;/P&gt;&lt;P&gt;lvorm LIKE mard-lvorm,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;valuated blocked GR stock "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;bwesb LIKE marc-bwesb, "AC0K020254&lt;/P&gt;&lt;P&gt;wbwesb LIKE mbew-salk3, "AC0K020254&lt;/P&gt;&lt;P&gt;END OF bestand.&lt;/P&gt;&lt;P&gt;DATA: lt_bestand TYPE bestand,&lt;/P&gt;&lt;P&gt;wa_bestand TYPE bestand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define a lean table organ&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF stype_organ,&lt;/P&gt;&lt;P&gt;werks LIKE t001w-werks,&lt;/P&gt;&lt;P&gt;bwkey LIKE t001w-bwkey,&lt;/P&gt;&lt;P&gt;name1 LIKE t001w-name1,&lt;/P&gt;&lt;P&gt;bukrs LIKE t001-bukrs,&lt;/P&gt;&lt;P&gt;waers LIKE t001-waers,&lt;/P&gt;&lt;P&gt;END OF stype_organ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;stab_organ TYPE STANDARD TABLE OF&lt;/P&gt;&lt;P&gt;stype_organ&lt;/P&gt;&lt;P&gt;WITH DEFAULT KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_t_organ TYPE stab_organ,&lt;/P&gt;&lt;P&gt;g_s_organ TYPE stype_organ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define a buffer table for the MARD entries with flag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for deletion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF stype_mard_lv,&lt;/P&gt;&lt;P&gt;matnr LIKE mard-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE mard-werks,&lt;/P&gt;&lt;P&gt;lgort LIKE mard-lgort,&lt;/P&gt;&lt;P&gt;lvorm LIKE mard-lvorm,&lt;/P&gt;&lt;P&gt;END OF stype_mard_lv,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;htab_mard_lv TYPE HASHED TABLE OF&lt;/P&gt;&lt;P&gt;stype_mard_lv&lt;/P&gt;&lt;P&gt;WITH UNIQUE KEY matnr werks lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : g_s_mard_lv TYPE stype_mard_lv,&lt;/P&gt;&lt;P&gt;g_t_mard_lv TYPE htab_mard_lv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define a buffer table for the storage bins&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF stype_t001l,&lt;/P&gt;&lt;P&gt;werks LIKE t001l-werks,&lt;/P&gt;&lt;P&gt;lgort LIKE t001l-lgort,&lt;/P&gt;&lt;P&gt;lgobe LIKE t001l-lgobe,&lt;/P&gt;&lt;P&gt;END OF stype_t001l,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;htab_t001l TYPE HASHED TABLE OF&lt;/P&gt;&lt;P&gt;stype_t001l&lt;/P&gt;&lt;P&gt;WITH UNIQUE KEY werks lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : g_s_t001l TYPE stype_t001l,&lt;/P&gt;&lt;P&gt;g_t_t001l TYPE htab_t001l.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define working areas for access table organ "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF stype_buffer, "n531604&lt;/P&gt;&lt;P&gt;werks LIKE t001w-werks,&lt;/P&gt;&lt;P&gt;bukrs LIKE t001-bukrs,&lt;/P&gt;&lt;P&gt;subrc LIKE syst-subrc,&lt;/P&gt;&lt;P&gt;END OF stype_buffer,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;stab_buffer TYPE STANDARD TABLE OF&lt;/P&gt;&lt;P&gt;stype_buffer&lt;/P&gt;&lt;P&gt;WITH DEFAULT KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : g_s_buffer TYPE stype_buffer,&lt;/P&gt;&lt;P&gt;g_t_buffer TYPE stab_buffer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data for listviewer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: repid LIKE sy-repid.&lt;/P&gt;&lt;P&gt;DATA: fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: keyinfo TYPE slis_keyinfo_alv.&lt;/P&gt;&lt;P&gt;DATA: color TYPE slis_t_specialcol_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: sort TYPE slis_t_sortinfo_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: excluding TYPE slis_t_extab WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal working table for events / for the headlines "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: gs_events TYPE slis_alv_event. "n667256&lt;/P&gt;&lt;P&gt;DATA: gt_events TYPE slis_t_event. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for the header of the list, when alv grid is in use "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : gt_ueb TYPE slis_t_listheader, "n667256&lt;/P&gt;&lt;P&gt;gs_ueb TYPE slis_listheader. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: variante LIKE disvariant,&lt;/P&gt;&lt;P&gt;variante_flat LIKE disvariant,&lt;/P&gt;&lt;P&gt;def_variante LIKE disvariant,&lt;/P&gt;&lt;P&gt;def_variante_f4 LIKE disvariant,&lt;/P&gt;&lt;P&gt;variant_exit(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MLBS_01 SPOTS ES_RM07MLBS STATIC.&lt;/P&gt;&lt;P&gt;DATA : g_f_vari_hsq LIKE disvariant-variant,&lt;/P&gt;&lt;P&gt;g_f_vari_flt LIKE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;working fields to save the initial display variants "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : g_f_vari_hsq_initial LIKE disvariant-variant, "n579976&lt;/P&gt;&lt;P&gt;g_f_vari_flt_initial LIKE disvariant-variant. "n579976&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global variables for handling ALV functionality&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: mmim_rep_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: alv_keyinfo TYPE slis_keyinfo_alv.&lt;/P&gt;&lt;P&gt;DATA: alv_variant LIKE disvariant.&lt;/P&gt;&lt;P&gt;DATA: alv_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;DATA: alv_repid LIKE sy-repid.&lt;/P&gt;&lt;P&gt;DATA: alv_print TYPE slis_print_alv.&lt;/P&gt;&lt;P&gt;DATA: alv_detail_func(30) TYPE c,&lt;/P&gt;&lt;P&gt;alv_color LIKE mmim_rep_print-color.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;User settings for the checkboxes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: oref_settings TYPE REF TO cl_mmim_userdefaults.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define working fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : g_cnt_col_pos TYPE i,&lt;/P&gt;&lt;P&gt;g_cnt_spos TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : g_flag_ok(01) TYPE c,&lt;/P&gt;&lt;P&gt;g_flag_mess_333(01) TYPE c,&lt;/P&gt;&lt;P&gt;g_flag_t001l(01) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : g_cnt_variant_error TYPE i. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;does the user want to suppress objects from plant level ? "n577268&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : g_flag_suppress_init_lgort(01) TYPE c. "n577268&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF g_flag_sobkz,&lt;/P&gt;&lt;P&gt;vbeln(01) TYPE c,&lt;/P&gt;&lt;P&gt;pspnr(01) TYPE c,&lt;/P&gt;&lt;P&gt;lifnr(01) TYPE c,&lt;/P&gt;&lt;P&gt;kunnr(01) TYPE c,&lt;/P&gt;&lt;P&gt;END OF g_flag_sobkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : c_no_out(01) TYPE c VALUE 'X',&lt;/P&gt;&lt;P&gt;c_out(01) TYPE c VALUE space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;flag to be set when INITIALIZATION was processed "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA g_flag_initialization(01) TYPE c. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;authorization check should be always processed "n829722&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA t_flag_launched(01) TYPE c. "n829722&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK abgrenzung WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;matnr FOR mara-matnr MEMORY ID mat MATCHCODE OBJECT mat1,&lt;/P&gt;&lt;P&gt;werks FOR t001l-werks MEMORY ID wrk, "718285&lt;/P&gt;&lt;P&gt;lgort FOR t001l-lgort MEMORY ID lag,&lt;/P&gt;&lt;P&gt;charg FOR mchb-charg MEMORY ID cha MATCHCODE OBJECT mch1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK abgrenzung.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK lbs WITH FRAME TITLE text-070.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;matart FOR mara-mtart,&lt;/P&gt;&lt;P&gt;matkla FOR mara-matkl,&lt;/P&gt;&lt;P&gt;ekgrup FOR marc-ekgrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK lbs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for the selection os special stocks&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK lb2 WITH FRAME TITLE text-071.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for the selection os special stocks&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PARAMETERS : pa_sond LIKE rmmmb-kzlso&lt;/P&gt;&lt;P&gt;DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;so_sobkz FOR mkol-sobkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK lb2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK lb1 WITH FRAME TITLE text-080.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select only lines who contain at least one negative stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PARAMETERS: negativ LIKE am07m-seneg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Documentation for parameter XMCHB improved "n494306&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PARAMETERS: xmchb LIKE am07m-mb52_xmchb "n494306&lt;/P&gt;&lt;P&gt;DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checkbox to eliminate lines with zero stocks&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PARAMETERS: nozero LIKE rmmmb-kznul.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checkbox to disable value processing.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Documentation for parameter NOVALUES improved "n494306&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PARAMETERS: novalues LIKE am07m-mb52_noval. "n494306&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK lb1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK liste WITH FRAME TITLE text-005.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;choose flat or hierarchic list "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE. "n531604&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 1. "n531604&lt;/P&gt;&lt;P&gt;PARAMETERS : pa_hsq LIKE am07m-mb52_alv_hsq "n531604&lt;/P&gt;&lt;P&gt;DEFAULT 'X' "n531604&lt;/P&gt;&lt;P&gt;RADIOBUTTON GROUP alvv "n531604&lt;/P&gt;&lt;P&gt;USER-COMMAND alvv. "n531604&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 3(40) text-006 "n531604&lt;/P&gt;&lt;P&gt;FOR FIELD pa_hsq. "n531604&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE. "n531604&lt;/P&gt;&lt;P&gt;"n531604&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE. "n531604&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 1. "n531604&lt;/P&gt;&lt;P&gt;PARAMETERS : pa_flt LIKE am07m-mb52_alv_flt "n531604&lt;/P&gt;&lt;P&gt;RADIOBUTTON GROUP alvv. "n531604&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 3(40) text-007 "n531604&lt;/P&gt;&lt;P&gt;FOR FIELD pa_flt. "n531604&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameters :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;pa_grid type MB_XFELD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;default 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;radiobutton group alv1,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;pa_class type MB_XFELD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;radiobutton group alv1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_vari LIKE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK liste.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4-Help for variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.&lt;/P&gt;&lt;P&gt;PERFORM f4_for_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Main program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check radiobuttons "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF pa_hsq IS INITIAL. "n667256&lt;/P&gt;&lt;P&gt;IF pa_flt IS INITIAL. "n667256&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;not allowed "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE 'X' TO pa_hsq. "n667256&lt;/P&gt;&lt;P&gt;ADD 1 TO g_cnt_variant_error. "n667256&lt;/P&gt;&lt;P&gt;ENDIF. "n667256&lt;/P&gt;&lt;P&gt;ELSE. "n667256&lt;/P&gt;&lt;P&gt;IF pa_flt IS INITIAL. "n667256&lt;/P&gt;&lt;P&gt;ELSE. "n667256&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;not allowed "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR pa_flt. "n667256&lt;/P&gt;&lt;P&gt;ADD 1 TO g_cnt_variant_error. "n667256&lt;/P&gt;&lt;P&gt;ENDIF. "n667256&lt;/P&gt;&lt;P&gt;ENDIF. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the user will get the info about the old variant only once "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_cnt_variant_error = 1. "n667256&lt;/P&gt;&lt;P&gt;IF NOT sy-slset IS INITIAL. "n667256&lt;/P&gt;&lt;P&gt;MESSAGE i634(db) WITH sy-slset sy-repid. "n667256&lt;/P&gt;&lt;P&gt;ENDIF. "n667256&lt;/P&gt;&lt;P&gt;ENDIF. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;has the user changed the radiobuttons for the mode of the "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SAP-LIST-VIEWER ? "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF sscrfields-ucomm = 'ALVV'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;yes, restore the old entry if extists "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL.&lt;/P&gt;&lt;P&gt;MOVE g_f_vari_hsq TO p_vari.&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for flat ( simple ) list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE g_f_vari_flt TO p_vari.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the display variant depending on the selected mode "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of the SAP-LIST-VIEWER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for hierarchic seq. list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE p_vari TO g_f_vari_hsq.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for flat ( simple ) list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE p_vari TO g_f_vari_flt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it is necessary to set flag xmchb if batch has been entered because&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;otherwise MCHB will not be read and non suitable items can't be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be removed later on in form data_selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT charg[] IS INITIAL. xmchb = 'X'. ENDIF. "note 311770&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;send a warning if the user starts this report without any "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;restrictions for the database selection "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;only when this report is started "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF matnr IS INITIAL AND "n531604&lt;/P&gt;&lt;P&gt;werks IS INITIAL AND "n531604&lt;/P&gt;&lt;P&gt;lgort IS INITIAL AND "n531604&lt;/P&gt;&lt;P&gt;charg IS INITIAL. "n531604&lt;/P&gt;&lt;P&gt;IF sy-ucomm = 'ONLI' OR "n531604&lt;/P&gt;&lt;P&gt;sy-ucomm = 'PRIN'. "n531604&lt;/P&gt;&lt;P&gt;MESSAGE w689. "The selection was not restricted "n531604&lt;/P&gt;&lt;P&gt;ENDIF. "n531604&lt;/P&gt;&lt;P&gt;ENDIF. "n531604&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;go on only if the user wants to launch this report "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the authorization check should be always processed "n829722&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF sy-ucomm = 'ONLI' OR "n829722&lt;/P&gt;&lt;P&gt;sy-ucomm = 'PRIN' OR "n829722&lt;/P&gt;&lt;P&gt;sy-ucomm = 'SJOB' OR "n829722&lt;/P&gt;&lt;P&gt;sy-ucomm = space. "n829722&lt;/P&gt;&lt;P&gt;MOVE 'X' TO t_flag_launched. "n829722&lt;/P&gt;&lt;P&gt;ELSE. "n829722&lt;/P&gt;&lt;P&gt;IF sy-ucomm &amp;lt;&amp;gt; space. "n829722&lt;/P&gt;&lt;P&gt;CLEAR t_flag_launched. "n829722&lt;/P&gt;&lt;P&gt;ENDIF. "n829722&lt;/P&gt;&lt;P&gt;ENDIF. "n829722&lt;/P&gt;&lt;P&gt;CHECK t_flag_launched = 'X'. "n829722&lt;/P&gt;&lt;P&gt;PERFORM check_entry.&lt;/P&gt;&lt;P&gt;PERFORM organisation.&lt;/P&gt;&lt;P&gt;PERFORM check_authorization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the parameters of this run in database table ESDUS "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM f0200_settings_save. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;&lt;P&gt; Initialisierung -&lt;/P&gt;&lt;HR originaltext="----------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MLBS_05 SPOTS ES_RM07MLBS.&lt;/P&gt;&lt;P&gt;PERFORM f0000_get_print_settings. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;look for the setting of the parameters from the last run "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM f0100_settings_init. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM initialisierung.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set flag when INITILIZATION is processed "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE 'X' TO g_flag_initialization. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it makes no sence to carry out this report "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_cnt_variant_error &amp;gt; 0. "n667256&lt;/P&gt;&lt;P&gt;IF NOT sy-slset IS INITIAL. "n667256&lt;/P&gt;&lt;P&gt;MESSAGE e634(db) WITH sy-slset sy-repid. "n667256&lt;/P&gt;&lt;P&gt;ENDIF. "n667256&lt;/P&gt;&lt;P&gt;ENDIF. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;does the user restrict the storage locations and want to "n577268&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;suppress stock objects from plant level ? "n577268&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR collector-lgort. "n577268&lt;/P&gt;&lt;P&gt;"n577268&lt;/P&gt;&lt;P&gt;IF collector-lgort IN lgort. "n577268&lt;/P&gt;&lt;P&gt;CLEAR g_flag_suppress_init_lgort. "n577268&lt;/P&gt;&lt;P&gt;ELSE. "n577268&lt;/P&gt;&lt;P&gt;MOVE 'X' TO g_flag_suppress_init_lgort."n577268&lt;/P&gt;&lt;P&gt;ENDIF. "n577268&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM data_selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------" /&gt;&lt;P&gt; Datenausgabe----&lt;/P&gt;&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;READ TABLE bestand INDEX 1 TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the fieldcatalog depends on the type of list "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL. "n531604&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create hierarchic list "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM fieldcatalog. "n531604&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL. "n531604&lt;/P&gt;&lt;P&gt;PERFORM f0300_fieldcat_flat. "n531604&lt;/P&gt;&lt;P&gt;ENDIF. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF g_flag_mess_333 = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;"The list is incomplete due to lacking authorization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MESSAGE s333.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM list_output.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE s843.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Zu den vorgegebenen Daten ist kein Bestand vorhanden&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT sy-calld IS INITIAL. "307852&lt;/P&gt;&lt;P&gt;LEAVE. "307852&lt;/P&gt;&lt;P&gt;ELSE. "307852&lt;/P&gt;&lt;P&gt;LEAVE TO TRANSACTION sy-tcode. "307852&lt;/P&gt;&lt;P&gt;ENDIF. "307852&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read organisation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM organisation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get all existing storage bins of the required plants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;REFRESH : g_t_t001l, g_t_organ.&lt;/P&gt;&lt;P&gt;CLEAR : g_s_t001l, g_s_organ, g_flag_t001l.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT werks lgort lgobe FROM t001l&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE g_t_t001l&lt;/P&gt;&lt;P&gt;WHERE werks IN werks&lt;/P&gt;&lt;P&gt;AND lgort IN lgort&lt;/P&gt;&lt;P&gt;AND lgobe NE space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;MOVE 'X' TO g_flag_t001l.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT DISTINCT werks name1 bwkey&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE g_t_organ&lt;/P&gt;&lt;P&gt;FROM t001w&lt;/P&gt;&lt;P&gt;WHERE werks IN werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT g_t_organ BY bwkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT g_t_organ INTO g_s_organ.&lt;/P&gt;&lt;P&gt;ON CHANGE OF g_s_organ-bwkey.&lt;/P&gt;&lt;P&gt;CLEAR g_flag_ok.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM t001k&lt;/P&gt;&lt;P&gt;WHERE bwkey EQ g_s_organ-bwkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM t001&lt;/P&gt;&lt;P&gt;WHERE bukrs EQ t001k-bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;MOVE 'X' TO g_flag_ok.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF g_flag_ok = 'X'.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING t001 TO g_s_organ.&lt;/P&gt;&lt;P&gt;MODIFY g_t_organ FROM g_s_organ.&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;ENDFORM. " ORGANISATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check authorization on plant level for all selected plants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM check_authorization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define local working areas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : l_s_bukrs TYPE stype_buffer,&lt;/P&gt;&lt;P&gt;l_t_bukrs TYPE stab_buffer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT g_t_organ BY werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;report displayed stocks for plant although the user has "n591618&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;not the required authorization for that plant "n591618&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR g_s_buffer. "n591618&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT g_t_organ INTO g_s_organ.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check the authority only after the plant has changed "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_s_organ-werks NE g_s_buffer-werks.&lt;/P&gt;&lt;P&gt;MOVE g_s_organ-werks TO g_s_buffer-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AUTHORITY-CHECK OBJECT 'M_MATE_WRK'&lt;/P&gt;&lt;P&gt;ID 'ACTVT' FIELD '03'&lt;/P&gt;&lt;P&gt;ID 'WERKS' FIELD g_s_organ-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;SET CURSOR FIELD 'WERKS-LOW'.&lt;/P&gt;&lt;P&gt;MESSAGE e120 WITH g_s_organ-werks.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF novalues IS INITIAL. "n531604&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the user wants to see the values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_s_organ-bukrs NE g_s_buffer-bukrs.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check the authority after the company code changed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameters for AUTHORITY-CHECK command fixed "n546707&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ID 'BUKRS' FIELD g_s_organ-bukrs "n546707&lt;/P&gt;&lt;P&gt;ID 'ACTVT' FIELD '03'. "n546707&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE : g_s_organ-bukrs TO g_s_buffer-bukrs, "n667256&lt;/P&gt;&lt;P&gt;sy-subrc TO g_s_buffer-subrc. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;no authorization -&amp;gt; save the company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE : 'X' TO g_flag_mess_333,&lt;/P&gt;&lt;P&gt;g_s_organ-bukrs TO l_s_bukrs-bukrs.&lt;/P&gt;&lt;P&gt;COLLECT l_s_bukrs INTO l_t_bukrs.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;use the result from the buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_s_buffer-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;CLEAR g_s_organ-waers.&lt;/P&gt;&lt;P&gt;MODIFY g_t_organ FROM g_s_organ&lt;/P&gt;&lt;P&gt;TRANSPORTING waers.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;send the info for each missing autority&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_flag_mess_333 = 'X'.&lt;/P&gt;&lt;P&gt;SORT l_t_bukrs.&lt;/P&gt;&lt;P&gt;SET CURSOR FIELD 'WERKS-LOW'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT l_t_bukrs INTO l_s_bukrs.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No authorization to display data for company code &amp;amp;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MESSAGE i862(m3) WITH l_s_bukrs-bukrs.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "check_authorization&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check data on selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM check_entry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check some entered data for consistency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'MMIM_ENTRYCHECK_MAIN'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;it_matnr = matnr&lt;/P&gt;&lt;P&gt;it_werks = werks&lt;/P&gt;&lt;P&gt;it_lgort = lgort&lt;/P&gt;&lt;P&gt;it_ekgrp = ekgrup&lt;/P&gt;&lt;P&gt;it_sobkz = so_sobkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT matart-low IS INITIAL OR NOT matart-high IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM t134m WHERE mtart IN matart.&lt;/P&gt;&lt;P&gt;IF NOT sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;MESSAGE e104(m3) WITH matart-low.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT matkla-low IS INITIAL OR NOT matart-high IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM t023 WHERE matkl IN matkla.&lt;/P&gt;&lt;P&gt;IF NOT sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;MESSAGE e883 WITH matkla-low.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT p_vari IS INITIAL.&lt;/P&gt;&lt;P&gt;SET CURSOR FIELD 'P_VARI'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for hierarchic seq. list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE : p_vari TO variante-variant,&lt;/P&gt;&lt;P&gt;variante TO def_variante.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for flat ( simple ) list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE : p_vari TO variante_flat-variant,&lt;/P&gt;&lt;P&gt;variante_flat TO def_variante.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;cs_variant = def_variante.&lt;/P&gt;&lt;P&gt;ELSE. "n579976&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the user wants no initial display variant "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;"n579976&lt;/P&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL. "n579976&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for hierarchic seq. list "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT g_f_vari_hsq_initial IS INITIAL. "n579976&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;but the SAP-LIST-VIEWER will apply the existing "n579976&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;initial display variant for hierarchic lists "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM f3000_send_warning_m7_393 "n579976&lt;/P&gt;&lt;P&gt;USING g_f_vari_hsq_initial. "n579976&lt;/P&gt;&lt;P&gt;ENDIF. "n579976&lt;/P&gt;&lt;P&gt;"n579976&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL. "n579976&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for flat ( simple ) list "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT g_f_vari_flt_initial IS INITIAL. "n579976&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;but the SAP-LIST-VIEWER will apply the existing "n579976&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;initial display variant for flat lists "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM f3000_send_warning_m7_393 "n579976&lt;/P&gt;&lt;P&gt;USING g_f_vari_flt_initial. "n579976&lt;/P&gt;&lt;P&gt;ENDIF. "n579976&lt;/P&gt;&lt;P&gt;ENDIF. "n579976&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "check_entry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialization: Read default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM initialisierung.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;prepare the areas for the different display variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;repid = sy-repid.&lt;/P&gt;&lt;P&gt;CLEAR : variante, variante_flat.&lt;/P&gt;&lt;P&gt;MOVE : repid TO variante-report,&lt;/P&gt;&lt;P&gt;repid TO variante_flat-report,&lt;/P&gt;&lt;P&gt;'FLAT' TO variante_flat-handle.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the display variant is depending on the seleted mode of "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the SAP-LIST-VIEWER : look for both variants "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a) Get default variant for the hierarchic list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;def_variante = variante.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;cs_variant = def_variante&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;not_found = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MOVE def_variante-variant TO g_f_vari_hsq.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the initial display variant for the hierseq. list "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE def_variante-variant TO g_f_vari_hsq_initial. "n579976&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;b) Get default variant for the non-hierarchic list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;def_variante = variante_flat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;cs_variant = def_variante&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;not_found = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MOVE def_variante-variant TO g_f_vari_flt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the initial display variant for the flat list "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE def_variante-variant TO g_f_vari_flt_initial. "n579976&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;take the required variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for hierarchic seq. list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;p_vari = g_f_vari_hsq.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for flat ( simple ) list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;p_vari = g_f_vari_flt.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " INITIALISIERUNG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Main data selection routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM data_selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Materials to be processed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF ty_mat,&lt;/P&gt;&lt;P&gt;matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE marc-werks,&lt;/P&gt;&lt;P&gt;xchar LIKE marc-xchar,&lt;/P&gt;&lt;P&gt;mtart LIKE mara-mtart,&lt;/P&gt;&lt;P&gt;matkl LIKE mara-matkl,&lt;/P&gt;&lt;P&gt;meins LIKE mara-meins,&lt;/P&gt;&lt;P&gt;trame LIKE marc-trame,&lt;/P&gt;&lt;P&gt;umlmc LIKE marc-umlmc,&lt;/P&gt;&lt;P&gt;glgmg LIKE marc-glgmg, "n912093&lt;/P&gt;&lt;P&gt;bwesb LIKE marc-bwesb, "AC0K020254&lt;/P&gt;&lt;P&gt;lvorm_mara LIKE mara-lvorm,&lt;/P&gt;&lt;P&gt;lvorm_marc LIKE marc-lvorm,&lt;/P&gt;&lt;P&gt;END OF ty_mat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: t_mat TYPE ty_mat OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;t_batch TYPE ty_mat OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;t_nobatch TYPE ty_mat OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;buffer for reading working tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : l_s_mat TYPE ty_mat,&lt;/P&gt;&lt;P&gt;l_f_matnr LIKE makt-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RANGES: r_sobkz FOR mkol-sobkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: l_cnt_matnr_i_eq TYPE i. "n759412&lt;/P&gt;&lt;P&gt;DATA: l_cnt_matnr_total TYPE i. "n759412&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read material master data (MARA and MARC)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;REFRESH collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;take all matching entries, do not consider the deletion&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;BEGIN INSERT n_759412&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;analyse the select-option table for material&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;numbers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR : l_cnt_matnr_total, l_cnt_matnr_i_eq.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT matnr.&lt;/P&gt;&lt;P&gt;ADD 1 TO l_cnt_matnr_total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT matnr-low IS INITIAL AND&lt;/P&gt;&lt;P&gt;matnr-sign = 'I' AND&lt;/P&gt;&lt;P&gt;matnr-option = 'EQ' AND&lt;/P&gt;&lt;P&gt;matnr-high IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the table contains single a material number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ADD 1 TO l_cnt_matnr_i_eq.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;added dynamic break-point ID MMIM_REP_MB52 "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BREAK-POINT ID mmim_rep_mb52. "n912093&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;process SELECT command depending on the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;required material selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF l_cnt_matnr_total &amp;gt; 0 AND&lt;/P&gt;&lt;P&gt;l_cnt_matnr_total = l_cnt_matnr_i_eq.&lt;/P&gt;&lt;P&gt;SELECT mara~matnr werks xchar mtart matkl meins trame umlmc&lt;/P&gt;&lt;P&gt;bwesb glgmg "AC0K020254 "n912093&lt;/P&gt;&lt;P&gt;mara~lvorm AS lvorm_mara&lt;/P&gt;&lt;P&gt;marc~lvorm AS lvorm_marc&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE t_mat&lt;/P&gt;&lt;P&gt;FROM mara INNER JOIN marc&lt;/P&gt;&lt;P&gt;ON mara&lt;SUB&gt;matnr = marc&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;FOR ALL entries IN matnr&lt;/P&gt;&lt;P&gt;WHERE mara~matnr = matnr-low&lt;/P&gt;&lt;P&gt;AND werks IN werks&lt;/P&gt;&lt;P&gt;AND mtart IN matart&lt;/P&gt;&lt;P&gt;AND matkl IN matkla&lt;/P&gt;&lt;P&gt;AND ekgrp IN ekgrup.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;END INSERT n_759412&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT mara~matnr werks xchar mtart matkl meins trame umlmc&lt;/P&gt;&lt;P&gt;bwesb glgmg "AC0K020254 "912093&lt;/P&gt;&lt;P&gt;mara~lvorm AS lvorm_mara&lt;/P&gt;&lt;P&gt;marc~lvorm AS lvorm_marc&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE t_mat&lt;/P&gt;&lt;P&gt;FROM mara INNER JOIN marc&lt;/P&gt;&lt;P&gt;ON mara&lt;SUB&gt;matnr = marc&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;WHERE mara~matnr IN matnr&lt;/P&gt;&lt;P&gt;AND werks IN werks&lt;/P&gt;&lt;P&gt;AND mtart IN matart&lt;/P&gt;&lt;P&gt;AND matkl IN matkla&lt;/P&gt;&lt;P&gt;AND ekgrp IN ekgrup.&lt;/P&gt;&lt;P&gt;ENDIF. "n759412&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get "normal" stocks.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no detailed batch display is required,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;all data come from MARD. Otherwise, materials with batch&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;management are extracted from MCHB, the rest from MARD.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Dum-dibe-dum-dibe-dum. Dum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;REFRESH: t_batch, t_nobatch.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Split the worklist into the parts for each table...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF xmchb IS INITIAL.&lt;/P&gt;&lt;P&gt;t_nobatch[] = t_mat[].&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;LOOP AT t_mat.&lt;/P&gt;&lt;P&gt;IF t_mat-xchar IS INITIAL.&lt;/P&gt;&lt;P&gt;APPEND t_mat TO t_nobatch.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;APPEND t_mat TO t_batch.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Access MARD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I you think that instead of SELECT-APPEND we could have used&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;an array fetch, please wait for the table names to become different&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from the internal fields. B.T.W.: The DB-interface also buffers.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;READ TABLE t_nobatch INDEX 1 TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT matnr werks lgort&lt;/P&gt;&lt;P&gt;labst umlme insme einme speme retme lvorm&lt;/P&gt;&lt;P&gt;INTO (collector-matnr, collector-werks, collector-lgort,&lt;/P&gt;&lt;P&gt;collector-labst, collector-umlme, collector-insme,&lt;/P&gt;&lt;P&gt;collector-einme, collector-speme, collector-retme,&lt;/P&gt;&lt;P&gt;collector-lvorm)&lt;/P&gt;&lt;P&gt;FROM mard&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_nobatch&lt;/P&gt;&lt;P&gt;WHERE matnr = t_nobatch-matnr&lt;/P&gt;&lt;P&gt;AND werks = t_nobatch-werks&lt;/P&gt;&lt;P&gt;AND lgort IN lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the MARD Key and deletion indicator for later&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in table G_T_MARD_LV for use with special stocks&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT pa_sond IS INITIAL AND&lt;/P&gt;&lt;P&gt;NOT collector-lvorm IS INITIAL.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING collector&lt;/P&gt;&lt;P&gt;TO g_s_mard_lv.&lt;/P&gt;&lt;P&gt;INSERT g_s_mard_lv INTO TABLE g_t_mard_lv.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Access MCHB&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;READ TABLE t_batch INDEX 1 TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT matnr werks lgort charg&lt;/P&gt;&lt;P&gt;clabs cumlm cinsm ceinm cspem cretm lvorm&lt;/P&gt;&lt;P&gt;INTO (collector-matnr, collector-werks, collector-lgort,&lt;/P&gt;&lt;P&gt;collector-charg,&lt;/P&gt;&lt;P&gt;collector-labst, collector-umlme, collector-insme,&lt;/P&gt;&lt;P&gt;collector-einme, collector-speme, collector-retme,&lt;/P&gt;&lt;P&gt;collector-lvorm)&lt;/P&gt;&lt;P&gt;FROM mchb&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_batch&lt;/P&gt;&lt;P&gt;WHERE matnr = t_batch-matnr&lt;/P&gt;&lt;P&gt;AND werks = t_batch-werks&lt;/P&gt;&lt;P&gt;AND lgort IN lgort&lt;/P&gt;&lt;P&gt;AND charg IN charg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer stocks from MARC (TRAME and UMLMC)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_mat WHERE umlmc &amp;lt;&amp;gt; 0 OR trame &amp;lt;&amp;gt; 0 OR "AC0K020254&lt;/P&gt;&lt;P&gt;bwesb &amp;lt;&amp;gt; 0 OR "AC0K020254&lt;/P&gt;&lt;P&gt;glgmg &amp;lt;&amp;gt; 0. "n912093&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;there are no lines with stock = zero&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;take the stocks from plant level only when the user "n577268&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;does not restrict the storage location; "n577268&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHECK : g_flag_suppress_init_lgort IS INITIAL. "n577268&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF negativ = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ignore entry if all stocks are zero or greater&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF t_mat-trame &amp;gt;= 0 AND&lt;/P&gt;&lt;P&gt;t_mat-umlmc &amp;gt;= 0 AND&lt;/P&gt;&lt;P&gt;t_mat-glgmg &amp;gt;= 0. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONTINUE. "take the next entry&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;collector-matnr = t_mat-matnr.&lt;/P&gt;&lt;P&gt;collector-werks = t_mat-werks.&lt;/P&gt;&lt;P&gt;collector-umlme = t_mat-trame + t_mat-umlmc.&lt;/P&gt;&lt;P&gt;collector-lvorm = t_mat-lvorm_marc.&lt;/P&gt;&lt;P&gt;collector-bwesb = t_mat-bwesb. "AC0K020254&lt;/P&gt;&lt;P&gt;collector-glgmg = t_mat-glgmg. "n912093&lt;/P&gt;&lt;P&gt;collector-trame = t_mat-trame. "n912093&lt;/P&gt;&lt;P&gt;collector-umlmc = t_mat-umlmc. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND collector.&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;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Consignment from vendor (MKOL)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read only if requested by one of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;flags on the selection screen. Absolutely inconsistent, but&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;due to compatibility...&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MKOL has a flag for deletion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_sond IS INITIAL AND&lt;/P&gt;&lt;P&gt;NOT t_mat[] IS INITIAL.&lt;/P&gt;&lt;P&gt;IF 'K' IN so_sobkz OR&lt;/P&gt;&lt;P&gt;'M' IN so_sobkz.&lt;/P&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr werks lgort charg sobkz lifnr&lt;/P&gt;&lt;P&gt;slabs sinsm seinm sspem lvorm&lt;/P&gt;&lt;P&gt;INTO (collector-matnr, collector-werks, collector-lgort,&lt;/P&gt;&lt;P&gt;collector-charg, collector-sobkz, collector-lifnr,&lt;/P&gt;&lt;P&gt;collector-labst, collector-insme, collector-einme,&lt;/P&gt;&lt;P&gt;collector-speme, collector-lvorm)&lt;/P&gt;&lt;P&gt;FROM mkol&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_mat&lt;/P&gt;&lt;P&gt;WHERE matnr = t_mat-matnr&lt;/P&gt;&lt;P&gt;AND werks = t_mat-werks&lt;/P&gt;&lt;P&gt;AND lgort IN lgort&lt;/P&gt;&lt;P&gt;AND charg IN charg&lt;/P&gt;&lt;P&gt;AND sobkz IN so_sobkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Special stocks at customer side (MSKU)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MSKU has no flag for deletion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_sond IS INITIAL AND&lt;/P&gt;&lt;P&gt;NOT t_mat[] IS INITIAL.&lt;/P&gt;&lt;P&gt;IF 'V' IN so_sobkz OR&lt;/P&gt;&lt;P&gt;'W' IN so_sobkz.&lt;/P&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr werks charg sobkz kunnr&lt;/P&gt;&lt;P&gt;kulab kuins kuein&lt;/P&gt;&lt;P&gt;INTO (collector-matnr, collector-werks, collector-charg,&lt;/P&gt;&lt;P&gt;collector-sobkz, collector-kunnr,&lt;/P&gt;&lt;P&gt;collector-labst, collector-insme, collector-einme)&lt;/P&gt;&lt;P&gt;FROM msku&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_mat&lt;/P&gt;&lt;P&gt;WHERE matnr = t_mat-matnr&lt;/P&gt;&lt;P&gt;AND werks = t_mat-werks&lt;/P&gt;&lt;P&gt;AND charg IN charg&lt;/P&gt;&lt;P&gt;AND sobkz IN so_sobkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Special stocks at vendor provision (MSLB)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MSLB has no flag for deletion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_sond IS INITIAL AND&lt;/P&gt;&lt;P&gt;NOT t_mat[] IS INITIAL AND&lt;/P&gt;&lt;P&gt;'O' IN so_sobkz.&lt;/P&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr werks charg sobkz lifnr&lt;/P&gt;&lt;P&gt;lblab lbins lbein&lt;/P&gt;&lt;P&gt;INTO (collector-matnr, collector-werks, collector-charg,&lt;/P&gt;&lt;P&gt;collector-sobkz, collector-lifnr,&lt;/P&gt;&lt;P&gt;collector-labst, collector-insme,&lt;/P&gt;&lt;P&gt;collector-einme)&lt;/P&gt;&lt;P&gt;FROM mslb&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_mat&lt;/P&gt;&lt;P&gt;WHERE matnr = t_mat-matnr&lt;/P&gt;&lt;P&gt;AND werks = t_mat-werks&lt;/P&gt;&lt;P&gt;AND charg IN charg&lt;/P&gt;&lt;P&gt;AND sobkz IN so_sobkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer order stock (MSKA) and sum segment (MSSA) for valuation.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sum on the database and FOR ALL ENTRIES is not allowed from&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;release 4.5 onwards, so the summation has to be done&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;on the application server (here!).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MSKA has no flag for deletion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_sond IS INITIAL AND&lt;/P&gt;&lt;P&gt;NOT t_mat[] IS INITIAL AND&lt;/P&gt;&lt;P&gt;'E' IN so_sobkz.&lt;/P&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT mska&lt;SUB&gt;matnr mska&lt;/SUB&gt;werks lgort charg mska~sobkz&lt;/P&gt;&lt;P&gt;mska&lt;SUB&gt;vbeln mska&lt;/SUB&gt;posnr&lt;/P&gt;&lt;P&gt;kalab kains kaspe kaein kzbws&lt;/P&gt;&lt;P&gt;INTO (collector-matnr, collector-werks, collector-lgort,&lt;/P&gt;&lt;P&gt;collector-charg, collector-sobkz,&lt;/P&gt;&lt;P&gt;collector-vbeln, collector-posnr,&lt;/P&gt;&lt;P&gt;collector-labst, collector-insme, collector-speme,&lt;/P&gt;&lt;P&gt;collector-einme, collector-kzbws)&lt;/P&gt;&lt;P&gt;FROM mska INNER JOIN mssa&lt;/P&gt;&lt;P&gt;ON mska&lt;SUB&gt;matnr = mssa&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;AND mska&lt;SUB&gt;werks = mssa&lt;/SUB&gt;werks&lt;/P&gt;&lt;P&gt;AND mska&lt;SUB&gt;sobkz = mssa&lt;/SUB&gt;sobkz&lt;/P&gt;&lt;P&gt;AND mska&lt;SUB&gt;vbeln = mssa&lt;/SUB&gt;vbeln&lt;/P&gt;&lt;P&gt;AND mska&lt;SUB&gt;posnr = mssa&lt;/SUB&gt;posnr&lt;/P&gt;&lt;P&gt;FOR ALL entries IN t_mat&lt;/P&gt;&lt;P&gt;WHERE mska~matnr = t_mat-matnr&lt;/P&gt;&lt;P&gt;AND mska~werks = t_mat-werks&lt;/P&gt;&lt;P&gt;AND mska~lgort IN lgort&lt;/P&gt;&lt;P&gt;AND mska~charg IN charg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer stocks for customer order (SATRA in MSSA)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;SELECT matnr werks sobkz vbeln posnr kzbws satra&lt;/P&gt;&lt;P&gt;INTO (collector-matnr, collector-werks, collector-sobkz,&lt;/P&gt;&lt;P&gt;collector-vbeln, collector-posnr,&lt;/P&gt;&lt;P&gt;collector-kzbws, collector-umlme)&lt;/P&gt;&lt;P&gt;FROM mssa&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_mat&lt;/P&gt;&lt;P&gt;WHERE matnr = t_mat-matnr&lt;/P&gt;&lt;P&gt;AND werks = t_mat-werks&lt;/P&gt;&lt;P&gt;AND sobkz IN so_sobkz&lt;/P&gt;&lt;P&gt;AND satra &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The same game for project stocks (MSPR/MSSQ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MSPR has no flag for deletion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_sond IS INITIAL AND&lt;/P&gt;&lt;P&gt;NOT t_mat[] IS INITIAL AND&lt;/P&gt;&lt;P&gt;'Q' IN so_sobkz.&lt;/P&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT mspr&lt;SUB&gt;matnr mspr&lt;/SUB&gt;werks lgort charg mspr&lt;SUB&gt;sobkz mspr&lt;/SUB&gt;pspnr&lt;/P&gt;&lt;P&gt;prlab prins prspe prein kzbws&lt;/P&gt;&lt;P&gt;INTO (collector-matnr, collector-werks, collector-lgort,&lt;/P&gt;&lt;P&gt;collector-charg, collector-sobkz,&lt;/P&gt;&lt;P&gt;collector-pspnr,&lt;/P&gt;&lt;P&gt;collector-labst, collector-insme, collector-speme,&lt;/P&gt;&lt;P&gt;collector-einme, collector-kzbws)&lt;/P&gt;&lt;P&gt;FROM mspr INNER JOIN mssq&lt;/P&gt;&lt;P&gt;ON mspr&lt;SUB&gt;matnr = mssq&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;AND mspr&lt;SUB&gt;werks = mssq&lt;/SUB&gt;werks&lt;/P&gt;&lt;P&gt;AND mspr&lt;SUB&gt;sobkz = mssq&lt;/SUB&gt;sobkz&lt;/P&gt;&lt;P&gt;AND mspr&lt;SUB&gt;pspnr = mssq&lt;/SUB&gt;pspnr&lt;/P&gt;&lt;P&gt;FOR ALL entries IN t_mat&lt;/P&gt;&lt;P&gt;WHERE mspr~matnr = t_mat-matnr&lt;/P&gt;&lt;P&gt;AND mspr~werks = t_mat-werks&lt;/P&gt;&lt;P&gt;AND mspr~lgort IN lgort&lt;/P&gt;&lt;P&gt;AND mspr~charg IN charg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer stocks for projects (SQTRA in MSSQ)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR collector.&lt;/P&gt;&lt;P&gt;SELECT matnr werks sobkz pspnr kzbws sqtra&lt;/P&gt;&lt;P&gt;INTO (collector-matnr, collector-werks, collector-sobkz,&lt;/P&gt;&lt;P&gt;collector-pspnr,&lt;/P&gt;&lt;P&gt;collector-kzbws, collector-umlme)&lt;/P&gt;&lt;P&gt;FROM mssq&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_mat&lt;/P&gt;&lt;P&gt;WHERE matnr = t_mat-matnr&lt;/P&gt;&lt;P&gt;AND werks = t_mat-werks&lt;/P&gt;&lt;P&gt;AND sobkz IN so_sobkz&lt;/P&gt;&lt;P&gt;AND sqtra &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MLBS_02 SPOTS ES_RM07MLBS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Extract key-data for other tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_maktkey OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE makt-matnr,&lt;/P&gt;&lt;P&gt;END OF t_maktkey,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;working area for the material description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BEGIN OF l_s_makt,&lt;/P&gt;&lt;P&gt;matnr LIKE makt-matnr,&lt;/P&gt;&lt;P&gt;maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;END OF l_s_makt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF t_makt OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE makt-matnr,&lt;/P&gt;&lt;P&gt;maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;END OF t_makt,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF t_mchakey OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE mcha-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE mcha-werks,&lt;/P&gt;&lt;P&gt;charg LIKE mcha-charg,&lt;/P&gt;&lt;P&gt;END OF t_mchakey,&lt;/P&gt;&lt;P&gt;BEGIN OF t_mcha OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE mcha-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE mcha-werks,&lt;/P&gt;&lt;P&gt;charg LIKE mcha-charg,&lt;/P&gt;&lt;P&gt;bwtar LIKE mcha-bwtar,&lt;/P&gt;&lt;P&gt;END OF t_mcha.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH: t_maktkey, t_mchakey, bestand.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;remove all items in bestand with wrong batch number. If we would&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;not remove this, report will e.g. show materials which has&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;only MARD entries, too.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT collector WHERE charg IN charg. "note 311770&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING collector TO bestand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fill the key of the special stocks into the field&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;assigment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENHANCEMENT-SECTION RM07MLBS_03 SPOTS ES_RM07MLBS.&lt;/P&gt;&lt;P&gt;CASE collector-sobkz.&lt;/P&gt;&lt;P&gt;WHEN 'E'.&lt;/P&gt;&lt;P&gt;MOVE : 'X' TO g_flag_sobkz-vbeln.&lt;/P&gt;&lt;P&gt;WRITE : collector-vbeln TO bestand-ssnum.&lt;/P&gt;&lt;P&gt;MOVE : '/' TO bestand-ssnum+10(01).&lt;/P&gt;&lt;P&gt;WRITE : collector-posnr TO bestand-ssnum+12(08)&lt;/P&gt;&lt;P&gt;NO-ZERO.&lt;/P&gt;&lt;P&gt;CONDENSE bestand-ssnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'K'.&lt;/P&gt;&lt;P&gt;MOVE : 'X' TO g_flag_sobkz-lifnr.&lt;/P&gt;&lt;P&gt;WRITE : collector-lifnr TO bestand-ssnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'M'.&lt;/P&gt;&lt;P&gt;MOVE : 'X' TO g_flag_sobkz-lifnr.&lt;/P&gt;&lt;P&gt;WRITE : collector-lifnr TO bestand-ssnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'O'.&lt;/P&gt;&lt;P&gt;MOVE : 'X' TO g_flag_sobkz-lifnr.&lt;/P&gt;&lt;P&gt;WRITE : collector-lifnr TO bestand-ssnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'Q'.&lt;/P&gt;&lt;P&gt;MOVE : 'X' TO g_flag_sobkz-pspnr.&lt;/P&gt;&lt;P&gt;WRITE : collector-pspnr TO bestand-ssnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'V'.&lt;/P&gt;&lt;P&gt;MOVE : 'X' TO g_flag_sobkz-kunnr.&lt;/P&gt;&lt;P&gt;WRITE : collector-kunnr TO bestand-ssnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'W'.&lt;/P&gt;&lt;P&gt;MOVE : 'X' TO g_flag_sobkz-kunnr.&lt;/P&gt;&lt;P&gt;WRITE : collector-kunnr TO bestand-ssnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN OTHERS.&lt;/P&gt;&lt;P&gt;CLEAR bestand-ssnum.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;*END-ENHANCEMENT-SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND bestand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;t_maktkey-matnr = bestand-matnr.&lt;/P&gt;&lt;P&gt;COLLECT t_maktkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF bestand-charg &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;t_mchakey-matnr = bestand-matnr.&lt;/P&gt;&lt;P&gt;t_mchakey-werks = bestand-werks.&lt;/P&gt;&lt;P&gt;t_mchakey-charg = bestand-charg.&lt;/P&gt;&lt;P&gt;COLLECT t_mchakey.&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;FREE collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read additional tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;READ TABLE t_maktkey INDEX 1 TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT matnr maktx INTO CORRESPONDING FIELDS OF TABLE t_makt&lt;/P&gt;&lt;P&gt;FROM makt&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_maktkey&lt;/P&gt;&lt;P&gt;WHERE matnr = t_maktkey-matnr&lt;/P&gt;&lt;P&gt;AND spras = sy-langu.&lt;/P&gt;&lt;P&gt;SORT t_makt BY matnr.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read batch data only if values are requested&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;READ TABLE t_mchakey INDEX 1 TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0 AND novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT matnr werks charg bwtar&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE t_mcha&lt;/P&gt;&lt;P&gt;FROM mcha&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_mchakey&lt;/P&gt;&lt;P&gt;WHERE matnr = t_mchakey-matnr&lt;/P&gt;&lt;P&gt;AND werks = t_mchakey-werks&lt;/P&gt;&lt;P&gt;AND charg = t_mchakey-charg.&lt;/P&gt;&lt;P&gt;SORT t_mcha BY matnr werks charg.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data definitions for the valuation extraction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_mbewkey OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE mbew-matnr,&lt;/P&gt;&lt;P&gt;bwkey LIKE mbew-bwkey,&lt;/P&gt;&lt;P&gt;bwtar LIKE mbew-bwtar,&lt;/P&gt;&lt;P&gt;END OF t_mbewkey,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;workin table for the material stock valuation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BEGIN OF t_mbew OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE mbew-matnr,&lt;/P&gt;&lt;P&gt;bwkey LIKE mbew-bwkey,&lt;/P&gt;&lt;P&gt;bwtar LIKE mbew-bwtar,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;consider the valuation of the special stocks E, Q "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;sobkz LIKE ebew-sobkz, "n531604&lt;/P&gt;&lt;P&gt;vbeln LIKE ebew-vbeln, "n531604&lt;/P&gt;&lt;P&gt;posnr LIKE ebew-posnr, "n531604&lt;/P&gt;&lt;P&gt;pspnr LIKE qbew-pspnr, "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lbkum(12) TYPE p DECIMALS 3, "407810&lt;/P&gt;&lt;P&gt;salk3(12) TYPE p DECIMALS 2, "388735&lt;/P&gt;&lt;P&gt;vprsv LIKE mbew-vprsv, "353428&lt;/P&gt;&lt;P&gt;verpr LIKE mbew-verpr, "353428&lt;/P&gt;&lt;P&gt;stprs LIKE mbew-stprs, "353428&lt;/P&gt;&lt;P&gt;peinh LIKE mbew-peinh, "353428&lt;/P&gt;&lt;P&gt;END OF t_mbew.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: t_ebewkey LIKE t_mbewkey OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: t_qbewkey LIKE t_mbewkey OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: t_ebew LIKE t_mbew OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: t_qbew LIKE t_mbew OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_t134mkey OCCURS 0,&lt;/P&gt;&lt;P&gt;bwkey LIKE t134m-bwkey,&lt;/P&gt;&lt;P&gt;mtart LIKE t134m-mtart,&lt;/P&gt;&lt;P&gt;END OF t_t134mkey,&lt;/P&gt;&lt;P&gt;BEGIN OF t_t134m OCCURS 0,&lt;/P&gt;&lt;P&gt;bwkey LIKE t134m-bwkey,&lt;/P&gt;&lt;P&gt;mtart LIKE t134m-mtart,&lt;/P&gt;&lt;P&gt;wertu LIKE t134m-wertu,&lt;/P&gt;&lt;P&gt;END OF t_t134m.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill in additional data (first round) and extract the data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for the access to the valuation tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;SORT t_mat BY matnr werks.&lt;/P&gt;&lt;P&gt;SORT g_t_organ BY werks.&lt;/P&gt;&lt;P&gt;CLEAR : g_s_t001l, g_s_organ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT bestand.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get the information per plant and storage location&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;with buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_flag_t001l = 'X'.&lt;/P&gt;&lt;P&gt;IF bestand-werks = g_s_t001l-werks AND&lt;/P&gt;&lt;P&gt;bestand-lgort = g_s_t001l-lgort.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read with plant and storage location&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;READ TABLE g_t_t001l INTO g_s_t001l&lt;/P&gt;&lt;P&gt;WITH TABLE KEY werks = bestand-werks&lt;/P&gt;&lt;P&gt;lgort = bestand-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE : bestand-werks TO g_s_t001l-werks,&lt;/P&gt;&lt;P&gt;bestand-lgort TO g_s_t001l-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;CLEAR g_s_t001l-lgobe.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;take the storage bin from the buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE : g_s_t001l-lgobe TO bestand-lgobe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get the information per plant with buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF bestand-werks NE g_s_organ-werks.&lt;/P&gt;&lt;P&gt;READ TABLE g_t_organ INTO g_s_organ&lt;/P&gt;&lt;P&gt;WITH KEY werks = bestand-werks&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sorry nothing found&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR g_s_organ.&lt;/P&gt;&lt;P&gt;MOVE : bestand-werks TO g_s_organ-werks.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;take the following fields from the buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE : g_s_organ-name1 TO bestand-name1,&lt;/P&gt;&lt;P&gt;g_s_organ-waers TO bestand-waers,&lt;/P&gt;&lt;P&gt;g_s_organ-bwkey TO bestand-bwkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get the information from the material master MARC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;with buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF bestand-matnr = l_s_mat-matnr AND&lt;/P&gt;&lt;P&gt;bestand-werks = l_s_mat-werks.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;results are in the buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CLEAR l_s_mat.&lt;/P&gt;&lt;P&gt;MOVE : bestand-matnr TO l_s_mat-matnr,&lt;/P&gt;&lt;P&gt;bestand-werks TO l_s_mat-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_mat INTO l_s_mat&lt;/P&gt;&lt;P&gt;WITH KEY matnr = bestand-matnr&lt;/P&gt;&lt;P&gt;werks = bestand-werks&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sorry nothing found&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR l_s_mat.&lt;/P&gt;&lt;P&gt;MOVE : bestand-matnr TO l_s_mat-matnr,&lt;/P&gt;&lt;P&gt;bestand-werks TO l_s_mat-werks.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;take the results the buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE : l_s_mat-mtart TO bestand-mtart,&lt;/P&gt;&lt;P&gt;l_s_mat-matkl TO bestand-matkl,&lt;/P&gt;&lt;P&gt;l_s_mat-meins TO bestand-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if this entry has no deletion flag, take the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;deletion flag from a higher level like MARA, MARC,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;or MARDA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF bestand-lvorm IS INITIAL.&lt;/P&gt;&lt;P&gt;IF NOT l_s_mat-lvorm_marc IS INITIAL.&lt;/P&gt;&lt;P&gt;MOVE l_s_mat-lvorm_marc&lt;/P&gt;&lt;P&gt;TO bestand-lvorm.&lt;/P&gt;&lt;P&gt;ELSEIF NOT l_s_mat-lvorm_mara IS INITIAL.&lt;/P&gt;&lt;P&gt;MOVE l_s_mat-lvorm_mara&lt;/P&gt;&lt;P&gt;TO bestand-lvorm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF NOT g_t_mard_lv[] IS INITIAL AND&lt;/P&gt;&lt;P&gt;NOT bestand-lgort IS INITIAL AND&lt;/P&gt;&lt;P&gt;NOT bestand-sobkz IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;look for deletion flag in working table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;g_t_mard_lv for a line with special stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF bestand-matnr = g_s_mard_lv-matnr AND&lt;/P&gt;&lt;P&gt;bestand-werks = g_s_mard_lv-werks AND&lt;/P&gt;&lt;P&gt;bestand-lgort = g_s_mard_lv-lgort.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read table only after the key has changed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;READ TABLE g_t_mard_lv INTO g_s_mard_lv&lt;/P&gt;&lt;P&gt;WITH TABLE KEY matnr = bestand-matnr&lt;/P&gt;&lt;P&gt;werks = bestand-werks&lt;/P&gt;&lt;P&gt;lgort = bestand-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fill the buffer in case the entry does not exist&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE : bestand-matnr TO g_s_mard_lv-matnr,&lt;/P&gt;&lt;P&gt;bestand-werks TO g_s_mard_lv-werks,&lt;/P&gt;&lt;P&gt;bestand-lgort TO g_s_mard_lv-lgort.&lt;/P&gt;&lt;P&gt;CLEAR g_s_mard_lv-lvorm.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;take the result from the buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE g_s_mard_lv-lvorm TO bestand-lvorm.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read the material short description after the material&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;number has changed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF bestand-matnr NE l_s_makt-matnr.&lt;/P&gt;&lt;P&gt;READ TABLE t_makt INTO l_s_makt&lt;/P&gt;&lt;P&gt;WITH KEY matnr = bestand-matnr&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sorry nothing found&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR l_s_makt-maktx.&lt;/P&gt;&lt;P&gt;MOVE bestand-matnr TO l_s_makt-matnr.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;take the results the buffer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE : l_s_makt-maktx TO bestand-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;added dynamic break-point ID MMIM_REP_MB52 "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BREAK-POINT ID mmim_rep_mb52. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF bestand-charg &amp;lt;&amp;gt; space AND novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;READ TABLE t_mcha WITH KEY matnr = bestand-matnr&lt;/P&gt;&lt;P&gt;werks = bestand-werks&lt;/P&gt;&lt;P&gt;charg = bestand-charg&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;bestand-bwtar = t_mcha-bwtar.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;MODIFY bestand.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Valuation keys&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;IF bestand-sobkz = ' ' OR bestand-sobkz = 'O' OR&lt;/P&gt;&lt;P&gt;bestand-sobkz = 'W' OR bestand-sobkz = 'V' OR&lt;/P&gt;&lt;P&gt;bestand-kzbws = 'A'.&lt;/P&gt;&lt;P&gt;t_mbewkey-matnr = bestand-matnr.&lt;/P&gt;&lt;P&gt;t_mbewkey-bwkey = bestand-bwkey.&lt;/P&gt;&lt;P&gt;t_mbewkey-bwtar = bestand-bwtar.&lt;/P&gt;&lt;P&gt;COLLECT t_mbewkey.&lt;/P&gt;&lt;P&gt;ELSEIF bestand-sobkz = 'E' AND bestand-kzbws = 'M'.&lt;/P&gt;&lt;P&gt;t_ebewkey-matnr = bestand-matnr.&lt;/P&gt;&lt;P&gt;t_ebewkey-bwkey = bestand-bwkey.&lt;/P&gt;&lt;P&gt;t_ebewkey-bwtar = bestand-bwtar.&lt;/P&gt;&lt;P&gt;COLLECT t_ebewkey.&lt;/P&gt;&lt;P&gt;ELSEIF bestand-sobkz = 'Q' AND bestand-kzbws = 'M'.&lt;/P&gt;&lt;P&gt;t_qbewkey-matnr = bestand-matnr.&lt;/P&gt;&lt;P&gt;t_qbewkey-bwkey = bestand-bwkey.&lt;/P&gt;&lt;P&gt;t_qbewkey-bwtar = bestand-bwtar.&lt;/P&gt;&lt;P&gt;COLLECT t_qbewkey.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;t_t134mkey-bwkey = bestand-bwkey.&lt;/P&gt;&lt;P&gt;t_t134mkey-mtart = bestand-mtart.&lt;/P&gt;&lt;P&gt;COLLECT t_t134mkey.&lt;/P&gt;&lt;P&gt;ENDIF. " novalues is initial&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;release the space of global working tables after use&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FREE : g_t_mard_lv, g_t_t001l, g_t_organ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read the valuation tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;READ TABLE t_mbewkey INDEX 1 TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT matnr bwkey bwtar lbkum salk3&lt;/P&gt;&lt;P&gt;vprsv verpr stprs peinh "353428&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE t_mbew&lt;/P&gt;&lt;P&gt;FROM mbew&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_mbewkey&lt;/P&gt;&lt;P&gt;WHERE matnr = t_mbewkey-matnr&lt;/P&gt;&lt;P&gt;AND bwkey = t_mbewkey-bwkey&lt;/P&gt;&lt;P&gt;AND bwtar = t_mbewkey-bwtar.&lt;/P&gt;&lt;P&gt;SORT t_mbew BY matnr bwkey bwtar.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_ebewkey INDEX 1 TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;"Unfortunately", EBEW and QBEW do not have sum segments over&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the valuation types. Therefore, without batch data, another&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT-statement is needed.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF xmchb = 'X'.&lt;/P&gt;&lt;P&gt;SELECT matnr bwkey bwtar sobkz vbeln posnr lbkum salk3&lt;/P&gt;&lt;P&gt;vprsv verpr stprs peinh&lt;/P&gt;&lt;P&gt;INTO (t_ebew-matnr, t_ebew-bwkey, t_ebew-bwtar,&lt;/P&gt;&lt;P&gt;t_ebew-sobkz, t_ebew-vbeln, t_ebew-posnr,&lt;/P&gt;&lt;P&gt;t_ebew-lbkum, t_ebew-salk3,&lt;/P&gt;&lt;P&gt;t_ebew-vprsv, t_ebew-verpr,&lt;/P&gt;&lt;P&gt;t_ebew-stprs, t_ebew-peinh)&lt;/P&gt;&lt;P&gt;FROM ebew&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_ebewkey&lt;/P&gt;&lt;P&gt;WHERE matnr = t_ebewkey-matnr&lt;/P&gt;&lt;P&gt;AND bwkey = t_ebewkey-bwkey&lt;/P&gt;&lt;P&gt;AND bwtar = t_ebewkey-bwtar.&lt;/P&gt;&lt;P&gt;COLLECT t_ebew.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;SELECT matnr bwkey bwtar sobkz vbeln posnr lbkum salk3&lt;/P&gt;&lt;P&gt;vprsv verpr stprs peinh&lt;/P&gt;&lt;P&gt;INTO (t_ebew-matnr, t_ebew-bwkey, t_ebew-bwtar,&lt;/P&gt;&lt;P&gt;t_ebew-sobkz, t_ebew-vbeln, t_ebew-posnr,&lt;/P&gt;&lt;P&gt;t_ebew-lbkum, t_ebew-salk3,&lt;/P&gt;&lt;P&gt;t_ebew-vprsv, t_ebew-verpr,&lt;/P&gt;&lt;P&gt;t_ebew-stprs, t_ebew-peinh)&lt;/P&gt;&lt;P&gt;FROM ebew&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_ebewkey&lt;/P&gt;&lt;P&gt;WHERE matnr = t_ebewkey-matnr&lt;/P&gt;&lt;P&gt;AND bwkey = t_ebewkey-bwkey.&lt;/P&gt;&lt;P&gt;COLLECT t_ebew.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT t_ebew BY matnr bwkey bwtar sobkz vbeln posnr.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_qbewkey INDEX 1 TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;IF xmchb = 'X'.&lt;/P&gt;&lt;P&gt;SELECT matnr bwkey bwtar sobkz pspnr lbkum salk3&lt;/P&gt;&lt;P&gt;vprsv verpr stprs peinh&lt;/P&gt;&lt;P&gt;INTO (t_qbew-matnr, t_qbew-bwkey, t_qbew-bwtar,&lt;/P&gt;&lt;P&gt;t_qbew-sobkz, t_qbew-pspnr,&lt;/P&gt;&lt;P&gt;t_qbew-lbkum, t_qbew-salk3,&lt;/P&gt;&lt;P&gt;t_qbew-vprsv, t_qbew-verpr,&lt;/P&gt;&lt;P&gt;t_qbew-stprs, t_qbew-peinh)&lt;/P&gt;&lt;P&gt;FROM qbew&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_qbewkey&lt;/P&gt;&lt;P&gt;WHERE matnr = t_qbewkey-matnr&lt;/P&gt;&lt;P&gt;AND bwkey = t_qbewkey-bwkey&lt;/P&gt;&lt;P&gt;AND bwtar = t_qbewkey-bwtar.&lt;/P&gt;&lt;P&gt;COLLECT t_qbew.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;SELECT matnr bwkey bwtar sobkz pspnr lbkum salk3&lt;/P&gt;&lt;P&gt;vprsv verpr stprs peinh&lt;/P&gt;&lt;P&gt;INTO (t_qbew-matnr, t_qbew-bwkey, t_qbew-bwtar,&lt;/P&gt;&lt;P&gt;t_qbew-sobkz, t_qbew-pspnr,&lt;/P&gt;&lt;P&gt;t_qbew-lbkum, t_qbew-salk3,&lt;/P&gt;&lt;P&gt;t_qbew-vprsv, t_qbew-verpr,&lt;/P&gt;&lt;P&gt;t_qbew-stprs, t_qbew-peinh)&lt;/P&gt;&lt;P&gt;FROM qbew&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_qbewkey&lt;/P&gt;&lt;P&gt;WHERE matnr = t_qbewkey-matnr&lt;/P&gt;&lt;P&gt;AND bwkey = t_qbewkey-bwkey.&lt;/P&gt;&lt;P&gt;COLLECT t_qbew.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT t_qbew BY matnr bwkey bwtar sobkz pspnr.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_t134mkey INDEX 1 TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT bwkey mtart wertu&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE t_t134m&lt;/P&gt;&lt;P&gt;FROM t134m&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN t_t134mkey&lt;/P&gt;&lt;P&gt;WHERE bwkey = t_t134mkey-bwkey&lt;/P&gt;&lt;P&gt;AND mtart = t_t134mkey-mtart.&lt;/P&gt;&lt;P&gt;SORT t_t134m BY bwkey mtart.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the valuation data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: factor TYPE f.&lt;/P&gt;&lt;P&gt;LOOP AT bestand.&lt;/P&gt;&lt;P&gt;CHECK bestand-waers &amp;lt;&amp;gt; space. "Do nothing for failed Auth-Checks&lt;/P&gt;&lt;P&gt;READ TABLE t_t134m WITH KEY bwkey = bestand-bwkey&lt;/P&gt;&lt;P&gt;mtart = bestand-mtart&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0 AND t_t134m-wertu = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set SY-SUBRC = 4. A successful table read resets it an starts&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the value filling.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;sy-subrc = 4.&lt;/P&gt;&lt;P&gt;IF bestand-sobkz = ' ' OR bestand-sobkz = 'O' OR&lt;/P&gt;&lt;P&gt;bestand-sobkz = 'W' OR bestand-sobkz = 'V' OR&lt;/P&gt;&lt;P&gt;bestand-kzbws = 'A'.&lt;/P&gt;&lt;P&gt;READ TABLE t_mbew WITH KEY matnr = bestand-matnr&lt;/P&gt;&lt;P&gt;bwkey = bestand-bwkey&lt;/P&gt;&lt;P&gt;bwtar = bestand-bwtar&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF bestand-sobkz = 'E' AND bestand-kzbws = 'M'.&lt;/P&gt;&lt;P&gt;READ TABLE t_ebew WITH KEY matnr = bestand-matnr&lt;/P&gt;&lt;P&gt;bwkey = bestand-bwkey&lt;/P&gt;&lt;P&gt;bwtar = bestand-bwtar&lt;/P&gt;&lt;P&gt;sobkz = bestand-sobkz&lt;/P&gt;&lt;P&gt;vbeln = bestand-vbeln "n531604&lt;/P&gt;&lt;P&gt;posnr = bestand-posnr "n531604&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING t_ebew TO t_mbew.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF bestand-sobkz = 'Q' AND bestand-kzbws = 'M'.&lt;/P&gt;&lt;P&gt;READ TABLE t_qbew WITH KEY matnr = bestand-matnr&lt;/P&gt;&lt;P&gt;bwkey = bestand-bwkey&lt;/P&gt;&lt;P&gt;bwtar = bestand-bwtar&lt;/P&gt;&lt;P&gt;sobkz = bestand-sobkz&lt;/P&gt;&lt;P&gt;pspnr = bestand-pspnr&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING t_qbew TO t_mbew.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;IF t_mbew-lbkum = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Cannot happen, but in R/3 this does not hold in all cases...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF t_mbew-peinh = 0. "353428&lt;/P&gt;&lt;P&gt;t_mbew-peinh = 1. "353428&lt;/P&gt;&lt;P&gt;ENDIF. "353428&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculation of value in case of LBKUM = 0 only possible&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for MBEW. EBEW and QBEW are collected over all subitems&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(VBELN...), so the data are not available.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF bestand-sobkz = 'E' OR bestand-sobkz = 'Q'. "388735&lt;/P&gt;&lt;P&gt;factor = 0. "388735&lt;/P&gt;&lt;P&gt;CLEAR bestand-waers. "388735&lt;/P&gt;&lt;P&gt;ELSE. "388735&lt;/P&gt;&lt;P&gt;CASE t_mbew-vprsv.&lt;/P&gt;&lt;P&gt;WHEN 'V'. factor = t_mbew-verpr / t_mbew-peinh.&lt;/P&gt;&lt;P&gt;WHEN 'S'. factor = t_mbew-stprs / t_mbew-peinh.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDIF. "388735&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;factor = t_mbew-salk3 / t_mbew-lbkum.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bestand-wlabs = bestand-labst * factor.&lt;/P&gt;&lt;P&gt;bestand-winsm = bestand-insme * factor.&lt;/P&gt;&lt;P&gt;bestand-wspem = bestand-speme * factor.&lt;/P&gt;&lt;P&gt;bestand-weinm = bestand-einme * factor.&lt;/P&gt;&lt;P&gt;bestand-wumlm = bestand-umlme * factor.&lt;/P&gt;&lt;P&gt;bestand-wbwesb = bestand-bwesb * factor. "AC0K020254&lt;/P&gt;&lt;P&gt;bestand-wglgm = bestand-glgmg * factor. "n912093&lt;/P&gt;&lt;P&gt;bestand-wtram = bestand-trame * factor. "n912093&lt;/P&gt;&lt;P&gt;bestand-wumlc = bestand-umlmc * factor. "n912093&lt;/P&gt;&lt;P&gt;MODIFY bestand.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF. "novalues is initial&lt;/P&gt;&lt;P&gt;ENDFORM. "data_selection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build fieldcatalog for list viewer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Header fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'HEADER'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARA'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'HEADER'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MAKT'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'HEADER'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'T001W'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'NAME1'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'HEADER'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'T001W'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'MTART'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'HEADER'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARA'.&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'MATKL'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'HEADER'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARA'.&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List body&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'LGORT'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARD'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = 5.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'LGOBE'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'T001L'.&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_sond IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'SOBKZ'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MKOL'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'KZBWS'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MSSA'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = 1.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'SSNUM'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'BICKEY'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF xmchb = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'CHARG'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MCHB'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'LVORM'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARD'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = 3.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Quantities&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'LABST'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARD'.&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARA'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '5'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'UMLME'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'AM07M'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'MB52_TRAUML'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'. "n912093&lt;/P&gt;&lt;P&gt;APPEND fieldcat. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'INSME'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARD'.&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'EINME'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARD'.&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'SPEME'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARD'.&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'RETME'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARD'.&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;process MARC-BWESB as hidden field "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR fieldcat. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'BWESB'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARC'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'. "AC0K020254&lt;/P&gt;&lt;P&gt;APPEND fieldcat. "AC0K020254&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tied empties stock "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-fieldname = 'GLGMG'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARC'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'. "n912093&lt;/P&gt;&lt;P&gt;APPEND fieldcat. "n912093&lt;/P&gt;&lt;P&gt;CLEAR fieldcat. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock in transit "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-fieldname = 'TRAME'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARC'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'. "n912093&lt;/P&gt;&lt;P&gt;APPEND fieldcat. "n912093&lt;/P&gt;&lt;P&gt;CLEAR fieldcat. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock in uml "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-fieldname = 'UMLMC'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MARC'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'. "n912093&lt;/P&gt;&lt;P&gt;APPEND fieldcat. "n912093&lt;/P&gt;&lt;P&gt;CLEAR fieldcat. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set the key fields of the special stock as hidden fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_flag_sobkz-lifnr = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MKOL'.&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF g_flag_sobkz-kunnr = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'KUNNR'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MSKU'.&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF g_flag_sobkz-vbeln = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MSKA'.&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'POSNR'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MSKA'.&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF g_flag_sobkz-pspnr = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'PSPNR'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MSPR'.&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;here starts the second row&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'DUMMY'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calculate the length of the dummy field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF xmchb = 'X'.&lt;/P&gt;&lt;P&gt;ADD 11 TO fieldcat-outputlen.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_sond IS INITIAL.&lt;/P&gt;&lt;P&gt;ADD 29 TO fieldcat-outputlen.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WLABS'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WAERS'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'WAERS'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'T001'.&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = 5.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WUMLM'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WINSM'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WEINM'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WSPEM'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fieldcat.&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WRETM'.&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;process estimated value MARC-BWESB as hidden field "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR fieldcat. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WBWESB'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-no_out = 'X'. "AC0K020254&lt;/P&gt;&lt;P&gt;APPEND fieldcat. "AC0K020254&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;value for tied empties "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-no_out = 'X'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WGLGM'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'. "n912093&lt;/P&gt;&lt;P&gt;APPEND fieldcat. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;value for transit "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-no_out = 'X'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WTRAM'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'. "n912093&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;value for uml at plant "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-no_out = 'X'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-fieldname = 'WUMLC'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-tabname = 'BESTAND'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_tabname = 'MBEW'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-row_pos = '2'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-seltext_s = text-020. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-seltext_m = text-020. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'. "n912093&lt;/P&gt;&lt;P&gt;APPEND fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. "novalues is initial&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " FELDKATALOG_AUFBAUEN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Show the result list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM list_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set pf-status 'STANDARD'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;keyinfo-header01 = 'MATNR'.&lt;/P&gt;&lt;P&gt;keyinfo-header02 = 'WERKS'.&lt;/P&gt;&lt;P&gt;keyinfo-item01 = 'MATNR'.&lt;/P&gt;&lt;P&gt;keyinfo-item02 = 'WERKS'.&lt;/P&gt;&lt;P&gt;keyinfo-item03 = 'LGORT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;new sort order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SORT bestand BY matnr werks lgort&lt;/P&gt;&lt;P&gt;sobkz kzbws&lt;/P&gt;&lt;P&gt;lifnr kunnr vbeln posnr pspnr charg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH : sort.&lt;/P&gt;&lt;P&gt;CLEAR : sort, g_cnt_spos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create the sort table for the ALV depending on the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;list type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for hierarchic seq. list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for flat ( simple ) list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'MATNR'.&lt;/P&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'WERKS'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'LGORT'.&lt;/P&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'SOBKZ'.&lt;/P&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'KZBWS'.&lt;/P&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'LIFNR'.&lt;/P&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'KUNNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'VBELN'.&lt;/P&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'POSNR'.&lt;/P&gt;&lt;P&gt;PERFORM f0400_create_sort USING 'PSPNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DEFINE colourize.&lt;/P&gt;&lt;P&gt;clear color.&lt;/P&gt;&lt;P&gt;color-fieldname = &amp;amp;1.&lt;/P&gt;&lt;P&gt;color-color-int = '0'.&lt;/P&gt;&lt;P&gt;if &amp;amp;2 &amp;gt; 0.&lt;/P&gt;&lt;P&gt;color-color-col = '5'.&lt;/P&gt;&lt;P&gt;elseif &amp;amp;2 &amp;lt; 0.&lt;/P&gt;&lt;P&gt;color-color-col = '6'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;append color.&lt;/P&gt;&lt;P&gt;case &amp;amp;1.&lt;/P&gt;&lt;P&gt;when 'LABST'.&lt;/P&gt;&lt;P&gt;color-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;append color.&lt;/P&gt;&lt;P&gt;when 'WLABS'.&lt;/P&gt;&lt;P&gt;color-fieldname = 'WAERS'.&lt;/P&gt;&lt;P&gt;append color.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;skip this loop when the user wants a flat list without&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;colors&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL OR&lt;/P&gt;&lt;P&gt;NOT alv_color = 'X'.&lt;/P&gt;&lt;P&gt;LOOP AT bestand.&lt;/P&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL. "n531604&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create working table header only if a hierarchic "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;list is required "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ON CHANGE OF bestand-matnr OR bestand-werks.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING bestand TO header.&lt;/P&gt;&lt;P&gt;APPEND header.&lt;/P&gt;&lt;P&gt;ENDON.&lt;/P&gt;&lt;P&gt;ENDIF. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create the table with the colour information "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;depending on the customizing settings in table "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;V_MMIM_REP_PRINT 'X' = no colors "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF alv_color NE 'X'. "n531604&lt;/P&gt;&lt;P&gt;REFRESH color.&lt;/P&gt;&lt;P&gt;colourize 'LABST' bestand-labst.&lt;/P&gt;&lt;P&gt;colourize 'UMLME' bestand-umlme.&lt;/P&gt;&lt;P&gt;colourize 'EINME' bestand-einme.&lt;/P&gt;&lt;P&gt;colourize 'SPEME' bestand-speme.&lt;/P&gt;&lt;P&gt;colourize 'RETME' bestand-retme.&lt;/P&gt;&lt;P&gt;colourize 'INSME' bestand-insme.&lt;/P&gt;&lt;P&gt;colourize 'WLABS' bestand-wlabs.&lt;/P&gt;&lt;P&gt;colourize 'WUMLM' bestand-wumlm.&lt;/P&gt;&lt;P&gt;colourize 'WEINM' bestand-weinm.&lt;/P&gt;&lt;P&gt;colourize 'WSPEM' bestand-wspem.&lt;/P&gt;&lt;P&gt;colourize 'WRETM' bestand-wretm.&lt;/P&gt;&lt;P&gt;colourize 'WINSM' bestand-winsm.&lt;/P&gt;&lt;P&gt;colourize 'BWESB' bestand-bwesb. "AC0K020254&lt;/P&gt;&lt;P&gt;colourize 'WBWESB' bestand-wbwesb. "AC0K020254&lt;/P&gt;&lt;P&gt;colourize 'GLGMG' bestand-glgmg. "n912093&lt;/P&gt;&lt;P&gt;colourize 'WGLGM' bestand-wglgm. "n912093&lt;/P&gt;&lt;P&gt;colourize 'TRAME' bestand-trame. "n912093&lt;/P&gt;&lt;P&gt;colourize 'WTRAM' bestand-wtram. "n912093&lt;/P&gt;&lt;P&gt;colourize 'UMLMC' bestand-umlmc. "n912093&lt;/P&gt;&lt;P&gt;colourize 'WUMLC' bestand-wumlc. "n912093&lt;/P&gt;&lt;P&gt;bestand-farbe = color[].&lt;/P&gt;&lt;P&gt;MODIFY bestand.&lt;/P&gt;&lt;P&gt;ENDIF. "n531604&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set the name for color table when required "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF alv_color = 'X'. "n531604&lt;/P&gt;&lt;P&gt;CLEAR layout-coltab_fieldname. "n531604&lt;/P&gt;&lt;P&gt;ELSE. "n531604&lt;/P&gt;&lt;P&gt;MOVE 'FARBE' TO layout-coltab_fieldname. "n531604&lt;/P&gt;&lt;P&gt;ENDIF. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;layout-group_change_edit = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : l_f_check(01) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;added dynamic break-point ID MMIM_REP_MB52 "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BREAK-POINT ID mmim_rep_mb52. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;process the list according the parameters "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL. "n531604&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a hierarchic list "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;assign form routine for page numbering "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_events-name = 'TOP_OF_PAGE'. "n667256&lt;/P&gt;&lt;P&gt;gs_events-form = 'F4000_TOP_OF_PAGE'. "n667256&lt;/P&gt;&lt;P&gt;APPEND gs_events TO gt_events. "n667256&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Temp table to hold data of Bestand&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF lt_buff OCCURS 0.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE bestand.&lt;/P&gt;&lt;P&gt;DATA: END OF lt_buff.&lt;/P&gt;&lt;P&gt;DATA: lt_temp TYPE bestand.&lt;/P&gt;&lt;P&gt;DATA: wa_buff TYPE bestand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FIELD-SYMBOLS &amp;lt;fs_buff&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lt_buff[] = bestand[].&lt;/P&gt;&lt;P&gt;CLEAR bestand[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT lt_buff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM convert_to_ea CHANGING lt_buff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND lt_buff TO bestand.&lt;/P&gt;&lt;P&gt;CLEAR lt_buff.&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;*Customization of curbell to view the Unit of measure in Each when ever in Sq.inches.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM field_converstion TABLES bestand.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_interface_check = l_f_check&lt;/P&gt;&lt;P&gt;i_callback_program = repid&lt;/P&gt;&lt;P&gt;is_layout = layout&lt;/P&gt;&lt;P&gt;it_fieldcat = fieldcat[]&lt;/P&gt;&lt;P&gt;i_default = 'X'&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_variant = variante&lt;/P&gt;&lt;P&gt;it_events = gt_events[] "n667256&lt;/P&gt;&lt;P&gt;i_tabname_header = 'HEADER'&lt;/P&gt;&lt;P&gt;i_tabname_item = 'BESTAND'&lt;/P&gt;&lt;P&gt;is_keyinfo = keyinfo&lt;/P&gt;&lt;P&gt;is_print = alv_print&lt;/P&gt;&lt;P&gt;it_sort = sort[]&lt;/P&gt;&lt;P&gt;it_excluding = excluding[]&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab_header = header&lt;/P&gt;&lt;P&gt;t_outtab_item = bestand&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL. "n531604&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a flat non-hierarchic list "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;assign form routine for page numbering only for "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;classic ALV "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF alv_detail_func = 'REUSE_ALV_LIST_DISPLAY'. "n667256&lt;/P&gt;&lt;P&gt;gs_events-name = 'TOP_OF_PAGE'. "n667256&lt;/P&gt;&lt;P&gt;gs_events-form = 'F4000_TOP_OF_PAGE'. "n667256&lt;/P&gt;&lt;P&gt;APPEND gs_events TO gt_events. "n667256&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION alv_detail_func&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_interface_check = l_f_check&lt;/P&gt;&lt;P&gt;i_callback_program = repid&lt;/P&gt;&lt;P&gt;is_layout = layout&lt;/P&gt;&lt;P&gt;it_fieldcat = fieldcat[]&lt;/P&gt;&lt;P&gt;it_sort = sort[]&lt;/P&gt;&lt;P&gt;i_default = 'X'&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_variant = variante_flat&lt;/P&gt;&lt;P&gt;it_events = gt_events[] "n667256&lt;/P&gt;&lt;P&gt;is_print = alv_print&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = bestand&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;ENDIF. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " LISTAUSGABE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4-Hilfe für Reportvariante *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f4_for_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;look for the available display variant depending on the "n531604&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;selected mode of the SAP-LIST-VIEWER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for hierarchic seq. list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE variante TO def_variante_f4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for flat ( simple ) list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE variante_flat TO def_variante_f4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;is_variant = def_variante_f4&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_default_fieldcat =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;e_exit = variant_exit&lt;/P&gt;&lt;P&gt;es_variant = def_variante&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;not_found = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 2.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;IF variant_exit = space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;save the selected display variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;p_vari = def_variante-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for hierarchic seq. list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE p_vari TO g_f_vari_hsq.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for flat ( simple ) list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE p_vari TO g_f_vari_flt.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n531604&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;f0000_get_print_settings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f0000_get_print_settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get the settings for the SAP-LIST-VIEWER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT SINGLE * FROM mmim_rep_print&lt;/P&gt;&lt;P&gt;WHERE report = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if this entry is missing, set default values and insert&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a new entry into database tabel MMIM_REP_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR mmim_rep_print.&lt;/P&gt;&lt;P&gt;MOVE : sy-repid TO mmim_rep_print-report,&lt;/P&gt;&lt;P&gt;'X' TO mmim_rep_print-selinfo.&lt;/P&gt;&lt;P&gt;INSERT mmim_rep_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;COMMIT WORK.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error during insert into table MMIN_RE_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MESSAGE s895 WITH text-895.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set the parameter for this run&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF mmim_rep_print-selinfo = 'X'.&lt;/P&gt;&lt;P&gt;alv_print-no_print_selinfos = ' '.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;alv_print-no_print_selinfos = 'X'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF mmim_rep_print-coverpage = 'X'.&lt;/P&gt;&lt;P&gt;alv_print-no_coverpage = ' '.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;alv_print-no_coverpage = 'X'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF mmim_rep_print-listinfo = 'X'.&lt;/P&gt;&lt;P&gt;alv_print-no_print_listinfos = ' '.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;alv_print-no_print_listinfos = 'X'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF mmim_rep_print-gridcontrol = 'X'.&lt;/P&gt;&lt;P&gt;alv_detail_func = 'REUSE_ALV_GRID_DISPLAY'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;alv_detail_func = 'REUSE_ALV_LIST_DISPLAY'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF mmim_rep_print-color = 'X'.&lt;/P&gt;&lt;P&gt;alv_color = 'X'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;alv_color = space.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "f0000_get_print_settings&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n531604&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialization of the user defaults for the checkboxes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;f0100_settings_init. "n531604&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f0100_settings_init. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;only in dialog mode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHECK : sy-batch IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF oref_settings IS INITIAL.&lt;/P&gt;&lt;P&gt;CREATE OBJECT oref_settings&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_action = 'RM07MLBS'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get the parameters from the last run&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;pa_sond = oref_settings-&amp;gt;get( 'PA_SOND' ).&lt;/P&gt;&lt;P&gt;pa_hsq = oref_settings-&amp;gt;get( 'PA_HSQ' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pa_flt = oref_settings-&amp;gt;get( 'PA_FLT' ).&lt;/P&gt;&lt;P&gt;negativ = oref_settings-&amp;gt;get( 'NEGATIV' ).&lt;/P&gt;&lt;P&gt;xmchb = oref_settings-&amp;gt;get( 'XMCHB' ).&lt;/P&gt;&lt;P&gt;nozero = oref_settings-&amp;gt;get( 'NOZERO' ).&lt;/P&gt;&lt;P&gt;novalues = oref_settings-&amp;gt;get( 'NOVALUES' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check radiobuttons&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF pa_hsq IS INITIAL.&lt;/P&gt;&lt;P&gt;IF pa_flt IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;not allowed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE 'X' TO pa_hsq.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;IF pa_flt IS INITIAL.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;not allowed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR pa_flt.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "f0100_settings_init "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Save the user settings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f0200_settings_save. "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;only in dialog mode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHECK : sy-batch IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;go on when the FORM routines of INITILIZATION "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;were processed "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHECK : g_flag_initialization = 'X'. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Save the settings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD oref_settings-&amp;gt;set( i_element = 'PA_SOND'&lt;/P&gt;&lt;P&gt;i_active = pa_sond ).&lt;/P&gt;&lt;P&gt;CALL METHOD oref_settings-&amp;gt;set( i_element = 'PA_HSQ'&lt;/P&gt;&lt;P&gt;i_active = pa_hsq ).&lt;/P&gt;&lt;P&gt;CALL METHOD oref_settings-&amp;gt;set( i_element = 'PA_FLT'&lt;/P&gt;&lt;P&gt;i_active = pa_flt ).&lt;/P&gt;&lt;P&gt;CALL METHOD oref_settings-&amp;gt;set( i_element = 'NEGATIV'&lt;/P&gt;&lt;P&gt;i_active = negativ ).&lt;/P&gt;&lt;P&gt;CALL METHOD oref_settings-&amp;gt;set( i_element = 'XMCHB'&lt;/P&gt;&lt;P&gt;i_active = xmchb ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD oref_settings-&amp;gt;set( i_element = 'NOZERO'&lt;/P&gt;&lt;P&gt;i_active = nozero ).&lt;/P&gt;&lt;P&gt;CALL METHOD oref_settings-&amp;gt;set( i_element = 'NOVALUES'&lt;/P&gt;&lt;P&gt;i_active = novalues ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD oref_settings-&amp;gt;flush.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;carry out the database updates only; the normal commit "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;command does not allow to record this transaction for "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a batch input session using transaction SHDB "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'DB_COMMIT'. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "f0200_settings_save "n531604&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;f0300_fieldcat_flat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f0300_fieldcat_flat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define macro&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFINE macro_fill_fieldcat.&lt;/P&gt;&lt;P&gt;add : 1 to g_cnt_col_pos.&lt;/P&gt;&lt;P&gt;move : g_cnt_col_pos to fieldcat-col_pos,&lt;/P&gt;&lt;P&gt;&amp;amp;1 to fieldcat-fieldname,&lt;/P&gt;&lt;P&gt;'BESTAND' to fieldcat-tabname,&lt;/P&gt;&lt;P&gt;&amp;amp;2 to fieldcat-ref_tabname,&lt;/P&gt;&lt;P&gt;&amp;amp;3 to fieldcat-no_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not fieldcat-seltext_l is initial.&lt;/P&gt;&lt;P&gt;move : fieldcat-seltext_l to fieldcat-seltext_m,&lt;/P&gt;&lt;P&gt;fieldcat-seltext_l to fieldcat-seltext_s.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append fieldcat.&lt;/P&gt;&lt;P&gt;clear fieldcat.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'MATNR' 'MARA' c_out.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'MAKTX' 'MAKT' c_no_out.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WERKS' 'T001W' c_out.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'NAME1' 'T001W' c_no_out.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'MTART' 'MARA' c_no_out.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'MATKL' 'MARA' c_no_out.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'LGORT' 'MARD' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_sond IS INITIAL.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'SOBKZ' 'MKOL' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'KZBWS' 'MSSA' c_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE : 'SSNUM' TO fieldcat-ref_fieldname.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'SSNUM' 'BICKEY' c_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'LVORM' 'MARD' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF xmchb = 'X'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'CHARG' 'MCHB' c_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'MEINS' 'MARA' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Stock and value for stock unrestrestricted use&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'LABST' 'MARD' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = 5.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WAERS' 'T001' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'Wert frei verwend.'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-021.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WLABS' 'MBEW' c_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock and value for stock in transfer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'MB52_TRAUML'. "n912093&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'UMLME' 'AM07M' c_out. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'Wert in Umlagerung'. // Wert Umlag u. Transit "n912093&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'Wert Umlag.Bestand'. // n912093 "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-030. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WUMLM' 'MBEW' c_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock and value for stock in quality inspection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'INSME' 'MARD' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;"Wert in QualPrüfng'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-023.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WINSM' 'MBEW' c_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock and value for restricted stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'EINME' 'MARD' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;"Wert nicht frei'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-024.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WEINM' 'MBEW' c_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock and value for blocked stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'SPEME' 'MARD' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'Wert Sperrbestand'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-025.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WSPEM' 'MBEW' c_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock and value for blocked returns&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'RETME' 'MARD' c_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF novalues IS INITIAL.&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'.&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;"Wert RetourenSperr'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-026.&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WRETM' 'MBEW' c_out.&lt;/P&gt;&lt;P&gt;ENDIF. "novalues is initial&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;process valuated block GR stock as hidden field "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'. "AC0K020254&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'BWESB' 'MARC' c_no_out. "AC0K020254&lt;/P&gt;&lt;P&gt;"AC0K020254&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the estimated value for the valuated block GR stock "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;as hidden field, too "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF novalues IS INITIAL. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'. "AC0K020254&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;value blocked GR stock "AC0K020254&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-027. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'. "AC0K020254&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'. "AC0K020254&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WBWESB' 'MBEW' c_no_out. "AC0K020254&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock and value for tied empties "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'. "n912093&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'GLGMG' 'MARC' c_no_out. "n912093&lt;/P&gt;&lt;P&gt;"n912093&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Values "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF novalues IS INITIAL. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'. "n912093&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'Wert gebundenes Leergut' "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-028. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'. "n912093&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WGLGM' 'MBEW' c_no_out. "n912093&lt;/P&gt;&lt;P&gt;ENDIF. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock and value for stock in transit "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'. "n912093&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'TRAME' 'MARC' c_no_out. "n912093&lt;/P&gt;&lt;P&gt;"n912093&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Values "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF novalues IS INITIAL. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'. "n912093&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'Wert Transitbestand' "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-029. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'. "n912093&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WTRAM' 'MBEW' c_no_out. "n912093&lt;/P&gt;&lt;P&gt;ENDIF. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;stock and value for stock in transit "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-qfieldname = 'MEINS'. "n912093&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'UMLMC' 'MARC' c_no_out. "n912093&lt;/P&gt;&lt;P&gt;"n912093&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Values "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF novalues IS INITIAL. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-ref_fieldname = 'SALK3'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-cfieldname = 'WAERS'. "n912093&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'Wert Umlagerung an Werk' "n912093&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcat-seltext_l = text-022. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-do_sum = 'X'. "n912093&lt;/P&gt;&lt;P&gt;fieldcat-outputlen = '18'. "n912093&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'WUMLC' 'MBEW' c_no_out. "n912093&lt;/P&gt;&lt;P&gt;ENDIF. "n912093&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set the key fields of the special stock as hidden fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_flag_sobkz-lifnr = 'X'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'LIFNR' 'MKOL' c_no_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF g_flag_sobkz-kunnr = 'X'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'KUNNR' 'MSKU' c_no_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF g_flag_sobkz-vbeln = 'X'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'VBELN' 'MSKA' c_no_out.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'POSNR' 'MSKA' c_no_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF g_flag_sobkz-pspnr = 'X'.&lt;/P&gt;&lt;P&gt;macro_fill_fieldcat 'PSPNR' 'MSPR' c_no_out.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "f0300_fieldcat_flat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;f0400_create_sort&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f0400_create_sort&lt;/P&gt;&lt;P&gt;USING l_f_fieldname LIKE sort-fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create the table with the alv sort information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT pa_hsq IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for hierarchic seq. list&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check whether this is an active field is in the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;READ TABLE fieldcat WITH KEY&lt;/P&gt;&lt;P&gt;fieldname = l_f_fieldname&lt;/P&gt;&lt;P&gt;no_out = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF NOT pa_flt IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for flat ( simple ) list&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check whether this field is in the fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;READ TABLE fieldcat WITH KEY&lt;/P&gt;&lt;P&gt;fieldname = l_f_fieldname.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;ADD 1 TO g_cnt_spos.&lt;/P&gt;&lt;P&gt;MOVE : g_cnt_spos TO sort-spos,&lt;/P&gt;&lt;P&gt;l_f_fieldname TO sort-fieldname,&lt;/P&gt;&lt;P&gt;'X' TO sort-up,&lt;/P&gt;&lt;P&gt;'BESTAND' TO sort-tabname.&lt;/P&gt;&lt;P&gt;APPEND sort.&lt;/P&gt;&lt;P&gt;CLEAR sort.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "f0400_create_sort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;f2000_COLLECT_collector.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f2000_collect_collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;does the user want to suppress stock objects from plant "n577268&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;level ? "n577268&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF g_flag_suppress_init_lgort = 'X'. "n577268&lt;/P&gt;&lt;P&gt;IF collector-lgort IS INITIAL. "n577268&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ignore stock objects without storage location "n577268&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXIT. "--&amp;gt; go to exit "n577268&lt;/P&gt;&lt;P&gt;ENDIF. "n577268&lt;/P&gt;&lt;P&gt;ENDIF. "n577268&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;process the functions "No zero stocks",&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;"Negative stocks only", "Without batches" here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF negativ = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ignore entry if all stocks are zero or greater&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF collector-labst &amp;gt;= 0 AND collector-einme &amp;gt;= 0 AND&lt;/P&gt;&lt;P&gt;collector-insme &amp;gt;= 0 AND collector-retme &amp;gt;= 0 AND&lt;/P&gt;&lt;P&gt;collector-speme &amp;gt;= 0 AND collector-umlme &amp;gt;= 0.&lt;/P&gt;&lt;P&gt;EXIT. "--&amp;gt; go to exit&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF nozero = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ignore all entries without stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF collector-labst = 0 AND collector-einme = 0 AND&lt;/P&gt;&lt;P&gt;collector-insme = 0 AND collector-retme = 0 AND&lt;/P&gt;&lt;P&gt;collector-speme = 0 AND collector-umlme = 0.&lt;/P&gt;&lt;P&gt;EXIT. "--&amp;gt; go to exit&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF xmchb IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR collector-charg.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;COLLECT collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "f2000_COLLECT_collector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n579976&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F3000_SEND_WARNING_M7_393 "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n579976&lt;/P&gt;&lt;P&gt;"n579976&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form F3000_SEND_WARNING_M7_393&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;L_VARIANT text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f3000_send_warning_m7_393 "n579976&lt;/P&gt;&lt;P&gt;USING l_variant LIKE disvariant-variant. "n579976&lt;/P&gt;&lt;P&gt;"n579976&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check the customising settings : emerge warning 393 ? "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'ME_CHECK_T160M' "n579976&lt;/P&gt;&lt;P&gt;EXPORTING "n579976&lt;/P&gt;&lt;P&gt;i_arbgb = 'M7' "n579976&lt;/P&gt;&lt;P&gt;i_msgnr = '393' "n579976&lt;/P&gt;&lt;P&gt;EXCEPTIONS "n579976&lt;/P&gt;&lt;P&gt;nothing = 0 "n579976&lt;/P&gt;&lt;P&gt;OTHERS = 1. "n579976&lt;/P&gt;&lt;P&gt;"n579976&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0. "n579976&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;list will be created using the initial layout &amp;amp; "n579976&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MESSAGE i393 WITH l_variant. "n667256&lt;/P&gt;&lt;P&gt;ENDIF. "n579976&lt;/P&gt;&lt;P&gt;"n579976&lt;/P&gt;&lt;P&gt;ENDFORM. "F3000_SEND_WARNING_M7_393 "n579976&lt;/P&gt;&lt;P&gt;"n579976&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n579976&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;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4000_TOP_OF_PAGE. "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MLBS_04 SPOTS ES_RM07MLBS.&lt;/P&gt;&lt;P&gt;IF g_flag_initialization IS INITIAL. "n667256&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the process time INITIALIZATION was not done, so "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;carry out the functions here "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE 'X' TO g_flag_initialization. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;PERFORM f0000_get_print_settings. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;look for the setting of the parameters from the "n667256&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;last run "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM f0100_settings_init. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;PERFORM initialisierung. "n667256&lt;/P&gt;&lt;P&gt;ENDIF. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------" /&gt;&lt;P&gt; Datenselektion -&lt;/P&gt;&lt;HR originaltext="----------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f4000_top_of_page. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;go on if there is a print destination set "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHECK NOT sy-prdsn IS INITIAL. "n667256&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;go on if it is in print modus, only "n960980&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHECK sy-ucomm = '&amp;amp;RNT' OR sy-ucomm IS INITIAL. "n960980&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;classic ALV : use the simple write command "n667256&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;WRITE : sy-datlo DD/MM/YYYY, sy-title, sy-pagno. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;ENDFORM. "F4000_TOP_OF_PAGE. "n667256&lt;/P&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;"n667256&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form field_converstion&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_COLLECTOR_LABST text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_BESTAND_MEINS text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*FORM field_converstion TABLES p_bestand.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONSTANTS : c_in2(3) VALUE 'IN2'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: lv_ea TYPE meins VALUE 'EA',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lv_temp TYPE meins,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lv_output TYPE labst.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: BEGIN OF lt_mlgn OCCURS 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INCLUDE STRUCTURE mlgn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: END OF lt_mlgn.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM. " field_converstion&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form convert_to_ea&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM convert_to_ea CHANGING lt_buff STRUCTURE bestand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: l_lvsme TYPE lvs_lvsme,&lt;/P&gt;&lt;P&gt;l_lgnum TYPE lgnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_lgnum = lt_buff-werks+1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE lvsme&lt;/P&gt;&lt;P&gt;INTO l_lvsme&lt;/P&gt;&lt;P&gt;FROM mlgn&lt;/P&gt;&lt;P&gt;WHERE matnr = lt_buff-matnr&lt;/P&gt;&lt;P&gt;AND lgnum = l_lgnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT l_lvsme IS INITIAL.&lt;/P&gt;&lt;P&gt;*For Unrestricted materials&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = lt_buff-labst&lt;/P&gt;&lt;P&gt;matnr = lt_buff-matnr&lt;/P&gt;&lt;P&gt;meinh = l_lvsme&lt;/P&gt;&lt;P&gt;meins = lt_buff-meins&lt;/P&gt;&lt;P&gt;charge = lt_buff-charg&lt;/P&gt;&lt;P&gt;werks = lt_buff-werks&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = lt_buff-labst&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_not_found = 1&lt;/P&gt;&lt;P&gt;input_invalid = 2&lt;/P&gt;&lt;P&gt;material_not_found = 3&lt;/P&gt;&lt;P&gt;meinh_not_found = 4&lt;/P&gt;&lt;P&gt;meins_missing = 5&lt;/P&gt;&lt;P&gt;no_meinh = 6&lt;/P&gt;&lt;P&gt;output_invalid = 7&lt;/P&gt;&lt;P&gt;overflow = 8&lt;/P&gt;&lt;P&gt;OTHERS = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For materials in Quality inspection&lt;/P&gt;&lt;P&gt;IF NOT lt_buff-insme IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = lt_buff-insme&lt;/P&gt;&lt;P&gt;matnr = lt_buff-matnr&lt;/P&gt;&lt;P&gt;meinh = l_lvsme&lt;/P&gt;&lt;P&gt;meins = lt_buff-meins&lt;/P&gt;&lt;P&gt;charge = lt_buff-charg&lt;/P&gt;&lt;P&gt;werks = lt_buff-werks&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = lt_buff-insme&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_not_found = 1&lt;/P&gt;&lt;P&gt;input_invalid = 2&lt;/P&gt;&lt;P&gt;material_not_found = 3&lt;/P&gt;&lt;P&gt;meinh_not_found = 4&lt;/P&gt;&lt;P&gt;meins_missing = 5&lt;/P&gt;&lt;P&gt;no_meinh = 6&lt;/P&gt;&lt;P&gt;output_invalid = 7&lt;/P&gt;&lt;P&gt;overflow = 8&lt;/P&gt;&lt;P&gt;OTHERS = 9.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For restricted use materials&lt;/P&gt;&lt;P&gt;IF NOT lt_buff-EINME IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = lt_buff-EINME&lt;/P&gt;&lt;P&gt;matnr = lt_buff-matnr&lt;/P&gt;&lt;P&gt;meinh = l_lvsme&lt;/P&gt;&lt;P&gt;meins = lt_buff-meins&lt;/P&gt;&lt;P&gt;charge = lt_buff-charg&lt;/P&gt;&lt;P&gt;werks = lt_buff-werks&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = lt_buff-EINME&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_not_found = 1&lt;/P&gt;&lt;P&gt;input_invalid = 2&lt;/P&gt;&lt;P&gt;material_not_found = 3&lt;/P&gt;&lt;P&gt;meinh_not_found = 4&lt;/P&gt;&lt;P&gt;meins_missing = 5&lt;/P&gt;&lt;P&gt;no_meinh = 6&lt;/P&gt;&lt;P&gt;output_invalid = 7&lt;/P&gt;&lt;P&gt;overflow = 8&lt;/P&gt;&lt;P&gt;OTHERS = 9.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For return items&lt;/P&gt;&lt;P&gt;IF NOT lt_buff-retme IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = lt_buff-retme&lt;/P&gt;&lt;P&gt;matnr = lt_buff-matnr&lt;/P&gt;&lt;P&gt;meinh = l_lvsme&lt;/P&gt;&lt;P&gt;meins = lt_buff-meins&lt;/P&gt;&lt;P&gt;charge = lt_buff-charg&lt;/P&gt;&lt;P&gt;werks = lt_buff-werks&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = lt_buff-retme&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_not_found = 1&lt;/P&gt;&lt;P&gt;input_invalid = 2&lt;/P&gt;&lt;P&gt;material_not_found = 3&lt;/P&gt;&lt;P&gt;meinh_not_found = 4&lt;/P&gt;&lt;P&gt;meins_missing = 5&lt;/P&gt;&lt;P&gt;no_meinh = 6&lt;/P&gt;&lt;P&gt;output_invalid = 7&lt;/P&gt;&lt;P&gt;overflow = 8&lt;/P&gt;&lt;P&gt;OTHERS = 9.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lt_buff-meins = l_lvsme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " convert_to_ea&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 16:17:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274695#M782910</guid>
      <dc:creator>former_member156446</dc:creator>
      <dc:date>2008-01-03T16:17:51Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274696#M782911</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ricardo, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had already updated my previous post with type declarations... please check the same..&lt;/P&gt;&lt;P&gt;Data: &lt;/P&gt;&lt;P&gt;month(2) type n,&lt;/P&gt;&lt;P&gt;year(4) type n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and I dont think there will be an issue for year 2010 and so on...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lokesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 16:21:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274696#M782911</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T16:21:06Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274697#M782912</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes but I do not want all those field s I need to create a new report where I shold be having only those 15-16 n fileds and with inclusion of serial number and customer description.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and showing the output the same way as MB51 does&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 16:28:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274697#M782912</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T16:28:04Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274698#M782913</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi  Lokesh  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what about l_dateto i need that if for eg. i start from l_datefrom =  012007 so l_dateto = 022007 and if l_datefrom  022007  _dateto = 032007&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 16:34:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274698#M782913</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T16:34:24Z</dc:date>
    </item>
    <item>
      <title>Re: need help with loop</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274699#M782914</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ricardo, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That logic also I had updated in the post... &lt;/P&gt;&lt;P&gt;Put this code just before the FM call.&lt;/P&gt;&lt;P&gt;month = month + 1.&lt;/P&gt;&lt;P&gt;move month to l_dateto+0(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lokesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 16:38:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-help-with-loop/m-p/3274699#M782914</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T16:38:57Z</dc:date>
    </item>
  </channel>
</rss>

