<?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 module pool runtime error---too many consecutive nested call screens. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-pool-runtime-error-too-many-consecutive-nested-call-screens/m-p/2528599#M573096</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt;Attach Dump Analysis generated from system. i'm having this problem after several calls of module pool screen. Appreciate your advise to fix this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Runtime errors         LIST_TOO_MANY_LPROS&lt;/P&gt;&lt;P&gt;       Occurred on     07/20/2007 at 00:11:14&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&lt;P&gt;&amp;gt;&amp;gt; Short dump has not been completely stored. It is too big.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;No further list processing possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What happened?&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You requested too many consecutive nested call screens.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What can you do?&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If possible, leave the current screen level before making a further&lt;/P&gt;&lt;P&gt;selection (Back=F3 or Cancel=F12).&lt;/P&gt;&lt;P&gt;Print out the error message (using the "Print" function)&lt;/P&gt;&lt;P&gt;and make a note of the actions and input that caused the&lt;/P&gt;&lt;P&gt;error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To resolve the problem, contact your SAP system administrator.&lt;/P&gt;&lt;P&gt;You can use transaction ST22 (ABAP Dump Analysis) to view and administer&lt;/P&gt;&lt;P&gt; termination messages, especially those beyond their normal deletion&lt;/P&gt;&lt;P&gt;date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error analysis&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At present, the maximum permitted number of nested screen levels is&lt;/P&gt;&lt;P&gt;restricted to 50.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 20 Jul 2007 07:31:32 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-20T07:31:32Z</dc:date>
    <item>
      <title>module pool runtime error---too many consecutive nested call screens.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-pool-runtime-error-too-many-consecutive-nested-call-screens/m-p/2528599#M573096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt;Attach Dump Analysis generated from system. i'm having this problem after several calls of module pool screen. Appreciate your advise to fix this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Runtime errors         LIST_TOO_MANY_LPROS&lt;/P&gt;&lt;P&gt;       Occurred on     07/20/2007 at 00:11:14&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&lt;P&gt;&amp;gt;&amp;gt; Short dump has not been completely stored. It is too big.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;No further list processing possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What happened?&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You requested too many consecutive nested call screens.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What can you do?&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If possible, leave the current screen level before making a further&lt;/P&gt;&lt;P&gt;selection (Back=F3 or Cancel=F12).&lt;/P&gt;&lt;P&gt;Print out the error message (using the "Print" function)&lt;/P&gt;&lt;P&gt;and make a note of the actions and input that caused the&lt;/P&gt;&lt;P&gt;error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To resolve the problem, contact your SAP system administrator.&lt;/P&gt;&lt;P&gt;You can use transaction ST22 (ABAP Dump Analysis) to view and administer&lt;/P&gt;&lt;P&gt; termination messages, especially those beyond their normal deletion&lt;/P&gt;&lt;P&gt;date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error analysis&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At present, the maximum permitted number of nested screen levels is&lt;/P&gt;&lt;P&gt;restricted to 50.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 07:31:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/module-pool-runtime-error-too-many-consecutive-nested-call-screens/m-p/2528599#M573096</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-20T07:31:32Z</dc:date>
    </item>
    <item>
      <title>Re: module pool runtime error---too many consecutive nested call screens.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-pool-runtime-error-too-many-consecutive-nested-call-screens/m-p/2528600#M573097</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looks like its stuck in an endless loop. Can you post the part of the code where it calls screen?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Sougata.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 07:34:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/module-pool-runtime-error-too-many-consecutive-nested-call-screens/m-p/2528600#M573097</guid>
      <dc:creator>Sougata</dc:creator>
      <dc:date>2007-07-20T07:34:03Z</dc:date>
    </item>
    <item>
      <title>Re: module pool runtime error---too many consecutive nested call screens.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-pool-runtime-error-too-many-consecutive-nested-call-screens/m-p/2528601#M573098</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi, &lt;/P&gt;&lt;P&gt;attach 2 portion of the code here.&lt;/P&gt;&lt;P&gt;1)sub rountine.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           ZRF_MB1B_F01                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VERIFICATION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM verification .&lt;/P&gt;&lt;P&gt;  IF werks &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE werks FROM t001w INTO werks WHERE werks = werks.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      errflag = 'X'.&lt;/P&gt;&lt;P&gt;      message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;      message_type = 'E' .&lt;/P&gt;&lt;P&gt;      message_number  = '146'.&lt;/P&gt;&lt;P&gt;      message_var1  = werks.&lt;/P&gt;&lt;P&gt;      PERFORM error_message       .&lt;/P&gt;&lt;P&gt;      PERFORM clear_message.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;    message_type = 'E' .&lt;/P&gt;&lt;P&gt;    message_number  = '036'.&lt;/P&gt;&lt;P&gt;    PERFORM error_message       .&lt;/P&gt;&lt;P&gt;    PERFORM clear_message.&lt;/P&gt;&lt;P&gt;    IF movetype = '309'.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 800.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 100.&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  recv_mat &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        input  = recv_mat&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        output = recv_mat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MARC_SINGLE_READ'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        kzrfb             = ' '&lt;/P&gt;&lt;P&gt;        maxtz             = 0&lt;/P&gt;&lt;P&gt;        matnr             = recv_mat&lt;/P&gt;&lt;P&gt;        werks             = werks&lt;/P&gt;&lt;P&gt;        sperrmodus        = ' '&lt;/P&gt;&lt;P&gt;        std_sperrmodus    = ' '&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        wmarc             = i_rec_marc&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        lock_on_marc      = 1&lt;/P&gt;&lt;P&gt;        lock_system_error = 2&lt;/P&gt;&lt;P&gt;        wrong_call        = 3&lt;/P&gt;&lt;P&gt;        not_found         = 4&lt;/P&gt;&lt;P&gt;        OTHERS            = 5.&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;      errflag = 'X'.&lt;/P&gt;&lt;P&gt;      message_id  = sy-msgid  .&lt;/P&gt;&lt;P&gt;      message_type = sy-msgty .&lt;/P&gt;&lt;P&gt;      message_number  = sy-msgno.&lt;/P&gt;&lt;P&gt;      message_var1  = sy-msgv1.&lt;/P&gt;&lt;P&gt;      message_var2 = sy-msgv2.&lt;/P&gt;&lt;P&gt;      message_var3   = sy-msgv3.&lt;/P&gt;&lt;P&gt;      message_var4  = sy-msgv4.&lt;/P&gt;&lt;P&gt;      PERFORM error_message       .&lt;/P&gt;&lt;P&gt;      PERFORM clear_message.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 800.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF movetype ='309' AND recv_mat = ''.&lt;/P&gt;&lt;P&gt;    message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;    message_type = 'E' .&lt;/P&gt;&lt;P&gt;    message_number  = '038'.&lt;/P&gt;&lt;P&gt;    PERFORM error_message       .&lt;/P&gt;&lt;P&gt;    PERFORM clear_message.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 800.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VERIFICATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM batch_read USING lgort TYPE resb-lgort&lt;/P&gt;&lt;P&gt;                      matnr TYPE resb-matnr.&lt;/P&gt;&lt;P&gt;  READ TABLE i_mchb WITH KEY matnr = matnr lgort = lgort.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    SELECT matnr werks lgort charg laeda clabs FROM mchb&lt;/P&gt;&lt;P&gt;             INTO CORRESPONDING FIELDS OF TABLE i_mchb "CH   05.09.95&lt;/P&gt;&lt;P&gt;             WHERE matnr = matnr&lt;/P&gt;&lt;P&gt;             AND   werks = werks&lt;/P&gt;&lt;P&gt;             AND   lgort = lgort&lt;/P&gt;&lt;P&gt;             AND   clabs &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    SORT i_mchb DESCENDING BY clabs.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SLOC_UNKNOWN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sloc_unknown.&lt;/P&gt;&lt;P&gt;  SELECT matnr werks lgort charg ersda clabs FROM mchb&lt;/P&gt;&lt;P&gt;                INTO CORRESPONDING FIELDS OF TABLE i_mchb "CH   05.09.95&lt;/P&gt;&lt;P&gt;                    WHERE matnr = xmatnr&lt;/P&gt;&lt;P&gt;                    AND   werks = werks&lt;/P&gt;&lt;P&gt;                    AND   lgort &amp;lt;&amp;gt; recv_sloc&lt;/P&gt;&lt;P&gt;                    AND   clabs &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT i_mchb DESCENDING BY clabs.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE i_mchb LINES batch_lines.&lt;/P&gt;&lt;P&gt;    LOOP AT itap_items.&lt;/P&gt;&lt;P&gt;      READ TABLE i_mchb WITH KEY matnr = itap_items-matnr lgort =&lt;/P&gt;&lt;P&gt;      itap_items-lgort charg = itap_items-charg.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        i_mchb-rdconf = itap_items-rdconf.&lt;/P&gt;&lt;P&gt;        i_mchb-issue_qty = itap_items-qty.&lt;/P&gt;&lt;P&gt;        i_mchb-rec_batch = itap_items-rec_batch.&lt;/P&gt;&lt;P&gt;        MODIFY i_mchb  INDEX sy-tabix TRANSPORTING rdconf issue_qty&lt;/P&gt;&lt;P&gt;rec_batch.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 600.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT a&lt;SUB&gt;matnr a&lt;/SUB&gt;ekgrp a&lt;SUB&gt;dispo b&lt;/SUB&gt;lgort b&lt;SUB&gt;labst b&lt;/SUB&gt;klabs INTO&lt;/P&gt;&lt;P&gt;CORRESPONDING FIELDS OF TABLE i_mard FROM marc AS a INNER JOIN mard AS&lt;/P&gt;&lt;P&gt; b  ON a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr AND a&lt;SUB&gt;werks = b&lt;/SUB&gt;werks&lt;/P&gt;&lt;P&gt;                            WHERE a~matnr = xmatnr&lt;/P&gt;&lt;P&gt;                            AND   a~werks = werks&lt;/P&gt;&lt;P&gt;                                  AND labst &amp;lt;&amp;gt; '' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 700.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      errflag = 'X'.&lt;/P&gt;&lt;P&gt;      message_id  = 'M7'.&lt;/P&gt;&lt;P&gt;      message_type = 'E' .&lt;/P&gt;&lt;P&gt;      message_number  = '046'.&lt;/P&gt;&lt;P&gt;      message_var1  = tap_items-matnr.&lt;/P&gt;&lt;P&gt;      PERFORM error_message       .&lt;/P&gt;&lt;P&gt;      PERFORM clear_message.&lt;/P&gt;&lt;P&gt;      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;ENDFORM.                    " SLOC_UNKNOWN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SLOC_SINGLE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sloc_single.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matnr werks lgort charg ersda clabs FROM mchb&lt;/P&gt;&lt;P&gt;                INTO CORRESPONDING FIELDS OF TABLE i_mchb "CH   05.09.95&lt;/P&gt;&lt;P&gt;                    WHERE matnr = xmatnr&lt;/P&gt;&lt;P&gt;                    AND   werks = werks&lt;/P&gt;&lt;P&gt;                    AND   lgort = xlgort&lt;/P&gt;&lt;P&gt;                    AND   clabs &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT i_mchb DESCENDING BY clabs.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE i_mchb LINES batch_lines.&lt;/P&gt;&lt;P&gt;    LOOP AT itap_items.&lt;/P&gt;&lt;P&gt;      READ TABLE i_mchb WITH KEY matnr = itap_items-matnr lgort =&lt;/P&gt;&lt;P&gt;      itap_items-lgort charg = itap_items-charg.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        i_mchb-rdconf = itap_items-rdconf.&lt;/P&gt;&lt;P&gt;        i_mchb-issue_qty = itap_items-qty.&lt;/P&gt;&lt;P&gt;        i_mchb-rec_batch = itap_items-rec_batch.&lt;/P&gt;&lt;P&gt;        MODIFY i_mchb  INDEX sy-tabix TRANSPORTING rdconf issue_qty&lt;/P&gt;&lt;P&gt;rec_batch.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 600.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT a&lt;SUB&gt;matnr a&lt;/SUB&gt;ekgrp a&lt;SUB&gt;dispo b&lt;/SUB&gt;lgort b&lt;SUB&gt;labst b&lt;/SUB&gt;klabs INTO&lt;/P&gt;&lt;P&gt;CORRESPONDING FIELDS OF TABLE i_mard FROM marc AS a INNER JOIN mard AS&lt;/P&gt;&lt;P&gt; b  ON a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr AND a&lt;SUB&gt;werks = b&lt;/SUB&gt;werks&lt;/P&gt;&lt;P&gt;                            WHERE a~matnr = xmatnr&lt;/P&gt;&lt;P&gt;                            AND   a~werks = werks&lt;/P&gt;&lt;P&gt;                            AND  lgort = xlgort&lt;/P&gt;&lt;P&gt;                                  AND labst &amp;lt;&amp;gt; '' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 700.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      errflag = 'X'.&lt;/P&gt;&lt;P&gt;      message_id  = 'M7'.&lt;/P&gt;&lt;P&gt;      message_type = 'E' .&lt;/P&gt;&lt;P&gt;      message_number  = '046'.&lt;/P&gt;&lt;P&gt;      message_var1  = tap_items-matnr.&lt;/P&gt;&lt;P&gt;      PERFORM error_message       .&lt;/P&gt;&lt;P&gt;      PERFORM clear_message.&lt;/P&gt;&lt;P&gt;      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;ENDFORM.                    " SLOC_SINGLE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SLOC_BLOCKED_STOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sloc_blocked_stock.&lt;/P&gt;&lt;P&gt;  SELECT matnr werks lgort charg ersda clabs cspem FROM mchb&lt;/P&gt;&lt;P&gt;                INTO CORRESPONDING FIELDS OF TABLE i_mchb "CH   05.09.95&lt;/P&gt;&lt;P&gt;                    WHERE matnr = xmatnr&lt;/P&gt;&lt;P&gt;                    AND   werks = werks&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   AND   LGORT &amp;lt;&amp;gt; RECV_SLOC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    AND   cspem &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT i_mchb DESCENDING BY clabs.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE i_mchb LINES batch_lines.&lt;/P&gt;&lt;P&gt;    LOOP AT itap_items.&lt;/P&gt;&lt;P&gt;      READ TABLE i_mchb WITH KEY matnr = itap_items-matnr lgort =&lt;/P&gt;&lt;P&gt;      itap_items-lgort charg = itap_items-charg.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        i_mchb-rdconf = itap_items-rdconf.&lt;/P&gt;&lt;P&gt;        i_mchb-issue_qty = itap_items-qty.&lt;/P&gt;&lt;P&gt;        i_mchb-rec_batch = itap_items-rec_batch.&lt;/P&gt;&lt;P&gt;        MODIFY i_mchb  INDEX sy-tabix TRANSPORTING rdconf issue_qty&lt;/P&gt;&lt;P&gt;rec_batch.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 600.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT a&lt;SUB&gt;matnr a&lt;/SUB&gt;ekgrp a&lt;SUB&gt;dispo b&lt;/SUB&gt;lgort b&lt;SUB&gt;labst b&lt;/SUB&gt;klabs b~speme INTO&lt;/P&gt;&lt;P&gt; CORRESPONDING FIELDS OF TABLE i_mard FROM marc AS a INNER JOIN mard AS&lt;/P&gt;&lt;P&gt;       b  ON a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr AND a&lt;SUB&gt;werks = b&lt;/SUB&gt;werks&lt;/P&gt;&lt;P&gt;                                  WHERE a~matnr = xmatnr&lt;/P&gt;&lt;P&gt;                                  AND   a~werks = werks&lt;/P&gt;&lt;P&gt;                                        AND speme &amp;lt;&amp;gt; '' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 700.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      errflag = 'X'.&lt;/P&gt;&lt;P&gt;      message_id  = 'M7'.&lt;/P&gt;&lt;P&gt;      message_type = 'E' .&lt;/P&gt;&lt;P&gt;      message_number  = '046'.&lt;/P&gt;&lt;P&gt;      message_var1  = tap_items-matnr.&lt;/P&gt;&lt;P&gt;      PERFORM error_message       .&lt;/P&gt;&lt;P&gt;      PERFORM clear_message.&lt;/P&gt;&lt;P&gt;      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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SLOC_BLOCKED_STOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UNRESTRICTED_BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM unrestricted_batch_read .&lt;/P&gt;&lt;P&gt;  SELECT matnr werks lgort charg ersda clabs FROM mchb&lt;/P&gt;&lt;P&gt;                INTO CORRESPONDING FIELDS OF TABLE i_mchb&lt;/P&gt;&lt;P&gt;                  WHERE matnr = xmatnr&lt;/P&gt;&lt;P&gt;                  AND   werks = werks&lt;/P&gt;&lt;P&gt;                  AND lgort = xlgort&lt;/P&gt;&lt;P&gt;                  AND charg = xcharg&lt;/P&gt;&lt;P&gt;                  AND   clabs &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    errflag = 'X'.&lt;/P&gt;&lt;P&gt;    message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;    message_type = 'E' .&lt;/P&gt;&lt;P&gt;    message_number  = '042'.&lt;/P&gt;&lt;P&gt;    message_var1  = xmatnr.&lt;/P&gt;&lt;P&gt;    message_var2 = werks.&lt;/P&gt;&lt;P&gt;    message_var3   = xlgort.&lt;/P&gt;&lt;P&gt;    message_var4  = xcharg.&lt;/P&gt;&lt;P&gt;    PERFORM error_message       .&lt;/P&gt;&lt;P&gt;    PERFORM clear_message.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    READ TABLE i_mchb INDEX 1.&lt;/P&gt;&lt;P&gt;    qty = i_mchb-clabs.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY I_MCHB INDEX 1 TRANSPORTING QTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UNRESTRICTED_BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VENDOR_UNRESTRICTED_BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM vendor_unrestricted_batch_read .&lt;/P&gt;&lt;P&gt;  SELECT matnr werks lgort charg ersda slabs lifnr FROM mkol&lt;/P&gt;&lt;P&gt;        INTO CORRESPONDING FIELDS OF TABLE i_mkol&lt;/P&gt;&lt;P&gt;                  WHERE matnr = xmatnr&lt;/P&gt;&lt;P&gt;                  AND   werks = werks&lt;/P&gt;&lt;P&gt;                  AND lgort = xlgort&lt;/P&gt;&lt;P&gt;                  AND charg = xcharg&lt;/P&gt;&lt;P&gt;                  AND sobkz = 'K'&lt;/P&gt;&lt;P&gt;                  AND   slabs &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    errflag = 'X'.&lt;/P&gt;&lt;P&gt;    message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;    message_type = 'E' .&lt;/P&gt;&lt;P&gt;    message_number  = '042'.&lt;/P&gt;&lt;P&gt;    message_var1  = xmatnr.&lt;/P&gt;&lt;P&gt;    message_var2 = werks.&lt;/P&gt;&lt;P&gt;    message_var3   = xlgort.&lt;/P&gt;&lt;P&gt;    message_var4  = xcharg.&lt;/P&gt;&lt;P&gt;    PERFORM error_message       .&lt;/P&gt;&lt;P&gt;    PERFORM clear_message.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    READ TABLE i_mkol INDEX 1.&lt;/P&gt;&lt;P&gt;    qty = i_mkol-slabs.&lt;/P&gt;&lt;P&gt;    vendor = i_mkol-lifnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY I_MKOL INDEX 1 TRANSPORTING QTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VENDOR_UNRESTRICTED_BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BLOCKED_BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM blocked_batch_read .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matnr werks lgort charg ersda cspem FROM mchb&lt;/P&gt;&lt;P&gt;               INTO CORRESPONDING FIELDS OF TABLE i_mchb "CH   05.09.95&lt;/P&gt;&lt;P&gt;                 WHERE matnr = xmatnr&lt;/P&gt;&lt;P&gt;                 AND   werks = werks&lt;/P&gt;&lt;P&gt;                 AND lgort = xlgort&lt;/P&gt;&lt;P&gt;                 AND charg = xcharg&lt;/P&gt;&lt;P&gt;                 AND   cspem &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;&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;    errflag = 'X'.&lt;/P&gt;&lt;P&gt;    message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;    message_type = 'E' .&lt;/P&gt;&lt;P&gt;    message_number  = '042'.&lt;/P&gt;&lt;P&gt;    message_var1  = xmatnr.&lt;/P&gt;&lt;P&gt;    message_var2 = werks.&lt;/P&gt;&lt;P&gt;    message_var3   = xlgort.&lt;/P&gt;&lt;P&gt;    message_var4  = xcharg.&lt;/P&gt;&lt;P&gt;    PERFORM error_message       .&lt;/P&gt;&lt;P&gt;    PERFORM clear_message.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    READ TABLE i_mchb INDEX 1.&lt;/P&gt;&lt;P&gt;    qty = i_mchb-cspem.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY I_MCHB INDEX 1 TRANSPORTING QTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BLOCKED_BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VENDOR_BLOCKED_BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM vendor_blocked_batch_read .&lt;/P&gt;&lt;P&gt;  SELECT matnr werks lgort charg ersda sspem lifnr FROM mkol&lt;/P&gt;&lt;P&gt;               INTO CORRESPONDING FIELDS OF TABLE i_mkol "CH   05.09.95&lt;/P&gt;&lt;P&gt;                 WHERE matnr = xmatnr&lt;/P&gt;&lt;P&gt;                 AND   werks = werks&lt;/P&gt;&lt;P&gt;                 AND lgort = xlgort&lt;/P&gt;&lt;P&gt;                 AND charg = xcharg&lt;/P&gt;&lt;P&gt;                 AND   sspem &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    errflag = 'X'.&lt;/P&gt;&lt;P&gt;    message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;    message_type = 'E' .&lt;/P&gt;&lt;P&gt;    message_number  = '042'.&lt;/P&gt;&lt;P&gt;    message_var1  = xmatnr.&lt;/P&gt;&lt;P&gt;    message_var2 = werks.&lt;/P&gt;&lt;P&gt;    message_var3   = xlgort.&lt;/P&gt;&lt;P&gt;    message_var4  = xcharg.&lt;/P&gt;&lt;P&gt;    PERFORM error_message       .&lt;/P&gt;&lt;P&gt;    PERFORM clear_message.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    READ TABLE i_mkol INDEX 1.&lt;/P&gt;&lt;P&gt;    qty = i_mkol-sspem.&lt;/P&gt;&lt;P&gt;    vendor = i_mkol-lifnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY I_MKOL INDEX 1 TRANSPORTING QTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VENDOR_BLOCKED_BATCH_READ&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GOODS_ISSUE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM goods_issue .&lt;/P&gt;&lt;P&gt;  gmhead-pstng_date = sy-datum.&lt;/P&gt;&lt;P&gt;  gmhead-doc_date = sy-datum.&lt;/P&gt;&lt;P&gt;  gmhead-pr_uname = sy-uname.&lt;/P&gt;&lt;P&gt;  gmhead-ref_doc_no = delivery_note.&lt;/P&gt;&lt;P&gt;  gmhead-header_txt = header_txt.&lt;/P&gt;&lt;P&gt;  gmcode-gm_code = '04'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itap_items WHERE  rdconf = 'X'.&lt;/P&gt;&lt;P&gt;    gritab-material   = itap_items-matnr.&lt;/P&gt;&lt;P&gt;    gritab-plant      = itap_items-werks.&lt;/P&gt;&lt;P&gt;    gritab-stge_loc = itap_items-lgort.&lt;/P&gt;&lt;P&gt;    gritab-batch   = itap_items-charg.&lt;/P&gt;&lt;P&gt;    gritab-move_type  = movetype.&lt;/P&gt;&lt;P&gt;    gritab-mvt_ind    = ''.&lt;/P&gt;&lt;P&gt;    gritab-entry_qnt  = itap_items-qty.&lt;/P&gt;&lt;P&gt;    gritab-spec_stock = itap_items-spec_stock.&lt;/P&gt;&lt;P&gt;    gritab-vendor = itap_items-vendor.&lt;/P&gt;&lt;P&gt;    gritab-move_plant = werks.&lt;/P&gt;&lt;P&gt;    gritab-move_mat = recv_mat.&lt;/P&gt;&lt;P&gt;    IF movetype = '412' OR movetype = '344' OR movetype = '542'.&lt;/P&gt;&lt;P&gt;      gritab-move_stloc = itap_items-lgort.&lt;/P&gt;&lt;P&gt;      gritab-move_batch = itap_items-iss_batch.&lt;/P&gt;&lt;P&gt;      gritab-stge_loc = itap_items-recv_sloc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      gritab-move_stloc = itap_items-recv_sloc.&lt;/P&gt;&lt;P&gt;      gritab-move_batch = itap_items-rec_batch.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND gritab.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_GOODSMVT_CREATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      goodsmvt_header             = gmhead&lt;/P&gt;&lt;P&gt;      goodsmvt_code               = gmcode&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          TESTRUN                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;      goodsmvt_headret            = mthead&lt;/P&gt;&lt;P&gt;      materialdocument            = mat_doc&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MATDOCUMENTYEAR             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      goodsmvt_item               = gritab&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          GOODSMVT_SERIALNUMBER       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      return                      = errmsg&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  CLEAR errflag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE errmsg WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    errflag = 'X'.&lt;/P&gt;&lt;P&gt;    message_id  = errmsg-id  .&lt;/P&gt;&lt;P&gt;    message_type = errmsg-type .&lt;/P&gt;&lt;P&gt;    message_number  = errmsg-number.&lt;/P&gt;&lt;P&gt;    message_var1  = errmsg-message_v1.&lt;/P&gt;&lt;P&gt;    message_var2 = errmsg-message_v2.&lt;/P&gt;&lt;P&gt;    message_var3   = errmsg-message_v3.&lt;/P&gt;&lt;P&gt;    message_var4  = errmsg-message_v4.&lt;/P&gt;&lt;P&gt;    PERFORM error_message       .&lt;/P&gt;&lt;P&gt;    PERFORM clear_message.&lt;/P&gt;&lt;P&gt;    CLEAR: gmhead,gritab.&lt;/P&gt;&lt;P&gt;    REFRESH: gritab,errmsg.&lt;/P&gt;&lt;P&gt;    LEAVE TO SCREEN 500.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF errflag IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        wait = 'X'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Error in updating'.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      message_id  = 'M7'.  .&lt;/P&gt;&lt;P&gt;      message_type = 'S' .&lt;/P&gt;&lt;P&gt;      message_number  = '060'.&lt;/P&gt;&lt;P&gt;      message_var1  = mthead-mat_doc.&lt;/P&gt;&lt;P&gt;      message_var2 = errmsg-message_v2.&lt;/P&gt;&lt;P&gt;      message_var3   = errmsg-message_v3.&lt;/P&gt;&lt;P&gt;      message_var4  = errmsg-message_v4.&lt;/P&gt;&lt;P&gt;      PERFORM error_message .&lt;/P&gt;&lt;P&gt;      PERFORM clear_message.&lt;/P&gt;&lt;P&gt;      PERFORM clear_all.&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.                    " GOODS_ISSUE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  ERROR_MESSAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Calling the error message screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM error_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For different types of screens there are different lengths of message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;line and no of lines. Default values are 40 chars X 4 lines&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; for 8x40 screens.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  message_type = 'W'.&lt;/P&gt;&lt;P&gt;  msg_scr = error_screen.&lt;/P&gt;&lt;P&gt;  message_lang = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  message_lang = sy-langu.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ZCALL_MESSAGE_SCREEN'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_msgid          = message_id&lt;/P&gt;&lt;P&gt;      i_lang           = message_lang&lt;/P&gt;&lt;P&gt;      i_msgno          = message_number&lt;/P&gt;&lt;P&gt;      i_msgv1          = message_var1&lt;/P&gt;&lt;P&gt;      i_msgv2          = message_var2&lt;/P&gt;&lt;P&gt;      i_msgv3          = message_var3&lt;/P&gt;&lt;P&gt;      i_msgv4          = message_var4&lt;/P&gt;&lt;P&gt;      i_line_size      = msg_line&lt;/P&gt;&lt;P&gt;      i_lines          = msg_nln&lt;/P&gt;&lt;P&gt;      i_message_screen = msg_scr&lt;/P&gt;&lt;P&gt;      i_condense       = con_x&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      o_answer         = msg_answ&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      invalid_message1 = 01.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " ERROR_MESSAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  WARNING_MESSAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Calling the error message screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (warning message,answer may be YES or NO)&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 warning_message.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WARNING IS DIPLAYED ON SPECIAL SCREEN, USER GIVES ANSWER Y/N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  message_type = 'W'.&lt;/P&gt;&lt;P&gt;  msg_scr = warning_screen.&lt;/P&gt;&lt;P&gt;  message_lang = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ZCALL_MESSAGE_SCREEN'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_msgid          = message_id&lt;/P&gt;&lt;P&gt;      i_lang           = message_lang&lt;/P&gt;&lt;P&gt;      i_msgno          = message_number&lt;/P&gt;&lt;P&gt;      i_msgv1          = message_var1&lt;/P&gt;&lt;P&gt;      i_msgv2          = message_var2&lt;/P&gt;&lt;P&gt;      i_msgv3          = message_var3&lt;/P&gt;&lt;P&gt;      i_msgv4          = message_var4&lt;/P&gt;&lt;P&gt;      i_line_size      = msg_line&lt;/P&gt;&lt;P&gt;      i_lines          = msg_nln&lt;/P&gt;&lt;P&gt;      i_message_screen = msg_scr&lt;/P&gt;&lt;P&gt;      i_condense       = con_x&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      o_answer         = msg_answ&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      invalid_message1 = 01.&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;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "WARNING_MESSAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CLEAR_MESSAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM clear_message .&lt;/P&gt;&lt;P&gt;  CLEAR: message_id,message_type,message_number,message_var1,message_var2,&lt;/P&gt;&lt;P&gt;             message_var3, message_var4 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CLEAR_MESSAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CLEAR_ALL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM clear_all .&lt;/P&gt;&lt;P&gt;  CLEAR: wa_mard,sloc,movetype,werks, spec_stock, xlgort,&lt;/P&gt;&lt;P&gt;xcharg,recv_sloc,werks, wa_storage,i_storage,resb_index,selection,&lt;/P&gt;&lt;P&gt;sloc_selection,batch_index,xmatnr,  balance,wa_batch, i_mchb,xmatnr,&lt;/P&gt;&lt;P&gt;tap_index,itemno,pf_itab,wo_items,  gmhead,delivery_note, header_txt,&lt;/P&gt;&lt;P&gt;gmcode,gritab,errmsg,mat_doc,  errflag,tap_items,rec_batch,iss_sloc,&lt;/P&gt;&lt;P&gt;iss_batch,issue_qty,vendor,spec_stock,issued_qty,recv_mat.&lt;/P&gt;&lt;P&gt;  REFRESH:i_mard,i_storage, i_mchb,pf_itab,i_woitems,itap_items,&lt;/P&gt;&lt;P&gt;  gritab,errmsg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CLEAR_ALL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data.&lt;/P&gt;&lt;P&gt;  IF xmatnr &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;    CLEAR i_marc.&lt;/P&gt;&lt;P&gt;    REFRESH i_marc.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        input  = xmatnr&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        output = xmatnr.&lt;/P&gt;&lt;P&gt;*check the material available in Cons PO for 541&lt;/P&gt;&lt;P&gt;    IF movetype = '541'.&lt;/P&gt;&lt;P&gt;      READ TABLE xmdgi WITH KEY matnr = xmatnr.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        message_id = 'M7'.&lt;/P&gt;&lt;P&gt;        message_lang = sy-langu.&lt;/P&gt;&lt;P&gt;        message_number = 551.&lt;/P&gt;&lt;P&gt;        message_var1 = xmatnr.&lt;/P&gt;&lt;P&gt;        PERFORM error_message.&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*end of checking&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MARC_SINGLE_READ'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        kzrfb             = ' '&lt;/P&gt;&lt;P&gt;        maxtz             = 0&lt;/P&gt;&lt;P&gt;        matnr             = xmatnr&lt;/P&gt;&lt;P&gt;        werks             = werks&lt;/P&gt;&lt;P&gt;        sperrmodus        = ' '&lt;/P&gt;&lt;P&gt;        std_sperrmodus    = ' '&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        wmarc             = i_marc&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        lock_on_marc      = 1&lt;/P&gt;&lt;P&gt;        lock_system_error = 2&lt;/P&gt;&lt;P&gt;        wrong_call        = 3&lt;/P&gt;&lt;P&gt;        not_found         = 4&lt;/P&gt;&lt;P&gt;        OTHERS            = 5.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      errflag = 'X'.&lt;/P&gt;&lt;P&gt;      message_id  = sy-msgid  .&lt;/P&gt;&lt;P&gt;      message_type = sy-msgty .&lt;/P&gt;&lt;P&gt;      message_number  = sy-msgno.&lt;/P&gt;&lt;P&gt;      message_var1  = sy-msgv1.&lt;/P&gt;&lt;P&gt;      message_var2 = sy-msgv2.&lt;/P&gt;&lt;P&gt;      message_var3   = sy-msgv3.&lt;/P&gt;&lt;P&gt;      message_var4  = sy-msgv4.&lt;/P&gt;&lt;P&gt;      PERFORM error_message       .&lt;/P&gt;&lt;P&gt;      PERFORM clear_message.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;    ELSE.&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;P&gt;  IF xlgort &amp;lt;&amp;gt; '' AND i_marc-xchar = ''.&lt;/P&gt;&lt;P&gt;    CLEAR: i_mard_tab,i_mard.&lt;/P&gt;&lt;P&gt;    REFRESH: i_mard_tab,i_mard.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MARD_SINGLE_READ'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        kzrfb      = ' '&lt;/P&gt;&lt;P&gt;        maxtz      = 0&lt;/P&gt;&lt;P&gt;        matnr      = xmatnr&lt;/P&gt;&lt;P&gt;        werks      = werks&lt;/P&gt;&lt;P&gt;        lgort      = xlgort&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        wmard      = i_mard_tab&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        wrong_call = 1&lt;/P&gt;&lt;P&gt;        not_found  = 2&lt;/P&gt;&lt;P&gt;        OTHERS     = 3.&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;      errflag = 'X'.&lt;/P&gt;&lt;P&gt;      message_id  = sy-msgid  .&lt;/P&gt;&lt;P&gt;      message_type = sy-msgty .&lt;/P&gt;&lt;P&gt;      message_number  = sy-msgno.&lt;/P&gt;&lt;P&gt;      message_var1  = sy-msgv1.&lt;/P&gt;&lt;P&gt;      message_var2 = sy-msgv2.&lt;/P&gt;&lt;P&gt;      message_var3   = sy-msgv3.&lt;/P&gt;&lt;P&gt;      message_var4  = sy-msgv4.&lt;/P&gt;&lt;P&gt;      PERFORM error_message       .&lt;/P&gt;&lt;P&gt;      PERFORM clear_message.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF MOVETYPE &amp;lt;&amp;gt; '344' OR MOVETYPE &amp;lt;&amp;gt; '412'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE itap_items WITH KEY matnr = xmatnr lgort = xlgort .&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        xmatnr = itap_items-matnr.&lt;/P&gt;&lt;P&gt;        xlgort = itap_items-lgort.&lt;/P&gt;&lt;P&gt;        xcharg = itap_items-charg.&lt;/P&gt;&lt;P&gt;        recv_sloc = itap_items-recv_sloc.&lt;/P&gt;&lt;P&gt;        spec_stock = itap_items-spec_stock.&lt;/P&gt;&lt;P&gt;        vendor = itap_items-vendor.&lt;/P&gt;&lt;P&gt;        rec_batch = itap_items-rec_batch .&lt;/P&gt;&lt;P&gt;        IF issued_qty = ''.&lt;/P&gt;&lt;P&gt;          issue_qty = itap_items-qty.&lt;/P&gt;&lt;P&gt;          PERFORM move_num_to_char USING itap_items-qty CHANGING issued_qty.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE ITAP_ITEMS WITH KEY MATNR = XMATNR LGORT = ISS_SLOC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       XMATNR = ITAP_ITEMS-MATNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       XLGORT = ITAP_ITEMS-LGORT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       XCHARG = ITAP_ITEMS-CHARG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       RECV_SLOC = ITAP_ITEMS-RECV_SLOC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SPEC_STOCK = ITAP_ITEMS-SPEC_STOCK.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       VENDOR = ITAP_ITEMS-VENDOR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       REC_BATCH = ITAP_ITEMS-REC_BATCH .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ISSUE_QTY = ITAP_ITEMS-QTY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MOVE-CORRESPONDING i_mard_tab TO i_mard.&lt;/P&gt;&lt;P&gt;      IF movetype = '325' OR movetype = '343'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF spec_stock &amp;lt;&amp;gt; 'K' AND spec_stock &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;          message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '030'.&lt;/P&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF spec_stock = 'K'.&lt;/P&gt;&lt;P&gt;          qty = i_mard_tab-kspem.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          qty = i_mard_tab-speme.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF spec_stock = 'K'.&lt;/P&gt;&lt;P&gt;          qty = i_mard_tab-klabs.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          qty = i_mard_tab-labst.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      APPEND i_mard.&lt;/P&gt;&lt;P&gt;      READ TABLE i_mard INDEX 1.&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 xcharg &amp;lt;&amp;gt; '' AND xlgort &amp;lt;&amp;gt; '' AND i_marc-xchar = 'X'.&lt;/P&gt;&lt;P&gt;    CLEAR: wa_batch,i_mchb.&lt;/P&gt;&lt;P&gt;    REFRESH: i_mchb.&lt;/P&gt;&lt;P&gt;    READ TABLE itap_items WITH KEY matnr = xmatnr lgort = xlgort&lt;/P&gt;&lt;P&gt;                                   charg = xcharg recv_sloc = recv_sloc.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      xmatnr = itap_items-matnr.&lt;/P&gt;&lt;P&gt;      xlgort = itap_items-lgort.&lt;/P&gt;&lt;P&gt;      xcharg = itap_items-charg.&lt;/P&gt;&lt;P&gt;      recv_sloc = itap_items-recv_sloc.&lt;/P&gt;&lt;P&gt;      spec_stock = itap_items-spec_stock.&lt;/P&gt;&lt;P&gt;      vendor = itap_items-vendor.&lt;/P&gt;&lt;P&gt;      rec_batch = itap_items-rec_batch .&lt;/P&gt;&lt;P&gt;      IF issued_qty = ''.&lt;/P&gt;&lt;P&gt;        issue_qty = itap_items-qty.&lt;/P&gt;&lt;P&gt;        PERFORM move_num_to_char USING itap_items-qty CHANGING issued_qty.&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 spec_stock &amp;lt;&amp;gt; 'K' AND spec_stock &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;      message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;      message_type = 'E' .&lt;/P&gt;&lt;P&gt;      message_number  = '030'.&lt;/P&gt;&lt;P&gt;      PERFORM error_message       .&lt;/P&gt;&lt;P&gt;      PERFORM clear_message.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF movetype =  325 OR movetype = 343.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF spec_stock = ''.&lt;/P&gt;&lt;P&gt;        PERFORM blocked_batch_read.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM vendor_blocked_batch_read.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF spec_stock = ''.&lt;/P&gt;&lt;P&gt;        PERFORM unrestricted_batch_read.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM vendor_unrestricted_batch_read.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  MOVE_NUM_TO_CHAR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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_RESULT_QTY  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_*RLMOB_CQTY  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM move_num_to_char USING p_qty TYPE p CHANGING p_char.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: positive_qty TYPE p DECIMALS 5,&lt;/P&gt;&lt;P&gt;        negative_sign(1) VALUE '-'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_qty &amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CONDENSE P_QTY.&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;convert from numeric to char&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'SHIFT_NUMBER'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        num = p_qty&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        chr = p_char.&lt;/P&gt;&lt;P&gt;*in case the qty is negative&lt;/P&gt;&lt;P&gt;  ELSEIF p_qty &amp;lt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    positive_qty = p_qty * ( -1 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SHIFT_NUMBER'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        num = positive_qty&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        chr = p_char.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SHIFT  p_char RIGHT.&lt;/P&gt;&lt;P&gt;    p_char(1) = negative_sign.&lt;/P&gt;&lt;P&gt;*in case the qty is zero&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    p_char = '0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.                               " p_qty&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "MOVE_NUM_TO_CHAR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  MOVE_CHAR_TO_NUM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;move character value to numeric&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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;      CHR  character value&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      NUM  numeric value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM move_char_to_num USING    chr TYPE c&lt;/P&gt;&lt;P&gt;                               num TYPE p.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  errorcode = 0.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'MOVE_CHAR_TO_NUM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      chr             = chr&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      num             = num&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      convt_no_number = 1&lt;/P&gt;&lt;P&gt;      convt_overflow  = 2.&lt;/P&gt;&lt;P&gt;  IF  sy-subrc = 1.&lt;/P&gt;&lt;P&gt;    errorcode = 9.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Cannot convert entry &amp;amp;1 to number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    message_id = 'LF'.&lt;/P&gt;&lt;P&gt;    message_lang = sy-langu.&lt;/P&gt;&lt;P&gt;    message_number = 139.&lt;/P&gt;&lt;P&gt;    message_var1 = chr.&lt;/P&gt;&lt;P&gt;    PERFORM error_message.&lt;/P&gt;&lt;P&gt;    PERFORM clear_message.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF  sy-subrc = 2.&lt;/P&gt;&lt;P&gt;    errorcode = 9.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Value is out of range&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    message_id = 'LF'.&lt;/P&gt;&lt;P&gt;    message_lang = sy-langu.&lt;/P&gt;&lt;P&gt;    message_number = 209.&lt;/P&gt;&lt;P&gt;    message_var1 = chr.&lt;/P&gt;&lt;P&gt;    PERFORM error_message.&lt;/P&gt;&lt;P&gt;    PERFORM clear_message.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " MOVE_CHAR_TO_NUM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)PAI&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           ZRF_MB1B_I01                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  TRANSP_ITAB_IN  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE transp_itab_in INPUT.&lt;/P&gt;&lt;P&gt;  lines = sy-loopc.&lt;/P&gt;&lt;P&gt;  idx = sy-stepl + line.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " TRANSP_ITAB_IN  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0300  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0300 INPUT.&lt;/P&gt;&lt;P&gt;  temp_movetype = movetype.&lt;/P&gt;&lt;P&gt;  PERFORM clear_all.&lt;/P&gt;&lt;P&gt;  movetype = temp_movetype.&lt;/P&gt;&lt;P&gt;  CLEAR temp_movetype.&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;    WHEN 'ENTER' OR 'DITM'.&lt;/P&gt;&lt;P&gt;      IF NOT move_select IS INITIAL AND move_select &amp;lt;= 10.&lt;/P&gt;&lt;P&gt;        READ TABLE itab_movement INDEX move_select.&lt;/P&gt;&lt;P&gt;        movetype = itab_movement-text(3).&lt;/P&gt;&lt;P&gt;        IF movetype = '309'.&lt;/P&gt;&lt;P&gt;          CALL SCREEN 800.&lt;/P&gt;&lt;P&gt;        ELSEIF movetype = '541' OR movetype = '542'.&lt;/P&gt;&lt;P&gt;          CALL SCREEN 900.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PGDN'.&lt;/P&gt;&lt;P&gt;      line = line + lines.&lt;/P&gt;&lt;P&gt;      limit = fill - lines.&lt;/P&gt;&lt;P&gt;      IF line &amp;gt; limit.&lt;/P&gt;&lt;P&gt;        line = limit.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'PGUP'.&lt;/P&gt;&lt;P&gt;      line = line - lines.&lt;/P&gt;&lt;P&gt;      IF line &amp;lt; 0.&lt;/P&gt;&lt;P&gt;        line = 0.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0300  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0100 INPUT.&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'ENTER' OR 'DITM'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      PERFORM verification.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'CLEAR'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      CLEAR: werks, header_txt,recv_mat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      CLEAR: ok_code,werks, header_txt,recv_mat.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 300.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0200  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0200 INPUT.&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'ENTER' .&lt;/P&gt;&lt;P&gt;      CLEAR: ok_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF movetype &amp;lt;&amp;gt; '541' AND movetype &amp;lt;&amp;gt; '542'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WERKS = XMDGI-WERKS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM get_data.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF xmatnr &amp;lt;&amp;gt; xmdgi-matnr.&lt;/P&gt;&lt;P&gt;          message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '031'.&lt;/P&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          werks = xmdgi-werks.&lt;/P&gt;&lt;P&gt;          PERFORM get_data.&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;    WHEN 'DEL'.&lt;/P&gt;&lt;P&gt;      CASE i_marc-xchar.&lt;/P&gt;&lt;P&gt;        WHEN 'X'.&lt;/P&gt;&lt;P&gt;          DELETE itap_items WHERE matnr = xmatnr AND&lt;/P&gt;&lt;P&gt;                                  lgort = xlgort AND&lt;/P&gt;&lt;P&gt;                                  charg = xcharg AND&lt;/P&gt;&lt;P&gt;                                  recv_sloc = recv_sloc. "#06-10-17-2250&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*update the qty in xmdgi&lt;/P&gt;&lt;P&gt;            IF movetype = '541'.&lt;/P&gt;&lt;P&gt;              READ TABLE xmdgi WITH KEY matnr = xmatnr.&lt;/P&gt;&lt;P&gt;              xmdgi-erfmg = xmdgi-erfmg + issue_qty.&lt;/P&gt;&lt;P&gt;              MODIFY xmdgi INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR: recv_sloc,spec_stock,xmatnr,xlgort,xcharg,rec_batch,&lt;/P&gt;&lt;P&gt;                   issue_qty,issued_qty,vendor,tap_items,iss_sloc,iss_batch.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        WHEN ''.&lt;/P&gt;&lt;P&gt;          DELETE itap_items WHERE matnr = xmatnr AND lgort = xlgort.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*update the qty in xmdgi&lt;/P&gt;&lt;P&gt;            IF movetype = '541'.&lt;/P&gt;&lt;P&gt;              READ TABLE xmdgi WITH KEY matnr = xmatnr.&lt;/P&gt;&lt;P&gt;              xmdgi-erfmg = xmdgi-erfmg + issue_qty.&lt;/P&gt;&lt;P&gt;              MODIFY xmdgi INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;            CLEAR: recv_sloc,spec_stock,xmatnr,xlgort,xcharg,&lt;/P&gt;&lt;P&gt;                   rec_batch,issue_qty,issued_qty,vendor,tap_items,&lt;/P&gt;&lt;P&gt;                   iss_sloc,iss_batch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'CLEAR'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      CLEAR: tap_items, xmatnr,xlgort,xcharg,issue_qty,issued_qty,&lt;/P&gt;&lt;P&gt;             i_mchb,i_mard,tap_items-rdconf,&lt;/P&gt;&lt;P&gt; rec_batch,recv_sloc,vendor,spec_stock,iss_sloc,iss_batch.&lt;/P&gt;&lt;P&gt;      REFRESH : i_mchb,i_mard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'SEL'.&lt;/P&gt;&lt;P&gt;      CLEAR: ok_code.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM GET_DATA.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM move_char_to_num USING issued_qty issue_qty.&lt;/P&gt;&lt;P&gt;      IF errorcode &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF movetype = '541' OR movetype = '542'.&lt;/P&gt;&lt;P&gt;        werks = xmdgi-werks.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      PERFORM get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF movetype = '542'.&lt;/P&gt;&lt;P&gt;        IF iss_batch = ''.&lt;/P&gt;&lt;P&gt;          tap_items-vendor = xmdgi-lifnr.&lt;/P&gt;&lt;P&gt;          vendor = xmdgi-lifnr.&lt;/P&gt;&lt;P&gt;          iss_batch = ebeln.&lt;/P&gt;&lt;P&gt;          tap_items-iss_batch = ebeln.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          tap_items-iss_batch = iss_batch.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE lblab INTO qty FROM mslb&lt;/P&gt;&lt;P&gt;                        WHERE matnr = xmatnr&lt;/P&gt;&lt;P&gt;                          AND werks = werks&lt;/P&gt;&lt;P&gt;                          AND charg = iss_batch&lt;/P&gt;&lt;P&gt;                          AND sobkz = 'O'&lt;/P&gt;&lt;P&gt;                          AND lblab &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;        IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          errflag = 'X'.&lt;/P&gt;&lt;P&gt;          message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '042'.&lt;/P&gt;&lt;P&gt;          message_var1  = xmatnr.&lt;/P&gt;&lt;P&gt;          message_var2 = werks.&lt;/P&gt;&lt;P&gt;          message_var3   = xlgort.&lt;/P&gt;&lt;P&gt;          message_var4  = xcharg.&lt;/P&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF movetype = '311' OR movetype = '411' OR movetype = '412' OR&lt;/P&gt;&lt;P&gt;movetype = '344'.&lt;/P&gt;&lt;P&gt;        IF recv_sloc &amp;lt;&amp;gt; '' .&lt;/P&gt;&lt;P&gt;          SELECT SINGLE lgort FROM t001l INTO recv_sloc WHERE lgort =&lt;/P&gt;&lt;P&gt;      recv_sloc AND werks = werks.&lt;/P&gt;&lt;P&gt;          IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            errflag = 'X'.&lt;/P&gt;&lt;P&gt;            message_id  = 'HUSELECT'  .&lt;/P&gt;&lt;P&gt;            message_type = 'E' .&lt;/P&gt;&lt;P&gt;            message_number  = '031'.&lt;/P&gt;&lt;P&gt;            message_var1  = recv_sloc.&lt;/P&gt;&lt;P&gt;            message_var2  = werks.&lt;/P&gt;&lt;P&gt;            PERFORM error_message       .&lt;/P&gt;&lt;P&gt;            PERFORM clear_message.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '037'.&lt;/P&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ELSEIF MOVETYPE = '412' OR MOVETYPE = '344'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF ISS_SLOC &amp;lt;&amp;gt; '' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SELECT SINGLE LGORT FROM T001L INTO RECV_SLOC WHERE LGORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ISS_SLOC AND WERKS = WERKS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ERRFLAG = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MESSAGE_ID  = 'HUSELECT'  .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MESSAGE_TYPE = 'E' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MESSAGE_NUMBER  = '041'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MESSAGE_VAR1  = RECV_SLOC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MESSAGE_VAR2  = WERKS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           PERFORM ERROR_MESSAGE       .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           PERFORM CLEAR_MESSAGE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MESSAGE_ID  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MESSAGE_TYPE = 'E' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MESSAGE_NUMBER  = '037'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM ERROR_MESSAGE       .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM CLEAR_MESSAGE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF spec_stock &amp;lt;&amp;gt; 'K' AND spec_stock &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;        message_type = 'E' .&lt;/P&gt;&lt;P&gt;        message_number  = '030'.&lt;/P&gt;&lt;P&gt;        PERFORM error_message       .&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF spec_stock = 'K'.&lt;/P&gt;&lt;P&gt;        IF vendor &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              input  = vendor&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              output = vendor.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '039'.&lt;/P&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          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 xmatnr = ''.&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;        message_type = 'E' .&lt;/P&gt;&lt;P&gt;        message_number  = '031'.&lt;/P&gt;&lt;P&gt;        PERFORM error_message       .&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSEIF xlgort = '' .&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;        message_type = 'E' .&lt;/P&gt;&lt;P&gt;        message_number  = '032'.&lt;/P&gt;&lt;P&gt;        PERFORM error_message       .&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSEIF i_marc-xchar = '' AND xcharg &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;        message_type = 'E' .&lt;/P&gt;&lt;P&gt;        message_number  = '035'.&lt;/P&gt;&lt;P&gt;        PERFORM error_message       .&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSEIF  xcharg = '' AND i_marc-xchar ='X'.&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;        message_type = 'E' .&lt;/P&gt;&lt;P&gt;        message_number  = '033'.&lt;/P&gt;&lt;P&gt;        PERFORM error_message       .&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSEIF issue_qty = ''.&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;        message_type = 'E' .&lt;/P&gt;&lt;P&gt;        message_number  = '034'.&lt;/P&gt;&lt;P&gt;        PERFORM error_message       .&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSEIF issue_qty &amp;gt; qty.&lt;/P&gt;&lt;P&gt;        errflag = 'X'.&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;        message_type = 'E' .&lt;/P&gt;&lt;P&gt;        message_number  = '017'.&lt;/P&gt;&lt;P&gt;        message_var2  = xmatnr.&lt;/P&gt;&lt;P&gt;        message_var3 = werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM error_message       .&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       message_type = 'E' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       message_number  = '011'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM error_message       .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM clear_message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF i_marc-xchar = 'X'.&lt;/P&gt;&lt;P&gt;        IF movetype = '541' AND movetype &amp;lt;&amp;gt; '542'.&lt;/P&gt;&lt;P&gt;          vendor = xmdgi-lifnr.&lt;/P&gt;&lt;P&gt;          rec_batch = ebeln.&lt;/P&gt;&lt;P&gt;          DATA: v1(1) VALUE '0'.&lt;/P&gt;&lt;P&gt;          SHIFT rec_batch LEFT DELETING LEADING v1.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF recv_sloc = ''.&lt;/P&gt;&lt;P&gt;          recv_sloc = xlgort.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF iss_sloc = ''.&lt;/P&gt;&lt;P&gt;          iss_sloc = xlgort.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;*if excess qty entered show them warning for 541&lt;/P&gt;&lt;P&gt;        IF issue_qty &amp;gt; xmdgi-erfmg AND movetype = '541'.&lt;/P&gt;&lt;P&gt;          DATA: issue_qty1 LIKE resb-bdmng.&lt;/P&gt;&lt;P&gt;          issue_qty1 = issue_qty - xmdgi-erfmg.&lt;/P&gt;&lt;P&gt;          message_id  = 'ZRFCONSOLE'  .&lt;/P&gt;&lt;P&gt;          message_type = 'W' .&lt;/P&gt;&lt;P&gt;          message_number  = '001'.&lt;/P&gt;&lt;P&gt;          message_var1  = 'Excess Qty '.&lt;/P&gt;&lt;P&gt;          message_var2 = issue_qty1.&lt;/P&gt;&lt;P&gt;          message_var3 = 'issued'.&lt;/P&gt;&lt;P&gt;          message_var4 = 'Do you want to Continue'.&lt;/P&gt;&lt;P&gt;          PERFORM warning_message.&lt;/P&gt;&lt;P&gt;          IF msg_answ = 'N'.&lt;/P&gt;&lt;P&gt;            CLEAR: issued_qty,issue_qty.&lt;/P&gt;&lt;P&gt;            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;        READ TABLE itap_items WITH KEY matnr = xmatnr lgort =&lt;/P&gt;&lt;P&gt;                xlgort charg = xcharg .&lt;/P&gt;&lt;P&gt;        IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          IF movetype &amp;lt;&amp;gt; '541' AND movetype &amp;lt;&amp;gt; '542'.&lt;/P&gt;&lt;P&gt;            IF rec_batch = '' .&lt;/P&gt;&lt;P&gt;              tap_items-rec_batch = xcharg.&lt;/P&gt;&lt;P&gt;              rec_batch = xcharg.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;            IF iss_batch = ''.&lt;/P&gt;&lt;P&gt;              tap_items-iss_batch = xcharg.&lt;/P&gt;&lt;P&gt;              iss_batch = xcharg.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          tap_items-rdconf = 'X'.&lt;/P&gt;&lt;P&gt;          tap_items-matnr = xmatnr.&lt;/P&gt;&lt;P&gt;          tap_items-werks = werks.&lt;/P&gt;&lt;P&gt;          tap_items-lgort = xlgort.&lt;/P&gt;&lt;P&gt;          tap_items-charg = xcharg.&lt;/P&gt;&lt;P&gt;          tap_items-qty = issue_qty.&lt;/P&gt;&lt;P&gt;          tap_items-recv_sloc = recv_sloc.&lt;/P&gt;&lt;P&gt;          tap_items-iss_sloc = iss_sloc.&lt;/P&gt;&lt;P&gt;          tap_items-spec_stock = spec_stock.&lt;/P&gt;&lt;P&gt;          tap_items-rec_batch = rec_batch.&lt;/P&gt;&lt;P&gt;          tap_items-iss_batch = iss_batch.&lt;/P&gt;&lt;P&gt;          tap_items-vendor = vendor.&lt;/P&gt;&lt;P&gt;          APPEND tap_items TO itap_items.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          itap_index = sy-tabix.&lt;/P&gt;&lt;P&gt;          tap_items-rdconf = 'X'.&lt;/P&gt;&lt;P&gt;          tap_items-matnr = xmatnr.&lt;/P&gt;&lt;P&gt;          tap_items-werks = werks.&lt;/P&gt;&lt;P&gt;          tap_items-lgort = xlgort.&lt;/P&gt;&lt;P&gt;          tap_items-charg = xcharg.&lt;/P&gt;&lt;P&gt;          tap_items-qty = issue_qty.&lt;/P&gt;&lt;P&gt;          tap_items-rec_batch = rec_batch.&lt;/P&gt;&lt;P&gt;          tap_items-iss_batch = iss_batch.&lt;/P&gt;&lt;P&gt;          tap_items-recv_sloc = recv_sloc.&lt;/P&gt;&lt;P&gt;          tap_items-spec_stock = spec_stock.&lt;/P&gt;&lt;P&gt;          tap_items-vendor = vendor.&lt;/P&gt;&lt;P&gt;          IF rec_batch = ''.&lt;/P&gt;&lt;P&gt;            tap_items-rec_batch = xcharg.&lt;/P&gt;&lt;P&gt;            rec_batch = xcharg.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            tap_items-rec_batch = rec_batch.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          APPEND tap_items TO itap_items.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MODIFY ITAP_ITEMS FROM TAP_ITEMS INDEX ITAP_INDEX. thiru&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSEIF i_marc-xchar = ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*if excess qty entered show them warning for 541&lt;/P&gt;&lt;P&gt;        IF issue_qty &amp;gt; xmdgi-erfmg AND movetype = '541'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          issue_qty1 = issue_qty - xmdgi-erfmg.&lt;/P&gt;&lt;P&gt;          message_id  = 'ZRFCONSOLE'  .&lt;/P&gt;&lt;P&gt;          message_type = 'W' .&lt;/P&gt;&lt;P&gt;          message_number  = '001'.&lt;/P&gt;&lt;P&gt;          message_var1  = 'Excess Qty '.&lt;/P&gt;&lt;P&gt;          message_var2 = issue_qty1.&lt;/P&gt;&lt;P&gt;          message_var3 = 'issued'.&lt;/P&gt;&lt;P&gt;          message_var4 = 'Do you want to Continue'.&lt;/P&gt;&lt;P&gt;          PERFORM warning_message.&lt;/P&gt;&lt;P&gt;          IF msg_answ = 'N'.&lt;/P&gt;&lt;P&gt;            CLEAR: issued_qty,issue_qty.&lt;/P&gt;&lt;P&gt;            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;&lt;/P&gt;&lt;P&gt;        READ TABLE itap_items WITH KEY matnr = xmatnr lgort =  xlgort  .&lt;/P&gt;&lt;P&gt;        IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          IF recv_sloc = ''.&lt;/P&gt;&lt;P&gt;            recv_sloc = xlgort.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF iss_sloc = ''.&lt;/P&gt;&lt;P&gt;            iss_sloc = xlgort.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF movetype = '541' AND movetype &amp;lt;&amp;gt; '542'.&lt;/P&gt;&lt;P&gt;            vendor = xmdgi-lifnr.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          tap_items-rdconf = 'X'.&lt;/P&gt;&lt;P&gt;          tap_items-matnr = xmatnr.&lt;/P&gt;&lt;P&gt;          tap_items-werks = werks.&lt;/P&gt;&lt;P&gt;          tap_items-lgort = xlgort.&lt;/P&gt;&lt;P&gt;          tap_items-qty = issue_qty.&lt;/P&gt;&lt;P&gt;          tap_items-recv_sloc = recv_sloc.&lt;/P&gt;&lt;P&gt;          tap_items-iss_sloc = iss_sloc.&lt;/P&gt;&lt;P&gt;          tap_items-spec_stock = spec_stock.&lt;/P&gt;&lt;P&gt;          tap_items-vendor = vendor.&lt;/P&gt;&lt;P&gt;          APPEND tap_items TO itap_items.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          itap_index = sy-tabix.&lt;/P&gt;&lt;P&gt;          tap_items-rdconf = 'X'.&lt;/P&gt;&lt;P&gt;          tap_items-matnr = xmatnr.&lt;/P&gt;&lt;P&gt;          tap_items-werks = werks.&lt;/P&gt;&lt;P&gt;          tap_items-lgort = xlgort.&lt;/P&gt;&lt;P&gt;          tap_items-qty = issue_qty.&lt;/P&gt;&lt;P&gt;          tap_items-recv_sloc = recv_sloc.&lt;/P&gt;&lt;P&gt;          tap_items-iss_sloc = iss_sloc.&lt;/P&gt;&lt;P&gt;          tap_items-spec_stock = spec_stock.&lt;/P&gt;&lt;P&gt;          tap_items-vendor = vendor.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MODIFY ITAP_ITEMS FROM TAP_ITEMS INDEX ITAP_INDEX. thiru&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          APPEND tap_items TO itap_items.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;        message_type = 'E' .&lt;/P&gt;&lt;P&gt;        message_number  = '055'.&lt;/P&gt;&lt;P&gt;        PERFORM error_message       .&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*update the qty in xmdgi&lt;/P&gt;&lt;P&gt;      IF movetype = '541'.&lt;/P&gt;&lt;P&gt;        READ TABLE xmdgi WITH KEY matnr = xmatnr.&lt;/P&gt;&lt;P&gt;        xmdgi-erfmg = xmdgi-erfmg - issue_qty.&lt;/P&gt;&lt;P&gt;        MODIFY xmdgi INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'SLOC'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      IF movetype &amp;lt;&amp;gt; '325' AND movetype &amp;lt;&amp;gt; '343'.&lt;/P&gt;&lt;P&gt;        IF xlgort = ''.&lt;/P&gt;&lt;P&gt;          PERFORM sloc_unknown.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM sloc_single.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM sloc_blocked_stock.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'DITM'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      IF NOT itap_items[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        CALL SCREEN 500.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'  .&lt;/P&gt;&lt;P&gt;        message_type = 'E' .&lt;/P&gt;&lt;P&gt;        message_number  = '056'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MESSAGE_VAR1  = WERKS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM error_message       .&lt;/P&gt;&lt;P&gt;        PERFORM clear_message.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      IF movetype = '541' OR movetype = '542'.&lt;/P&gt;&lt;P&gt;        CLEAR: ok_code, xmatnr,xlgort,xcharg,issue_qty,vendor,spec_stock,&lt;/P&gt;&lt;P&gt; rec_batch,recv_sloc,tap_items,i_mchb,i_mard,iss_batch.&lt;/P&gt;&lt;P&gt;        REFRESH:i_mard,i_mchb.&lt;/P&gt;&lt;P&gt;        LEAVE TO SCREEN 1100.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR ok_code.&lt;/P&gt;&lt;P&gt;        message_id  = 'ZRFCONSOLE'  .&lt;/P&gt;&lt;P&gt;        message_type = 'W' .&lt;/P&gt;&lt;P&gt;        message_number  = '001'.&lt;/P&gt;&lt;P&gt;        message_var1  = 'Are you sure you '.&lt;/P&gt;&lt;P&gt;        message_var2 = 'want to exit?'.&lt;/P&gt;&lt;P&gt;        PERFORM warning_message.&lt;/P&gt;&lt;P&gt;        IF msg_answ = 'Y'.&lt;/P&gt;&lt;P&gt;          CLEAR: ok_code, xmatnr,xlgort,xcharg,issue_qty,vendor,spec_stock,&lt;/P&gt;&lt;P&gt;    rec_batch,recv_sloc,tap_items,i_mchb,i_mard,tap_items,werks,recv_mat,&lt;/P&gt;&lt;P&gt;   header_txt,iss_batch.&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;          REFRESH:i_mard,i_mchb,itap_items.&lt;/P&gt;&lt;P&gt;          LEAVE TO SCREEN 300.&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;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0200  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0500  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0500 INPUT.&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PGDN'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      IF tap_items-rdconf &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      temporary_index  = tap_index + tap_init_size.&lt;/P&gt;&lt;P&gt;      IF temporary_index &amp;gt; tap_total_lines.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        tap_index = tap_index + tap_init_size.&lt;/P&gt;&lt;P&gt;        current_line = tap_index.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PGUP'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      tap_index = tap_index - tap_init_size .&lt;/P&gt;&lt;P&gt;      IF tap_index &amp;lt;= 0.&lt;/P&gt;&lt;P&gt;        tap_index = 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      current_line = tap_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'SAVE'.&lt;/P&gt;&lt;P&gt;      PERFORM goods_issue.&lt;/P&gt;&lt;P&gt;      PERFORM clear_all.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 300.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      recv_sloc = tap_items-recv_sloc.&lt;/P&gt;&lt;P&gt;      xlgort = tap_items-lgort.&lt;/P&gt;&lt;P&gt;      xmatnr = tap_items-matnr.&lt;/P&gt;&lt;P&gt;      xcharg = tap_items-charg.&lt;/P&gt;&lt;P&gt;      issued_qty = tap_items-qty.&lt;/P&gt;&lt;P&gt;      rec_batch = tap_items-rec_batch.&lt;/P&gt;&lt;P&gt;      iss_batch = tap_items-iss_batch.&lt;/P&gt;&lt;P&gt;      vendor = tap_items-vendor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: tap_items,tap_index.&lt;/P&gt;&lt;P&gt;      tap_items-rdconf = 'X'.&lt;/P&gt;&lt;P&gt;      IF movetype = '541' OR movetype = '542'.&lt;/P&gt;&lt;P&gt;        LEAVE TO SCREEN 1100.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR: TAP_ITEMS,TAP_INDEX.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        LEAVE TO SCREEN 200.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0500  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0800  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0800 INPUT.&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;    WHEN 'ENTER' OR 'DITM'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      PERFORM verification.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;    WHEN 'CLEAR'.&lt;/P&gt;&lt;P&gt;      CLEAR: werks,recv_sloc, recv_mat, header_txt.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      CLEAR: werks,recv_sloc, recv_mat, header_txt.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 300.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0800  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0900  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0900 INPUT.&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      CLEAR: ebeln,ebelp.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 300.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'CLEAR'.&lt;/P&gt;&lt;P&gt;      CLEAR: ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'DITM' OR 'ENTER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'ME_READ_COMP_GOODS_ISSUE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          ebeln         = ebeln&lt;/P&gt;&lt;P&gt;          ebelp         = ebelp&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          xmdgi         = xmdgi&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          not_found_any = 01&lt;/P&gt;&lt;P&gt;          not_found_one = 02&lt;/P&gt;&lt;P&gt;          not_valid_any = 03&lt;/P&gt;&lt;P&gt;          not_valid_one = 04.&lt;/P&gt;&lt;P&gt;      CASE sy-subrc.&lt;/P&gt;&lt;P&gt;        WHEN 0.&lt;/P&gt;&lt;P&gt;          IF xmdgi[] IS INITIAL.&lt;/P&gt;&lt;P&gt;            MESSAGE ID 'M7' TYPE 'E' NUMBER 033 WITH ebeln.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL SCREEN 1100.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        WHEN 1.&lt;/P&gt;&lt;P&gt;          message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '033'.&lt;/P&gt;&lt;P&gt;          message_var1  = ebeln.&lt;/P&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MESSAGE ID 'M7' TYPE 'E' NUMBER 033 WITH EBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        WHEN 2.&lt;/P&gt;&lt;P&gt;          message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '150'.&lt;/P&gt;&lt;P&gt;          message_var1  = ebeln.&lt;/P&gt;&lt;P&gt;          message_var2  = ebelp.&lt;/P&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        WHEN 3.&lt;/P&gt;&lt;P&gt;          message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '151'.&lt;/P&gt;&lt;P&gt;          message_var1  = ebeln.&lt;/P&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WHEN 4.&lt;/P&gt;&lt;P&gt;          IF NOT ebelp IS INITIAL.&lt;/P&gt;&lt;P&gt;            message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;            message_type = 'E' .&lt;/P&gt;&lt;P&gt;            message_number  = '152'.&lt;/P&gt;&lt;P&gt;            message_var1  = ebeln.&lt;/P&gt;&lt;P&gt;            message_var2  = ebelp.&lt;/P&gt;&lt;P&gt;            PERFORM error_message       .&lt;/P&gt;&lt;P&gt;            PERFORM clear_message.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            message_id  = 'M7'  .&lt;/P&gt;&lt;P&gt;            message_type = 'E' .&lt;/P&gt;&lt;P&gt;            message_number  = '153'.&lt;/P&gt;&lt;P&gt;            message_var1  = ebeln.&lt;/P&gt;&lt;P&gt;            PERFORM error_message       .&lt;/P&gt;&lt;P&gt;            PERFORM clear_message.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0900  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_1100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_1100 INPUT.&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PGDN'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      temporary_index  = po_index + tap_init_size.&lt;/P&gt;&lt;P&gt;      IF temporary_index &amp;gt; po_lines.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        po_index = po_index + tap_init_size.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PGUP'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      po_index = po_index - tap_init_size .&lt;/P&gt;&lt;P&gt;      IF po_index &amp;lt;= 0.&lt;/P&gt;&lt;P&gt;        po_index = 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      message_id  = 'ZRFCONSOLE'  .&lt;/P&gt;&lt;P&gt;      message_type = 'W' .&lt;/P&gt;&lt;P&gt;      message_number  = '001'.&lt;/P&gt;&lt;P&gt;      message_var1  = 'Are you sure you '.&lt;/P&gt;&lt;P&gt;      message_var2 = 'want to exit?'.&lt;/P&gt;&lt;P&gt;      PERFORM warning_message.&lt;/P&gt;&lt;P&gt;      IF msg_answ = 'Y'.&lt;/P&gt;&lt;P&gt;        CLEAR: ok_code, xmatnr,xlgort,xcharg,issue_qty,vendor,spec_stock,&lt;/P&gt;&lt;P&gt;      rec_batch,recv_sloc,tap_items,i_mchb,i_mard,iss_batch,issued_qty.&lt;/P&gt;&lt;P&gt;        CLEAR: tap_index,xmdgi,tap_items,itap_items.&lt;/P&gt;&lt;P&gt;        REFRESH: xmdgi,itap_items.&lt;/P&gt;&lt;P&gt;        LEAVE TO SCREEN 900.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'ENTER' OR 'DITM'.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING xmdgi TO tap_items.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN 'DITM'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF NOT ITAP_ITEMS[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL SCREEN 500.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_1100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0600  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0600 INPUT.&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;    WHEN 'SEL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DATA : QTY LIKE RESB-BDMNG.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR: ok_code,qty.&lt;/P&gt;&lt;P&gt;*IF I_MCHB = '0,000'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ISSUE_QTY = ''.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF I_MCHB-RDCONF IS INITIAL AND I_MCHB-ISSUE_QTY &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF i_mchb-issue_qty &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;        IF i_mchb-issue_qty &amp;gt; batch_qty.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         DATA:SHORTFALL(18) TYPE C..&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SHORTFALL = I_MCHB-ISSUE_QTY -  BATCH_QTY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CONDENSE SHORTFALL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CONCATENATE 'BA Unrestricted-use' SHORTFALL 'EA' ':' INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        MESSAGE_VAR1 SEPARATED BY SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          errflag = 'X'.&lt;/P&gt;&lt;P&gt;          message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '017'.&lt;/P&gt;&lt;P&gt;          message_var2  = tap_items-matnr.&lt;/P&gt;&lt;P&gt;          message_var3 = werks.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONCATENATE I_MCHB-LGORT '' I_MCHB-CHARG INTO MESSAGE_VAR4 SEPARATED&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             BY SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        i_mchb-rdconf = 'X'.&lt;/P&gt;&lt;P&gt;        IF i_mchb-rec_batch = ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_MCHB-REC_BATCH = REC_BATCH.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          i_mchb-rec_batch = i_mchb-charg.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        tap_items-rdconf    = i_mchb-rdconf.&lt;/P&gt;&lt;P&gt;        tap_items-matnr     = xmatnr.&lt;/P&gt;&lt;P&gt;        tap_items-werks     = werks.&lt;/P&gt;&lt;P&gt;        tap_items-lgort     = i_mchb-lgort.&lt;/P&gt;&lt;P&gt;        tap_items-qty     = i_mchb-issue_qty.&lt;/P&gt;&lt;P&gt;        tap_items-charg     = i_mchb-charg.&lt;/P&gt;&lt;P&gt;        tap_items-rec_batch =  i_mchb-rec_batch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE itap_items WITH KEY matnr = xmatnr&lt;/P&gt;&lt;P&gt;        lgort = tap_items-lgort charg = i_mchb-charg.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          MODIFY TABLE itap_items FROM tap_items.&lt;/P&gt;&lt;P&gt;          MODIFY i_mchb INDEX batch_index TRANSPORTING issue_qty rdconf&lt;/P&gt;&lt;P&gt;rec_batch.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          APPEND tap_items TO itap_items .&lt;/P&gt;&lt;P&gt;          MODIFY i_mchb INDEX batch_index TRANSPORTING issue_qty rdconf&lt;/P&gt;&lt;P&gt;          rec_batch.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSEIF i_mchb-issue_qty = '0.000'.&lt;/P&gt;&lt;P&gt;        i_mchb-rdconf = ''.&lt;/P&gt;&lt;P&gt;        itap_items-rdconf = i_mchb-rdconf.&lt;/P&gt;&lt;P&gt;        issue_qty = ''.&lt;/P&gt;&lt;P&gt;        issued_qty = ''.&lt;/P&gt;&lt;P&gt;        rec_batch = ''.&lt;/P&gt;&lt;P&gt;        i_mchb-rec_batch = ''.&lt;/P&gt;&lt;P&gt;        i_mchb-issue_qty = issue_qty.&lt;/P&gt;&lt;P&gt;        MODIFY i_mchb INDEX batch_index TRANSPORTING issue_qty rdconf.&lt;/P&gt;&lt;P&gt;        DELETE itap_items WHERE matnr = xmatnr AND lgort =&lt;/P&gt;&lt;P&gt;i_mchb-lgort AND charg = i_mchb-charg.&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;       I_MCHB-RDCONF = ''.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ITAP_ITEMS-RDCONF = I_MCHB-RDCONF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ISSUE_QTY = ''.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_MCHB-ISSUE_QTY = ISSUE_QTY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MODIFY I_MCHB INDEX BATCH_INDEX TRANSPORTING ISSUE_QTY RDCONF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DELETE ITAP_ITEMS WHERE MATNR = XMATNR AND LGORT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*I_MCHB-LGORT AND CHARG = I_MCHB-CHARG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'CLEAR'.&lt;/P&gt;&lt;P&gt;      i_mchb-rdconf = ''.&lt;/P&gt;&lt;P&gt;      itap_items-rdconf = i_mchb-rdconf.&lt;/P&gt;&lt;P&gt;      issue_qty = ''.&lt;/P&gt;&lt;P&gt;      i_mchb-issue_qty = issue_qty.&lt;/P&gt;&lt;P&gt;      MODIFY i_mchb INDEX batch_index TRANSPORTING issue_qty rdconf.&lt;/P&gt;&lt;P&gt;      DELETE itap_items WHERE matnr = xmatnr AND lgort =&lt;/P&gt;&lt;P&gt;i_mchb-lgort AND charg = i_mchb-charg.&lt;/P&gt;&lt;P&gt;      CLEAR: tap_items,itap_items,i_mchb.&lt;/P&gt;&lt;P&gt;    WHEN 'PGDN'.&lt;/P&gt;&lt;P&gt;      CLEAR: ok_code,issue_qty,issued_qty.&lt;/P&gt;&lt;P&gt;      IF i_mchb-rdconf &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;        MODIFY i_mchb INDEX batch_index TRANSPORTING issue_qty rdconf.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      temporary_index  = batch_index + tap_init_size.&lt;/P&gt;&lt;P&gt;      IF temporary_index &amp;gt; batch_lines.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        batch_index = batch_index + tap_init_size.&lt;/P&gt;&lt;P&gt;        current_line = batch_index.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PGUP'.&lt;/P&gt;&lt;P&gt;      CLEAR: ok_code,issue_qty,issued_qty.&lt;/P&gt;&lt;P&gt;      MODIFY i_mchb INDEX batch_index TRANSPORTING issue_qty rdconf.&lt;/P&gt;&lt;P&gt;      batch_index = batch_index - tap_init_size .&lt;/P&gt;&lt;P&gt;      IF batch_index &amp;lt;= 0.&lt;/P&gt;&lt;P&gt;        batch_index = 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      current_line = batch_index.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      CLEAR: issue_qty, batch_index,itap_items,issued_qty.&lt;/P&gt;&lt;P&gt;      xmatnr = tap_items-matnr.&lt;/P&gt;&lt;P&gt;      xlgort = tap_items-lgort.&lt;/P&gt;&lt;P&gt;      xcharg = tap_items-charg.&lt;/P&gt;&lt;P&gt;      issue_qty = tap_items-qty.&lt;/P&gt;&lt;P&gt;      rec_batch = tap_items-rec_batch.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 200.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0600  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0700  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0700 INPUT.&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;    WHEN 'SEL'.&lt;/P&gt;&lt;P&gt;      CLEAR: ok_code,qty.&lt;/P&gt;&lt;P&gt;      IF  issue_qty &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;        IF issue_qty &amp;gt; i_mard-labst.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SHORTFALL = ISSUE_QTY -  SLOC_QTY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CONDENSE SHORTFALL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CONCATENATE 'BA Unrestricted-use' SHORTFALL 'EA' ':' INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        MESSAGE_VAR1 SEPARATED BY SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          errflag = 'X'.&lt;/P&gt;&lt;P&gt;          message_id  = 'ZRFCONSOLE'.&lt;/P&gt;&lt;P&gt;          message_type = 'E' .&lt;/P&gt;&lt;P&gt;          message_number  = '017'.&lt;/P&gt;&lt;P&gt;          message_var2  = tap_items-matnr.&lt;/P&gt;&lt;P&gt;          message_var3 = werks.&lt;/P&gt;&lt;P&gt;          message_var4   = i_mard-lgort.&lt;/P&gt;&lt;P&gt;          PERFORM error_message       .&lt;/P&gt;&lt;P&gt;          PERFORM clear_message.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        i_mard-rdconf = 'X'.&lt;/P&gt;&lt;P&gt;        tap_items-rdconf    = i_mard-rdconf.&lt;/P&gt;&lt;P&gt;        tap_items-matnr     = xmatnr.&lt;/P&gt;&lt;P&gt;        tap_items-werks     = werks.&lt;/P&gt;&lt;P&gt;        tap_items-lgort     = i_mard-lgort.&lt;/P&gt;&lt;P&gt;        tap_items-qty       = issue_qty.&lt;/P&gt;&lt;P&gt;        i_mard-issue_qty = issue_qty.&lt;/P&gt;&lt;P&gt;        READ TABLE itap_items WITH KEY matnr = xmatnr&lt;/P&gt;&lt;P&gt;         lgort = tap_items-lgort .&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          itap_index = sy-tabix.&lt;/P&gt;&lt;P&gt;          MODIFY itap_items FROM tap_items INDEX itap_index.&lt;/P&gt;&lt;P&gt;          MODIFY i_mard INDEX storage_index TRANSPORTING issue_qty&lt;/P&gt;&lt;P&gt;rdconf.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          APPEND tap_items TO itap_items .&lt;/P&gt;&lt;P&gt;          MODIFY i_mard INDEX storage_index TRANSPORTING issue_qty&lt;/P&gt;&lt;P&gt;rdconf .&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSEIF issue_qty = ''.&lt;/P&gt;&lt;P&gt;        i_mard-rdconf = ''.&lt;/P&gt;&lt;P&gt;        itap_items-rdconf = i_mard-rdconf.&lt;/P&gt;&lt;P&gt;        issue_qty = ''.&lt;/P&gt;&lt;P&gt;        i_mard-issue_qty = issue_qty.&lt;/P&gt;&lt;P&gt;        MODIFY i_mard INDEX storage_index TRANSPORTING issue_qty rdconf&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;        DELETE itap_items WHERE matnr = xmatnr AND lgort =&lt;/P&gt;&lt;P&gt;i_mard-lgort .&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;       I_MCHB-RDCONF = ''.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ITAP_ITEMS-RDCONF = I_MCHB-RDCONF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ISSUE_QTY = ''.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_MARD-ISSUE_QTY = ISSUE_QTY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MODIFY I_MARD INDEX STORAGE_INDEX TRANSPORTING ISSUE_QTY .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DELETE ITAP_ITEMS WHERE MATNR = XMATNR AND LGORT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*I_MARD-LGORT .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'CLEAR'.&lt;/P&gt;&lt;P&gt;      i_mard-rdconf = ''.&lt;/P&gt;&lt;P&gt;      itap_items-rdconf = i_mard-rdconf.&lt;/P&gt;&lt;P&gt;      issue_qty = ''.&lt;/P&gt;&lt;P&gt;      i_mard-issue_qty = issue_qty.&lt;/P&gt;&lt;P&gt;      MODIFY i_mard INDEX storage_index TRANSPORTING issue_qty rdconf&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;      DELETE itap_items WHERE matnr = xmatnr AND lgort =&lt;/P&gt;&lt;P&gt;i_mard-lgort .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: tap_items,itap_items,i_mchb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PGDN'.&lt;/P&gt;&lt;P&gt;      CLEAR: ok_code,issue_qty.&lt;/P&gt;&lt;P&gt;      temporary_index  = storage_index + tap_init_size.&lt;/P&gt;&lt;P&gt;      IF temporary_index &amp;gt; storage_lines.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        storage_index = storage_index + tap_init_size.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PGUP'.&lt;/P&gt;&lt;P&gt;      CLEAR: ok_code,issue_qty.&lt;/P&gt;&lt;P&gt;      storage_index = storage_index - tap_init_size .&lt;/P&gt;&lt;P&gt;      IF batch_index &amp;lt;= 0.&lt;/P&gt;&lt;P&gt;        batch_index = 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      CLEAR: issue_qty, batch_index.&lt;/P&gt;&lt;P&gt;      xmatnr = tap_items-matnr.&lt;/P&gt;&lt;P&gt;      xlgort = tap_items-lgort.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     XCHARG = TAP_ITEMS-CHARG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ISSUE_QTY = TAP_ITEMS-QTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM move_num_to_char USING tap_items-qty CHANGING issued_qty.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 200.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0700  INPUT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 07:54:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/module-pool-runtime-error-too-many-consecutive-nested-call-screens/m-p/2528601#M573098</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-20T07:54:25Z</dc:date>
    </item>
    <item>
      <title>Re: module pool runtime error---too many consecutive nested call screens.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/module-pool-runtime-error-too-many-consecutive-nested-call-screens/m-p/2528602#M573099</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    There is a limit on maximum permitted number of nested screen....... and that is correctly 50.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This problem may be caused by too much use of statement &lt;/P&gt;&lt;P&gt;'Call Screen...'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;While coding... for going back, try to avoid using call screen, if possible....use leave screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Else you can face exception LIST_TOO_MANY_LPROS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 07:59:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/module-pool-runtime-error-too-many-consecutive-nested-call-screens/m-p/2528602#M573099</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-20T07:59:20Z</dc:date>
    </item>
  </channel>
</rss>

