<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Error Fixing..please help me..full marks wud be given........ in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-fixing-please-help-me-full-marks-wud-be-given/m-p/3007618#M710677</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You would do yourself a favor if you would just post the statement with the error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 10 Nov 2007 15:51:38 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-10T15:51:38Z</dc:date>
    <item>
      <title>Error Fixing..please help me..full marks wud be given........</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-fixing-please-help-me-full-marks-wud-be-given/m-p/3007617#M710676</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am getting a following error when i run the program in ECC 6.o&lt;/P&gt;&lt;P&gt;ERROR:" The where condition does not refer to for all entries table..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program is as follows..full marks wud be given.....&lt;/P&gt;&lt;P&gt;&lt;/P&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;***INCLUDE MZSDRETL_RMP_PRICING_ENTRYF01 .&lt;/P&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;&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  COMPUTE_SCROLLING_IN_TC&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;Vertical Scrolling in table control upon pressing , next page,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;previous page , first page and last page button&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_TC_NAME   table control name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_OK_CODE   okcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LOOPC     current loop count&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 COMPUTE_SCROLLING_IN_TC USING    P_TC_NAME&lt;/P&gt;&lt;P&gt;                                      P_OK_CODE&lt;/P&gt;&lt;P&gt;                                      P_LOOPC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;-BEGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_TC_NEW_TOP_LINE    LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;  DATA L_TC_FIELD_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE CXTAB_CONTROL.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;-END OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;  IF &amp;lt;TC&amp;gt;-LINES = 0.&lt;/P&gt;&lt;P&gt;    L_TC_NEW_TOP_LINE = 1.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SCROLLING_IN_TABLE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              ENTRY_ACT      = &amp;lt;TC&amp;gt;-TOP_LINE&lt;/P&gt;&lt;P&gt;              ENTRY_FROM     = 1&lt;/P&gt;&lt;P&gt;              ENTRY_TO       = &amp;lt;TC&amp;gt;-LINES&lt;/P&gt;&lt;P&gt;              LAST_PAGE_FULL = C_X&lt;/P&gt;&lt;P&gt;              LOOPS          = P_LOOPC&lt;/P&gt;&lt;P&gt;              OK_CODE        = P_OK_CODE&lt;/P&gt;&lt;P&gt;              OVERLAPPING    = C_X&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              ENTRY_NEW      = L_TC_NEW_TOP_LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             no_entry_or_page_act  = 01&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             no_entry_to           = 02&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             no_ok_code_or_page_go = 03&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             others                = 99.&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;get actual tc and column                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  GET CURSOR FIELD L_TC_FIELD_NAME .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    set actual column                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set the new top line                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  &amp;lt;TC&amp;gt;-TOP_LINE = L_TC_NEW_TOP_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " COMPUTE_SCROLLING_IN_TC&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_VALUE_ON_REQUEST&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;Call function module to display the region list in form of search help&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_VALUE_ON_REQUEST TABLES RET&lt;/P&gt;&lt;P&gt;                          USING    P_C_RET&lt;/P&gt;&lt;P&gt;                                   P_C_DYN&lt;/P&gt;&lt;P&gt;                                   P_DYNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function module to display the data in internal table in form of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a search help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            RETFIELD    = P_C_RET&lt;/P&gt;&lt;P&gt;            DYNPPROG    = G_REPID&lt;/P&gt;&lt;P&gt;            DYNPNR      = P_DYNNR&lt;/P&gt;&lt;P&gt;            DYNPROFIELD = P_C_DYN&lt;/P&gt;&lt;P&gt;            VALUE_ORG   = C_VAL_ORG  " Value S&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            VALUE_TAB   = RET.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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.                    " GET_VALUE_ON_REQUEST&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  POPULATE_RANGES&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;      Populate range tables with store grouping data&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_I_STORE_INFO  store grouping entry&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 POPULATE_RANGES USING L_REGION_ID&lt;/P&gt;&lt;P&gt;                           L_DIST_ID&lt;/P&gt;&lt;P&gt;                           L_AREA_ID&lt;/P&gt;&lt;P&gt;                           L_STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : R_REGION , R_DIST , R_AREA , R_STORE .&lt;/P&gt;&lt;P&gt;  CLEAR : R_REGION[] , R_DIST[] , R_AREA[] , R_STORE[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate region&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT L_REGION_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    R_REGION-SIGN = C_SIGN.&lt;/P&gt;&lt;P&gt;    R_REGION-OPTION = C_OPT1.&lt;/P&gt;&lt;P&gt;    R_REGION-LOW = L_REGION_ID.&lt;/P&gt;&lt;P&gt;    APPEND R_REGION.&lt;/P&gt;&lt;P&gt;    CLEAR R_REGION.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate district&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT L_DIST_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    R_DIST-SIGN = C_SIGN.&lt;/P&gt;&lt;P&gt;    R_DIST-OPTION = C_OPT1.&lt;/P&gt;&lt;P&gt;    R_DIST-LOW = L_DIST_ID.&lt;/P&gt;&lt;P&gt;    APPEND R_DIST.&lt;/P&gt;&lt;P&gt;    CLEAR R_DIST.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT L_AREA_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    R_AREA-SIGN = C_SIGN.&lt;/P&gt;&lt;P&gt;    R_AREA-OPTION = C_OPT1.&lt;/P&gt;&lt;P&gt;    R_AREA-LOW = L_AREA_ID.&lt;/P&gt;&lt;P&gt;    APPEND R_AREA.&lt;/P&gt;&lt;P&gt;    CLEAR R_AREA.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate store&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT L_STORE_ID IS INITIAL.&lt;/P&gt;&lt;P&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  = L_STORE_ID&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              OUTPUT = L_STORE_ID.&lt;/P&gt;&lt;P&gt;    R_STORE-SIGN = C_SIGN.&lt;/P&gt;&lt;P&gt;    R_STORE-OPTION = C_OPT1.&lt;/P&gt;&lt;P&gt;    R_STORE-LOW = L_STORE_ID.&lt;/P&gt;&lt;P&gt;    APPEND R_STORE.&lt;/P&gt;&lt;P&gt;    CLEAR R_STORE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_RANGES&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_TABLE_ROW_VALUES&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;  Get the field values of the current row of the table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  l_stepl - current row no.&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_TABLE_ROW_VALUES USING L_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_REPID LIKE D020S-PROG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-REGION_ID'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-DIST_ID'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-AREA_ID'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-ATTR_VAL'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_STORE_INFO-STORE_ID'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'ZPRICELIST-ZLIST'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_REPID = G_REPID .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function to get the screen data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DYNAME     = L_REPID&lt;/P&gt;&lt;P&gt;            DYNUMB     = SY-DYNNR&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DYNPFIELDS = I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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.                    " GET_TABLE_ROW_VALUES&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  DETERMINE_LEVEL&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;Determine the level of store grouping info entered&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;    Region                  - 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Region/Dist             - 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Region/Dist/Area        - 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Region/Dist/Area/Store  - 4&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 DETERMINE_LEVEL USING    P_I_STORE_INFO LIKE I_STORE_INFO.&lt;/P&gt;&lt;P&gt;  IF NOT P_I_STORE_INFO-REGION_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_STORE_INFO-DIST_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_STORE_INFO-AREA_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_STORE_INFO-STORE_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_I_STORE_INFO-LEVEL = C_LEVEL1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_I_STORE_INFO-REGION_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND NOT P_I_STORE_INFO-DIST_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_STORE_INFO-AREA_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_STORE_INFO-STORE_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_I_STORE_INFO-LEVEL = C_LEVEL2.&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 NOT P_I_STORE_INFO-REGION_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND NOT P_I_STORE_INFO-DIST_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND  NOT P_I_STORE_INFO-AREA_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_STORE_INFO-STORE_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_I_STORE_INFO-LEVEL = C_LEVEL3.&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 NOT P_I_STORE_INFO-REGION_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND NOT P_I_STORE_INFO-DIST_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND NOT P_I_STORE_INFO-AREA_ID IS INITIAL&lt;/P&gt;&lt;P&gt;     AND NOT P_I_STORE_INFO-STORE_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_I_STORE_INFO-LEVEL = C_LEVEL4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DETERMINE_LEVEL&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_SY_STEPL&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;    Get the current record number in the table control.&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_L_STEPL  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_SY_STEPL USING    P_L_STEPL LIKE SY-STEPL.&lt;/P&gt;&lt;P&gt;  CLEAR P_L_STEPL.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_GET_STEPL'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;           POVSTEPL        = P_L_STEPL&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        STEPL_NOT_FOUND = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        OTHERS          = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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.                    " GET_SY_STEPL&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_POPUP_CONFIRM&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;      Display the popup to confirm the user&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_POPUP_CONFIRM USING    P_L_ANS&lt;/P&gt;&lt;P&gt;                                P_G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            TITLEBAR      = G_LINE_TEXT&lt;/P&gt;&lt;P&gt;            TEXT_QUESTION = P_G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            ANSWER        = P_L_ANS.&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.                    " GET_POPUP_CONFIRM&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  GOTO_SKU_HIER_SCREEN&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;Upon user wishes to go to the detail screen , a check is performed&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to determine if any existing promo or pricing is already available&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for the entered store grouping info . If it is available then&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;prompt a message to the user 'Already promo exists if  user wants to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;go to the detail screen ?'. If the user presses 'Yes' then then&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;detail screen will appear otherwise the header screen will appear&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 GOTO_SKU_HIER_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR G_CHECK_ENTRY.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check the store grouping entries beforr switching to detail screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CHECK_STORE_ENTRIES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK G_CHECK_ENTRY IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE I_STORE_INFO WITH KEY REGION_ID = C_SPACE&lt;/P&gt;&lt;P&gt;                                   DIST_ID = C_SPACE&lt;/P&gt;&lt;P&gt;                                   AREA_ID = C_SPACE&lt;/P&gt;&lt;P&gt;                                   STORE_ID = C_SPACE&lt;/P&gt;&lt;P&gt;                                   ATTR_VAL = C_SPACE.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    DELETE I_STORE_INFO WHERE  REGION_ID = C_SPACE&lt;/P&gt;&lt;P&gt;                        AND    DIST_ID = C_SPACE&lt;/P&gt;&lt;P&gt;                        AND    AREA_ID = C_SPACE&lt;/P&gt;&lt;P&gt;                        AND    STORE_ID = C_SPACE&lt;/P&gt;&lt;P&gt;                        AND    ATTR_VAL = C_SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform check for the duplicate store grouping data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CHECK_DUPLICATE_STRGRP_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If any duplicate entry is found then user will be prompted with the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;message if he/she wants to delete those duplicate entries . If 'Yes'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is pressed then all the duplicate entries will be deleted or else&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if 'No' is pressed , then user will remain in the same header screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF    G_DUPLICATE_ENTRY = C_X.&lt;/P&gt;&lt;P&gt;    CONCATENATE TEXT-058 TEXT-059&lt;/P&gt;&lt;P&gt;    INTO   G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;    SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;    CLEAR G_ANS.&lt;/P&gt;&lt;P&gt;    CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the pop-up to confirm the operation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                    G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                    G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    IF G_ANS = '1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete the duplicate entries&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM I_STORE_INFO COMPARING REGION_ID&lt;/P&gt;&lt;P&gt;                                                             DIST_ID&lt;/P&gt;&lt;P&gt;                                                             AREA_ID&lt;/P&gt;&lt;P&gt;                                                             STORE_ID&lt;/P&gt;&lt;P&gt;                                                             ATTR_VAL.&lt;/P&gt;&lt;P&gt;      MESSAGE S161(ZS) WITH TEXT-003.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform the duplicate entry check for create or change pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF G_MAIN_OKCODE = 'PRCC' OR G_MAIN_OKCODE = 'CRPR'.&lt;/P&gt;&lt;P&gt;      IF I_STORE_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS) WITH TEXT-004.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR G_FLAG.&lt;/P&gt;&lt;P&gt;        LOOP AT I_STORE_INFO WHERE NOT REPROMO IS INITIAL.&lt;/P&gt;&lt;P&gt;          G_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prompt the message by calling the function module for pop-up confirm&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF NOT G_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;          CONCATENATE TEXT-061 TEXT-062&lt;/P&gt;&lt;P&gt;                       INTO G_POPUP_TEXT SEPARATED BY SPACE .&lt;/P&gt;&lt;P&gt;          CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;          PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                          G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                          G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;          IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;            CLEAR G_ANS.&lt;/P&gt;&lt;P&gt;            PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set top line of sku table to 1 and resolve nested screen calls&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            TBCL3-TOP_LINE = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           call screen 9002.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            LEAVE TO SCREEN 9002.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set top line of sku table to 1 and resolve nested screen calls&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          TBCL3-TOP_LINE = 1.&lt;/P&gt;&lt;P&gt;          LEAVE TO SCREEN 9002.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         call screen 9002.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&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;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If user does not input any store grouping info in the header screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and opts to go to the detail, then message will appear to the user as&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'A Promo is going to be applied on the Price List type '. This will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;necessarily be a % promo as the promo is going to applied across all&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the SKUs that belong to that price list type which is irrespective of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the price of individual SKUs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF I_STORE_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        IF G_PRICING_VIEW_FLAG = C_X       " DEVK939197&lt;/P&gt;&lt;P&gt;          OR G_PROMO_VIEW_FLAG = C_X.      " DEVK939197&lt;/P&gt;&lt;P&gt;          LEAVE TO SCREEN 9002.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          IF G_PROMO_PLTYP &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;            CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;            CONCATENATE TEXT-063 TEXT-062&lt;/P&gt;&lt;P&gt;                         INTO G_POPUP_TEXT SEPARATED BY SPACE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                            G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                            G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;            IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If user opts 'Yes' then another screen will appear where the user can&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;give the value of the % promo that is going to be applied on the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;pricelist type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              G_PROMO_PLTYP = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set top line of sku table to 1 and resolve nested screen calls&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              CLEAR I_STORE_INFO.&lt;/P&gt;&lt;P&gt;              I_STORE_INFO-LEVEL = C_LEVEL6.&lt;/P&gt;&lt;P&gt;              APPEND I_STORE_INFO.&lt;/P&gt;&lt;P&gt;              TBCL3-TOP_LINE = 1.&lt;/P&gt;&lt;P&gt;              PERFORM CHECK_EXIST_PROMO_STR .&lt;/P&gt;&lt;P&gt;              PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.&lt;/P&gt;&lt;P&gt;              LEAVE TO SCREEN 9002.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           call screen 9002.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         call screen 9006 starting at 10 5 ending at 70 10.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              MESSAGE S161(ZS) WITH TEXT-004.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR G_FLAG.&lt;/P&gt;&lt;P&gt;        LOOP AT I_STORE_INFO WHERE NOT REPROMO IS INITIAL.&lt;/P&gt;&lt;P&gt;          G_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        IF NOT G_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;          CONCATENATE TEXT-064 TEXT-062&lt;/P&gt;&lt;P&gt;                       INTO G_POPUP_TEXT SEPARATED BY SPACE .&lt;/P&gt;&lt;P&gt;          CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;          PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                          G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                          G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;          IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;            CLEAR G_ANS.&lt;/P&gt;&lt;P&gt;            PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set top line of sku table to 1 and resolve nested screen calls&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            TBCL3-TOP_LINE = 1.&lt;/P&gt;&lt;P&gt;            LEAVE TO SCREEN 9002.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           call screen 9002.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM EXISTING_SKU_BEFORE_DETAIL_SCR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set top line of sku table to 1 and resolve nested screen calls&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          TBCL3-TOP_LINE = 1.&lt;/P&gt;&lt;P&gt;          LEAVE TO SCREEN 9002.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         call screen 9002.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  ENDIF.&lt;/P&gt;&lt;P&gt;*endif.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GOTO_SKU_HIER_SCREEN&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  ADD_LINE_STR_GRP&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;      Add new entry to the store gropuing info&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 ADD_LINE_STR_GRP.&lt;/P&gt;&lt;P&gt;  G_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;  CLEAR I_STORE_INFO.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_STORE_INFO LINES L_LINE.&lt;/P&gt;&lt;P&gt;  DO 15 TIMES.&lt;/P&gt;&lt;P&gt;    I_STORE_INFO-LEVEL = C_LEVEL0.&lt;/P&gt;&lt;P&gt;    APPEND I_STORE_INFO.&lt;/P&gt;&lt;P&gt;    CLEAR I_STORE_INFO.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;  G_ADD_CNT = G_ADD_CNT + 15.&lt;/P&gt;&lt;P&gt;  G_LINE_CNT = 1.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ADD_LINE_STR_GRP&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  DELETE_LINE_STR_GRP&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;Delete selected entries which the user wants to perform a&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;delete operation .&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 DELETE_LINE_STR_GRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the store grouping table is blank then issue message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'No Entry is available for Selection.' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF I_STORE_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE S161(ZS) WITH TEXT-001.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if any entry in the store info table is checked for the delete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If selected, then issue a confirmation message to the user in pop-up&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE I_STORE_INFO WITH KEY SEL = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;      CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      G_POPUP_TEXT =  TEXT-065 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                      G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                      G_LINE_TEXT .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the user opts 'Yes' then delete the selected lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        DELETE I_STORE_INFO WHERE SEL = C_X.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS) WITH TEXT-002.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do the same deletion operation even if user does not select the line&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;but puts the cursor in any line entry.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      GET CURSOR LINE L_LINE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        L_LINE = L_LINE + TBCL_HEAD1-TOP_LINE - 1.&lt;/P&gt;&lt;P&gt;        CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;        G_POPUP_TEXT =  TEXT-065.&lt;/P&gt;&lt;P&gt;        CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                        G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                       G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;          DELETE I_STORE_INFO INDEX L_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Upon successful delete operation issue a success message to the user&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          MESSAGE S161(ZS) WITH TEXT-002.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS) WITH TEXT-006.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_STORE_INFO LINES G_ADD_CNT.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DELETE_LINE_STR_GRP&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  SELECT_ALL_ENTRIES&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; When the user selects the 'Select All' button, then select all the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;entries of the store grouping table by setting the SEL field to X for&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;each entry&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 SELECT_ALL_ENTRIES.&lt;/P&gt;&lt;P&gt;  IF I_STORE_INFO[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the store grouping table is blank then issue message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'No Entry is available for Selection.' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MESSAGE S161(ZS) WITH TEXT-001.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT I_STORE_INFO .&lt;/P&gt;&lt;P&gt;      I_STORE_INFO-SEL = C_X.&lt;/P&gt;&lt;P&gt;      MODIFY I_STORE_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    G_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SELECT_ALL_ENTRIES&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  DESELECT_ALL_ENTRIES&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;      Deselect all the entries in the table&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 DESELECT_ALL_ENTRIES.&lt;/P&gt;&lt;P&gt;  IF I_STORE_INFO[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the store grouping table is blank then issue message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'No Entry is available for Selection.' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MESSAGE S161(ZS) WITH TEXT-001.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT I_STORE_INFO .&lt;/P&gt;&lt;P&gt;      I_STORE_INFO-SEL = C_SPACE.&lt;/P&gt;&lt;P&gt;      MODIFY I_STORE_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DESELECT_ALL_ENTRIES&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  SAVE_PROMO&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;      Save the promo Event.&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 SAVE_PROMO.&lt;/P&gt;&lt;P&gt;  DATA: L_DATUM LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;        L_SUBRC LIKE SY-SUBRC .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate dept/class/subclass if sku or style is not blank&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_DEPT_CLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: G_PROMONO LIKE ZSDRETL_RMPHEAD-PP_ID.&lt;/P&gt;&lt;P&gt;  IF G_PROMO_CHG_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    G_PROMONO = G_PROMO_ID.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get number range for the promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'NUMBER_GET_NEXT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              NR_RANGE_NR   = C_NR_OBJ1&lt;/P&gt;&lt;P&gt;              OBJECT        = C_NROBJ&lt;/P&gt;&lt;P&gt;              QUANTITY      = '1'&lt;/P&gt;&lt;P&gt;              IGNORE_BUFFER = C_X&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              NUMBER        = G_PROMONO.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT G_PROMONO IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH I_RMPHEAD.&lt;/P&gt;&lt;P&gt;    CLEAR   WA_RMPHEAD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If Override flag is set for any SKU end that promo first&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE I_SKU_INFO WITH KEY OVERRIDE = C_X.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     perform end_existing_promo .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate Header information for Promo event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH I_RMPHEAD.&lt;/P&gt;&lt;P&gt;    CLEAR   WA_RMPHEAD.&lt;/P&gt;&lt;P&gt;    IF SY-DYNNR = '9006'.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PP_ID = G_PROMONO.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ID_TYPE = C_P.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PLTYP = ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-APPROVE = CHK_APR.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ERDAT = SY-DATUM.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ERNAM = SY-UNAME.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ID_DESC = G_PDESC.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-CLEARANCE = C_SPACE.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PROMO_TYPE = G_PTYPE.&lt;/P&gt;&lt;P&gt;      APPEND WA_RMPHEAD TO I_RMPHEAD.&lt;/P&gt;&lt;P&gt;      CLEAR  WA_RMPHEAD.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PP_ID = G_PROMONO.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ID_TYPE = C_P.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PLTYP = G_PRICELIST.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-APPROVE = CHK_APR.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ERDAT = SY-DATUM.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ERNAM = SY-UNAME.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ID_DESC = G_PDESC.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      L_SUBRC = 4.&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        IF I_SKU_INFO-END_DATE GE ZSDRETL_RMPHEAD-START_DATE .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      if i_sku_info-end_date ge sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          L_SUBRC = 0.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      IF L_SUBRC = 4.&lt;/P&gt;&lt;P&gt;        L_DATUM = ZSDRETL_RMPHEAD-START_DATE - 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_datum = sy-datum - 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        WA_RMPHEAD-END_DATE = L_DATUM.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        WA_RMPHEAD-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-CLEARANCE = G_CHK_CLR.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PROMO_TYPE = G_PROMO_TYPE.&lt;/P&gt;&lt;P&gt;      APPEND WA_RMPHEAD TO I_RMPHEAD.&lt;/P&gt;&lt;P&gt;      CLEAR  WA_RMPHEAD.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT I_RMPHEAD[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY ZSDRETL_RMPHEAD FROM TABLE I_RMPHEAD.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                  TEXT       = TEXT-067.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&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;Populate Store information for Promo event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH I_RMPSTORE.&lt;/P&gt;&lt;P&gt;    CLEAR   WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-DYNNR = '9006' OR G_PROMO_PLTYP = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-PP_ID = G_PROMONO.&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-RECNO = 0.&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-STORE_LEVEL = C_LEVEL6.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-ID_TYPE = C_P.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-PLTYP = G_PRICELIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND WA_RMPSTORE TO I_RMPSTORE.&lt;/P&gt;&lt;P&gt;      CLEAR WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LOOP AT I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-PP_ID = G_PROMONO.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-RECNO = SY-TABIX.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-REGION_ID = I_STORE_INFO-REGION_ID.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-DIST_ID = I_STORE_INFO-DIST_ID.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-AREA_ID = I_STORE_INFO-AREA_ID.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-STORE_ID = I_STORE_INFO-STORE_ID.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-ATTR_VAL = I_STORE_INFO-ATTR_VAL.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-STORE_LEVEL = I_STORE_INFO-LEVEL.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-ID_TYPE = C_P.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-PLTYP = G_PRICELIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND WA_RMPSTORE TO I_RMPSTORE.&lt;/P&gt;&lt;P&gt;        CLEAR WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT I_RMPSTORE[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF NOT I_RMPSTORE_TEMP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        READ TABLE I_RMPSTORE_TEMP INTO WA_RMPSTORE INDEX 1.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          PERFORM ENQUEUE USING WA_RMPSTORE-PP_ID.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        DELETE ZSDRETL_RMPSTORE FROM TABLE I_RMPSTORE_TEMP.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&lt;/P&gt;&lt;P&gt;          PERFORM DEQUE.&lt;/P&gt;&lt;P&gt;          REFRESH I_RMPSTORE_TEMP.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MODIFY ZSDRETL_RMPSTORE FROM TABLE I_RMPSTORE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                  TEXT       = TEXT-066.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate SKU information for Promo event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR: WA_RMPDETAIL , I_RMPDETAIL[].&lt;/P&gt;&lt;P&gt;    IF SY-DYNNR = '9006'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-PP_ID = G_PROMONO.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-RECNO = 0.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-VALUE = G_VAL_PLTYP.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-ZLEVEL = C_LEVEL1.&lt;/P&gt;&lt;P&gt;      APPEND WA_RMPDETAIL TO I_RMPDETAIL.&lt;/P&gt;&lt;P&gt;      CLEAR  WA_RMPDETAIL.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-PP_ID = G_PROMONO.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-RECNO = SY-TABIX.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-START_DATE = I_SKU_INFO-START_DATE.&lt;/P&gt;&lt;P&gt;        IF ZSDRETL_RMPHEAD-END_DATE LT ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      if zsdretl_rmphead-end_date lt sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          WA_RMPDETAIL-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WA_RMPDETAIL-END_DATE = I_SKU_INFO-END_DATE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-DEPT = I_SKU_INFO-DEPT.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-CLASS = I_SKU_INFO-CLASS.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-SUB_CLASS = I_SKU_INFO-SUB_CLASS.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-STYLE = I_SKU_INFO-STYLE.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-SKU = I_SKU_INFO-SKU.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-VALUE = I_SKU_INFO-VALUE.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-BASIC_PRICE = I_SKU_INFO-KBETR.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-ZLEVEL = I_SKU_INFO-TYPE.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-TOP_UP = I_SKU_INFO-TOP_UP.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-OVERRIDE = I_SKU_INFO-OVERRIDE.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-ZLEVEL = I_SKU_INFO-TYPE.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-REF_PROMO = I_SKU_INFO-REF_PROMO.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-ID_TYPE = C_P.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-PLTYP = G_PRICELIST.&lt;/P&gt;&lt;P&gt;        APPEND WA_RMPDETAIL TO I_RMPDETAIL.&lt;/P&gt;&lt;P&gt;        CLEAR  WA_RMPDETAIL.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT I_RMPDETAIL[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF NOT I_RMPDETAIL_TEMP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        READ TABLE I_RMPDETAIL_TEMP INTO WA_RMPDETAIL INDEX 1.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          PERFORM ENQUEUE USING WA_RMPDETAIL-PP_ID.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        DELETE ZSDRETL_RMPDETL FROM TABLE I_RMPDETAIL_TEMP.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&lt;/P&gt;&lt;P&gt;          PERFORM DEQUE.&lt;/P&gt;&lt;P&gt;          REFRESH I_RMPDETAIL_TEMP.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MODIFY ZSDRETL_RMPDETL FROM TABLE I_RMPDETAIL.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                  TEXT       = TEXT-068.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      IF G_PROMO_CHG_FLAG = C_X.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS)&lt;/P&gt;&lt;P&gt;             WITH TEXT-046 G_PROMONO TEXT-048.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS)&lt;/P&gt;&lt;P&gt;               WITH TEXT-046 G_PROMONO TEXT-049.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 9000.&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.                    " SAVE_PROMO&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  EXIT_FROM_HEADER_SCREEN&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;      Exit from header screen&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 EXIT_FROM_HEADER_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in case of view promo and view pricing , come back to the view/copy&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND (  G_PROMO_VIEW_FLAG = C_X&lt;/P&gt;&lt;P&gt;                                OR G_PRICING_VIEW_FLAG = C_X ).&lt;/P&gt;&lt;P&gt;    LEAVE TO SCREEN 9007.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if store grouping info table is empty then come back to the main menu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF I_STORE_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 9000.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if store grouping info contains a blank record then come to main menu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE I_STORE_INFO INDEX 1.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0 AND I_STORE_INFO-REGION_ID IS INITIAL&lt;/P&gt;&lt;P&gt;                      AND I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        LEAVE TO SCREEN 9000.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if SKU info table is blank then issue message if the user wants to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;exit from the header screen without entring the promo/pricing detail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR G_ANS .&lt;/P&gt;&lt;P&gt;        IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.&lt;/P&gt;&lt;P&gt;          G_POPUP_TEXT = TEXT-069.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          G_POPUP_TEXT = TEXT-070.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call FM for pop-up message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;          LEAVE TO SCREEN 9000.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if sku info is avilable &amp;amp; user presses exit then a message is issued&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if the user wants to leave without saving the promo/pricing event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR G_ANS .&lt;/P&gt;&lt;P&gt;        IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.&lt;/P&gt;&lt;P&gt;          G_POPUP_TEXT = TEXT-071.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          G_POPUP_TEXT = TEXT-072.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call FM for pop-up message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If user presses 'Yes' then go back to the main menu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;          LEAVE TO SCREEN 9000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if user pressed 'No' then prompts the message if the user wants to go&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;back without saving if it says 'Yes' , then go to the main menu and if&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it says 'No' then save the event and go back to main menu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSEIF G_ANS = C_ANS2.&lt;/P&gt;&lt;P&gt;          CLEAR G_ANS .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             message s161(zs) with text-164.&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;         IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           G_POPUP_TEXT = TEXT-073.&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;           G_POPUP_TEXT = TEXT-074.&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;Call FM for pop-up message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF G_ANS = C_ANS1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Call save pricing subroutine to save the pricing event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             MESSAGE S161(ZS) WITH TEXT-164.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;             perform save_pricing.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Call save promo subroutine to save the promo event&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;             perform save_promo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             MESSAGE S161(ZS) WITH TEXT-164.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EXIT_FROM_HEADER_SCREEN&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  VIEW_PROMOS&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;  Call subroutine to view all the pre-existing promos that are&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  available for the selected lines&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 VIEW_PROMOS.&lt;/P&gt;&lt;P&gt;  CASE SY-DYNNR.&lt;/P&gt;&lt;P&gt;    WHEN '9001'.&lt;/P&gt;&lt;P&gt;      G_DYNNR = SY-DYNNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display all the promo that are already exist for the selected entries&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in store grouping table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;logic is changed to check if any existing promo available with higher&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;store hierarchy&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM VIEW_PRE_PROMO_STRGRP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHEN '9002'.&lt;/P&gt;&lt;P&gt;      G_DYNNR = SY-DYNNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display all the promo that are already exist for the selected entries&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in sku hierarchy table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM VIEW_PROMO_FOR_SKUHIER1 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VIEW_PROMOS&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  VIEW_PRICING&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;      View the existing pricing if available for an entry&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 VIEW_PRICING.&lt;/P&gt;&lt;P&gt;  CASE SY-DYNNR.&lt;/P&gt;&lt;P&gt;    WHEN '9001'.&lt;/P&gt;&lt;P&gt;      G_DYNNR = SY-DYNNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display all the pricings that are already exist for  selected entries&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in store grouping table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM VIEW_PRE_PROMO_STRGRP .&lt;/P&gt;&lt;P&gt;    WHEN '9002'.&lt;/P&gt;&lt;P&gt;      G_DYNNR = SY-DYNNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display all the pricings that are already exist for  selected entries&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in sku hierarchy table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM VIEW_PROMO_FOR_SKUHIER1.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VIEW_PRICING&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  VIEW_PROMO_FOR_STRGRP&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;      Prepare the ALV scenarios to display the existing promos&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 VIEW_PROMO_FOR_STRGRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR   I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the field catalogue table for Stor grouping fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_CATALOGUE USING:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Position       Fieldname  Tablename  Title              Display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   '01'          'REGION_ID'    'I_STR_GRP1'    TEXT-075     ' ',&lt;/P&gt;&lt;P&gt;   '02'          'DIST_ID'      'I_STR_GRP1'    TEXT-076     ' ',&lt;/P&gt;&lt;P&gt;   '03'          'AREA_ID'      'I_STR_GRP1'    TEXT-077     ' ',&lt;/P&gt;&lt;P&gt;   '04'          'ATTR_VAL'     'I_STR_GRP1'    TEXT-078     ' ',&lt;/P&gt;&lt;P&gt;   '05'          'STORE_ID'     'I_STR_GRP1'    TEXT-079     ' ',&lt;/P&gt;&lt;P&gt;   '06'          'PP_ID'        'I_STR_GRP1'    TEXT-084     ' ',&lt;/P&gt;&lt;P&gt;   '07'          'START_DATE'   'I_STR_GRP1'    TEXT-082     ' ',&lt;/P&gt;&lt;P&gt;   '08'          'END_DATE'     'I_STR_GRP1'    TEXT-083     ' ',&lt;/P&gt;&lt;P&gt;   '09'          'PROMO_TYPE'   'I_STR_GRP1'    TEXT-080     ' ',&lt;/P&gt;&lt;P&gt;   '10'          'CLEARANCE'    'I_STR_GRP1'    TEXT-081     ' ',&lt;/P&gt;&lt;P&gt;   '11'          'ID_DESC'      'I_STR_GRP1'    TEXT-161     ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_FIELDCAT INTO STRUCT_CAT.&lt;/P&gt;&lt;P&gt;    CASE STRUCT_CAT-FIELDNAME.&lt;/P&gt;&lt;P&gt;      WHEN 'PROMO_TYPE'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_SPACE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'CLEARANCE'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_SPACE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'START_DATE'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-082.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-085.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'END_DATE'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-083.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-086.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'PP_ID'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-084 .&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-088.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;    MODIFY I_FIELDCAT FROM STRUCT_CAT INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR STRUCT_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  STRUCT_LAYOUT-COLWIDTH_OPTIMIZE = C_X.&lt;/P&gt;&lt;P&gt;  IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    STRUCT_LAYOUT-WINDOW_TITLEBAR   = TEXT-089.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    STRUCT_LAYOUT-WINDOW_TITLEBAR   = TEXT-090.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  STRUCT_LAYOUT-ZEBRA = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate sort table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_SORT_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate event table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_EVENT_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function to display the list of existing promos in ALV format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_CALLBACK_PROGRAM = G_REPID&lt;/P&gt;&lt;P&gt;            IS_LAYOUT          = STRUCT_LAYOUT&lt;/P&gt;&lt;P&gt;            IT_FIELDCAT        = I_FIELDCAT&lt;/P&gt;&lt;P&gt;            IT_SORT            = I_SORTTAB[]&lt;/P&gt;&lt;P&gt;            IT_EVENTS          = I_EVENT[]&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            T_OUTTAB           = I_STR_GRP1&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            PROGRAM_ERROR      = 1&lt;/P&gt;&lt;P&gt;            OTHERS             = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VIEW_PROMO_FOR_STRGRP&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  POPULATE_CATALOGUE&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;      Populating general informations for output format&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_position     Column position&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;p_fname        Field name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;p_tabname      Internal table name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;p_title        Title&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;p_display      Display/No display&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 POPULATE_CATALOGUE USING    P_POSITION TYPE SYCUCOL&lt;/P&gt;&lt;P&gt;                                 P_FNAME    TYPE FIELDNAME&lt;/P&gt;&lt;P&gt;                                 P_TABNAME  TYPE TABNAME&lt;/P&gt;&lt;P&gt;                                 P_TITLE    TYPE REPTEXT&lt;/P&gt;&lt;P&gt;                                 P_DISPLAY  TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  STRUCT_CAT-COL_POS      = P_POSITION.&lt;/P&gt;&lt;P&gt;  STRUCT_CAT-FIELDNAME    = P_FNAME.&lt;/P&gt;&lt;P&gt;  STRUCT_CAT-TABNAME      = P_TABNAME.&lt;/P&gt;&lt;P&gt;  STRUCT_CAT-REPTEXT_DDIC = P_TITLE.&lt;/P&gt;&lt;P&gt;  STRUCT_CAT-NO_OUT       = P_DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND STRUCT_CAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR STRUCT_CAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_CATALOGUE&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  IMPORT_SKU_STAT&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;Call the screen to get the file path of the excel file which contains&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the SKU hierarchies.&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 IMPORT_SKU_STAT.&lt;/P&gt;&lt;P&gt;  CLEAR G_FILEPATH.&lt;/P&gt;&lt;P&gt;  CALL SCREEN 9005 STARTING AT 10 5 ENDING AT 82 9.&lt;/P&gt;&lt;P&gt;  G_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " IMPORT_SKU_STAT&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  IMPORT_SKU&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;      Trap the okcode which is meant for import SKU request&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 IMPORT_SKU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " IMPORT_SKU&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  CANCEL_FILE_PATH&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;      Get the okcode value while cancel the File Path Screen&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 CANCEL_FILE_PATH.&lt;/P&gt;&lt;P&gt;  G_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CANCEL_FILE_PATH&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  ADD_LINE_SKUS&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;Add the SKU hierarchy entries retrieved from the excel file to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the existing SKU information entered in the detail screen.&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 ADD_LINE_SKUS.&lt;/P&gt;&lt;P&gt;  G_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;  CLEAR I_SKU_INFO.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_SKU_INFO LINES L_LINE.&lt;/P&gt;&lt;P&gt;  DO 14 TIMES.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-TYPE = C_LEVEL0.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;    APPEND I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    CLEAR I_SKU_INFO.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ADD_LINE_SKUS&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  DELETE_LINE_SKUS&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;      Delete the selected entries from the SKU hierarchy table&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 DELETE_LINE_SKUS.&lt;/P&gt;&lt;P&gt;  G_OKCODE = OKCODE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no entry is found in the detail table then issue the message to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user as 'No Entry is available for Selection.'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE S161(ZS) WITH TEXT-001.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the SKU info table is not blank and lines are selected for the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;delete then issue a pop-up message for confirmation . If the user&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;opts for 'Yes' then deleted the selected lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE I_SKU_INFO WITH KEY SEL = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;      G_POPUP_TEXT =  TEXT-065.&lt;/P&gt;&lt;P&gt;      CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                      G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                      G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        DELETE I_SKU_INFO WHERE SEL = C_X.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS) WITH TEXT-002.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;User even can delete a particular entry just by putting cursor on it&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      GET CURSOR LINE L_LINE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        L_LINE = L_LINE + TBCL3-TOP_LINE - 1.&lt;/P&gt;&lt;P&gt;        CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;        G_POPUP_TEXT =  TEXT-065.&lt;/P&gt;&lt;P&gt;        CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                        G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                        G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;          DELETE I_SKU_INFO INDEX L_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MESSAGE S161(ZS) WITH TEXT-002.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS) WITH TEXT-006.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform check_for_hidden_rows.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DELETE_LINE_SKUS&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  CONV_DATE&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;      Convert the date to its external format.&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_SY_DATUM  input date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_G_CREA_DATE  output date&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 CONV_DATE USING    P_DATUM&lt;/P&gt;&lt;P&gt;               CHANGING P_DATE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;P&gt;           DATE_INTERNAL            = P_DATUM&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;           DATE_EXTERNAL            = P_DATE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        DATE_INTERNAL_IS_INVALID = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        OTHERS                   = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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.                    " CONV_DATE&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  SELECT_ALL_SKUHIER&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;      Select all entries in SKU hierarchy table&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 SELECT_ALL_SKUHIER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE S161(ZS) WITH TEXT-001.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO .&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-SEL = C_X.&lt;/P&gt;&lt;P&gt;      MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    G_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SELECT_ALL_SKUHIER&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  DESELECT_ALL_SKUHIER&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;      Deselect all SKU hierarchy entries that are selected&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 DESELECT_ALL_SKUHIER.&lt;/P&gt;&lt;P&gt;  IF I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE S161(ZS) WITH TEXT-001.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO .&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-SEL = C_SPACE.&lt;/P&gt;&lt;P&gt;      MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DESELECT_ALL_SKUHIER&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_TABLE_ROW_SKUVALUES&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; Get field values of all the fields of an entry of the SKU Info table&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_G_STEPL  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_TABLE_ROW_SKUVALUES USING    L_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_REPID LIKE D020S-PROG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_STEPL = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate the filed name to get the department value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-DEPT'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate the filed name to get the class value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-CLASS'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate the filed name to get the sub class value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-SUB_CLASS'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate the filed name to get the style value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-STYLE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate the filed name to get the SKU value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-SKU'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate the filed name to get the % or $ value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-VALUE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate the filed name to get the end date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-KBETR'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate the filed name to get the start date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-START_DATE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate the filed name to get the end date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-END_DATE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_REPID = G_REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function module to read the field position and name and get the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the values of the corresponding fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DYNAME     = L_REPID&lt;/P&gt;&lt;P&gt;            DYNUMB     = SY-DYNNR&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DYNPFIELDS = I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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.                    " GET_TABLE_ROW_SKUVALUES&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_TABLE_ROW_VALUES_SKU&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;      Read the field values of the current row of the sku table&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_G_STEPL  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_TABLE_ROW_VALUES_SKU USING    L_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_REPID LIKE D020S-PROG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate field name for department&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-DEPT'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate field name for class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-CLASS'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate field name for sub class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-SUB_CLASS'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate field name for style&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = L_STEPL.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'I_SKU_INFO-STYLE'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_REPID = G_REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function module to read department , class , subclass and style&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;values in the current row of the table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DYNAME     = L_REPID&lt;/P&gt;&lt;P&gt;            DYNUMB     = SY-DYNNR&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DYNPFIELDS = I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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.                    " GET_TABLE_ROW_VALUES_SKU&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  EXIT_FROM_DETAIL_SCREEN&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;      Exit from the detail screen.&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 EXIT_FROM_DETAIL_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the user is in view/copy promo/pricing screen then go back to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;main menu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND (   G_PROMO_VIEW_FLAG = C_X&lt;/P&gt;&lt;P&gt;                                 OR G_PRICING_VIEW_FLAG = C_X ).&lt;/P&gt;&lt;P&gt;    LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;  ELSEIF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For all other case , prompt a message if the user wants to exit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;without saving the promo event.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    G_POPUP_TEXT = TEXT-072.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call FM for pop-up message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the user opts 'Yes' then go back to the main menu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 9000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if the user opts 'No' then save the event and go back to the main menu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF G_ANS = C_ANS2.&lt;/P&gt;&lt;P&gt;      CLEAR G_ANS .&lt;/P&gt;&lt;P&gt;      G_POPUP_TEXT = TEXT-074.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call FM for pop-up message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS) WITH TEXT-194.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;        IF I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;          MESSAGE S161(ZS) WITH TEXT-044.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call save promo subroutine to save the promo event&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939319&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MESSAGE S161(ZS) WITH TEXT-194.&lt;/P&gt;&lt;UL&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;         perform save_promo.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939319&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF G_PRICING_FLAG = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For all other case , prompt a message if the user wants to exit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;without saving the pricing event.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    G_POPUP_TEXT = TEXT-071.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call FM for pop-up message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the user opts 'Yes' then go back to the main menu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 9000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if the user opts 'No' then save the event and go back to the main menu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF G_ANS = C_ANS2.&lt;/P&gt;&lt;P&gt;      CLEAR G_ANS .&lt;/P&gt;&lt;P&gt;      G_POPUP_TEXT = TEXT-073.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call FM for pop-up message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        IF I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;          MESSAGE S161(ZS) WITH TEXT-044.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call save promo subroutine to save the promo event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM SAVE_PRICING.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EXIT_FROM_DETAIL_SCREEN&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  POPULATE_RANGES_SKU_HIER&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;      Populate range tables for department , class and sub class&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 POPULATE_RANGES_SKU_HIER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate department&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH R_MVGR2.&lt;/P&gt;&lt;P&gt;  IF NOT G_DEPT IS INITIAL AND G_PROMO_TYPE = C_% .&lt;/P&gt;&lt;P&gt;    R_MVGR2-SIGN = C_SIGN.&lt;/P&gt;&lt;P&gt;    R_MVGR2-OPTION = C_OPT1.&lt;/P&gt;&lt;P&gt;    R_MVGR2-LOW = G_DEPT.&lt;/P&gt;&lt;P&gt;    APPEND R_MVGR2.&lt;/P&gt;&lt;P&gt;    CLEAR  R_MVGR2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH R_MVGR3.&lt;/P&gt;&lt;P&gt;  IF NOT G_CLASS IS INITIAL AND G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;    R_MVGR3-SIGN = C_SIGN.&lt;/P&gt;&lt;P&gt;    R_MVGR3-OPTION = C_OPT1.&lt;/P&gt;&lt;P&gt;    R_MVGR3-LOW = G_CLASS.&lt;/P&gt;&lt;P&gt;    APPEND R_MVGR3.&lt;/P&gt;&lt;P&gt;    CLEAR  R_MVGR3.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate sub class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH R_MVGR4.&lt;/P&gt;&lt;P&gt;  IF NOT G_SUBCLASS IS INITIAL AND G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;    R_MVGR4-SIGN = C_SIGN.&lt;/P&gt;&lt;P&gt;    R_MVGR4-OPTION = C_OPT1.&lt;/P&gt;&lt;P&gt;    R_MVGR4-LOW = G_SUBCLASS.&lt;/P&gt;&lt;P&gt;    APPEND R_MVGR4.&lt;/P&gt;&lt;P&gt;    CLEAR  R_MVGR4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_RANGES_SKU_HIER&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  POPULATE_SKU_LEVEL&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;      POpulate the level of SKU hierarchy&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_I_SKU_INFO  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 POPULATE_SKU_LEVEL USING    P_I_SKU_INFO LIKE I_SKU_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if only department is populated then level is 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT P_I_SKU_INFO-DEPT IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_SKU_INFO-CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_SKU_INFO-SUB_CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_SKU_INFO-STYLE IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_I_SKU_INFO-TYPE = C_LEVEL2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if only department and class are populated then level is 3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT P_I_SKU_INFO-DEPT IS INITIAL&lt;/P&gt;&lt;P&gt;     AND NOT P_I_SKU_INFO-CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_SKU_INFO-SUB_CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_SKU_INFO-STYLE IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_I_SKU_INFO-TYPE = C_LEVEL3.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if only department, class and sub class are populated then level is 4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT P_I_SKU_INFO-DEPT IS INITIAL&lt;/P&gt;&lt;P&gt;     AND NOT P_I_SKU_INFO-CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;     AND NOT P_I_SKU_INFO-SUB_CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_SKU_INFO-STYLE IS INITIAL&lt;/P&gt;&lt;P&gt;     AND P_I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_I_SKU_INFO-TYPE = C_LEVEL4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if only style is populated then level is 5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF  NOT P_I_SKU_INFO-STYLE IS INITIAL&lt;/P&gt;&lt;P&gt;      AND P_I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_I_SKU_INFO-TYPE = C_LEVEL5.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if sku is populated then level is 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT P_I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_I_SKU_INFO-TYPE = C_LEVEL6.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_SKU_LEVEL&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_SKUDATA_FROM_FILE&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;      Retrieve the SKU info from the excel file&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_SKUDATA_FROM_FILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_SKU_BLANK LIKE SY-INDEX.&lt;/P&gt;&lt;P&gt;  CLEAR L_SKU_BLANK.&lt;/P&gt;&lt;P&gt;  REFRESH: I_FILE_SKU,&lt;/P&gt;&lt;P&gt;           I_SKU_DETAILS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;            TEXT       = TEXT-160.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function to convert the excel file data to an internal table data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            FILENAME    = G_FILEPATH&lt;/P&gt;&lt;P&gt;            I_BEGIN_COL = G_START_COL&lt;/P&gt;&lt;P&gt;            I_BEGIN_ROW = G_START_ROW&lt;/P&gt;&lt;P&gt;            I_END_COL   = G_END_COL&lt;/P&gt;&lt;P&gt;            I_END_ROW   = G_END_ROW&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            INTERN      = I_FILE_SKU&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INCONSISTENT_PARAMETERS       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UPLOAD_OLE                    = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                        = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the internal table is not empty then extract the SKU info data from&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it and populate the same to the internal table i_sku_details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHECK NOT I_FILE_SKU[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT I_FILE_SKU BY ROW COL.&lt;/P&gt;&lt;P&gt;  LOOP AT I_FILE_SKU INTO WA_CELLS.&lt;/P&gt;&lt;P&gt;    MOVE : WA_CELLS-COL TO G_INDEX.&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT G_INDEX  OF STRUCTURE I_SKU_DETAILS TO &amp;lt;$FS&amp;gt;.&lt;/P&gt;&lt;P&gt;    MOVE : WA_CELLS-VALUE TO &amp;lt;$FS&amp;gt;.&lt;/P&gt;&lt;P&gt;    AT END OF ROW.&lt;/P&gt;&lt;P&gt;      APPEND I_SKU_DETAILS.&lt;/P&gt;&lt;P&gt;      CLEAR I_SKU_DETAILS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append sku info from i_sku_details to the SKU info table in the detail&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE I_SKU_INFO WITH KEY DEPT = C_SPACE&lt;/P&gt;&lt;P&gt;                                 CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                 SUB_CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                 STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                 SKU = C_SPACE.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    L_SKU_BLANK = SY-TABIX.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LOOP AT I_SKU_DETAILS FROM 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-DEPT = I_SKU_DETAILS-DEPT.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-CLASS = I_SKU_DETAILS-CLASS.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-SUB_CLASS = I_SKU_DETAILS-SUB_CLASS.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-STYLE = I_SKU_DETAILS-STYLE.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-SKU = I_SKU_DETAILS-SKU.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-VALUE = I_SKU_DETAILS-VALUE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Translate style and SKU to upper case&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TRANSLATE:  I_SKU_INFO-DEPT TO UPPER CASE ,&lt;/P&gt;&lt;P&gt;                I_SKU_INFO-CLASS TO UPPER CASE ,&lt;/P&gt;&lt;P&gt;                I_SKU_INFO-SUB_CLASS TO UPPER CASE ,&lt;/P&gt;&lt;P&gt;                I_SKU_INFO-STYLE TO UPPER CASE ,&lt;/P&gt;&lt;P&gt;                I_SKU_INFO-SKU TO UPPER CASE .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_SKU_INFO-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;    IF L_SKU_BLANK IS INITIAL.&lt;/P&gt;&lt;P&gt;      APPEND I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      CLEAR I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      INSERT I_SKU_INFO INDEX L_SKU_BLANK.&lt;/P&gt;&lt;P&gt;      CLEAR I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      L_SKU_BLANK = L_SKU_BLANK + 1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-LINE_NO = SY-TABIX.&lt;/P&gt;&lt;P&gt;    MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH I_FILE_SKU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate dept/class/subclass for style and sku&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_DEPT_CLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_SKUDATA_FROM_FILE&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------" /&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;**&amp;amp;      Form  CHECK_EXIST_PROMO_SKUHIER&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------" /&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      Check for any existing promo in the SKU hierarchy level.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------" /&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 CHECK_EXIST_PROMO_SKUHIER.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: L_PP_ID LIKE ZSDRETL_RMPHEAD-PP_ID,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_DESC LIKE ZSDRETL_RMPHEAD-ID_DESC,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_CLR   LIKE ZSDRETL_RMPHEAD-CLEARANCE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_STARTDATE LIKE ZSDRETL_RMPHEAD-START_DATE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_ENDDATE LIKE ZSDRETL_RMPHEAD-END_DATE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_VALUE LIKE KONP-KBETR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE I_SKU_INFO WHERE NOT DEL_FLAG IS INITIAL.&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; REFRESH I_SKU_HIER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR   WA_SKU_HIER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Retrieve all the SKU details from the table ZSDRETL_STR_INFO for the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;same SKU info entered in the screen for the same date range&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT ZSDRETL_RMPDETL~DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPDETL~CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPDETL~SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPDETL~STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPDETL~SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPDETL~VALUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPDETL~START_DATE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPDETL~END_DATE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPHEAD~PROMO_TYPE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPHEAD~CLEARANCE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPDETL~TOP_UP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPHEAD~PP_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPDETL~RECNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ZSDRETL_RMPHEAD~ID_DESC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FROM ZSDRETL_RMPDETL INNER JOIN ZSDRETL_RMPHEAD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ON ZSDRETL_RMPDETL&lt;SUB&gt;PP_ID = ZSDRETL_RMPHEAD&lt;/SUB&gt;PP_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO TABLE I_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FOR ALL ENTRIES IN I_SKU_INFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WHERE ZSDRETL_RMPDETL~DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND   ZSDRETL_RMPDETL~CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND   ZSDRETL_RMPDETL~SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND   ZSDRETL_RMPDETL~STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND   ZSDRETL_RMPDETL~SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND   ZSDRETL_RMPDETL~ZLEVEL &amp;lt;&amp;gt; '1'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND ZSDRETL_RMPHEAD~ID_TYPE = C_P&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND ZSDRETL_RMPHEAD~PLTYP = ZPRICELIST-ZLIST&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   AND ZSDRETL_RMPDETL~START_DATE  LE ZSDRETL_RMPHEAD-END_DATE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   AND ZSDRETL_RMPDETL~END_DATE  GE ZSDRETL_RMPHEAD-START_DATE .&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;     CHECK NOT I_SKU_HIER[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     REFRESH: I_STR_GRP1 , I_STR_DATA.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;If any pre-existing SKU info is available for the same date range and&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**same SKU info then get all the store grouping also to be retrieved for&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;all the pre-existing sku infos&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            REGION_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            DIST_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            AREA_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            STORE_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            ATTR_VAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            PP_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FROM  ZSDRETL_RMPSTORE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      INTO TABLE I_STR_DATA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FOR ALL ENTRIES IN I_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      WHERE PP_ID = I_SKU_HIER-PP_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AND START_DATE  LT ZSDRETL_RMPHEAD-END_DATE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AND END_DATE  GT ZSDRETL_RMPHEAD-START_DATE .&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;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Compare the store info entered for the current SKU info with the&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**store info retrieved for the pre existing SKU info . If any successful&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;match is found in store grouping level then set the reference promo&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;flag to 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LOOP AT I_SKU_INFO WHERE CHECK_FLAG IS INITIAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           AND ( NOT DEPT IS INITIAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           OR NOT CLASS IS INITIAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           OR NOT SUB_CLASS IS INITIAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           OR NOT STYLE IS INITIAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           OR NOT SKU IS INITIAL ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CLEAR G_SKU_PROMO_EXIST.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         G_INDEX = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         LOOP AT I_SKU_HIER INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               WHERE DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               AND CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               AND SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               AND STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               AND SKU   = I_SKU_INFO-SKU .&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;           LOOP AT I_STR_DATA INTO WA_STR_DATA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   WHERE PP_ID = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             READ TABLE I_STORE_INFO WITH KEY&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REGION_ID = WA_STR_DATA-REGION_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     DIST_ID = WA_STR_DATA-DIST_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     AREA_ID = WA_STR_DATA-AREA_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    STORE_ID  = WA_STR_DATA-STORE_ID.&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;               WA_SKU_HIER-STORE_MATCH = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               MODIFY I_SKU_HIER INDEX G_INDEX1 FROM WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       TRANSPORTING STORE_MATCH.&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;             ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               CLEAR WA_SKU_HIER-STORE_MATCH.&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;           ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;If any reference promo is found then populate reference promo , promo&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;type , clearance, start date and end date of the reference promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         READ TABLE I_SKU_HIER INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     SKU   = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     PROMO_TYPE = C_$&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     STORE_MATCH = C_X.&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;           L_PP_ID = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           L_DESC = WA_SKU_HIER-ID_DESC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           L_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           L_STARTDATE = WA_SKU_HIER-START_DATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           L_ENDDATE = WA_SKU_HIER-END_DATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           L_VALUE = WA_SKU_HIER-VALUE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           READ TABLE I_SKU_HIER INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                      SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       SKU   = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       PROMO_TYPE = C_%&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       STORE_MATCH = C_X.&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;             IF WA_SKU_HIER-TOP_UP = C_X AND G_PROMO_TYPE = C_$ .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REPROMO = C_REPROMO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO = L_PP_ID.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_TYPE = C_$.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_CLR = L_CLR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_START_DATE = L_STARTDATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_END_DATE = L_ENDDATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_VALUE = L_VALUE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_DESC = L_DESC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               MODIFY I_SKU_INFO INDEX G_INDEX .&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;               I_SKU_INFO-REPROMO = C_REPROMO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_DESC = WA_SKU_HIER-ID_DESC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_TYPE = C_%.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_START_DATE = WA_SKU_HIER-START_DATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_END_DATE = WA_SKU_HIER-END_DATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_VALUE = WA_SKU_HIER-VALUE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               MODIFY I_SKU_INFO INDEX G_INDEX .&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;             I_SKU_INFO-REPROMO = C_REPROMO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_DESC = WA_SKU_HIER-ID_DESC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_TYPE = C_$.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_START_DATE = WA_SKU_HIER-START_DATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_END_DATE = WA_SKU_HIER-END_DATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_VALUE = WA_SKU_HIER-VALUE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             MODIFY I_SKU_INFO INDEX G_INDEX .&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;           READ TABLE I_SKU_HIER INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                      SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       SKU   = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       PROMO_TYPE = C_%&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       STORE_MATCH = C_X.&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;             READ TABLE I_SKU_HIER INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                      SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         SKU   = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         PROMO_TYPE = C_$&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         STORE_MATCH = C_X.&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;               I_SKU_INFO-REPROMO = C_REPROMO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_DESC = WA_SKU_HIER-ID_DESC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_TYPE = C_%.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_START_DATE = WA_SKU_HIER-START_DATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_END_DATE = WA_SKU_HIER-END_DATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_VALUE = WA_SKU_HIER-VALUE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               MODIFY I_SKU_INFO INDEX G_INDEX1 .&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;               CLEAR I_SKU_INFO-REPROMO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               MODIFY I_SKU_INFO INDEX G_INDEX1 .&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;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;       ENDLOOP.&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;     LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR I_SKU_INFO-REPROMO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR I_SKU_INFO-REF_PROMO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MODIFY I_SKU_INFO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDLOOP.&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;*ENDFORM.                    " CHECK_EXIST_PROMO_SKUHIER&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  SAVE_PROMO_OR_PRICING&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;      Save the promo or pricing event&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 SAVE_PROMO_OR_PRICING.&lt;/P&gt;&lt;P&gt;  DATA: L_INDEX(4) TYPE C,&lt;/P&gt;&lt;P&gt;        L_TEXT(250) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: L_LEN TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check for validation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_VAL = C_SPACE.&lt;/P&gt;&lt;P&gt;    MESSAGE S161(ZS) WITH TEXT-180.&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;  DELETE I_SKU_INFO WHERE DEPT IS INITIAL&lt;/P&gt;&lt;P&gt;                      AND CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;                      AND SUB_CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;                      AND STYLE IS INITIAL&lt;/P&gt;&lt;P&gt;                      AND SKU IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for duplicate entries in sku hierarchy info&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CHECK_DUPLICATE_ENTRIES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If any duplicate entry is found, then issue message to the user&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_DUPLICATE_ENTRY = C_X.&lt;/P&gt;&lt;P&gt;    CONCATENATE TEXT-058 TEXT-059&lt;/P&gt;&lt;P&gt;          INTO   G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;          SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;    CLEAR G_ANS.&lt;/P&gt;&lt;P&gt;    CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                    G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                    G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    IF G_ANS = C_ANS1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     delete adjacent duplicates from i_sku_info comparing dept&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                          class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                          sub_class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                          style&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                          sku.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      REFRESH I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      CLEAR   I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO[] = I_SKU_INFO_TEMP[].&lt;/P&gt;&lt;P&gt;      REFRESH I_SKU_INFO_TEMP.&lt;/P&gt;&lt;P&gt;      CLEAR   I_SKU_INFO_TEMP.&lt;/P&gt;&lt;P&gt;      MESSAGE S161(ZS) WITH TEXT-003.&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-LINE_NO = SY-TABIX.&lt;/P&gt;&lt;P&gt;        MODIFY I_SKU_INFO INDEX SY-TABIX TRANSPORTING LINE_NO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&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;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Existing Style check in case of pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR G_EXIT.&lt;/P&gt;&lt;P&gt;    IF G_PRICING_FLAG = C_X OR G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      PERFORM CHECK_EXISTING_STYLE.&lt;/P&gt;&lt;P&gt;      IF G_EXIT = C_X.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;invalid entry check&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;              TEXT       = TEXT-169.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: L_MVKE_MATNR LIKE MVKE-MATNR.&lt;/P&gt;&lt;P&gt;    CLEAR G_EXIT.&lt;/P&gt;&lt;P&gt;    G_VKORG = ZPRICELIST-ZLIST(4).&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO WHERE NOT STYLE IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR L_MVKE_MATNR.&lt;/P&gt;&lt;P&gt;      IF NOT I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE MVKE~MATNR&lt;/P&gt;&lt;P&gt;        FROM MVKE INNER JOIN ZSDRETL_ACTVSKU&lt;/P&gt;&lt;P&gt;        ON MVKE&lt;SUB&gt;MATNR = ZSDRETL_ACTVSKU&lt;/SUB&gt;SKU&lt;/P&gt;&lt;P&gt;        INTO L_MVKE_MATNR&lt;/P&gt;&lt;P&gt;        WHERE MVKE~MATNR = I_SKU_INFO-SKU&lt;/P&gt;&lt;P&gt;        AND   MVKE~VKORG = G_VKORG&lt;/P&gt;&lt;P&gt;        AND   MVKE~VTWEG = '00'.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          CLEAR: G_CHAR , G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-165.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&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;      IF I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;        REFRESH R_STYLE.&lt;/P&gt;&lt;P&gt;        R_STYLE-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;        R_STYLE-OPTION = C_OPT2.&lt;/P&gt;&lt;P&gt;        CONCATENATE I_SKU_INFO-STYLE C_STAR INTO R_STYLE-LOW.&lt;/P&gt;&lt;P&gt;        APPEND R_STYLE.&lt;/P&gt;&lt;P&gt;        CLEAR  R_STYLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT MVKE~MATNR&lt;/P&gt;&lt;P&gt;        FROM MVKE INNER JOIN ZSDRETL_ACTVSKU&lt;/P&gt;&lt;P&gt;        ON MVKE&lt;SUB&gt;MATNR = ZSDRETL_ACTVSKU&lt;/SUB&gt;SKU&lt;/P&gt;&lt;P&gt;        UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;        INTO L_MVKE_MATNR&lt;/P&gt;&lt;P&gt;        WHERE MVKE~MATNR IN R_STYLE&lt;/P&gt;&lt;P&gt;        AND   MVKE~VKORG = G_VKORG&lt;/P&gt;&lt;P&gt;        AND   MVKE~VTWEG = '00'.&lt;/P&gt;&lt;P&gt;        ENDSELECT.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          CLEAR: G_CHAR , G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-165.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;          EXIT.&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;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    IF G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR G_EXIT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check empty values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                TEXT       = TEXT-170.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_INFO WITH KEY VALUE = 0&lt;/P&gt;&lt;P&gt;                                     ZERO_VAL_CHECK = C_SPACE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CLEAR G_ZEROVAL_CHK .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF G_ZEROVAL_CHK IS INITIAL.&lt;/P&gt;&lt;P&gt;        READ TABLE I_SKU_INFO WITH KEY VALUE = 0.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT I_SKU_INFO WHERE VALUE = 0 AND ZERO_VAL_CHECK = C_SPACE.&lt;/P&gt;&lt;P&gt;            CLEAR L_INDEX.&lt;/P&gt;&lt;P&gt;            L_INDEX = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;           CONCATENATE L_TEXT L_INDEX INTO L_TEXT SEPARATED BY C_COMMA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            L_LEN = STRLEN( L_TEXT ).&lt;/P&gt;&lt;P&gt;            IF L_LEN GT 50 .&lt;/P&gt;&lt;P&gt;              CONCATENATE L_TEXT '...' INTO L_TEXT .&lt;/P&gt;&lt;P&gt;              EXIT.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;          CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;        CONCATENATE  'You are applying zero % to items on this promo :'&lt;/P&gt;&lt;P&gt;                                       L_TEXT '.' INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CONCATENATE G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;      'Do You Want to Continue ? ' INTO G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          G_LINE_TEXT = 'Warning'.&lt;/P&gt;&lt;P&gt;          PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                    G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                    G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;          IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;            G_ZEROVAL_CHK = C_X.&lt;/P&gt;&lt;P&gt;            LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;              IF I_SKU_INFO-VALUE = 0.&lt;/P&gt;&lt;P&gt;                I_SKU_INFO-ZERO_VAL_CHECK = C_X.&lt;/P&gt;&lt;P&gt;           MODIFY I_SKU_INFO INDEX SY-TABIX TRANSPORTING ZERO_VAL_CHECK.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDLOOP.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            MESSAGE S161(ZS) WITH TEXT-163.&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;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_INFO WITH KEY VALUE = 0 ZERO_VAL_CHECK = C_SPACE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                  TEXT       = TEXT-170.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT I_SKU_INFO WHERE VALUE = 0 AND ZERO_VAL_CHECK = C_SPACE.&lt;/P&gt;&lt;P&gt;          CLEAR L_INDEX.&lt;/P&gt;&lt;P&gt;          L_INDEX = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE L_TEXT L_INDEX INTO L_TEXT SEPARATED BY C_COMMA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          L_LEN = STRLEN( L_TEXT ).&lt;/P&gt;&lt;P&gt;          IF L_LEN GT 50 .&lt;/P&gt;&lt;P&gt;            CONCATENATE L_TEXT '...' INTO L_TEXT .&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        IF L_TEXT &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;P&gt;          CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Zero Values are not allowed. '&lt;/P&gt;&lt;P&gt;                      'Please refer Line no.:'&lt;/P&gt;&lt;P&gt;                        L_TEXT '.' INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          G_LINE_TEXT = 'Warning'.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_LINE_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = G_POPUP_TEXT.&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;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;More value check&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;              TEXT       = TEXT-167.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR G_EXIT.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      G_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF I_SKU_INFO-STYLE &amp;lt;&amp;gt; C_SPACE AND I_SKU_INFO-KBETR = 0.&lt;/P&gt;&lt;P&gt;        TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;        CLEAR: G_CHAR , G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;        G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                  TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                  TXT2  = TEXT-172.&lt;/P&gt;&lt;P&gt;        G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;        EXIT.&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;      IF G_PROMO_TYPE = C_$ AND G_PRICING_FLAG &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;P&gt;        IF NOT I_SKU_INFO-KBETR IS INITIAL&lt;/P&gt;&lt;P&gt;                              AND I_SKU_INFO-VALUE EQ I_SKU_INFO-KBETR.&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CLEAR: G_CHAR , G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-039.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if promo type is $ and value is greater than the basic price then&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT I_SKU_INFO-KBETR IS INITIAL&lt;/P&gt;&lt;P&gt;                              AND I_SKU_INFO-VALUE GT I_SKU_INFO-KBETR .&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CLEAR: G_POPUP_TEXT , G_CHAR.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-040.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is a percent promo and value is greater than 99 then issue error&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;        IF NOT I_SKU_INFO-VALUE IS INITIAL AND I_SKU_INFO-VALUE GE 100.&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CLEAR: G_POPUP_TEXT , G_CHAR.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-041.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&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;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    IF G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR  G_EXIT .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If any duplicate entry is not found then read the SKU info table if&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for any entry reference promo is available or not . If it is available&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;then perform a check on these entries&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF  G_PROMO_FLAG = C_X OR G_PROMO_COPY_FLAG = C_X  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;*Begin of DEVK939308&lt;/P&gt;&lt;P&gt;        READ TABLE I_SKU_INFO WITH KEY REPROMO = C_REPROMO1.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the sub routine for save promo event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM SAVE_PROMO.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         g_index = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform a check over all the entries in the SKU info table where a&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;reference promo is already available&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          G_LINE_TEXT = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONDENSE G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No :' G_LINE_TEXT INTO G_LINE_TEXT&lt;/P&gt;&lt;P&gt;          SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;          PERFORM INFORM_EXIST_PROMO USING TEXT-178&lt;/P&gt;&lt;P&gt;                                           TEXT-114&lt;/P&gt;&lt;P&gt;                                           G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&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;End of DEVK939308&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS) WITH TEXT-005.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF G_PRICING_FLAG = C_X OR G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    IF NOT I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_INFO WITH KEY REPROMO = C_REPROMO1.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        PERFORM SAVE_PRICING.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        G_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;        PERFORM CHECK_EXIST_PRICING USING I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-CHECK_FLAG = C_X.&lt;/P&gt;&lt;P&gt;        MODIFY I_SKU_INFO INDEX G_INDEX.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE S161(ZS) WITH TEXT-005.&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.                    " SAVE_PROMO_OR_PRICING&lt;/P&gt;&lt;P&gt;&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  SAVE_PRICING&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;      Save Pricing Events&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 SAVE_PRICING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_DATUM LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;        L_SUBRC LIKE SY-SUBRC .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate dept/class/subclass if sku or style is not blank&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_DEPT_CLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR G_PRICINGNO.&lt;/P&gt;&lt;P&gt;  G_PTYPE = C_$.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the pricing number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_PRICING_CHG_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    G_PRICINGNO = G_PRICING_ID.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get number range for the pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'NUMBER_GET_NEXT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              NR_RANGE_NR   = C_NR_OBJ2&lt;/P&gt;&lt;P&gt;              OBJECT        = C_NROBJ&lt;/P&gt;&lt;P&gt;              QUANTITY      = '1'&lt;/P&gt;&lt;P&gt;              IGNORE_BUFFER = C_X&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              NUMBER        = G_PRICINGNO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 NOT G_PRICINGNO IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate Header information for Pricing event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH I_RMPHEAD.&lt;/P&gt;&lt;P&gt;    CLEAR   WA_RMPHEAD.&lt;/P&gt;&lt;P&gt;    IF SY-DYNNR = '9006'.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ID_TYPE = C_F.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PLTYP = ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-APPROVE = CHK_APR.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ERDAT = SY-DATUM.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ERNAM = SY-UNAME.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ID_DESC = G_PDESC.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-CLEARANCE = C_SPACE.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PROMO_TYPE = G_PTYPE.&lt;/P&gt;&lt;P&gt;      APPEND WA_RMPHEAD TO I_RMPHEAD.&lt;/P&gt;&lt;P&gt;      CLEAR  WA_RMPHEAD.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PP_ID = G_PRICINGNO.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ID_TYPE = C_F.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PLTYP = G_PRICELIST.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-APPROVE = CHK_APR.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ERDAT = SY-DATUM.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ERNAM = SY-UNAME.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-ID_DESC = G_PDESC.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      L_SUBRC = 4.&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      if i_sku_info-end_date ge sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF I_SKU_INFO-END_DATE GE ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;          L_SUBRC = 0.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      IF L_SUBRC = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      l_datum = sy-datum - 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        L_DATUM = ZSDRETL_RMPHEAD-START_DATE - 1.&lt;/P&gt;&lt;P&gt;        WA_RMPHEAD-END_DATE = L_DATUM.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        WA_RMPHEAD-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_rmphead-end_date = zsdretl_rmphead-end_date.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WA_RMPHEAD-CLEARANCE = C_SPACE.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;      APPEND WA_RMPHEAD TO I_RMPHEAD.&lt;/P&gt;&lt;P&gt;      CLEAR  WA_RMPHEAD.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT I_RMPHEAD[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify the header table zsdretl_rmphead with the pricing header data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MODIFY ZSDRETL_RMPHEAD FROM TABLE I_RMPHEAD.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                  TEXT       = TEXT-091.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&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;Populate Store information for Promo event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH I_RMPSTORE.&lt;/P&gt;&lt;P&gt;    CLEAR   WA_RMPSTORE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the store info if the user wants to apply promo on the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;price list type. In this case store grouping level will be set to 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF SY-DYNNR = '9006'.&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-PP_ID = G_PRICINGNO.&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-RECNO = 0.&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPSTORE-STORE_LEVEL = C_LEVEL6.&lt;/P&gt;&lt;P&gt;      APPEND WA_RMPSTORE TO I_RMPSTORE.&lt;/P&gt;&lt;P&gt;      CLEAR WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LOOP AT I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-PP_ID = G_PRICINGNO.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-RECNO = SY-TABIX.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-REGION_ID = I_STORE_INFO-REGION_ID.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-DIST_ID = I_STORE_INFO-DIST_ID.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-AREA_ID = I_STORE_INFO-AREA_ID.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-STORE_ID = I_STORE_INFO-STORE_ID.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-ATTR_VAL = I_STORE_INFO-ATTR_VAL.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-STORE_LEVEL = I_STORE_INFO-LEVEL.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-ID_TYPE = C_F.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-PLTYP = G_PRICELIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND WA_RMPSTORE TO I_RMPSTORE.&lt;/P&gt;&lt;P&gt;        CLEAR WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT I_RMPSTORE[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF NOT I_RMPSTORE_TEMP[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete all the entries from the store grouping table in case of change&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;promo . This is required to implement any modification in that pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        DELETE ZSDRETL_RMPSTORE FROM TABLE I_RMPSTORE_TEMP.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&lt;/P&gt;&lt;P&gt;          REFRESH I_RMPSTORE_TEMP.&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;Modify the store table zsdretl_rmpstore with the store grouping info&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MODIFY ZSDRETL_RMPSTORE FROM TABLE I_RMPSTORE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                  TEXT       = TEXT-092.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate SKU information for Pricing event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR: WA_RMPDETAIL , I_RMPDETAIL[].&lt;/P&gt;&lt;P&gt;    IF SY-DYNNR = '9006'.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-PP_ID = G_PRICINGNO.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-RECNO = 0.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-VALUE = G_VAL_PLTYP.&lt;/P&gt;&lt;P&gt;      WA_RMPDETAIL-ZLEVEL = C_LEVEL1.&lt;/P&gt;&lt;P&gt;      APPEND WA_RMPDETAIL TO I_RMPDETAIL.&lt;/P&gt;&lt;P&gt;      CLEAR  WA_RMPDETAIL.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-PP_ID = G_PRICINGNO.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-RECNO = SY-TABIX.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      if zsdretl_rmphead-end_date lt sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF ZSDRETL_RMPHEAD-END_DATE LT ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;          WA_RMPDETAIL-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WA_RMPDETAIL-END_DATE = I_SKU_INFO-END_DATE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_rmpdetail-end_date = zsdretl_rmphead-end_date.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        WA_RMPDETAIL-DEPT = I_SKU_INFO-DEPT.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-CLASS = I_SKU_INFO-CLASS.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-SUB_CLASS = I_SKU_INFO-SUB_CLASS.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-STYLE = I_SKU_INFO-STYLE.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-SKU = I_SKU_INFO-SKU.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-VALUE = I_SKU_INFO-VALUE.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-BASIC_PRICE = I_SKU_INFO-KBETR.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-ZLEVEL = I_SKU_INFO-TYPE.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-TOP_UP = I_SKU_INFO-TOP_UP.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-ZLEVEL = I_SKU_INFO-TYPE.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-REF_PROMO = I_SKU_INFO-REF_PROMO.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-ID_TYPE = C_F.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-PLTYP = G_PRICELIST.&lt;/P&gt;&lt;P&gt;        APPEND WA_RMPDETAIL TO I_RMPDETAIL.&lt;/P&gt;&lt;P&gt;        CLEAR  WA_RMPDETAIL.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF NOT I_RMPDETAIL[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF NOT I_RMPDETAIL_TEMP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete all the entries from the sku hierarchy table in case of change&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;promo . This is required to implement any modification in that pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        DELETE ZSDRETL_RMPDETL FROM TABLE I_RMPDETAIL_TEMP.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&lt;/P&gt;&lt;P&gt;          REFRESH I_RMPDETAIL_TEMP.&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;Modify the sku table zsdretl_rmpdetail with the sku hierarchy info&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MODIFY ZSDRETL_RMPDETL FROM TABLE I_RMPDETAIL.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                  TEXT       = TEXT-093.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&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;If modification does not happen then issue error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      IF G_PRICING_CHG_FLAG = C_X.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS)&lt;/P&gt;&lt;P&gt;        WITH TEXT-047 G_PRICINGNO TEXT-048.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE S161(ZS)&lt;/P&gt;&lt;P&gt;              WITH TEXT-047 G_PRICINGNO TEXT-049.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 9000.&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.                    " SAVE_PRICING&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  VIEW_PROMO_FOR_SKUHIER_ALV&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;      View all the existing promos for the SKU infos in ALV&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 VIEW_PROMO_FOR_SKUHIER_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH I_SKU_HIER_TEMP.&lt;/P&gt;&lt;P&gt;  I_SKU_HIER_TEMP[] = I_SKU_HIER[].&lt;/P&gt;&lt;P&gt;  REFRESH I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR   I_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate field catalogue for the SKU info tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_CATALOGUE USING:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Position  Fieldname  Tablename  Title              Display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   '01'   'SKU_LINE_REF'  'I_SKU_HIER'    TEXT-182      C_SPACE,&lt;/P&gt;&lt;P&gt;   '02'   'EXIST'      'I_SKU_HIER'    TEXT-198      C_SPACE,&lt;/P&gt;&lt;P&gt;   '03'   'DEPT'       'I_SKU_HIER'    TEXT-095      C_SPACE,&lt;/P&gt;&lt;P&gt;   '04'   'CLASS'      'I_SKU_HIER'    TEXT-094      C_SPACE,&lt;/P&gt;&lt;P&gt;   '05'   'SUB_CLASS'  'I_SKU_HIER'    TEXT-096      C_SPACE,&lt;/P&gt;&lt;P&gt;   '06'   'STYLE'      'I_SKU_HIER'    TEXT-097      C_SPACE,&lt;/P&gt;&lt;P&gt;   '07'   'SKU'        'I_SKU_HIER'    TEXT-098      C_SPACE,&lt;/P&gt;&lt;P&gt;   '08'   'PP_ID'      'I_SKU_HIER'    TEXT-084      C_SPACE,&lt;/P&gt;&lt;P&gt;   '09'   'START_DATE' 'I_SKU_HIER'    TEXT-101      C_SPACE,&lt;/P&gt;&lt;P&gt;   '10'   'END_DATE'   'I_SKU_HIER'    TEXT-102      C_SPACE,&lt;/P&gt;&lt;P&gt;   '11'   'PROMO_TYPE' 'I_SKU_HIER'    TEXT-099      C_SPACE,&lt;/P&gt;&lt;P&gt;   '12'   'CLEARANCE'  'I_SKU_HIER'    TEXT-081      C_SPACE,&lt;/P&gt;&lt;P&gt;   '13'   'VALUE'      'I_SKU_HIER'    TEXT-103      C_SPACE,&lt;/P&gt;&lt;P&gt;   '14'   'ID_DESC'    'I_SKU_HIER'    TEXT-161      C_SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_FIELDCAT INTO STRUCT_CAT.&lt;/P&gt;&lt;P&gt;    CASE STRUCT_CAT-FIELDNAME.&lt;/P&gt;&lt;P&gt;      WHEN 'EXIST'.&lt;/P&gt;&lt;P&gt;        STRUCT_CAT-ICON = C_X.&lt;/P&gt;&lt;P&gt;      WHEN 'DEPT'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_SPACE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'CLASS'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_SPACE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'SUB_CLASS'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_SPACE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'PROMO_TYPE'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_SPACE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'CLEARANCE'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_SPACE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'START_DATE'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-104.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-105.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'END_DATE'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X OR G_PRICING_FLAG = C_X .&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-106.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-INPUT = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REF_FIELDNAME = 'END_DATE'.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REF_TABNAME = 'ZSDRETL_RMPDETL'.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-DATATYPE = 'ZEND_DATE'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-107.&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;      WHEN 'PP_ID'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-084.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-088.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'VALUE'.&lt;/P&gt;&lt;P&gt;        IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-REPTEXT_DDIC = TEXT-162.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-JUST = 'R'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          STRUCT_CAT-NO_OUT = C_SPACE.&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;    MODIFY I_FIELDCAT FROM STRUCT_CAT INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;    CLEAR STRUCT_CAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR STRUCT_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set title bar in the layout for Pre-existing Promos&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    STRUCT_LAYOUT-WINDOW_TITLEBAR  = TEXT-108.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set title bar in the layout for Pre-existing Pricings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    STRUCT_LAYOUT-WINDOW_TITLEBAR = TEXT-109 .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  STRUCT_LAYOUT-COLWIDTH_OPTIMIZE = C_X.&lt;/P&gt;&lt;P&gt;  STRUCT_LAYOUT-BOX_FIELDNAME = 'SEL'.&lt;/P&gt;&lt;P&gt;  STRUCT_LAYOUT-BOX_TABNAME = 'I_SKU_HIER'.&lt;/P&gt;&lt;P&gt;  STRUCT_LAYOUT-ZEBRA = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate sort table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_SORT_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate event table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_EVENT_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call FM to list the pre-existing promos in ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_CALLBACK_PROGRAM = G_REPID&lt;/P&gt;&lt;P&gt;            IS_LAYOUT          = STRUCT_LAYOUT&lt;/P&gt;&lt;P&gt;            IT_FIELDCAT        = I_FIELDCAT&lt;/P&gt;&lt;P&gt;            IT_SORT            = I_SORTTAB&lt;/P&gt;&lt;P&gt;            IT_EVENTS          = I_EVENT[]&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            T_OUTTAB           = I_SKU_HIER&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            PROGRAM_ERROR      = 1&lt;/P&gt;&lt;P&gt;            OTHERS             = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VIEW_PROMO_FOR_SKUHIER_ALV&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  CHK_PROMO_PERC_CLR&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;Check existing promo for promo type is percent and clearance&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 CHK_PROMO_PERC_CLR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If any clearance item is already available then issue message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to end the previous one and continue with the new one&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF I_SKU_INFO-REF_PROMO_CLR = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  concatenate text-110 text-111&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         into  g_popup_text separated by space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Get pop up for confirmation to end the existing clearance promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF G_ANS = C_ANS1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_SKU_INFO-OVERRIDE = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_PROMO_CHECKED = C_X.&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;    CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;    CONCATENATE  TEXT-114 TEXT-115&lt;/P&gt;&lt;P&gt;   INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the pop-up to confirm the deletion following which one deletion&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;flag will be set in the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-DEL_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&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;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no such clearance item is  available but a non-clearance with&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dollar promo is available then issue message to apply the $ promo&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;on the top of the percent promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF I_SKU_INFO-REF_PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;      CONCATENATE TEXT-112 TEXT-113&lt;/P&gt;&lt;P&gt;             INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get pop up for confirmation to set the top up flag&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-TOP_UP = C_X.&lt;/P&gt;&lt;P&gt;        G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no such clearance item is  available but a non-clearance with&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;percent promo is available then issue message to delete the current&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;line because two % are not applicable for a SKU&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF I_SKU_INFO-REF_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;      CONCATENATE  TEXT-114 TEXT-115&lt;/P&gt;&lt;P&gt;     INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the pop-up to confirm the deletion following which one deletion&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;flag will be set in the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-DEL_FLAG = C_X.&lt;/P&gt;&lt;P&gt;        G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHK_PROMO_PERC_CLR&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  CHK_PROMO_PERC_NONCLR&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;Check existing promo for promo type is percent and non-clearance case&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 CHK_PROMO_PERC_NONCLR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If a valid promo with clearance is already available then issue a&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;pop-up to end the previous promo and continue with the new one&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF I_SKU_INFO-REF_PROMO_CLR = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONCATENATE TEXT-116 TEXT-111&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF G_ANS = C_ANS1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_SKU_INFO-OVERRIDE = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;    CONCATENATE  TEXT-114 TEXT-115&lt;/P&gt;&lt;P&gt;   INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the pop-up to confirm the deletion following which one deletion&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;flag will be set in the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-DEL_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&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;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no such clearance item is  available but a non-clearance with&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dollar promo is available then issue message to apply % over dollar&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If user presses 'Yes' then set the top-up flag&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF I_SKU_INFO-REF_PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;      CONCATENATE TEXT-112 TEXT-113&lt;/P&gt;&lt;P&gt;            INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-TOP_UP = C_X.&lt;/P&gt;&lt;P&gt;        G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no such clearance item is  available but a non-clearance with&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;percent promo is available then issue message to delete the current&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;line item as because two percent promo for the same SKU hierarchy&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is not allowed.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF I_SKU_INFO-REF_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;      CONCATENATE  TEXT-114 TEXT-115&lt;/P&gt;&lt;P&gt;        INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-DEL_FLAG = C_X.&lt;/P&gt;&lt;P&gt;        G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHK_PROMO_PERC_NONCLR&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  CHK_PROMO_DOLLAR_CLR&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;Check existing promo for promo type is dollar and clearance case&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 CHK_PROMO_DOLLAR_CLR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If a valid promo with clearance is already available then issue the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;popu up message to end the previous one and continue with the current&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF I_SKU_INFO-REF_PROMO_CLR = C_X.&lt;/P&gt;&lt;P&gt;    CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;    CONCATENATE  TEXT-114 TEXT-115&lt;/P&gt;&lt;P&gt;   INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the pop-up to confirm the deletion following which one deletion&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;flag will be set in the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-DEL_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONCATENATE TEXT-116 TEXT-111&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF G_ANS = C_ANS1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_SKU_INFO-OVERRIDE = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If a non-clearance item with dollar promo is available then issue&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the pop up message to user to delete the line and continue , because&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;two dollar promo for the same store grouping &amp;amp; SKU info is not allowed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF I_SKU_INFO-REF_PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;      CONCATENATE TEXT-114 TEXT-115&lt;/P&gt;&lt;P&gt;            INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-DEL_FLAG = C_X.&lt;/P&gt;&lt;P&gt;        G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If a non-clearance item with percent promo is available then issue&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the pop up message to user to end the previous promo and continue&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;with the current one. In this case the override flag for the item will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be set&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF I_SKU_INFO-REF_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;      CONCATENATE  TEXT-117 TEXT-118&lt;/P&gt;&lt;P&gt;            INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-OVERRIDE = C_X.&lt;/P&gt;&lt;P&gt;        G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHK_PROMO_DOLLAR_CLR&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  CHK_PROMO_DOLLAR_NONCLR&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;Check existing promo for promo type is dollar and non-clearance case&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 CHK_PROMO_DOLLAR_NONCLR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If a valid clearance item is already available then issue message to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user with pop up to end the previous one and continue with the current&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF I_SKU_INFO-REF_PROMO_CLR = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;    CONCATENATE  TEXT-114 TEXT-115&lt;/P&gt;&lt;P&gt;   INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the pop-up to confirm the deletion following which one deletion&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;flag will be set in the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-DEL_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&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;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONCATENATE TEXT-116 TEXT-111&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF G_ANS = C_ANS1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_SKU_INFO-OVERRIDE = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_PROMO_CHECKED  = C_X.&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;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If a valid promo of dollar type exists then issue message to user with&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;pop up to delete the current line. This is because two dollar promo&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for the same SKU and store grouping info is not allowed.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF I_SKU_INFO-REF_PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;      CONCATENATE TEXT-114 TEXT-115&lt;/P&gt;&lt;P&gt;                INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-DEL_FLAG = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If a percent promo is already available , then issue message to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user with popup to end the previous promo &amp;amp; continue with the current&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF I_SKU_INFO-REF_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;      CONCATENATE  TEXT-117 TEXT-118&lt;/P&gt;&lt;P&gt;            INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;      IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-OVERRIDE = C_X.&lt;/P&gt;&lt;P&gt;        G_PROMO_CHECKED  = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear i_sku_info-repromo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHK_PROMO_DOLLAR_NONCLR&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  CHECK_EXIST_PROMO&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;      Check for the existing promo&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_I_SKU_INFO  SKU info record&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_G_TABIX  index of the current record&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 CHECK_EXIST_PROMO USING    I_SKU_INFO LIKE I_SKU_INFO.&lt;/P&gt;&lt;P&gt;  DATA: L_CHAR(3) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get all the records in SKU info table where there is a reference promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;  IF NOT I_SKU_INFO-REPROMO IS INITIAL.&lt;/P&gt;&lt;P&gt;    CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    L_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;    CONCATENATE TEXT-119 L_CHAR INTO G_LINE_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check existing promo where Promo type is % and clearance is checked .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;existing promo check if only sku is maintained&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR G_INDEX1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR G_EXACT_ENTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF I_SKU_INFO-SKU &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;P&gt;     AND I_SKU_INFO-STYLE &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;P&gt;     AND I_SKU_INFO-DEPT &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;P&gt;     AND I_SKU_INFO-CLASS &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;P&gt;     AND I_SKU_INFO-SUB_CLASS &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;P&gt;      CLEAR G_INDEX1 .&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                        WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                 CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                 SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                 STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;                                 SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;P&gt;                                 CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;P&gt;        G_EXACT_ENTRY = C_X.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                         WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                  CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                  SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                  STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;                                  SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                  CHECKED = SPACE.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;P&gt;          I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;          I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;          I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                           WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                    CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                    SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                    STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                    SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                    CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                             WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                      CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                      SUB_CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                      STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                      SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                      CHECKED = SPACE.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                               WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                        CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                        SUB_CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                        STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                        SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                        CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;              IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;                G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;P&gt;                I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;                I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;                I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;P&gt;                CLEAR: I_SKU_INFO-REF_PROMO_TYPE,&lt;/P&gt;&lt;P&gt;                       I_SKU_INFO-REF_PROMO_CLR.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        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;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;existing promo check if only style is maintained&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF I_SKU_INFO-SKU = C_SPACE&lt;/P&gt;&lt;P&gt;     AND I_SKU_INFO-STYLE &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;P&gt;     AND I_SKU_INFO-DEPT &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;P&gt;     AND I_SKU_INFO-CLASS &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;P&gt;     AND I_SKU_INFO-SUB_CLASS &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;P&gt;      CLEAR G_INDEX1 .&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                        WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                 CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                 SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                 STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;                                 SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                 CHECKED = SPACE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        G_EXACT_ENTRY = C_X.&lt;/P&gt;&lt;P&gt;        G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                         WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                  CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                  SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                  STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                  SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                  CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;P&gt;          I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;          I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;          I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                           WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                    CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                    SUB_CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                    STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                    SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                    CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                             WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                      CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                      SUB_CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                      STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                      SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                      CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              CLEAR: I_SKU_INFO-REF_PROMO_TYPE,&lt;/P&gt;&lt;P&gt;                     I_SKU_INFO-REF_PROMO_CLR.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF I_SKU_INFO-SKU &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-STYLE &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-DEPT &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-CLASS &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-SUB_CLASS &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR G_INDEX1 .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                CHECKED = C_SPACE.&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;       G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       G_EXACT_ENTRY = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;       READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                      SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CHECKED = SPACE.&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;         G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;         READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                      SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         CHECKED = SPACE.&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;           G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;           READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           CHECKED = SPACE.&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;             G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;             READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             CHECKED = SPACE.&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;               G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;               CLEAR: I_SKU_INFO-REF_PROMO_TYPE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      I_SKU_INFO-REF_PROMO_CLR.&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;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;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&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;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;existing promo check if only style is maintained&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF I_SKU_INFO-SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-STYLE &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-DEPT &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-CLASS &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-SUB_CLASS &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR G_INDEX1 .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   CHECKED = SPACE.&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;       G_EXACT_ENTRY = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;       READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                      SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CHECKED = SPACE.&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;         G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;         READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         CHECKED = SPACE.&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;           G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;           READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           CHECKED = SPACE.&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;             G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;             READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             CHECKED = SPACE.&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;               G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;               CLEAR: I_SKU_INFO-REF_PROMO_TYPE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      I_SKU_INFO-REF_PROMO_CLR.&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;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;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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;existing promo check if only dept/class/subclass is maintained&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF I_SKU_INFO-SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-DEPT &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-CLASS &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-SUB_CLASS &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR G_INDEX1 .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   CHECKED = SPACE.&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;       G_EXACT_ENTRY = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;       READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CHECKED = SPACE.&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;         G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;         READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         CHECKED = SPACE.&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;           G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;           CLEAR: I_SKU_INFO-REF_PROMO_TYPE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  I_SKU_INFO-REF_PROMO_CLR.&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;         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;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;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;existing promo check if only dept/class is maintained&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF I_SKU_INFO-SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-DEPT &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-CLASS &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-SUB_CLASS = C_SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR G_INDEX1 .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   CHECKED = SPACE.&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;       G_EXACT_ENTRY = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;       READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       DEPT =  I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       CHECKED = SPACE.&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;         G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;         CLEAR: I_SKU_INFO-REF_PROMO_TYPE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                I_SKU_INFO-REF_PROMO_CLR.&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;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;existing promo check if only dept is maintained&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF I_SKU_INFO-SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-DEPT &amp;lt;&amp;gt; C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND I_SKU_INFO-SUB_CLASS = C_SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR G_INDEX1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   SKU = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   STYLE = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   SUB_CLASS = C_SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   CHECKED = SPACE.&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;       G_INDEX1 = SY-TABIX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       G_EXACT_ENTRY = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&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;       CLEAR: I_SKU_INFO-REF_PROMO_TYPE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_SKU_INFO-REF_PROMO_CLR.&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;&lt;/P&gt;&lt;P&gt; IF    I_SKU_INFO-REF_PROMO_TYPE &amp;lt;&amp;gt; C_SPACE AND NOT G_INDEX1 IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            and  g_exact_entry = c_x .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR G_PROMO_CHECKED.&lt;/P&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_% AND G_CHK_CLR = C_X.&lt;/P&gt;&lt;P&gt;        PERFORM CHK_PROMO_PERC_CLR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     perform chk_promo_perc_clr1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check existing promo where promo type is % &amp;amp; clearance is not checked.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_% AND G_CHK_CLR = C_SPACE.&lt;/P&gt;&lt;P&gt;        PERFORM CHK_PROMO_PERC_NONCLR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check existing promo where Promo type is $ and clearance is checked .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_$ AND G_CHK_CLR = C_X.&lt;/P&gt;&lt;P&gt;        PERFORM CHK_PROMO_DOLLAR_CLR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check existing promo where Promo type is $ &amp;amp; clearance is not checked&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_$ AND G_CHK_CLR = C_SPACE.&lt;/P&gt;&lt;P&gt;        PERFORM CHK_PROMO_DOLLAR_NONCLR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF G_PROMO_CHECKED = C_X AND NOT G_INDEX1 IS INITIAL.&lt;/P&gt;&lt;P&gt;        WA_SKU_HIER-CHECKED = C_X.&lt;/P&gt;&lt;P&gt;        MODIFY I_SKU_HIER1 INDEX G_INDEX1 FROM WA_SKU_HIER.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR G_EXACT_ENTRY .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      WITH KEY REF_DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               REF_CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               REF_SUBCLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               REF_STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               REF_SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               CHECKED = C_SPACE.&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;     CLEAR I_SKU_INFO-REPROMO.&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;    IF NOT I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                         WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                  CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                  SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                  STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;                                  SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;P&gt;                                  CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                           WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                    CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                    SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                    STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;                                    SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                    CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                             WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                      CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                      SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                      STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                      SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                      CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                               WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                        CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                        SUB_CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                        STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                        SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                        CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;              READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                                 WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                          CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                          SUB_CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                          STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                          SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                          CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;              IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;                CLEAR I_SKU_INFO-REPROMO.&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;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF I_SKU_INFO-SKU IS INITIAL AND NOT I_SKU_INFO-STYLE IS INITIAL.&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                         WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                  CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                  SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                  STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;                                  SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                  CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                           WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                    CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                    SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                    STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                    SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                    CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                             WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                      CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                      SUB_CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                      STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                      SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                      CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            READ TABLE I_SKU_HIER1 INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                               WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                        CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                        SUB_CLASS = C_SPACE&lt;/P&gt;&lt;P&gt;                                        STYLE = C_SPACE&lt;/P&gt;&lt;P&gt;                                        SKU = C_SPACE&lt;/P&gt;&lt;P&gt;                                        CHECKED = C_SPACE.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;              CLEAR I_SKU_INFO-REPROMO.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_EXIST_PROMO&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  CHECK_ENTRIES&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;      Perform a check on all the SKU info entries . On checking if&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;any preexisting promo is found then issue various messages to the user&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to change the promos&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 CHECK_ENTRIES.&lt;/P&gt;&lt;P&gt;  DATA: L_TEXT(200) TYPE C,&lt;/P&gt;&lt;P&gt;        L_INDEX(5) TYPE C,&lt;/P&gt;&lt;P&gt;        L_SKU_TEXT(30) TYPE C,&lt;/P&gt;&lt;P&gt;        L_LINE(3) TYPE C,&lt;/P&gt;&lt;P&gt;        L_PP_ID LIKE ZSDRETL_RMPHEAD-PP_ID,&lt;/P&gt;&lt;P&gt;        L_CLSKU LIKE ZSDRETL_RMPDETL-SKU.&lt;/P&gt;&lt;P&gt;  DATA: L_LEN TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for validation.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_VAL = C_SPACE.&lt;/P&gt;&lt;P&gt;    MESSAGE S161(ZS) WITH TEXT-180.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  G_SUBRC = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if SKu detail is maintained.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_SKU_INFO WHERE NOT DEPT IS INITIAL&lt;/P&gt;&lt;P&gt;                           OR NOT CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;                           OR  NOT SUB_CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;                           OR  NOT STYLE IS INITIAL&lt;/P&gt;&lt;P&gt;                           OR  NOT SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;    G_SUBRC = 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF G_SUBRC = 4.&lt;/P&gt;&lt;P&gt;    MESSAGE S161(ZS) WITH TEXT-005.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR G_DUPLICATE_ENTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE I_SKU_INFO WHERE DEPT IS INITIAL&lt;/P&gt;&lt;P&gt;                    AND   CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;                    AND   SUB_CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;                    AND   STYLE IS INITIAL&lt;/P&gt;&lt;P&gt;                    AND   SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for duplicate entries in sku hierarchy info&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CHECK_DUPLICATE_ENTRIES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If any duplicate entry is found, then issue message to the user&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_DUPLICATE_ENTRY = C_X.&lt;/P&gt;&lt;P&gt;*Begin of Insert  DEVK941854 ** To display duplicate entries&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO_TEMP.&lt;/P&gt;&lt;P&gt;      CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;      IF NOT I_SKU_INFO_TEMP-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'SKU :' I_SKU_INFO_TEMP-SKU INTO L_SKU_TEXT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'Style :' I_SKU_INFO_TEMP-STYLE INTO L_SKU_TEXT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO WHERE LINE_NO &amp;lt;&amp;gt; I_SKU_INFO_TEMP-LINE_NO AND&lt;/P&gt;&lt;P&gt;                               SKU = I_SKU_INFO_TEMP-SKU AND&lt;/P&gt;&lt;P&gt;                               STYLE = I_SKU_INFO_TEMP-STYLE AND&lt;/P&gt;&lt;P&gt;                               SUB_CLASS = I_SKU_INFO_TEMP-SUB_CLASS AND&lt;/P&gt;&lt;P&gt;                               CLASS = I_SKU_INFO_TEMP-CLASS AND&lt;/P&gt;&lt;P&gt;                               DEPT = I_SKU_INFO_TEMP-DEPT.&lt;/P&gt;&lt;P&gt;        L_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;        CONCATENATE G_POPUP_TEXT L_LINE INTO&lt;/P&gt;&lt;P&gt;                    G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      IF NOT G_POPUP_TEXT IS INITIAL.&lt;/P&gt;&lt;P&gt;        CONDENSE G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;        PERFORM DISPLAY_POPUP_MESSAGE USING 'Duplicate Entries'&lt;/P&gt;&lt;P&gt;                                               L_SKU_TEXT&lt;/P&gt;&lt;P&gt;                                              'is duplicated at line(s)'&lt;/P&gt;&lt;P&gt;                                               G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                               ' '.&lt;/P&gt;&lt;P&gt;        CLEAR: L_SKU_TEXT, G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;*End of Insert  DEVK941854&lt;/P&gt;&lt;P&gt;    CONCATENATE  TEXT-060 TEXT-059&lt;/P&gt;&lt;P&gt;          INTO   G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;          SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;    CLEAR G_ANS.&lt;/P&gt;&lt;P&gt;    CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                    G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                    G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF G_ANS = C_ANS1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   delete adjacent duplicates from i_sku_info comparing dept&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                        class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                        sub_class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                        style&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                        sku.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      REFRESH I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      CLEAR   I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO[] = I_SKU_INFO_TEMP[].&lt;/P&gt;&lt;P&gt;      REFRESH I_SKU_INFO_TEMP.&lt;/P&gt;&lt;P&gt;      CLEAR   I_SKU_INFO_TEMP.&lt;/P&gt;&lt;P&gt;      MESSAGE S161(ZS) WITH TEXT-003.&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-LINE_NO = SY-TABIX.&lt;/P&gt;&lt;P&gt;        MODIFY I_SKU_INFO INDEX SY-TABIX TRANSPORTING LINE_NO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&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;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Existing Style check in case of pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR G_EXIT.&lt;/P&gt;&lt;P&gt;    IF G_PRICING_FLAG = C_X OR G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      PERFORM CHECK_EXISTING_STYLE.&lt;/P&gt;&lt;P&gt;      IF G_EXIT = C_X.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;invalid entry check&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;              TEXT       = TEXT-169.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: L_MVKE_MATNR LIKE MVKE-MATNR.&lt;/P&gt;&lt;P&gt;    G_VKORG = ZPRICELIST-ZLIST(4).&lt;/P&gt;&lt;P&gt;    CLEAR  G_EXIT.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO WHERE NOT STYLE IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR  G_EXIT.&lt;/P&gt;&lt;P&gt;      CLEAR L_MVKE_MATNR.&lt;/P&gt;&lt;P&gt;      IF NOT I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE MVKE~MATNR&lt;/P&gt;&lt;P&gt;        FROM MVKE INNER JOIN ZSDRETL_ACTVSKU&lt;/P&gt;&lt;P&gt;        ON MVKE&lt;SUB&gt;MATNR = ZSDRETL_ACTVSKU&lt;/SUB&gt;SKU&lt;/P&gt;&lt;P&gt;        INTO L_MVKE_MATNR&lt;/P&gt;&lt;P&gt;        WHERE MVKE~MATNR = I_SKU_INFO-SKU&lt;/P&gt;&lt;P&gt;        AND   MVKE~VKORG = G_VKORG&lt;/P&gt;&lt;P&gt;        AND   MVKE~VTWEG = '00'.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          CLEAR: G_CHAR , G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-165.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&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;      IF I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;        REFRESH R_STYLE.&lt;/P&gt;&lt;P&gt;        R_STYLE-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;        R_STYLE-OPTION = C_OPT2.&lt;/P&gt;&lt;P&gt;        CONCATENATE I_SKU_INFO-STYLE C_STAR INTO R_STYLE-LOW.&lt;/P&gt;&lt;P&gt;        APPEND R_STYLE.&lt;/P&gt;&lt;P&gt;        CLEAR  R_STYLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT MVKE~MATNR&lt;/P&gt;&lt;P&gt;        FROM MVKE INNER JOIN ZSDRETL_ACTVSKU&lt;/P&gt;&lt;P&gt;        ON MVKE&lt;SUB&gt;MATNR = ZSDRETL_ACTVSKU&lt;/SUB&gt;SKU&lt;/P&gt;&lt;P&gt;        UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;        INTO L_MVKE_MATNR&lt;/P&gt;&lt;P&gt;        WHERE MVKE~MATNR IN R_STYLE&lt;/P&gt;&lt;P&gt;        AND   MVKE~VKORG = G_VKORG&lt;/P&gt;&lt;P&gt;        AND   MVKE~VTWEG = '00'.&lt;/P&gt;&lt;P&gt;        ENDSELECT.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          CLEAR: G_CHAR , G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-165.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;          EXIT.&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;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    IF G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR G_EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for zero value entries for % promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                TEXT       = TEXT-170.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_INFO WITH KEY VALUE = 0&lt;/P&gt;&lt;P&gt;                                     ZERO_VAL_CHECK = C_SPACE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CLEAR G_ZEROVAL_CHK .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF G_ZEROVAL_CHK IS INITIAL.&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_INFO WITH KEY VALUE = 0 ZERO_VAL_CHECK = C_SPACE.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT I_SKU_INFO WHERE VALUE = 0 AND ZERO_VAL_CHECK = C_SPACE.&lt;/P&gt;&lt;P&gt;            CLEAR L_INDEX.&lt;/P&gt;&lt;P&gt;            L_INDEX = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;           CONCATENATE L_TEXT L_INDEX INTO L_TEXT SEPARATED BY C_COMMA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            L_LEN = STRLEN( L_TEXT ).&lt;/P&gt;&lt;P&gt;            IF L_LEN GT 50 .&lt;/P&gt;&lt;P&gt;              CONCATENATE L_TEXT '...' INTO L_TEXT .&lt;/P&gt;&lt;P&gt;              EXIT.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         CONCATENATE 'You are applying zero % to items on this promo :'&lt;/P&gt;&lt;P&gt;                                   L_TEXT '.' INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CONCATENATE G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;    'Do You Want to Continue ? ' INTO G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          G_LINE_TEXT = 'Warning'.&lt;/P&gt;&lt;P&gt;          PERFORM GET_POPUP_CONFIRM USING G_ANS&lt;/P&gt;&lt;P&gt;                                    G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                                    G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;          IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;            G_ZEROVAL_CHK = C_X.&lt;/P&gt;&lt;P&gt;            LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;              IF I_SKU_INFO-VALUE = 0.&lt;/P&gt;&lt;P&gt;                I_SKU_INFO-ZERO_VAL_CHECK = C_X.&lt;/P&gt;&lt;P&gt;           MODIFY I_SKU_INFO INDEX SY-TABIX TRANSPORTING ZERO_VAL_CHECK.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDLOOP.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            MESSAGE S161(ZS) WITH TEXT-163.&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;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_INFO WITH KEY VALUE = 0 ZERO_VAL_CHECK = C_SPACE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;                  TEXT       = TEXT-170.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT I_SKU_INFO WHERE VALUE = 0 AND ZERO_VAL_CHECK = C_SPACE.&lt;/P&gt;&lt;P&gt;          CLEAR L_INDEX.&lt;/P&gt;&lt;P&gt;          L_INDEX = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE L_TEXT L_INDEX INTO L_TEXT SEPARATED BY C_COMMA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          L_LEN = STRLEN( L_TEXT ).&lt;/P&gt;&lt;P&gt;          IF L_LEN GT 50 .&lt;/P&gt;&lt;P&gt;            CONCATENATE L_TEXT '...' INTO L_TEXT .&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        IF L_TEXT &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;P&gt;          CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Zero Values are not allowed. '&lt;/P&gt;&lt;P&gt;                      'Please refer Line no.:'&lt;/P&gt;&lt;P&gt;                        L_TEXT '.' INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          G_LINE_TEXT = 'Warning'.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_LINE_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = G_POPUP_TEXT.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for more value than basic price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;              TEXT       = TEXT-167.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR G_EXIT.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      G_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;      IF I_SKU_INFO-STYLE &amp;lt;&amp;gt; C_SPACE AND I_SKU_INFO-KBETR = 0.&lt;/P&gt;&lt;P&gt;        TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;        CLEAR: G_CHAR , G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;        G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                  TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                  TXT2  = TEXT-172.&lt;/P&gt;&lt;P&gt;        G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_$ AND G_PRICING_FLAG &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;P&gt;        IF NOT I_SKU_INFO-KBETR IS INITIAL&lt;/P&gt;&lt;P&gt;                              AND I_SKU_INFO-VALUE = I_SKU_INFO-KBETR.&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CLEAR: G_CHAR , G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-039.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if promo type is $ and value is greater than the basic price then&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT I_SKU_INFO-KBETR IS INITIAL&lt;/P&gt;&lt;P&gt;                            AND I_SKU_INFO-VALUE GT I_SKU_INFO-KBETR .&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CLEAR: G_POPUP_TEXT , G_CHAR.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-040.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is a percent promo and value is greater than 99 then issue error&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;        IF NOT I_SKU_INFO-VALUE IS INITIAL AND I_SKU_INFO-VALUE GE 100.&lt;/P&gt;&lt;P&gt;          TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CLEAR: G_POPUP_TEXT , G_CHAR.&lt;/P&gt;&lt;P&gt;          G_CHAR = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;          CONCATENATE 'Line No.:' G_CHAR INTO G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    TITEL = G_POPUP_TEXT&lt;/P&gt;&lt;P&gt;                    TXT1  = C_SPACE&lt;/P&gt;&lt;P&gt;                    TXT2  = TEXT-041.&lt;/P&gt;&lt;P&gt;          G_EXIT = C_X.&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;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    IF G_EXIT = C_X.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR  G_EXIT .&lt;/P&gt;&lt;P&gt;*Begin of insert DEVK941854&lt;/P&gt;&lt;P&gt;*Display message if SKU Clearance $ existing when Style non Clear $&lt;/P&gt;&lt;P&gt;*is entered&lt;/P&gt;&lt;P&gt;    IF G_PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        IF I_SKU_INFO-TYPE = 5.          "Style level promo&lt;/P&gt;&lt;P&gt;          SELECT SINGLE DETL&lt;SUB&gt;PP_ID DETL&lt;/SUB&gt;SKU&lt;/P&gt;&lt;P&gt;          INTO (L_PP_ID, L_CLSKU)&lt;/P&gt;&lt;P&gt;        FROM ZSDRETL_RMPDETL AS DETL INNER JOIN ZSDRETL_RMPHEAD AS HEAD&lt;/P&gt;&lt;P&gt;           ON DETL&lt;SUB&gt;PP_ID = HEAD&lt;/SUB&gt;PP_ID&lt;/P&gt;&lt;P&gt;           WHERE DETL~ZLEVEL = 6 AND          "SKU Level promo&lt;/P&gt;&lt;P&gt;            HEAD~ID_TYPE = C_P AND&lt;/P&gt;&lt;P&gt;            HEAD~PLTYP = ZPRICELIST-ZLIST AND&lt;/P&gt;&lt;P&gt;            HEAD~CLEARANCE = C_X AND         "Clearance&lt;/P&gt;&lt;P&gt;            HEAD~PROMO_TYPE = C_$ AND&lt;/P&gt;&lt;P&gt;            DETL~START_DATE  LE ZSDRETL_RMPHEAD-END_DATE AND&lt;/P&gt;&lt;P&gt;            DETL~END_DATE    GE ZSDRETL_RMPHEAD-START_DATE AND&lt;/P&gt;&lt;P&gt;            DETL~DEPT EQ I_SKU_INFO-DEPT AND&lt;/P&gt;&lt;P&gt;            DETL~CLASS EQ I_SKU_INFO-CLASS AND&lt;/P&gt;&lt;P&gt;            DETL~SUB_CLASS EQ I_SKU_INFO-SUB_CLASS AND&lt;/P&gt;&lt;P&gt;            DETL~STYLE EQ I_SKU_INFO-STYLE AND&lt;/P&gt;&lt;P&gt;            DETL~SKU NE SPACE  .&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;            SELECT SINGLE PP_ID&lt;/P&gt;&lt;P&gt;            INTO L_PP_ID&lt;/P&gt;&lt;P&gt;            FROM ZSDRETL_RMPSTORE&lt;/P&gt;&lt;P&gt;            WHERE ( REGION_ID IN R_REGION OR&lt;/P&gt;&lt;P&gt;                  DIST_ID IN R_DIST OR&lt;/P&gt;&lt;P&gt;                  AREA_ID IN R_AREA OR&lt;/P&gt;&lt;P&gt;                  STORE_ID IN R_STORE ) AND&lt;/P&gt;&lt;P&gt;                  PP_ID EQ L_PP_ID.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;           PERFORM DISPLAY_POPUP_MESSAGE USING 'Clearance Promo Exists'&lt;/P&gt;&lt;P&gt;                                                      'Clearance Promo'&lt;/P&gt;&lt;P&gt;                                                         L_PP_ID&lt;/P&gt;&lt;P&gt;                                                       'exists for SKU'&lt;/P&gt;&lt;P&gt;                                                         L_CLSKU.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;            SELECT SINGLE PP_ID             "Promo Exits at PLtype level&lt;/P&gt;&lt;P&gt;                    INTO L_PP_ID&lt;/P&gt;&lt;P&gt;                    FROM ZSDRETL_RMPSTORE&lt;/P&gt;&lt;P&gt;                    WHERE   PP_ID EQ L_PP_ID AND&lt;/P&gt;&lt;P&gt;                            REGION_ID EQ SPACE AND&lt;/P&gt;&lt;P&gt;                            DIST_ID EQ SPACE AND&lt;/P&gt;&lt;P&gt;                            AREA_ID EQ SPACE AND&lt;/P&gt;&lt;P&gt;                            STORE_ID EQ SPACE AND&lt;/P&gt;&lt;P&gt;                            PLTYP EQ SPACE.&lt;/P&gt;&lt;P&gt;              IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;            PERFORM DISPLAY_POPUP_MESSAGE USING 'Clearance Promo Exist'&lt;/P&gt;&lt;P&gt;                                                      'Clearance Promo'&lt;/P&gt;&lt;P&gt;                                                              L_PP_ID&lt;/P&gt;&lt;P&gt;                                                       'exists for SKU'&lt;/P&gt;&lt;P&gt;                                                              L_CLSKU.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*Display message of existing style/sku level discounts when adding&lt;/P&gt;&lt;P&gt;*sub class level discounts&lt;/P&gt;&lt;P&gt;    IF G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO WHERE TYPE = 4.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE DETL~PP_ID&lt;/P&gt;&lt;P&gt;        INTO L_PP_ID&lt;/P&gt;&lt;P&gt;        FROM ZSDRETL_RMPDETL AS DETL INNER JOIN ZSDRETL_RMPHEAD AS HEAD&lt;/P&gt;&lt;P&gt;         ON DETL&lt;SUB&gt;PP_ID = HEAD&lt;/SUB&gt;PP_ID&lt;/P&gt;&lt;P&gt;         WHERE DETL~ZLEVEL IN (5,6) AND          "Style/SKU Level promo&lt;/P&gt;&lt;P&gt;          HEAD~ID_TYPE = C_P AND&lt;/P&gt;&lt;P&gt;          HEAD~PLTYP = ZPRICELIST-ZLIST AND&lt;/P&gt;&lt;P&gt;          HEAD~PROMO_TYPE IN (C_$,C_%) AND&lt;/P&gt;&lt;P&gt;          DETL~START_DATE  LE ZSDRETL_RMPHEAD-END_DATE AND&lt;/P&gt;&lt;P&gt;          DETL~END_DATE    GE ZSDRETL_RMPHEAD-START_DATE AND&lt;/P&gt;&lt;P&gt;          DETL~DEPT EQ I_SKU_INFO-DEPT AND&lt;/P&gt;&lt;P&gt;          DETL~CLASS EQ I_SKU_INFO-CLASS AND&lt;/P&gt;&lt;P&gt;          DETL~SUB_CLASS EQ I_SKU_INFO-SUB_CLASS.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;           PERFORM DISPLAY_POPUP_MESSAGE USING&lt;/P&gt;&lt;P&gt;                                       'Style/SKU Level Promo Exists'&lt;/P&gt;&lt;P&gt;                                       'Style/SKU Level Promo Exists'&lt;/P&gt;&lt;P&gt;                                        'for sub class'&lt;/P&gt;&lt;P&gt;                                         I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                         ''.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*End of insert DEVK941854&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF G_INVALID_FLAG = C_X.&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;Begin of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE I_SKU_INFO WITH KEY REPROMO = C_REPROMO1.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for existing promos&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       perform check_exist_promo using i_sku_info .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        G_LINE_TEXT = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;        CONDENSE G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'Line No :' G_LINE_TEXT INTO G_LINE_TEXT&lt;/P&gt;&lt;P&gt;        SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;        PERFORM INFORM_EXIST_PROMO USING TEXT-178&lt;/P&gt;&lt;P&gt;                                         TEXT-114&lt;/P&gt;&lt;P&gt;                                         G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       perform check_exist_strict_promo using i_sku_info.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for existing pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        G_LINE_TEXT = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;        CONDENSE G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'Line No :' G_LINE_TEXT INTO G_LINE_TEXT&lt;/P&gt;&lt;P&gt;        SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;        PERFORM INFORM_EXIST_PROMO USING TEXT-178&lt;/P&gt;&lt;P&gt;                                         TEXT-179&lt;/P&gt;&lt;P&gt;                                         G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;        TBCL3-TOP_LINE = I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       perform check_exist_pricing using i_sku_info.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE S161(ZS) WITH TEXT-045.&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.                    " CHECK_ENTRIES&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_VALUES_FOR_PROMO&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;      Get all the  promo numbers for displaying in a search help&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_VALUES_FOR_PROMO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get all the promo ids from table zsdretl_rmphead&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR'.&lt;/P&gt;&lt;P&gt;    SELECT PP_ID&lt;/P&gt;&lt;P&gt;           ID_DESC&lt;/P&gt;&lt;P&gt;     FROM  ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;     INTO TABLE I_PROMO_TAB&lt;/P&gt;&lt;P&gt;     WHERE ID_TYPE = C_P .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and end_date ge sy-datum .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and   start_date gt sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and   end_date gt sy-datum .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and  ( start_date le sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            and end_date ge sy-datum ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    SELECT ZSDRETL_RMPHEAD~PP_ID&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~ID_DESC&lt;/P&gt;&lt;P&gt;     FROM  ZSDRETL_RMPHEAD INNER JOIN ZSDRETL_RMPDETL&lt;/P&gt;&lt;P&gt;     ON ZSDRETL_RMPHEAD&lt;SUB&gt;PP_ID = ZSDRETL_RMPDETL&lt;/SUB&gt;PP_ID&lt;/P&gt;&lt;P&gt;     INTO TABLE I_PROMO_TAB&lt;/P&gt;&lt;P&gt;     WHERE ZSDRETL_RMPHEAD~ID_TYPE = C_P&lt;/P&gt;&lt;P&gt;     AND ZSDRETL_RMPHEAD~END_DATE GE SY-DATUM&lt;/P&gt;&lt;P&gt;     AND ZSDRETL_RMPDETL~END_DATE GE SY-DATUM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and   start_date gt sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and   end_date gt sy-datum .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and end_date ge sy-datum.&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;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   sort i_promo_tab by pp_id.&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;Begin of DEVK939607&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT I_PROMO_TAB BY PP_ID DESCENDING.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939607&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM I_PROMO_TAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List all the promo numbers as a search help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_VALUE_ON_REQUEST TABLES I_PROMO_TAB&lt;/P&gt;&lt;P&gt;                                 USING C_PROMO_ID1&lt;/P&gt;&lt;P&gt;                                       C_PROMO_ID2&lt;/P&gt;&lt;P&gt;                                       SY-DYNNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_VALUES_FOR_PROMO&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  CALL_HEAD_SCR_FOR_PROMOCHANGE&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;      Call header screen for a promo change request&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 CALL_HEAD_SCR_FOR_PROMOCHANGE.&lt;/P&gt;&lt;P&gt;  G_PROMO_CHG_FLAG = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate header part&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM   ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;  INTO  WA_RMPHEAD&lt;/P&gt;&lt;P&gt;  WHERE PP_ID = G_PROMO_ID&lt;/P&gt;&lt;P&gt;  AND   ID_TYPE = C_P&lt;/P&gt;&lt;P&gt;  AND END_DATE GE SY-DATUM .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    APPEND WA_RMPHEAD TO I_RMPHEAD.&lt;/P&gt;&lt;P&gt;    G_ID = WA_RMPHEAD-PP_ID.&lt;/P&gt;&lt;P&gt;    G_PDESC = WA_RMPHEAD-ID_DESC.&lt;/P&gt;&lt;P&gt;    ZSDRETL_RMPHEAD-START_DATE = WA_RMPHEAD-START_DATE .&lt;/P&gt;&lt;P&gt;    ZSDRETL_RMPHEAD-END_DATE = WA_RMPHEAD-END_DATE .&lt;/P&gt;&lt;P&gt;    G_CREABY = WA_RMPHEAD-ERNAM.&lt;/P&gt;&lt;P&gt;    G_CREAON = WA_RMPHEAD-ERDAT.&lt;/P&gt;&lt;P&gt;    ZPRICELIST-ZLIST = WA_RMPHEAD-PLTYP.&lt;/P&gt;&lt;P&gt;    CHK_APR = WA_RMPHEAD-APPROVE.&lt;/P&gt;&lt;P&gt;    IF WA_RMPHEAD-PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;      G_DOLAR = C_X .&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      G_PERC = C_X.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF WA_RMPHEAD-CLEARANCE = C_X.&lt;/P&gt;&lt;P&gt;      G_CLR = C_X.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      G_NON_CLR = C_X.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate store grouping information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPSTORE&lt;/P&gt;&lt;P&gt;    INTO TABLE I_RMPSTORE&lt;/P&gt;&lt;P&gt;    WHERE PP_ID = G_PROMO_ID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   and start_date ge sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    AND END_DATE GE SY-DATUM.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE I_RMPSTORE INDEX 1 INTO WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0 AND WA_RMPSTORE-STORE_LEVEL = C_LEVEL6.&lt;/P&gt;&lt;P&gt;        G_PROMO_PLTYP = C_X.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      I_RMPSTORE_TEMP[] = I_RMPSTORE[].&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPSTORE INTO WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-REGION_ID = WA_RMPSTORE-REGION_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-DIST_ID = WA_RMPSTORE-DIST_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-AREA_ID = WA_RMPSTORE-AREA_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-STORE_ID = WA_RMPSTORE-STORE_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-ATTR_VAL = WA_RMPSTORE-ATTR_VAL.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-LEVEL = WA_RMPSTORE-STORE_LEVEL.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-CHANGE_FLAG = C_X.&lt;/P&gt;&lt;P&gt;        APPEND I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR I_STORE_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 9003.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     message s161(zs) with text-007.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate sku hierarchy information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPDETL&lt;/P&gt;&lt;P&gt;    INTO TABLE I_RMPDETAIL&lt;/P&gt;&lt;P&gt;    WHERE PP_ID = G_PROMO_ID&lt;/P&gt;&lt;P&gt;    AND END_DATE GE SY-DATUM.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      I_RMPDETAIL_TEMP[] = I_RMPDETAIL[].&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPDETAIL INTO WA_RMPDETAIL.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING WA_RMPDETAIL TO I_SKU_INFO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       i_sku_info-check_flag = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        APPEND I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR  I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  PERFORM CHECK_EXIST_PROMO_VIEW_SKUHIER.&lt;/P&gt;&lt;P&gt;  LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    CLEAR I_SKU_INFO-REPROMO.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-CHANGE_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for reference material and populate . This is required to calcu&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;late basic price of material&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform get_ref_material.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 9001.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALL_HEAD_SCR_FOR_PROMOCHANGE&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  VALIDATE_PROMO_ID&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;      Validate promo id entered in the screen&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 VALIDATE_PROMO_ID.&lt;/P&gt;&lt;P&gt;  DATA: L_ID LIKE ZSDRETL_RMPHEAD-PP_ID,   " Promo id&lt;/P&gt;&lt;P&gt;        L_REPID LIKE D020S-PROG,&lt;/P&gt;&lt;P&gt;        L_PPID LIKE ZSDRETL_RMPHEAD-PP_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the field value of the promo id from the screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = 0.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'G_PROMO_ID'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR G_PP_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_REPID = G_REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DYNAME     = L_REPID&lt;/P&gt;&lt;P&gt;            DYNUMB     = SY-DYNNR&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DYNPFIELDS = I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the promo entered from the table zsdretl_rmphead&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE I_DYNPREAD INTO WA_DYNPREAD&lt;/P&gt;&lt;P&gt;                        WITH KEY FIELDNAME = 'G_PROMO_ID'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0 AND NOT WA_DYNPREAD-FIELDVALUE IS INITIAL.&lt;/P&gt;&lt;P&gt;    L_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;    IF G_MAIN_OKCODE = 'VRPR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the promo id without considering date in case of view promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT SINGLE PP_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;      INTO G_PP_ID&lt;/P&gt;&lt;P&gt;      WHERE PP_ID = L_ID&lt;/P&gt;&lt;P&gt;      AND ID_TYPE = C_P.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and   start_date gt sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and   end_date gt sy-datum .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and  ( start_date le sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            and end_date ge sy-datum ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the promo id with considering date in case of change promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT ZSDRETL_RMPHEAD~PP_ID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          zsdretl_rmphead~id_desc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       FROM  ZSDRETL_RMPHEAD INNER JOIN ZSDRETL_RMPDETL&lt;/P&gt;&lt;P&gt;       ON ZSDRETL_RMPHEAD&lt;SUB&gt;PP_ID = ZSDRETL_RMPDETL&lt;/SUB&gt;PP_ID&lt;/P&gt;&lt;P&gt;       UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;       INTO L_PPID&lt;/P&gt;&lt;P&gt;       WHERE ZSDRETL_RMPHEAD~ID_TYPE = C_P&lt;/P&gt;&lt;P&gt;       AND ZSDRETL_RMPHEAD~END_DATE GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND ZSDRETL_RMPDETL~END_DATE GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND ZSDRETL_RMPHEAD~PP_ID = L_ID.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     select single pp_id&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     from zsdretl_rmphead&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     into g_pp_id&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     where pp_id = l_id&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and id_type = c_p&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and   start_date gt sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and   end_date gt sy-datum .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      and end_date ge sy-datum .&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;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E161(ZS) WITH TEXT-007.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      PERFORM ENQUEUE USING G_PROMO_ID.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF WA_DYNPREAD-FIELDVALUE IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF OKCODE = 'BACK' AND L_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 9000.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE E161(ZS) WITH TEXT-035.&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.                    " VALIDATE_PROMO_ID&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  INITIALIZE_9003&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;      Initialize the variables and internal tables&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 INITIALIZE_9003.&lt;/P&gt;&lt;P&gt;  CLEAR : WA_RMPHEAD ,&lt;/P&gt;&lt;P&gt;          I_RMPHEAD[],&lt;/P&gt;&lt;P&gt;          WA_RMPSTORE,&lt;/P&gt;&lt;P&gt;          I_RMPSTORE[],&lt;/P&gt;&lt;P&gt;          I_RMPSTORE_TEMP,&lt;/P&gt;&lt;P&gt;          I_RMPSTORE_TEMP[],&lt;/P&gt;&lt;P&gt;          WA_RMPDETAIL,&lt;/P&gt;&lt;P&gt;          I_RMPDETAIL_TEMP,&lt;/P&gt;&lt;P&gt;          I_RMPDETAIL[],&lt;/P&gt;&lt;P&gt;          I_RMPDETAIL_TEMP[],&lt;/P&gt;&lt;P&gt;          I_STORE_INFO,&lt;/P&gt;&lt;P&gt;          I_STORE_INFO[],&lt;/P&gt;&lt;P&gt;          I_SKU_INFO,&lt;/P&gt;&lt;P&gt;          I_SKU_INFO[],&lt;/P&gt;&lt;P&gt;          G_ID,&lt;/P&gt;&lt;P&gt;          G_PDESC,&lt;/P&gt;&lt;P&gt;          ZPRICELIST-ZLIST,&lt;/P&gt;&lt;P&gt;          CHK_APR,&lt;/P&gt;&lt;P&gt;          G_CREABY,&lt;/P&gt;&lt;P&gt;          G_CREAON,&lt;/P&gt;&lt;P&gt;          G_DOLAR,&lt;/P&gt;&lt;P&gt;          G_PERC,&lt;/P&gt;&lt;P&gt;          G_CLR,&lt;/P&gt;&lt;P&gt;          G_NON_CLR,&lt;/P&gt;&lt;P&gt;          G_PROMO_CHG_FLAG,&lt;/P&gt;&lt;P&gt;          G_PRICING_CHG_FLAG,&lt;/P&gt;&lt;P&gt;          ZSDRETL_RMPHEAD,&lt;/P&gt;&lt;P&gt;          G_LINE_CNT,&lt;/P&gt;&lt;P&gt;          G_ADD_CNT,&lt;/P&gt;&lt;P&gt;          G_PRICING_COPY_FLAG,&lt;/P&gt;&lt;P&gt;          G_PROMO_COPY_FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the program id&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  G_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Unlock all the locked object before starting with any promo or pricing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;option&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM DEQUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " INITIALIZE_9003&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  CHECK_DUPLICATE_ENTRIES&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;Perform a check to determine whether any duplicate entry is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;found or not before saving the promo. If any duplicate entry is found&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;then delete the same&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 CHECK_DUPLICATE_ENTRIES.&lt;/P&gt;&lt;P&gt;  REFRESH I_SKU_INFO_TEMP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; sort i_sku_info by dept&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    sub_class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    style&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    sku.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; i_sku_info_temp[] = i_sku_info[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;            TEXT       = TEXT-168.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    READ TABLE I_SKU_INFO_TEMP WITH KEY DEPT = I_SKU_INFO-DEPT&lt;/P&gt;&lt;P&gt;                                        CLASS = I_SKU_INFO-CLASS&lt;/P&gt;&lt;P&gt;                                       SUB_CLASS = I_SKU_INFO-SUB_CLASS&lt;/P&gt;&lt;P&gt;                                        STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;                                        SKU = I_SKU_INFO-SKU.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO_TEMP = I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      APPEND I_SKU_INFO_TEMP.&lt;/P&gt;&lt;P&gt;      CLEAR I_SKU_INFO_TEMP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; delete adjacent duplicates from i_sku_info_temp comparing dept&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                           class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                           sub_class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                           style&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                           sku.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_SKU_INFO LINES L_LINE.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_SKU_INFO_TEMP LINES G_LINENO.&lt;/P&gt;&lt;P&gt;  IF L_LINE &amp;lt;&amp;gt; G_LINENO.&lt;/P&gt;&lt;P&gt;    G_DUPLICATE_ENTRY = C_X.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR G_DUPLICATE_ENTRY.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_DUPLICATE_ENTRIES&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  CREATE_PRICING&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;      Call header screen for creating a Pricing event&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 CREATE_PRICING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set the header text for header screen and detail screen for create&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  G_TEXT_HEADER = C_HEADER_TEXT2.&lt;/P&gt;&lt;P&gt;  G_TEXT_DET = C_DETAIL_TEXT2.&lt;/P&gt;&lt;P&gt;  G_MAIN_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;  G_PRICING_FLAG = C_X.&lt;/P&gt;&lt;P&gt;  G_PROMO_FLAG = C_SPACE.&lt;/P&gt;&lt;P&gt;  CHK_APR = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : ZPRICELIST-ZLIST,&lt;/P&gt;&lt;P&gt;          ZSDRETL_RMPHEAD-START_DATE,&lt;/P&gt;&lt;P&gt;          ZSDRETL_RMPHEAD-END_DATE,&lt;/P&gt;&lt;P&gt;          G_DOLAR,&lt;/P&gt;&lt;P&gt;          G_PERC,&lt;/P&gt;&lt;P&gt;          G_CLR,&lt;/P&gt;&lt;P&gt;          G_NON_CLR,&lt;/P&gt;&lt;P&gt;          G_PROMO_FLAG,&lt;/P&gt;&lt;P&gt;          G_PROMO_CHG_FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;default end date to 2years from today&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM DEFAULT_END_DATE_TO_2YRS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the header screen for pricing entry&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL SCREEN 9001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CREATE_PRICING&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  CHANGE_PRICING&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;      Call screen to get the pricing id to change it&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 CHANGE_PRICING.&lt;/P&gt;&lt;P&gt;  CLEAR: G_PRICING_ID,&lt;/P&gt;&lt;P&gt;         G_PROMO_FLAG,&lt;/P&gt;&lt;P&gt;         G_PROMO_CHG_FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Change the header text for header screen and detail screen for the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;change pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  G_TEXT_HEADER = C_HEADER_TEXT2.&lt;/P&gt;&lt;P&gt;  G_TEXT_DET = C_DETAIL_TEXT2.&lt;/P&gt;&lt;P&gt;  G_MAIN_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;  G_PRICING_FLAG = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call screen to input the pricing number for change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL SCREEN 9004.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHANGE_PRICING&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  VALIDATE_PRICING_ID&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; Validate pricing id entered in the screen&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 VALIDATE_PRICING_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_REPID LIKE D020S-PROG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the current pricing id entered in the screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-STEPL = 0.&lt;/P&gt;&lt;P&gt;  WA_DYNPREAD-FIELDNAME = 'G_PRICING_ID'.&lt;/P&gt;&lt;P&gt;  APPEND WA_DYNPREAD TO I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;  CLEAR G_PP_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_REPID = G_REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DYNAME     = L_REPID&lt;/P&gt;&lt;P&gt;            DYNUMB     = SY-DYNNR&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DYNPFIELDS = I_DYNPREAD.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the pricing id from the screen and validate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE I_DYNPREAD INTO WA_DYNPREAD&lt;/P&gt;&lt;P&gt;                        WITH KEY FIELDNAME = 'G_PRICING_ID'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0 AND NOT WA_DYNPREAD-FIELDVALUE IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate pricing id from table zsdretl_rmphead without considering&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;date if it is a case of view promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF G_MAIN_OKCODE = 'VRPR'.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE PP_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;      INTO G_PP_ID&lt;/P&gt;&lt;P&gt;      WHERE PP_ID = WA_DYNPREAD-FIELDVALUE&lt;/P&gt;&lt;P&gt;      AND ID_TYPE = C_F.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate pricing id from table zsdretl_rmphead by considering&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;date if it is a case of change promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT SINGLE PP_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;      INTO G_PP_ID&lt;/P&gt;&lt;P&gt;      WHERE PP_ID = WA_DYNPREAD-FIELDVALUE&lt;/P&gt;&lt;P&gt;      AND ID_TYPE = C_F&lt;/P&gt;&lt;P&gt;      AND END_DATE GE SY-DATUM .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E161(ZS) WITH TEXT-008.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      PERFORM ENQUEUE USING G_PRICING_ID.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF WA_DYNPREAD-FIELDVALUE IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE E161(ZS) WITH TEXT-036.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_PRICING_ID&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_VALUES_FOR_PRICING&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;      Value request for pricing id&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_VALUES_FOR_PRICING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If it is a case of view pricing, then retrieve all the pricing without&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;considering date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR'.&lt;/P&gt;&lt;P&gt;    SELECT PP_ID&lt;/P&gt;&lt;P&gt;           ID_DESC&lt;/P&gt;&lt;P&gt;     FROM  ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;     INTO TABLE I_PRICING_TAB&lt;/P&gt;&lt;P&gt;     WHERE ID_TYPE = C_F .&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If it is a case of view pricing, then retrieve all the pricing with&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;considering date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT PP_ID&lt;/P&gt;&lt;P&gt;           ID_DESC&lt;/P&gt;&lt;P&gt;     FROM  ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;     INTO TABLE I_PRICING_TAB&lt;/P&gt;&lt;P&gt;     WHERE ID_TYPE = C_F&lt;/P&gt;&lt;P&gt;     AND   END_DATE GE SY-DATUM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939607&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT I_PRICING_TAB BY PP_ID DESCENDING.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939607&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_VALUE_ON_REQUEST TABLES I_PRICING_TAB&lt;/P&gt;&lt;P&gt;                                 USING C_PRICE_ID1&lt;/P&gt;&lt;P&gt;                                       C_PRICE_ID2&lt;/P&gt;&lt;P&gt;                                       SY-DYNNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_VALUES_FOR_PRICING&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  CALL_HEAD_SCR_FOR_PRICE_CHANGE&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;      Call the header screen for changing the pricing&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 CALL_HEAD_SCR_FOR_PRICE_CHANGE.&lt;/P&gt;&lt;P&gt;  G_PRICING_CHG_FLAG = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate header part&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM   ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;  INTO  WA_RMPHEAD&lt;/P&gt;&lt;P&gt;  WHERE PP_ID = G_PRICING_ID&lt;/P&gt;&lt;P&gt;  AND   ID_TYPE = C_F.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    APPEND WA_RMPHEAD TO I_RMPHEAD.&lt;/P&gt;&lt;P&gt;    G_ID = WA_RMPHEAD-PP_ID.&lt;/P&gt;&lt;P&gt;    G_PDESC = WA_RMPHEAD-ID_DESC.&lt;/P&gt;&lt;P&gt;    ZSDRETL_RMPHEAD-START_DATE = WA_RMPHEAD-START_DATE .&lt;/P&gt;&lt;P&gt;    ZSDRETL_RMPHEAD-END_DATE = WA_RMPHEAD-END_DATE .&lt;/P&gt;&lt;P&gt;    G_CREABY = WA_RMPHEAD-ERNAM.&lt;/P&gt;&lt;P&gt;    G_CREAON = WA_RMPHEAD-ERDAT.&lt;/P&gt;&lt;P&gt;    ZPRICELIST-ZLIST = WA_RMPHEAD-PLTYP.&lt;/P&gt;&lt;P&gt;    CHK_APR = WA_RMPHEAD-APPROVE.&lt;/P&gt;&lt;P&gt;    G_DOLAR = C_X .&lt;/P&gt;&lt;P&gt;    G_NON_CLR = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate store grouping information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPSTORE&lt;/P&gt;&lt;P&gt;    INTO TABLE I_RMPSTORE&lt;/P&gt;&lt;P&gt;    WHERE PP_ID = G_PRICING_ID.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      REFRESH I_RMPSTORE_TEMP.&lt;/P&gt;&lt;P&gt;      I_RMPSTORE_TEMP[] = I_RMPSTORE[].&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPSTORE INTO WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-REGION_ID = WA_RMPSTORE-REGION_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-DIST_ID = WA_RMPSTORE-DIST_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-AREA_ID = WA_RMPSTORE-AREA_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-STORE_ID = WA_RMPSTORE-STORE_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-ATTR_VAL = WA_RMPSTORE-ATTR_VAL.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-LEVEL = WA_RMPSTORE-STORE_LEVEL.&lt;/P&gt;&lt;P&gt;        APPEND I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR I_STORE_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate sku hierarchy information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPDETL&lt;/P&gt;&lt;P&gt;    INTO TABLE I_RMPDETAIL&lt;/P&gt;&lt;P&gt;    WHERE PP_ID = G_PRICING_ID.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      REFRESH   I_RMPDETAIL_TEMP.&lt;/P&gt;&lt;P&gt;      I_RMPDETAIL_TEMP[] = I_RMPDETAIL[].&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPDETAIL INTO WA_RMPDETAIL.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING WA_RMPDETAIL TO I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-CHECK_FLAG = C_X.&lt;/P&gt;&lt;P&gt;        APPEND I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR  I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for reference material and populate . This is required to calcu&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;late basic price of material&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for reference material and populate&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform get_ref_material.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 9001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALL_HEAD_SCR_FOR_PRICE_CHANGE&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  COMPARE_BASIC_PRICE&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;      Compare basic price with the value in both $ and % promo case.&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 COMPARE_BASIC_PRICE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF OKCODE &amp;lt;&amp;gt; 'DELR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if no value is entered then isse error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF ( NOT G_DEPT IS INITIAL&lt;/P&gt;&lt;P&gt;       OR NOT G_CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;       OR NOT G_SUBCLASS IS INITIAL&lt;/P&gt;&lt;P&gt;       OR NOT G_STYLE IS INITIAL&lt;/P&gt;&lt;P&gt;       OR NOT G_SKU IS INITIAL )&lt;/P&gt;&lt;P&gt;      AND G_VALUE IS INITIAL .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939196 by psahoo on 11th Oct 2006&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     and g_promo_type = c_$.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939196 by psahoo on 11th Oct 2006&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_% AND ( NOT G_SKU IS INITIAL&lt;/P&gt;&lt;P&gt;                                  OR NOT G_STYLE IS INITIAL ).&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE E161(ZS) WITH TEXT-037.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If it is not a case of delete then compare&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;Begin of change of DEVK939258&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of change in DEVK939274&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF NOT G_SKU IS INITIAL OR NOT G_STYLE IS INITIAL.&lt;/P&gt;&lt;P&gt;        IF G_KBETR IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM GET_INDIVIDUAL_PRICE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of change in DEVK939274&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 NOT I_SKU_INFO-KBETR IS INITIAL.&lt;/P&gt;&lt;P&gt;        MODIFY I_SKU_INFO INDEX TBCL3-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of change of DEVK939258&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;If promo type is $ and basic price is equal to the value then issue&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_$ AND G_PRICING_FLAG &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;P&gt;    IF NOT I_SKU_INFO-KBETR IS INITIAL AND G_VALUE EQ I_SKU_INFO-KBETR .&lt;/P&gt;&lt;P&gt;          MESSAGE E161(ZS) WITH TEXT-039.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If promo type is $ and value is greater than the basic price then&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;issue error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF NOT I_SKU_INFO-KBETR IS INITIAL AND G_VALUE GT I_SKU_INFO-KBETR .&lt;/P&gt;&lt;P&gt;          MESSAGE E161(ZS) WITH TEXT-040.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If it is a percent promo and value is greater than 99 then issue error&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;        IF NOT G_VALUE IS INITIAL AND G_VALUE GE 100.&lt;/P&gt;&lt;P&gt;          MESSAGE E161(ZS) WITH TEXT-041.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if value is entered with no sku detail then clear value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF  G_DEPT IS INITIAL&lt;/P&gt;&lt;P&gt;       AND NOT G_CLASS IS INITIAL&lt;/P&gt;&lt;P&gt;       AND NOT G_SUBCLASS IS INITIAL&lt;/P&gt;&lt;P&gt;       AND NOT G_STYLE IS INITIAL&lt;/P&gt;&lt;P&gt;       AND NOT G_SKU IS INITIAL&lt;/P&gt;&lt;P&gt;      AND NOT G_VALUE IS INITIAL .&lt;/P&gt;&lt;P&gt;      CLEAR I_SKU_INFO-VALUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF I_SKU_INFO-VALUE IS INITIAL.&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-VALUE = 0 .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " COMPARE_BASIC_PRICE&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  CHECK_EXIST_PRICING_STRGRP&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;      Check existing pricing for the store grouping info entered&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 CHECK_EXIST_PRICING_STRGRP.&lt;/P&gt;&lt;P&gt;  REFRESH I_STR_GRP.&lt;/P&gt;&lt;P&gt;  CLEAR   WA_STR_GRP.&lt;/P&gt;&lt;P&gt;  IF NOT I_STORE_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT ZSDRETL_RMPSTORE~REGION_ID&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPSTORE~DIST_ID&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPSTORE~AREA_ID&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPSTORE~STORE_ID&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPSTORE~ATTR_VAL&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~PROMO_TYPE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~CLEARANCE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~START_DATE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~END_DATE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~PP_ID&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~ID_DESC&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPSTORE&lt;/P&gt;&lt;P&gt;    INNER JOIN ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;    ON ZSDRETL_RMPSTORE&lt;SUB&gt;PP_ID = ZSDRETL_RMPHEAD&lt;/SUB&gt;PP_ID&lt;/P&gt;&lt;P&gt;    INTO TABLE I_STR_GRP&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN I_STORE_INFO&lt;/P&gt;&lt;P&gt;    WHERE ZSDRETL_RMPSTORE~REGION_ID = I_STORE_INFO-REGION_ID&lt;/P&gt;&lt;P&gt;    AND   ZSDRETL_RMPSTORE~DIST_ID   = I_STORE_INFO-DIST_ID&lt;/P&gt;&lt;P&gt;    AND   ZSDRETL_RMPSTORE~AREA_ID   = I_STORE_INFO-AREA_ID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   and   zsdretl_rmpstore~attr_val  = i_store_info-attr_val&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    AND   ZSDRETL_RMPSTORE~STORE_ID  = I_STORE_INFO-STORE_ID&lt;/P&gt;&lt;P&gt;    AND   ZSDRETL_RMPHEAD~ID_TYPE = C_F&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   AND  ( ( ZSDRETL_RMPSTORE~START_DATE  LE ZSDRETL_RMPHEAD-START_DATE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       AND ZSDRETL_RMPSTORE~END_DATE  GE ZSDRETL_RMPHEAD-START_DATE )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      OR ( ZSDRETL_RMPSTORE~START_DATE  LE ZSDRETL_RMPHEAD-END_DATE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      AND ZSDRETL_RMPSTORE~END_DATE  GE ZSDRETL_RMPHEAD-END_DATE ) ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; AND ZSDRETL_RMPSTORE~START_DATE  LE ZSDRETL_RMPHEAD-END_DATE&lt;/P&gt;&lt;P&gt; AND ZSDRETL_RMPSTORE~END_DATE  GE ZSDRETL_RMPHEAD-START_DATE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      LOOP AT I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        G_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;        READ TABLE I_STR_GRP INTO WA_STR_GRP&lt;/P&gt;&lt;P&gt;                            WITH KEY REGION_ID = I_STORE_INFO-REGION_ID&lt;/P&gt;&lt;P&gt;                                       DIST_ID = I_STORE_INFO-DIST_ID&lt;/P&gt;&lt;P&gt;                                       AREA_ID = I_STORE_INFO-AREA_ID&lt;/P&gt;&lt;P&gt;                                       STORE_ID = I_STORE_INFO-STORE_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     attr_val = i_store_info-attr_val.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          IF NOT G_ID IS INITIAL AND G_ID = WA_STR_GRP-PP_ID.&lt;/P&gt;&lt;P&gt;            CLEAR I_STORE_INFO-REPROMO.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            I_STORE_INFO-REPROMO = C_REPROMO.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CLEAR I_STORE_INFO-REPROMO.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        MODIFY I_STORE_INFO INDEX G_INDEX TRANSPORTING REPROMO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LOOP AT I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR I_STORE_INFO-REPROMO.&lt;/P&gt;&lt;P&gt;        MODIFY I_STORE_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&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.                    " CHECK_EXIST_PRICING_STRGRP&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  CHECK_EXIST_PRICING_SKUHIER&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;Check for existing pricing for the current sku hierarchy and store&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;grouping info&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 CHECK_EXIST_PRICING_SKUHIER.&lt;/P&gt;&lt;P&gt;  DELETE I_SKU_INFO WHERE NOT DEL_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH I_SKU_HIER.&lt;/P&gt;&lt;P&gt;  CLEAR   WA_SKU_HIER.&lt;/P&gt;&lt;P&gt;  IF NOT I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT ZSDRETL_RMPDETL~DEPT&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPDETL~CLASS&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPDETL~SUB_CLASS&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPDETL~STYLE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPDETL~SKU&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPDETL~VALUE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPDETL~START_DATE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPDETL~END_DATE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~PROMO_TYPE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~CLEARANCE&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPDETL~TOP_UP&lt;/P&gt;&lt;P&gt;           ZSDRETL_RMPHEAD~PP_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_RMPDETL INNER JOIN ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;      ON ZSDRETL_RMPDETL&lt;SUB&gt;PP_ID = ZSDRETL_RMPHEAD&lt;/SUB&gt;PP_ID&lt;/P&gt;&lt;P&gt;      INTO TABLE I_SKU_HIER&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN I_SKU_INFO&lt;/P&gt;&lt;P&gt;      WHERE  ZSDRETL_RMPDETL~STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;      AND   ZSDRETL_RMPDETL~SKU = I_SKU_INFO-SKU&lt;/P&gt;&lt;P&gt;      AND   ZSDRETL_RMPDETL~ZLEVEL &amp;lt;&amp;gt; C_LEVEL1&lt;/P&gt;&lt;P&gt;      AND ZSDRETL_RMPHEAD~ID_TYPE = C_F&lt;/P&gt;&lt;P&gt;     AND ZSDRETL_RMPHEAD~PLTYP = ZPRICELIST-ZLIST&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND  ( ( ZSDRETL_RMPDETL~START_DATE  LE ZSDRETL_RMPHEAD-START_DATE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         AND ZSDRETL_RMPDETL~END_DATE  GE ZSDRETL_RMPHEAD-START_DATE )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        OR ( ZSDRETL_RMPDETL~START_DATE  LE ZSDRETL_RMPHEAD-END_DATE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND ZSDRETL_RMPDETL~END_DATE  GE ZSDRETL_RMPHEAD-END_DATE ) ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; AND ZSDRETL_RMPDETL~START_DATE  LE ZSDRETL_RMPHEAD-END_DATE&lt;/P&gt;&lt;P&gt; AND ZSDRETL_RMPDETL~END_DATE  GE ZSDRETL_RMPHEAD-START_DATE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      CHECK NOT I_SKU_HIER[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      REFRESH: I_STR_GRP1 , I_STR_DATA.&lt;/P&gt;&lt;P&gt;      SELECT&lt;/P&gt;&lt;P&gt;             REGION_ID&lt;/P&gt;&lt;P&gt;             DIST_ID&lt;/P&gt;&lt;P&gt;             AREA_ID&lt;/P&gt;&lt;P&gt;             STORE_ID&lt;/P&gt;&lt;P&gt;             ATTR_VAL&lt;/P&gt;&lt;P&gt;             PP_ID&lt;/P&gt;&lt;P&gt;       FROM  ZSDRETL_RMPSTORE&lt;/P&gt;&lt;P&gt;       INTO TABLE I_STR_DATA&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN I_SKU_HIER&lt;/P&gt;&lt;P&gt;       WHERE PP_ID = I_SKU_HIER-PP_ID&lt;/P&gt;&lt;P&gt;      AND START_DATE  LE ZSDRETL_RMPHEAD-END_DATE&lt;/P&gt;&lt;P&gt;      AND END_DATE  GE ZSDRETL_RMPHEAD-START_DATE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        LOOP AT I_SKU_INFO WHERE CHECK_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;          CLEAR G_SKU_PROMO_EXIST.&lt;/P&gt;&lt;P&gt;          G_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;          READ TABLE I_SKU_HIER INTO WA_SKU_HIER&lt;/P&gt;&lt;P&gt;                                 WITH KEY STYLE = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;                                         SKU   = I_SKU_INFO-SKU .&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            READ TABLE I_STR_DATA INTO WA_STR_DATA&lt;/P&gt;&lt;P&gt;                                  WITH KEY PP_ID = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              LOOP AT I_STORE_INFO.&lt;/P&gt;&lt;P&gt;                READ TABLE I_STR_DATA INTO WA_STR_DATA&lt;/P&gt;&lt;P&gt;                                      WITH KEY&lt;/P&gt;&lt;P&gt;                                     REGION_ID = I_STORE_INFO-REGION_ID&lt;/P&gt;&lt;P&gt;                                       DIST_ID   = I_STORE_INFO-DIST_ID&lt;/P&gt;&lt;P&gt;                                       AREA_ID =   I_STORE_INFO-AREA_ID&lt;/P&gt;&lt;P&gt;                                      STORE_ID  = I_STORE_INFO-STORE_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    attr_val  = i_store_info-attr_val.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;                  G_SKU_PROMO_EXIST = C_X.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDLOOP.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF G_SKU_PROMO_EXIST = C_X.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REPROMO = C_REPROMO.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO = WA_SKU_HIER-PP_ID.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO_TYPE = WA_SKU_HIER-PROMO_TYPE.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO_CLR = WA_SKU_HIER-CLEARANCE.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO_START_DATE = WA_SKU_HIER-START_DATE.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_PROMO_END_DATE = WA_SKU_HIER-END_DATE.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-REF_VALUE = WA_SKU_HIER-VALUE.&lt;/P&gt;&lt;P&gt;            MODIFY I_SKU_INFO INDEX G_INDEX .&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CLEAR: I_SKU_INFO-REPROMO,&lt;/P&gt;&lt;P&gt;                   I_SKU_INFO-REF_PROMO.&lt;/P&gt;&lt;P&gt;            MODIFY I_SKU_INFO INDEX G_INDEX .&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR: I_SKU_INFO-REPROMO,&lt;/P&gt;&lt;P&gt;               I_SKU_INFO-REF_PROMO.&lt;/P&gt;&lt;P&gt;        MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&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.                    " CHECK_EXIST_PRICING_SKUHIER&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  CHECK_DUPLICATE_STRGRP_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;      Check for duplicate entries in store grouping table&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 CHECK_DUPLICATE_STRGRP_DATA.&lt;/P&gt;&lt;P&gt;  SORT I_STORE_INFO BY REGION_ID&lt;/P&gt;&lt;P&gt;                       DIST_ID&lt;/P&gt;&lt;P&gt;                       AREA_ID&lt;/P&gt;&lt;P&gt;                       STORE_ID&lt;/P&gt;&lt;P&gt;                       ATTR_VAL.&lt;/P&gt;&lt;P&gt;  REFRESH I_STORE_INFO_TEMP.&lt;/P&gt;&lt;P&gt;  I_STORE_INFO_TEMP[] = I_STORE_INFO[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM I_STORE_INFO_TEMP COMPARING REGION_ID&lt;/P&gt;&lt;P&gt;                                                         DIST_ID&lt;/P&gt;&lt;P&gt;                                                         AREA_ID&lt;/P&gt;&lt;P&gt;                                                         STORE_ID&lt;/P&gt;&lt;P&gt;                                                         ATTR_VAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: L_LINE , G_LINENO.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_STORE_INFO LINES L_LINE.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE I_STORE_INFO_TEMP LINES G_LINENO.&lt;/P&gt;&lt;P&gt;  CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;  IF L_LINE &amp;lt;&amp;gt; G_LINENO.&lt;/P&gt;&lt;P&gt;    G_DUPLICATE_ENTRY = C_X.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    G_DUPLICATE_ENTRY = C_SPACE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_DUPLICATE_STRGRP_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;P&gt;*&amp;amp;      Form  CHECK_EXIST_PRICING&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;Check for existing pricing if anything is available during&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;saving a pricing&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_I_SKU_INFO  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 CHECK_EXIST_PRICING USING    P_I_SKU_INFO LIKE I_SKU_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_CHAR(3) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR G_POPUP_TEXT.&lt;/P&gt;&lt;P&gt;  IF NOT P_I_SKU_INFO-REPROMO IS INITIAL.&lt;/P&gt;&lt;P&gt;    CLEAR G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    L_CHAR = P_I_SKU_INFO-LINE_NO.&lt;/P&gt;&lt;P&gt;    CONCATENATE TEXT-119 L_CHAR INTO G_LINE_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  TEXT-120 TEXT-115&lt;/P&gt;&lt;P&gt;           INTO  G_POPUP_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;    PERFORM GET_POPUP_CONFIRM USING G_ANS G_POPUP_TEXT G_LINE_TEXT.&lt;/P&gt;&lt;P&gt;    IF G_ANS = C_ANS1.&lt;/P&gt;&lt;P&gt;      P_I_SKU_INFO-DEL_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      CLEAR P_I_SKU_INFO-REPROMO.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_EXIST_PRICING&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  POPULATE_SORT_TABLE&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;      Populate sort table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;FORM POPULATE_SORT_TABLE.&lt;/P&gt;&lt;P&gt;  REFRESH I_SORTTAB.&lt;/P&gt;&lt;P&gt;  CLEAR   STRUCT_SORT.&lt;/P&gt;&lt;P&gt;  CASE SY-DYNNR.&lt;/P&gt;&lt;P&gt;    WHEN '9001'.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-SPOS = C_LEVEL1.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-FIELDNAME = 'REGION_ID' .&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-TABNAME = 'I_STORE_INFO'.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;P&gt;      APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR STRUCT_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-SPOS = C_LEVEL2.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-FIELDNAME = 'DIST_ID' .&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-TABNAME = 'I_STORE_INFO'.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;P&gt;      APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR STRUCT_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-SPOS = C_LEVEL3.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-FIELDNAME = 'AREA_ID' .&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-TABNAME = 'I_STORE_INFO'.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;P&gt;      APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR STRUCT_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-SPOS = C_LEVEL4.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-FIELDNAME = 'STORE_ID' .&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-TABNAME = 'I_STORE_INFO'.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;P&gt;      APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR STRUCT_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '9002'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-SPOS = C_LEVEL1.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-FIELDNAME = 'SKU_LINE_REF' .&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-TABNAME = 'I_SKU_HIER'.&lt;/P&gt;&lt;P&gt;      STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;P&gt;      APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;P&gt;      CLEAR STRUCT_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-SPOS = C_LEVEL1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-FIELDNAME = 'DEPT' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-TABNAME = 'I_SKU_INFO'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR STRUCT_SORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-SPOS = C_LEVEL2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-FIELDNAME = 'CLASS' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-TABNAME = 'I_SKU_INFO'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR STRUCT_SORT.&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;     STRUCT_SORT-SPOS = C_LEVEL3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-FIELDNAME = 'SUB_CLASS' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-TABNAME = 'I_SKU_INFO'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR STRUCT_SORT.&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;     STRUCT_SORT-SPOS = C_LEVEL4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-FIELDNAME = 'STYLE' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-TABNAME = 'I_SKU_INFO'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR STRUCT_SORT.&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;     STRUCT_SORT-SPOS = C_LEVEL5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-FIELDNAME = 'SKU' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-TABNAME = 'I_SKU_INFO'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STRUCT_SORT-UP = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND STRUCT_SORT TO I_SORTTAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR STRUCT_SORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_SORT_TABLE&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  CALL_VIEW_COPY_PROMO_PRICING&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;      Call screen to view or copy of promo or pricing&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 CALL_VIEW_COPY_PROMO_PRICING.&lt;/P&gt;&lt;P&gt;  CLEAR : G_PROMO_ID ,&lt;/P&gt;&lt;P&gt;          G_PRICING_ID.&lt;/P&gt;&lt;P&gt;  G_MAIN_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call input screen for view or copy the promo and pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL SCREEN 9007.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALL_VIEW_COPY_PROMO_PRICING&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  VIEW_PROMO_PRICING_ID&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; View the promo or pricing details for the id entered in the screen&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_G_PROMO_ID  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 VIEW_PROMO_PRICING_ID.&lt;/P&gt;&lt;P&gt;  IF NOT RAD_PROMO IS INITIAL AND NOT G_PROMO_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    G_PROMO_VIEW_FLAG = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve Promo/Pricing data for the Promo/Pricing Id entered.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;              TEXT       = TEXT-195.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM GET_PROMO_ID_DATA.&lt;/P&gt;&lt;P&gt;    G_TEXT_HEADER = C_HEADER_TEXT1.&lt;/P&gt;&lt;P&gt;    G_TEXT_DET = C_DETAIL_TEXT1.&lt;/P&gt;&lt;P&gt;    G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform check_exist_promo_view_skuhier.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      CLEAR I_SKU_INFO-REPROMO.&lt;/P&gt;&lt;P&gt;      MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT RAD_PRICE IS INITIAL AND NOT G_PRICING_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    G_PRICING_VIEW_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    G_PRICING_FLAG = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve Pricing data for the Promo/Pricing Id entered.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              PERCENTAGE = 0&lt;/P&gt;&lt;P&gt;              TEXT       = TEXT-196.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM GET_PRICING_ID_DATA.&lt;/P&gt;&lt;P&gt;    G_TEXT_HEADER = C_HEADER_TEXT2.&lt;/P&gt;&lt;P&gt;    G_TEXT_DET = C_DETAIL_TEXT2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Required to determine basic price before the sku details appears&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for reference material and populate&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform get_ref_material.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&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;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;required to avoid nested screen call&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LEAVE TO SCREEN 9001.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; call screen 9001.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VIEW_PROMO_PRICING_ID&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  COPY_PROMO_PRICING&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;Call screen to make a copy of promo or pricing entered in the screen&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 COPY_PROMO_PRICING.&lt;/P&gt;&lt;P&gt;  IF NOT RAD_PROMO IS INITIAL AND NOT G_PROMO_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    G_PROMO_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve Promo data for the Promo Id entered.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_PROMO_ID_DATA.&lt;/P&gt;&lt;P&gt;    REFRESH: I_RMPSTORE_TEMP, I_RMPDETAIL , I_RMPDETAIL_TEMP .&lt;/P&gt;&lt;P&gt;    CLEAR:   I_RMPSTORE_TEMP, I_RMPDETAIL , I_RMPDETAIL_TEMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: G_ID,&lt;/P&gt;&lt;P&gt;          G_PDESC,&lt;/P&gt;&lt;P&gt;          ZSDRETL_RMPHEAD-START_DATE,&lt;/P&gt;&lt;P&gt;          ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      CLEAR : I_SKU_INFO-OVERRIDE,&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-TOP_UP,&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-CHECK_FLAG.&lt;/P&gt;&lt;P&gt;      MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    G_TEXT_HEADER = C_HEADER_TEXT1.&lt;/P&gt;&lt;P&gt;    G_TEXT_DET = C_DETAIL_TEXT1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT RAD_PRICE IS INITIAL AND NOT G_PRICING_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    G_PRICING_FLAG = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve Pricing data for the Pricing Id entered.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM GET_PRICING_ID_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH: I_RMPSTORE_TEMP, I_RMPDETAIL , I_RMPDETAIL_TEMP.&lt;/P&gt;&lt;P&gt;    CLEAR:   I_RMPSTORE_TEMP, I_RMPDETAIL, I_RMPDETAIL_TEMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: G_ID,&lt;/P&gt;&lt;P&gt;          G_PDESC,&lt;/P&gt;&lt;P&gt;          ZSDRETL_RMPHEAD-START_DATE,&lt;/P&gt;&lt;P&gt;          ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      CLEAR : I_SKU_INFO-OVERRIDE,&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-TOP_UP,&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-CHECK_FLAG.&lt;/P&gt;&lt;P&gt;      MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    G_TEXT_HEADER = C_HEADER_TEXT2.&lt;/P&gt;&lt;P&gt;    G_TEXT_DET = C_DETAIL_TEXT2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;default end date to 2years from today&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM DEFAULT_END_DATE_TO_2YRS .&lt;/P&gt;&lt;P&gt;  G_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&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;Check for reference material and populate to determine basic price&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform get_ref_material.&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;required to avoid nested call screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LEAVE TO SCREEN 9001.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; call screen 9001.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    " COPY_PROMO_PRICING&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  INITIALIZE_9007&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;Initialize the fields before going to the view/copy of promo/pricing&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 INITIALIZE_9007.&lt;/P&gt;&lt;P&gt;  CLEAR : WA_RMPHEAD ,&lt;/P&gt;&lt;P&gt;          I_RMPHEAD[],&lt;/P&gt;&lt;P&gt;          WA_RMPSTORE,&lt;/P&gt;&lt;P&gt;          I_RMPSTORE[],&lt;/P&gt;&lt;P&gt;          I_RMPSTORE_TEMP,&lt;/P&gt;&lt;P&gt;          I_RMPSTORE_TEMP[],&lt;/P&gt;&lt;P&gt;          WA_RMPDETAIL,&lt;/P&gt;&lt;P&gt;          I_RMPDETAIL_TEMP,&lt;/P&gt;&lt;P&gt;          I_RMPDETAIL[],&lt;/P&gt;&lt;P&gt;          I_RMPDETAIL_TEMP[],&lt;/P&gt;&lt;P&gt;          I_STORE_INFO,&lt;/P&gt;&lt;P&gt;          I_STORE_INFO[],&lt;/P&gt;&lt;P&gt;          I_SKU_INFO,&lt;/P&gt;&lt;P&gt;          I_SKU_INFO[],&lt;/P&gt;&lt;P&gt;          G_ID,&lt;/P&gt;&lt;P&gt;          G_PDESC,&lt;/P&gt;&lt;P&gt;          ZPRICELIST-ZLIST,&lt;/P&gt;&lt;P&gt;          CHK_APR,&lt;/P&gt;&lt;P&gt;          G_CREABY,&lt;/P&gt;&lt;P&gt;          G_CREAON,&lt;/P&gt;&lt;P&gt;          G_DOLAR,&lt;/P&gt;&lt;P&gt;          G_PERC,&lt;/P&gt;&lt;P&gt;          G_CLR,&lt;/P&gt;&lt;P&gt;          G_NON_CLR,&lt;/P&gt;&lt;P&gt;          G_PROMO_CHG_FLAG,&lt;/P&gt;&lt;P&gt;          G_PRICING_CHG_FLAG,&lt;/P&gt;&lt;P&gt;          G_PROMO_VIEW_FLAG,&lt;/P&gt;&lt;P&gt;          G_PROMO_COPY_FLAG,&lt;/P&gt;&lt;P&gt;          G_PRICING_VIEW_FLAG,&lt;/P&gt;&lt;P&gt;          G_PRICING_COPY_FLAG,&lt;/P&gt;&lt;P&gt;          ZSDRETL_RMPHEAD  ,&lt;/P&gt;&lt;P&gt;          G_PROMO_VIEW_FLAG ,&lt;/P&gt;&lt;P&gt;          OKCODE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " INITIALIZE_9007&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_PROMO_ID_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;      Get details of the promotion or pricing entered in the screen.&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_PROMO_ID_DATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate header part&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM   ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;  INTO  WA_RMPHEAD&lt;/P&gt;&lt;P&gt;  WHERE PP_ID = G_PROMO_ID.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    APPEND WA_RMPHEAD TO I_RMPHEAD.&lt;/P&gt;&lt;P&gt;    G_ID = WA_RMPHEAD-PP_ID.&lt;/P&gt;&lt;P&gt;    G_PDESC = WA_RMPHEAD-ID_DESC.&lt;/P&gt;&lt;P&gt;    ZSDRETL_RMPHEAD-START_DATE = WA_RMPHEAD-START_DATE .&lt;/P&gt;&lt;P&gt;    ZSDRETL_RMPHEAD-END_DATE = WA_RMPHEAD-END_DATE .&lt;/P&gt;&lt;P&gt;    G_CREABY = WA_RMPHEAD-ERNAM.&lt;/P&gt;&lt;P&gt;    G_CREAON = WA_RMPHEAD-ERDAT.&lt;/P&gt;&lt;P&gt;    ZPRICELIST-ZLIST = WA_RMPHEAD-PLTYP.&lt;/P&gt;&lt;P&gt;    CHK_APR = WA_RMPHEAD-APPROVE.&lt;/P&gt;&lt;P&gt;    IF WA_RMPHEAD-PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;      G_DOLAR = C_X .&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      G_PERC = C_X.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF WA_RMPHEAD-CLEARANCE = C_X.&lt;/P&gt;&lt;P&gt;      G_CLR = C_X.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      G_NON_CLR = C_X.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate store grouping information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPSTORE&lt;/P&gt;&lt;P&gt;    INTO TABLE I_RMPSTORE&lt;/P&gt;&lt;P&gt;    WHERE PP_ID = G_PROMO_ID.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      I_RMPSTORE_TEMP[] = I_RMPSTORE[].&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPSTORE INTO WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-REGION_ID = WA_RMPSTORE-REGION_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-DIST_ID = WA_RMPSTORE-DIST_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-AREA_ID = WA_RMPSTORE-AREA_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-STORE_ID = WA_RMPSTORE-STORE_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-ATTR_VAL = WA_RMPSTORE-ATTR_VAL.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-LEVEL = WA_RMPSTORE-STORE_LEVEL.&lt;/P&gt;&lt;P&gt;        APPEND I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR I_STORE_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate sku hierarchy information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPDETL&lt;/P&gt;&lt;P&gt;    INTO TABLE I_RMPDETAIL&lt;/P&gt;&lt;P&gt;    WHERE PP_ID = G_PROMO_ID.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      I_RMPDETAIL_TEMP[] = I_RMPDETAIL[].&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPDETAIL INTO WA_RMPDETAIL.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING WA_RMPDETAIL TO I_SKU_INFO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       i_sku_info-check_flag = c_x.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        APPEND I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR  I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_PROMO_ID_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;P&gt;*&amp;amp;      Form  VALIDATE_PROMO_PRICING_FIELDS&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;      Validate promo id and pricing id&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 VALIDATE_PROMO_PRICING_FIELDS.&lt;/P&gt;&lt;P&gt;  IF OKCODE = 'VIEW' OR OKCODE = 'COPY'.&lt;/P&gt;&lt;P&gt;    IF RAD_PROMO = C_X AND G_PROMO_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;      MESSAGE E161(ZS) WITH TEXT-042.&lt;/P&gt;&lt;P&gt;    ELSEIF RAD_PROMO = C_X AND NOT G_PROMO_ID IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate promo id&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM VALIDATE_PROMO_ID.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF RAD_PRICE = C_X AND G_PRICING_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;      MESSAGE E161(ZS) WITH TEXT-043.&lt;/P&gt;&lt;P&gt;    ELSEIF RAD_PRICE = C_X AND NOT G_PRICING_ID IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate pricing id&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM VALIDATE_PRICING_ID.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_PROMO_PRICING_FIELDS&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_PRICING_ID_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;      Get pricing details for the pricings entered in the screen&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_PRICING_ID_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate header part&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM   ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;  INTO  WA_RMPHEAD&lt;/P&gt;&lt;P&gt;  WHERE PP_ID = G_PRICING_ID.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    APPEND WA_RMPHEAD TO I_RMPHEAD.&lt;/P&gt;&lt;P&gt;    G_ID = WA_RMPHEAD-PP_ID.&lt;/P&gt;&lt;P&gt;    G_PDESC = WA_RMPHEAD-ID_DESC.&lt;/P&gt;&lt;P&gt;    ZSDRETL_RMPHEAD-START_DATE = WA_RMPHEAD-START_DATE .&lt;/P&gt;&lt;P&gt;    ZSDRETL_RMPHEAD-END_DATE = WA_RMPHEAD-END_DATE .&lt;/P&gt;&lt;P&gt;    G_CREABY = WA_RMPHEAD-ERNAM.&lt;/P&gt;&lt;P&gt;    G_CREAON = WA_RMPHEAD-ERDAT.&lt;/P&gt;&lt;P&gt;    ZPRICELIST-ZLIST = WA_RMPHEAD-PLTYP.&lt;/P&gt;&lt;P&gt;    CHK_APR = WA_RMPHEAD-APPROVE.&lt;/P&gt;&lt;P&gt;    G_DOLAR = C_X .&lt;/P&gt;&lt;P&gt;    G_NON_CLR = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate store grouping information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPSTORE&lt;/P&gt;&lt;P&gt;    INTO TABLE I_RMPSTORE&lt;/P&gt;&lt;P&gt;    WHERE PP_ID = G_PRICING_ID.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      REFRESH I_RMPSTORE_TEMP.&lt;/P&gt;&lt;P&gt;      I_RMPSTORE_TEMP[] = I_RMPSTORE[].&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPSTORE INTO WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-REGION_ID = WA_RMPSTORE-REGION_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-DIST_ID = WA_RMPSTORE-DIST_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-AREA_ID = WA_RMPSTORE-AREA_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-STORE_ID = WA_RMPSTORE-STORE_ID.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-ATTR_VAL = WA_RMPSTORE-ATTR_VAL.&lt;/P&gt;&lt;P&gt;        I_STORE_INFO-LEVEL = WA_RMPSTORE-STORE_LEVEL.&lt;/P&gt;&lt;P&gt;        APPEND I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR I_STORE_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate sku hierarchy information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPDETL&lt;/P&gt;&lt;P&gt;    INTO TABLE I_RMPDETAIL&lt;/P&gt;&lt;P&gt;    WHERE PP_ID = G_PRICING_ID.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      REFRESH   I_RMPDETAIL_TEMP.&lt;/P&gt;&lt;P&gt;      I_RMPDETAIL_TEMP[] = I_RMPDETAIL[].&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPDETAIL INTO WA_RMPDETAIL.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING WA_RMPDETAIL TO I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        I_SKU_INFO-CHECK_FLAG = C_X.&lt;/P&gt;&lt;P&gt;        APPEND I_SKU_INFO.&lt;/P&gt;&lt;P&gt;        CLEAR  I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_PRICING_ID_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;P&gt;*&amp;amp;      Form  POPULATE_EVENT_TABLE&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;      Populate the event table for the top-of-page for the ALV&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 POPULATE_EVENT_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;           I_LIST_TYPE     = 0&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;           ET_EVENTS       = I_EVENT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        LIST_TYPE_WRONG = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        OTHERS          = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    READ TABLE I_EVENT INTO STRUCT_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      G_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;      STRUCT_EVENT-FORM = C_TOP_PAGE_NAME.&lt;/P&gt;&lt;P&gt;      MODIFY I_EVENT FROM STRUCT_EVENT INDEX G_INDEX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;   READ TABLE I_EVENT INTO STRUCT_EVENT WITH KEY NAME = 'PF_STATUS_SET'.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      G_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;      STRUCT_EVENT-FORM = 'SUB_PF_STATUS_SET'.&lt;/P&gt;&lt;P&gt;      MODIFY I_EVENT FROM STRUCT_EVENT INDEX G_INDEX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    READ TABLE I_EVENT INTO STRUCT_EVENT WITH KEY NAME = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      G_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;      STRUCT_EVENT-FORM = 'SUB_USER_COMMAND'.&lt;/P&gt;&lt;P&gt;      MODIFY I_EVENT FROM STRUCT_EVENT INDEX G_INDEX.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_EVENT_TABLE&lt;/P&gt;&lt;P&gt;&lt;/P&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;      FORM SUB_TOP_OF_PAGE                                          *&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;Top of page for view promo/pricing                                   *&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 SUB_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  IF G_DYNNR = '9001'.&lt;/P&gt;&lt;P&gt;    IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'&lt;/P&gt;&lt;P&gt;                                  OR G_PRICING_VIEW_FLAG = C_X&lt;/P&gt;&lt;P&gt;                                  OR G_PRICING_COPY_FLAG = C_X .&lt;/P&gt;&lt;P&gt;      WRITE: 35 TEXT-174.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE: 35 TEXT-121.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF G_DYNNR = '9002'.&lt;/P&gt;&lt;P&gt;    IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'&lt;/P&gt;&lt;P&gt;                                  OR G_PRICING_VIEW_FLAG = C_X&lt;/P&gt;&lt;P&gt;                                  OR G_PRICING_COPY_FLAG = C_X .&lt;/P&gt;&lt;P&gt;      WRITE: 35 TEXT-175.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE: 35 TEXT-122.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  NEW-LINE.&lt;/P&gt;&lt;P&gt;  WRITE AT 35(55) SY-ULINE.&lt;/P&gt;&lt;P&gt;  WRITE:/5 TEXT-124 , 23 C_COLON ,&lt;/P&gt;&lt;P&gt;                   SY-UNAME  , 45 TEXT-125, 58 C_COLON , SY-DATUM .&lt;/P&gt;&lt;P&gt;  NEW-LINE.&lt;/P&gt;&lt;P&gt;  WRITE:/5 TEXT-133 , 23 C_COLON  , ZPRICELIST-ZLIST ,&lt;/P&gt;&lt;P&gt;                            45 TEXT-126 ,  58 C_COLON .&lt;/P&gt;&lt;P&gt;  IF CHK_APR = C_X.&lt;/P&gt;&lt;P&gt;    WRITE: TEXT-127.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE: TEXT-128.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  NEW-LINE.&lt;/P&gt;&lt;P&gt;  IF G_PERC = C_X.&lt;/P&gt;&lt;P&gt;    G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    G_PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF G_CLR = C_X.&lt;/P&gt;&lt;P&gt;    G_CLRNCE = C_Y .&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    G_CLRNCE = C_N.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  WRITE:/5 TEXT-129 , 23 C_COLON  , G_PROMO_TYPE ,&lt;/P&gt;&lt;P&gt;                      45 TEXT-130 ,  58 C_COLON , G_CLRNCE.&lt;/P&gt;&lt;P&gt;  NEW-LINE.&lt;/P&gt;&lt;P&gt;  WRITE:/5 TEXT-131 , 23 C_COLON  , ZSDRETL_RMPHEAD-START_DATE ,&lt;/P&gt;&lt;P&gt;          45 TEXT-132 ,  58 C_COLON , ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;ENDFORM.&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  END_EXISTING_PROMO&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;      End any exisiting promo where the override flag is set&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 END_EXISTING_PROMO.&lt;/P&gt;&lt;P&gt;  REFRESH I_SKU_INFO_TEMP1.&lt;/P&gt;&lt;P&gt;  CLEAR   I_SKU_INFO_TEMP1.&lt;/P&gt;&lt;P&gt;  I_SKU_INFO_TEMP1[] = I_SKU_INFO[].&lt;/P&gt;&lt;P&gt;  DELETE I_SKU_INFO_TEMP1 WHERE OVERRIDE IS INITIAL.&lt;/P&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;  FROM ZSDRETL_RMPHEAD&lt;/P&gt;&lt;P&gt;  INTO TABLE I_RMPHEAD&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN I_SKU_INFO_TEMP1&lt;/P&gt;&lt;P&gt;  WHERE PP_ID = I_SKU_INFO_TEMP1-REF_PROMO.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    LOOP AT I_RMPHEAD INTO WA_RMPHEAD.&lt;/P&gt;&lt;P&gt;      WA_RMPHEAD-END_DATE = SY-DATUM.&lt;/P&gt;&lt;P&gt;      MODIFY I_RMPHEAD FROM WA_RMPHEAD INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    MODIFY ZSDRETL_RMPHEAD FROM TABLE I_RMPHEAD.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      COMMIT WORK.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH I_RMPSTORE.&lt;/P&gt;&lt;P&gt;    CLEAR   I_RMPSTORE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT *&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_RMPSTORE&lt;/P&gt;&lt;P&gt;    INTO TABLE I_RMPSTORE&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN I_SKU_INFO_TEMP1&lt;/P&gt;&lt;P&gt;    WHERE PP_ID = I_SKU_INFO_TEMP1-REF_PROMO.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPSTORE INTO WA_RMPSTORE.&lt;/P&gt;&lt;P&gt;        WA_RMPSTORE-END_DATE = SY-DATUM.&lt;/P&gt;&lt;P&gt;        MODIFY I_RMPSTORE FROM WA_RMPSTORE INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      MODIFY ZSDRETL_RMPSTORE FROM TABLE I_RMPSTORE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REFRESH I_RMPDETAIL.&lt;/P&gt;&lt;P&gt;      CLEAR   I_RMPDETAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT *&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_RMPDETL&lt;/P&gt;&lt;P&gt;      INTO TABLE I_RMPDETAIL&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN I_SKU_INFO_TEMP1&lt;/P&gt;&lt;P&gt;      WHERE PP_ID = I_SKU_INFO_TEMP1-REF_PROMO.&lt;/P&gt;&lt;P&gt;      LOOP AT I_RMPDETAIL INTO WA_RMPDETAIL.&lt;/P&gt;&lt;P&gt;        WA_RMPDETAIL-END_DATE = SY-DATUM.&lt;/P&gt;&lt;P&gt;        MODIFY I_RMPDETAIL FROM WA_RMPDETAIL INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      MODIFY ZSDRETL_RMPDETL FROM TABLE I_RMPDETAIL.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " END_EXISTING_PROMO&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  CALL_VIEW_PRINT_PROMO&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;  View and Print the promo using the transaction 'ZSDRETL_PROMO_REPT'.&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 CALL_VIEW_PRINT_PROMO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call transaction to display and print the promo and pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL TRANSACTION 'ZSDRETL_PROMO_REPT'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALL_VIEW_PRINT_PROMO&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  ENQUEUE&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;      Lock all the tables for the promo/pricing id&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 ENQUEUE USING P_ID.&lt;/P&gt;&lt;P&gt;  DATA: L_USER LIKE SY-MSGV1.&lt;/P&gt;&lt;P&gt;  DATA: L_VARKEY LIKE RSTABLE-VARKEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_VARKEY        = SY-MANDT.&lt;/P&gt;&lt;P&gt;  L_VARKEY+3(10)   = P_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ENQUEUE_E_TABLEE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            MODE_RSTABLE   = 'E'&lt;/P&gt;&lt;P&gt;            TABNAME        = 'ZSDRETL_RMPHEAD'&lt;/P&gt;&lt;P&gt;            VARKEY         = L_VARKEY&lt;/P&gt;&lt;P&gt;            X_TABNAME      = ' '&lt;/P&gt;&lt;P&gt;            X_VARKEY       = ' '&lt;/P&gt;&lt;P&gt;            _SCOPE         = '2'&lt;/P&gt;&lt;P&gt;            _WAIT          = ' '&lt;/P&gt;&lt;P&gt;            _COLLECT       = ' '&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            FOREIGN_LOCK   = 1&lt;/P&gt;&lt;P&gt;            SYSTEM_FAILURE = 2&lt;/P&gt;&lt;P&gt;            OTHERS         = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ENQUEUE_E_TABLEE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              MODE_RSTABLE   = 'E'&lt;/P&gt;&lt;P&gt;              TABNAME        = 'ZSDRETL_RMPSTORE'&lt;/P&gt;&lt;P&gt;              VARKEY         = L_VARKEY&lt;/P&gt;&lt;P&gt;              X_TABNAME      = ' '&lt;/P&gt;&lt;P&gt;              X_VARKEY       = ' '&lt;/P&gt;&lt;P&gt;              _SCOPE         = '2'&lt;/P&gt;&lt;P&gt;              _WAIT          = ' '&lt;/P&gt;&lt;P&gt;              _COLLECT       = ' '&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              FOREIGN_LOCK   = 1&lt;/P&gt;&lt;P&gt;              SYSTEM_FAILURE = 2&lt;/P&gt;&lt;P&gt;              OTHERS         = 3.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'ENQUEUE_E_TABLEE'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                MODE_RSTABLE   = 'E'&lt;/P&gt;&lt;P&gt;                TABNAME        = 'ZSDRETL_RMPDETL'&lt;/P&gt;&lt;P&gt;                VARKEY         = L_VARKEY&lt;/P&gt;&lt;P&gt;                X_TABNAME      = ' '&lt;/P&gt;&lt;P&gt;                X_VARKEY       = ' '&lt;/P&gt;&lt;P&gt;                _SCOPE         = '2'&lt;/P&gt;&lt;P&gt;                _WAIT          = ' '&lt;/P&gt;&lt;P&gt;                _COLLECT       = ' '&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                FOREIGN_LOCK   = 1&lt;/P&gt;&lt;P&gt;                SYSTEM_FAILURE = 2&lt;/P&gt;&lt;P&gt;                OTHERS         = 3.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        IF G_MAIN_OKCODE EQ 'VRPR'.&lt;/P&gt;&lt;P&gt;          PERFORM DEQUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSEIF SY-SUBRC EQ 1.&lt;/P&gt;&lt;P&gt;        L_USER = SY-MSGV1.&lt;/P&gt;&lt;P&gt;        IF G_MAIN_OKCODE EQ 'VRPR'.&lt;/P&gt;&lt;P&gt;          MESSAGE I161(ZS) WITH TEXT-123 L_USER&lt;/P&gt;&lt;P&gt;                  TEXT-050 P_ID.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE E161(ZS) WITH TEXT-123 L_USER&lt;/P&gt;&lt;P&gt;                    TEXT-050 P_ID.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSEIF SY-SUBRC EQ 2 OR SY-SUBRC EQ 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MESSAGE E135(ZS).&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ENQUEUE&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  DEQUE&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;      Unlock all the objects locked before going to modify&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 DEQUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DEQUEUE_ALL'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            &lt;U&gt;SYNCHRON = C&lt;/U&gt;SPACE&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS    = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E133(ZS).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DEQUE&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  CREATE_PROMO&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;      Call the header screen to create promotion&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 CREATE_PROMO.&lt;/P&gt;&lt;P&gt;  CLEAR : G_PRICING_FLAG,&lt;/P&gt;&lt;P&gt;          G_PRICING_CHG_FLAG,&lt;/P&gt;&lt;P&gt;          G_PDESC,&lt;/P&gt;&lt;P&gt;          ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_MAIN_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;  CHK_APR = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set the header text for header screen and detail screen for create&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  G_TEXT_HEADER = C_HEADER_TEXT1.&lt;/P&gt;&lt;P&gt;  G_TEXT_DET = C_DETAIL_TEXT1.&lt;/P&gt;&lt;P&gt;  G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;default end date to 2years from today&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM DEFAULT_END_DATE_TO_2YRS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; call screen 9001.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LEAVE TO SCREEN 9001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CREATE_PROMO&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  CHANGE_PROMO&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;      Call the screen 9003 to select the promo id required to change&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 CHANGE_PROMO.&lt;/P&gt;&lt;P&gt;  CLEAR : G_PRICING_FLAG,&lt;/P&gt;&lt;P&gt;          G_PRICING_CHG_FLAG.&lt;/P&gt;&lt;P&gt;  G_PROMO_FLAG = C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set the header text for header screen and the detail screen for promo&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;change option&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  G_TEXT_HEADER = C_HEADER_TEXT1 .&lt;/P&gt;&lt;P&gt;  G_TEXT_DET = C_DETAIL_TEXT1.&lt;/P&gt;&lt;P&gt;  G_MAIN_OKCODE = OKCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Leave to Promo change screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LEAVE TO SCREEN 9003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHANGE_PROMO&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  SET_PF_STATUS_9001&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;      Set PF status for screen 9001 (header info screen)&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 SET_PF_STATUS_9001.&lt;/P&gt;&lt;P&gt;  CLEAR OKCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for create pricing and change pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.&lt;/P&gt;&lt;P&gt;    REFRESH I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'VPRM'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'SAVE'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'ILOG'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'CEXL'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    CLEAR OKCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for create promo and change promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF G_MAIN_OKCODE = 'CRPM' OR G_MAIN_OKCODE = 'PRMC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'VPRC'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'SAVE'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'ILOG'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'CEXL'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF G_STATUS = TEXT-150.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ADDR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'DELR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR OKCODE.&lt;/P&gt;&lt;P&gt;    SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for view/copy for promo/pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF G_MAIN_OKCODE = 'VRPR' OR G_STATUS = TEXT-150&lt;/P&gt;&lt;P&gt;                                OR G_STATUS = TEXT-153.&lt;/P&gt;&lt;P&gt;    IF G_PROMO_VIEW_FLAG = C_X OR G_PRICING_VIEW_FLAG = C_X&lt;/P&gt;&lt;P&gt;           OR G_STATUS = TEXT-150 OR G_STATUS = TEXT-153.&lt;/P&gt;&lt;P&gt;      REFRESH I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VPRC'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'SAVE'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ILOG'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CEXL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CHEK'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ADDR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'DELR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VPRM'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR OKCODE.&lt;/P&gt;&lt;P&gt;      SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for copy promo option&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF G_PROMO_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      REFRESH I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VPRC'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'SAVE'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ILOG'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CEXL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CHEK'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR OKCODE.&lt;/P&gt;&lt;P&gt;      SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for copy pricing option&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      REFRESH I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VPRM'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'SAVE'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ILOG'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CEXL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CHEK'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR OKCODE.&lt;/P&gt;&lt;P&gt;      SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for create promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'CRPM'.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE01'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for create pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'CRPR'.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE02'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for change promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'PRMC'.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE03' WITH G_PROMO_ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for change pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'PRCC'.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE04' WITH G_PRICING_ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for view promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND G_PROMO_VIEW_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE05' WITH G_PROMO_ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for copy promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND G_PROMO_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE06'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for view pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND G_PRICING_VIEW_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE07' WITH G_PRICING_ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for copy pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE08'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SET_PF_STATUS_9001&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  MODIFY_9001_FIELDS&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;Modify the table control attribute before the screen appears&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 MODIFY_9001_FIELDS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Keep all the fields in display mode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF I_STORE_INFO[] IS INITIAL&lt;/P&gt;&lt;P&gt;              OR ( G_PROMO_CHG_FLAG = C_X AND G_STATUS = TEXT-150 )&lt;/P&gt;&lt;P&gt;              OR ( G_PRICING_CHG_FLAG = C_X AND G_STATUS = TEXT-150 )&lt;/P&gt;&lt;P&gt;              OR ( G_PRICING_CHG_FLAG = C_X AND G_STATUS = TEXT-153 ) .&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;      MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;In case of view promo or view pricing keep all the fields in display&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;mode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_STATUS = TEXT-153 OR&lt;/P&gt;&lt;P&gt;      ( G_MAIN_OKCODE = 'VRPR' AND (  G_PROMO_VIEW_FLAG = C_X&lt;/P&gt;&lt;P&gt;                                OR G_PRICING_VIEW_FLAG = C_X ) ).&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP2 = 'GR2'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;In case of copy promo or pricing keep the necessary fields in change&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;mode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF G_MAIN_OKCODE = 'VRPR' AND ( G_PROMO_COPY_FLAG = C_X&lt;/P&gt;&lt;P&gt;                                    OR G_PRICING_COPY_FLAG = C_X ).&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP2 = 'GR2'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 1.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Make all the fields in display mode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_PROMO_PLTYP = C_X.&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;      MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Make rows in display mode in change promo/pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF I_STORE_INFO-CHANGE_FLAG = C_X .&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP2 = 'GR2' .&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Store the current loop pass of the table control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  G_LOOPC = SY-LOOPC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MODIFY_9001_FIELDS&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------" /&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;**&amp;amp;      Form  SET_CURSOR_TABLE_CONTROL&lt;/P&gt;&lt;P&gt;**&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------" /&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Set the top line for the table control for create entry option&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------" /&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 SET_CURSOR_TABLE_CONTROL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CASE SY-DYNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN '9001'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF G_OKCODE = 'ADDR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR G_OKCODE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       G_LOOPC = G_LOOPC - 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM COMPUTE_SCROLLING_IN_TC USING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  'TBCL_HEAD1'   'P++'  G_LOOPC.&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;   WHEN '9002'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF G_OKCODE = 'ADDR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR G_OKCODE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       G_LOOPC1 = G_LOOPC1 - 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM COMPUTE_SCROLLING_IN_TC USING    'TBCL3'   'P++'  G_LOOPC1.&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;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " SET_CURSOR_TABLE_CONTROL&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  VALIDATE_PRICELIST_TYPE&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;      Validate price list type&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 VALIDATE_PRICELIST_TYPE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate price list type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT ZPRICELIST-ZLIST IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE ZLIST&lt;/P&gt;&lt;P&gt;    FROM ZPRICELIST&lt;/P&gt;&lt;P&gt;    INTO ZPRICELIST-ZLIST&lt;/P&gt;&lt;P&gt;    WHERE ZLIST = ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E161(ZS) WITH TEXT-015.&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.                    " VALIDATE_PRICELIST_TYPE&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  VALIDATE_DATES&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;Validate start date and end date of promotion and pricing&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 VALIDATE_DATES.&lt;/P&gt;&lt;P&gt;  IF G_MAIN_OKCODE &amp;lt;&amp;gt; 'PRMC'  AND G_MAIN_OKCODE &amp;lt;&amp;gt; 'PRCC'&lt;/P&gt;&lt;P&gt;     AND  G_PROMO_VIEW_FLAG &amp;lt;&amp;gt; C_X&lt;/P&gt;&lt;P&gt;          AND G_PRICING_VIEW_FLAG &amp;lt;&amp;gt; C_X .&lt;/P&gt;&lt;P&gt;    IF NOT ZSDRETL_RMPHEAD-START_DATE IS INITIAL&lt;/P&gt;&lt;P&gt;           AND  ZSDRETL_RMPHEAD-START_DATE LE SY-DATUM.&lt;/P&gt;&lt;P&gt;      MESSAGE E161(ZS) WITH TEXT-033.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT ZSDRETL_RMPHEAD-START_DATE IS INITIAL&lt;/P&gt;&lt;P&gt;       AND NOT ZSDRETL_RMPHEAD-END_DATE IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF ZSDRETL_RMPHEAD-START_DATE GT ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;        MESSAGE E161(ZS) WITH TEXT-014.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_DATES&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  READ_TABLE_CONTROL_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;      Read table control field data&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 READ_TABLE_CONTROL_DATA.&lt;/P&gt;&lt;P&gt;  GET CURSOR LINE L_LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_line = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_TABLE_ROW_VALUES USING L_LINE. "tbcl_head1-current_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: G_REGION_ID ,&lt;/P&gt;&lt;P&gt;         G_DIST_ID  ,&lt;/P&gt;&lt;P&gt;         G_AREA_ID ,&lt;/P&gt;&lt;P&gt;         G_STORE_ID ,&lt;/P&gt;&lt;P&gt;         G_ATTR_VAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_DYNPREAD INTO WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;    CASE WA_DYNPREAD-FIELDNAME.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-REGION_ID'.&lt;/P&gt;&lt;P&gt;        G_REGION_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-DIST_ID'.&lt;/P&gt;&lt;P&gt;        G_DIST_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-AREA_ID'.&lt;/P&gt;&lt;P&gt;        G_AREA_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-STORE_ID'.&lt;/P&gt;&lt;P&gt;        G_STORE_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-ATTR_VAL'.&lt;/P&gt;&lt;P&gt;        G_ATTR_VAL = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Translate style and SKU to upper case&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TRANSLATE : G_REGION_ID TO UPPER CASE ,&lt;/P&gt;&lt;P&gt;              G_DIST_ID TO UPPER CASE ,&lt;/P&gt;&lt;P&gt;              G_AREA_ID TO UPPER CASE ,&lt;/P&gt;&lt;P&gt;              G_STORE_ID TO UPPER CASE .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_RANGES USING&lt;/P&gt;&lt;P&gt;                              G_REGION_ID&lt;/P&gt;&lt;P&gt;                              G_DIST_ID&lt;/P&gt;&lt;P&gt;                              G_AREA_ID&lt;/P&gt;&lt;P&gt;                              G_STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " READ_TABLE_CONTROL_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;P&gt;*&amp;amp;      Form  VALIDATE_REGION&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;      Validate Region&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 VALIDATE_REGION.&lt;/P&gt;&lt;P&gt;  IF OKCODE &amp;lt;&amp;gt; 'DELR' AND G_PROMO_VIEW_FLAG = C_X&lt;/P&gt;&lt;P&gt;                      AND G_PRICING_VIEW_FLAG = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve region from store grouping table &amp;amp; validate against pricelist&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF  NOT G_REGION_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT REGION_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;      INTO G_REGION_ID&lt;/P&gt;&lt;P&gt;      WHERE REGION_ID = G_REGION_ID&lt;/P&gt;&lt;P&gt;       AND  PLTYP = ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if the region is not a valid one issue error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE E161(ZS) WITH TEXT-009.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_REGION&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  VALIDATE_DISTRICT&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;      Validate District&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 VALIDATE_DISTRICT.&lt;/P&gt;&lt;P&gt;  IF OKCODE &amp;lt;&amp;gt; 'DELR' AND G_PROMO_VIEW_FLAG &amp;lt;&amp;gt; C_X&lt;/P&gt;&lt;P&gt;                      AND G_PRICING_VIEW_FLAG &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if district is entred , validate it from district master table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF NOT G_DIST_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT DIST_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;      INTO G_DIST_ID&lt;/P&gt;&lt;P&gt;      WHERE DIST_ID = G_DIST_ID&lt;/P&gt;&lt;P&gt;      AND   PLTYP = ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Issue error message if district is invalid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MESSAGE E161(ZS) WITH TEXT-010&lt;/P&gt;&lt;P&gt;                               I_STORE_INFO-DIST_ID.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_DISTRICT&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  VALIDATE_AREA&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;      Validate Area&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 VALIDATE_AREA.&lt;/P&gt;&lt;P&gt;  IF OKCODE &amp;lt;&amp;gt; 'DELR'  AND G_PROMO_VIEW_FLAG &amp;lt;&amp;gt; C_X&lt;/P&gt;&lt;P&gt;                       AND G_PRICING_VIEW_FLAG &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if area is entred , validate and then populate region and district&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF NOT G_AREA_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT AREA_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;      INTO G_AREA_ID&lt;/P&gt;&lt;P&gt;      WHERE AREA_ID = G_AREA_ID&lt;/P&gt;&lt;P&gt;      AND   PLTYP = ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if area is invalid , then issue error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE E161(ZS) WITH TEXT-011&lt;/P&gt;&lt;P&gt;                               G_AREA_ID.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_AREA&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  VALIDATE_STORE&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;      Validate Store&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 VALIDATE_STORE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF OKCODE &amp;lt;&amp;gt; 'DELR'  AND G_PROMO_VIEW_FLAG &amp;lt;&amp;gt; C_X&lt;/P&gt;&lt;P&gt;                       AND G_PRICING_VIEW_FLAG &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if store is entred , validate from store hierarchy table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF NOT G_STORE_ID IS INITIAL.&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  = G_STORE_ID&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                OUTPUT = G_STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE STORE_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;      INTO G_STORE_ID&lt;/P&gt;&lt;P&gt;      WHERE STORE_ID = G_STORE_ID&lt;/P&gt;&lt;P&gt;      AND   PLTYP = ZPRICELIST-ZLIST.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Issue error message if invalid store is found&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE E161(ZS) WITH TEXT-012&lt;/P&gt;&lt;P&gt;                               G_STORE_ID.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_STORE&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  VALIDATE_STORE_GROUPING&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;      Validate Store Grouping&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 VALIDATE_STORE_GROUPING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If delete is not pressed then validate the store grouping from the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;table zsdretl_str_info&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF OKCODE &amp;lt;&amp;gt; 'DELR'  AND G_PROMO_VIEW_FLAG &amp;lt;&amp;gt; C_X&lt;/P&gt;&lt;P&gt;                       AND G_PRICING_VIEW_FLAG &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH I_STORE.&lt;/P&gt;&lt;P&gt;    SELECT REGION_ID&lt;/P&gt;&lt;P&gt;           STORE_ID&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;    INTO TABLE I_STORE&lt;/P&gt;&lt;P&gt;    WHERE REGION_ID IN R_REGION&lt;/P&gt;&lt;P&gt;      AND DIST_ID IN R_DIST&lt;/P&gt;&lt;P&gt;      AND AREA_ID IN R_AREA&lt;/P&gt;&lt;P&gt;      AND STORE_ID IN R_STORE                       .&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      REFRESH I_STORE.&lt;/P&gt;&lt;P&gt;      MESSAGE E161(ZS) WITH TEXT-013.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      REFRESH I_STORE.&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.                    " VALIDATE_STORE_GROUPING&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  VALIDATE_ATTR_VAL&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;      Validate attribute 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 VALIDATE_ATTR_VAL.&lt;/P&gt;&lt;P&gt;  IF OKCODE &amp;lt;&amp;gt; 'DELR' AND OKCODE &amp;lt;&amp;gt; 'BACK'&lt;/P&gt;&lt;P&gt;                                         AND G_PROMO_VIEW_FLAG &amp;lt;&amp;gt; C_X&lt;/P&gt;&lt;P&gt;                                       AND G_PRICING_VIEW_FLAG &amp;lt;&amp;gt; C_X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GET CURSOR LINE G_ATTR_VAL_LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve attribute values from store attribute master table for the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;store entered&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF NOT G_STORE_ID IS INITIAL AND NOT G_ATTR_VAL IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT STORE_ID&lt;/P&gt;&lt;P&gt;             ATTR_VAL&lt;/P&gt;&lt;P&gt;       FROM  ZSDRETL_STR_ATR&lt;/P&gt;&lt;P&gt;       UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;       INTO (ZSDRETL_STR_ATR-STORE_ID , ZSDRETL_STR_ATR-ATTR_VAL)&lt;/P&gt;&lt;P&gt;       WHERE STORE_ID = G_STORE_ID&lt;/P&gt;&lt;P&gt;       AND   ATTR_VAL = G_ATTR_VAL.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE E161(ZS) WITH TEXT-022 .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSEIF G_STORE_ID IS INITIAL AND NOT G_ATTR_VAL IS INITIAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If store is not entered but attribute value is entered then populate&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;all the stores automatically . This is also modified to display store&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;depending on various grouping of region/dist/area.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_RANGES USING&lt;/P&gt;&lt;P&gt;                                  G_REGION_ID&lt;/P&gt;&lt;P&gt;                                  G_DIST_ID&lt;/P&gt;&lt;P&gt;                                  G_AREA_ID&lt;/P&gt;&lt;P&gt;                                  G_STORE_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve store and store name for the attribute values entered&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      REFRESH : I_STRATR .&lt;/P&gt;&lt;P&gt;      CLEAR  : I_STRATR.&lt;/P&gt;&lt;P&gt;      SELECT ZSDRETL_STR_INFO~STORE_ID&lt;/P&gt;&lt;P&gt;             ZSDRETL_STR_INFO~STORE_NAME&lt;/P&gt;&lt;P&gt;       FROM  ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;       INNER JOIN ZSDRETL_STR_ATR&lt;/P&gt;&lt;P&gt;       ON ZSDRETL_STR_INFO&lt;SUB&gt;STORE_ID = ZSDRETL_STR_ATR&lt;/SUB&gt;STORE_ID&lt;/P&gt;&lt;P&gt;       INTO TABLE I_STRATR&lt;/P&gt;&lt;P&gt;       WHERE ZSDRETL_STR_ATR~ATTR_VAL = G_ATTR_VAL&lt;/P&gt;&lt;P&gt;       AND   ZSDRETL_STR_INFO~PLTYP = ZPRICELIST-ZLIST&lt;/P&gt;&lt;P&gt;       AND   ZSDRETL_STR_INFO~REGION_ID IN R_REGION&lt;/P&gt;&lt;P&gt;       AND   ZSDRETL_STR_INFO~DIST_ID IN R_DIST&lt;/P&gt;&lt;P&gt;       AND   ZSDRETL_STR_INFO~AREA_ID IN R_AREA.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        SORT I_STRATR BY STORE_ID .&lt;/P&gt;&lt;P&gt;        DELETE ADJACENT DUPLICATES FROM I_STRATR COMPARING STORE_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the screen to display all the stores for the attribute values&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;so that the user can select all or some of the stores to be populated&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in the store grouping table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL SCREEN 9006 STARTING AT 20 2 ENDING AT 60 10.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_ATTR_VAL&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  POPULATE_STORE_HIER_AUTO&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; Populate store location automatically. If store is entered ,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; then populate region/dist/area . If area is entered then populate&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; region/district. If district is entered then populate its region.&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 POPULATE_STORE_HIER_AUTO.&lt;/P&gt;&lt;P&gt;  LOOP AT I_STORE_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate ranger table with the value of region, district , area&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and store entered&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM POPULATE_RANGES USING&lt;/P&gt;&lt;P&gt;                                I_STORE_INFO-REGION_ID&lt;/P&gt;&lt;P&gt;                                I_STORE_INFO-DIST_ID&lt;/P&gt;&lt;P&gt;                                I_STORE_INFO-AREA_ID&lt;/P&gt;&lt;P&gt;                                I_STORE_INFO-STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If store is entered then populate region , district and area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF NOT I_STORE_INFO-STORE_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE REGION_ID&lt;/P&gt;&lt;P&gt;                    DIST_ID&lt;/P&gt;&lt;P&gt;                    AREA_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;      INTO (I_STORE_INFO-REGION_ID , I_STORE_INFO-DIST_ID&lt;/P&gt;&lt;P&gt;                                   , I_STORE_INFO-AREA_ID)&lt;/P&gt;&lt;P&gt;      WHERE STORE_ID IN R_STORE&lt;/P&gt;&lt;P&gt;      AND   AREA_ID  IN R_AREA&lt;/P&gt;&lt;P&gt;      AND   DIST_ID  IN R_DIST&lt;/P&gt;&lt;P&gt;      AND   REGION_ID IN R_REGION.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Determine the level and populate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM DETERMINE_LEVEL USING I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        MODIFY I_STORE_INFO.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If area is entered then populate region , district&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF NOT I_STORE_INFO-AREA_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE REGION_ID&lt;/P&gt;&lt;P&gt;                    DIST_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_AREA&lt;/P&gt;&lt;P&gt;      INTO (I_STORE_INFO-REGION_ID , I_STORE_INFO-DIST_ID)&lt;/P&gt;&lt;P&gt;      WHERE AREA_ID IN R_AREA&lt;/P&gt;&lt;P&gt;        AND DIST_ID IN R_DIST&lt;/P&gt;&lt;P&gt;        AND REGION_ID IN R_REGION.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        PERFORM DETERMINE_LEVEL USING I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        MODIFY I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If district is entered then populate region&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF NOT I_STORE_INFO-DIST_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE REGION_ID&lt;/P&gt;&lt;P&gt;      FROM ZSDRETL_DISTRICT&lt;/P&gt;&lt;P&gt;      INTO I_STORE_INFO-REGION_ID&lt;/P&gt;&lt;P&gt;      WHERE DIST_ID IN R_DIST .&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        PERFORM DETERMINE_LEVEL USING I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        MODIFY I_STORE_INFO.&lt;/P&gt;&lt;P&gt;        CONTINUE.&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;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_STORE_HIER_AUTO&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  VALUE_REQ_REGION&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;      Value Request for Region&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 VALUE_REQ_REGION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the current record number in the table control.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_SY_STEPL USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the field values of the table control using the current record no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_TABLE_ROW_VALUES USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: G_REGION_ID ,&lt;/P&gt;&lt;P&gt;         G_DIST_ID  ,&lt;/P&gt;&lt;P&gt;         G_AREA_ID ,&lt;/P&gt;&lt;P&gt;         G_STORE_ID ,&lt;/P&gt;&lt;P&gt;         WA_REGION ,&lt;/P&gt;&lt;P&gt;         I_REGION[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the store grouping infos into corresponding variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_DYNPREAD INTO WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;    CASE WA_DYNPREAD-FIELDNAME.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-REGION_ID'.&lt;/P&gt;&lt;P&gt;        G_REGION_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-DIST_ID'.&lt;/P&gt;&lt;P&gt;        G_DIST_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-AREA_ID'.&lt;/P&gt;&lt;P&gt;        G_AREA_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-STORE_ID'.&lt;/P&gt;&lt;P&gt;        G_STORE_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'ZPRICELIST-ZLIST'.&lt;/P&gt;&lt;P&gt;        G_PLTYP = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate range tables using the store grouping infos&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_RANGES USING&lt;/P&gt;&lt;P&gt;                              G_REGION_ID&lt;/P&gt;&lt;P&gt;                              G_DIST_ID&lt;/P&gt;&lt;P&gt;                              G_AREA_ID&lt;/P&gt;&lt;P&gt;                              G_STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve regions for the data entered in the row of the table control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT ZSDRETL_STR_INFO~REGION_ID&lt;/P&gt;&lt;P&gt;         ZSDRETL_REGION~REGION&lt;/P&gt;&lt;P&gt;  FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;  INNER JOIN ZSDRETL_REGION&lt;/P&gt;&lt;P&gt;  ON ZSDRETL_STR_INFO&lt;SUB&gt;REGION_ID = ZSDRETL_REGION&lt;/SUB&gt;REGION_ID&lt;/P&gt;&lt;P&gt;  INTO TABLE I_REGION&lt;/P&gt;&lt;P&gt;WHERE  ZSDRETL_STR_INFO~DIST_ID IN R_DIST&lt;/P&gt;&lt;P&gt;    AND ZSDRETL_STR_INFO~AREA_ID IN R_AREA&lt;/P&gt;&lt;P&gt;    AND ZSDRETL_STR_INFO~STORE_ID IN R_STORE&lt;/P&gt;&lt;P&gt;    AND ZSDRETL_STR_INFO~PLTYP = G_PLTYP .&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;  ELSE.&lt;/P&gt;&lt;P&gt;    SORT I_REGION BY REGION_ID .&lt;/P&gt;&lt;P&gt;    DELETE I_REGION WHERE REGION_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM I_REGION COMPARING REGION_ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function module to display the region list in form of search help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_VALUE_ON_REQUEST TABLES I_REGION&lt;/P&gt;&lt;P&gt;                               USING C_REGION1&lt;/P&gt;&lt;P&gt;                                     C_REGION2&lt;/P&gt;&lt;P&gt;                                     SY-DYNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALUE_REQ_REGION&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  VALUE_REQ_DISTRICT&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;      Get district and display in search help&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 VALUE_REQ_DISTRICT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the current record number in the table control.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_SY_STEPL USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the field values of the table control using the current record no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_TABLE_ROW_VALUES USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: G_REGION_ID ,&lt;/P&gt;&lt;P&gt;         G_DIST_ID  ,&lt;/P&gt;&lt;P&gt;         G_AREA_ID ,&lt;/P&gt;&lt;P&gt;         G_STORE_ID ,&lt;/P&gt;&lt;P&gt;         WA_DISTRICT ,&lt;/P&gt;&lt;P&gt;         I_DISTRICT[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the store grouping infos into corresponding variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_DYNPREAD INTO WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;    CASE WA_DYNPREAD-FIELDNAME.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-REGION_ID'.&lt;/P&gt;&lt;P&gt;        G_REGION_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-DIST_ID'.&lt;/P&gt;&lt;P&gt;        G_DIST_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-AREA_ID'.&lt;/P&gt;&lt;P&gt;        G_AREA_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-STORE_ID'.&lt;/P&gt;&lt;P&gt;        G_STORE_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate range tables using the store grouping infos&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_RANGES USING&lt;/P&gt;&lt;P&gt;                              G_REGION_ID&lt;/P&gt;&lt;P&gt;                              G_DIST_ID&lt;/P&gt;&lt;P&gt;                              G_AREA_ID&lt;/P&gt;&lt;P&gt;                              G_STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve district for the data entered in the row of the table control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT ZSDRETL_STR_INFO~DIST_ID&lt;/P&gt;&lt;P&gt;         ZSDRETL_DISTRICT~DISTRICT&lt;/P&gt;&lt;P&gt;  FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;  INNER JOIN ZSDRETL_DISTRICT&lt;/P&gt;&lt;P&gt;  ON ZSDRETL_STR_INFO&lt;SUB&gt;DIST_ID = ZSDRETL_DISTRICT&lt;/SUB&gt;DIST_ID&lt;/P&gt;&lt;P&gt;  INTO TABLE I_DISTRICT&lt;/P&gt;&lt;P&gt;  WHERE ZSDRETL_STR_INFO~REGION_ID IN R_REGION&lt;/P&gt;&lt;P&gt;    AND ZSDRETL_STR_INFO~AREA_ID IN R_AREA&lt;/P&gt;&lt;P&gt;    AND ZSDRETL_STR_INFO~STORE_ID IN R_STORE&lt;/P&gt;&lt;P&gt;    AND ZSDRETL_STR_INFO~PLTYP = ZPRICELIST-ZLIST.&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;&lt;/P&gt;&lt;P&gt;  SORT I_DISTRICT BY DIST_ID .&lt;/P&gt;&lt;P&gt;  DELETE I_DISTRICT WHERE DIST_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM I_DISTRICT COMPARING DIST_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function to display the district list in form of search help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_VALUE_ON_REQUEST TABLES I_DISTRICT&lt;/P&gt;&lt;P&gt;                               USING C_DIST1&lt;/P&gt;&lt;P&gt;                                     C_DIST2&lt;/P&gt;&lt;P&gt;                                     SY-DYNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALUE_REQ_DISTRICT&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  VALUE_REQ_AREA&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;      Value request for area&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 VALUE_REQ_AREA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the current record number in the table control.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_SY_STEPL USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the field values of the table control using the current record no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_TABLE_ROW_VALUES USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: G_REGION_ID ,&lt;/P&gt;&lt;P&gt;         G_DIST_ID  ,&lt;/P&gt;&lt;P&gt;         G_AREA_ID ,&lt;/P&gt;&lt;P&gt;         G_STORE_ID ,&lt;/P&gt;&lt;P&gt;         WA_AREA ,&lt;/P&gt;&lt;P&gt;         I_AREA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the store grouping infos into corresponding variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_DYNPREAD INTO WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;    CASE WA_DYNPREAD-FIELDNAME.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-REGION_ID'.&lt;/P&gt;&lt;P&gt;        G_REGION_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-DIST_ID'.&lt;/P&gt;&lt;P&gt;        G_DIST_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-AREA_ID'.&lt;/P&gt;&lt;P&gt;        G_AREA_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-STORE_ID'.&lt;/P&gt;&lt;P&gt;        G_STORE_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate range tables using the store grouping infos&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_RANGES USING&lt;/P&gt;&lt;P&gt;                              G_REGION_ID&lt;/P&gt;&lt;P&gt;                              G_DIST_ID&lt;/P&gt;&lt;P&gt;                              G_AREA_ID&lt;/P&gt;&lt;P&gt;                              G_STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve area for the data entered in the row of the table control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT ZSDRETL_STR_INFO~AREA_ID&lt;/P&gt;&lt;P&gt;         ZSDRETL_AREA~AREA_NAME&lt;/P&gt;&lt;P&gt;  FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;  INNER JOIN ZSDRETL_AREA&lt;/P&gt;&lt;P&gt;  ON ZSDRETL_STR_INFO&lt;SUB&gt;AREA_ID = ZSDRETL_AREA&lt;/SUB&gt;AREA_ID&lt;/P&gt;&lt;P&gt;  INTO TABLE I_AREA&lt;/P&gt;&lt;P&gt;  WHERE ZSDRETL_STR_INFO~REGION_ID IN R_REGION&lt;/P&gt;&lt;P&gt;    AND ZSDRETL_STR_INFO~DIST_ID IN R_DIST&lt;/P&gt;&lt;P&gt;    AND ZSDRETL_STR_INFO~STORE_ID IN R_STORE&lt;/P&gt;&lt;P&gt;    AND ZSDRETL_STR_INFO~PLTYP = ZPRICELIST-ZLIST.&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;  SORT I_AREA BY AREA_ID .&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM I_AREA COMPARING AREA_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function module to display the area list in form of search help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_VALUE_ON_REQUEST TABLES I_AREA&lt;/P&gt;&lt;P&gt;                               USING C_AREA1&lt;/P&gt;&lt;P&gt;                                     C_AREA2&lt;/P&gt;&lt;P&gt;                                     SY-DYNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALUE_REQ_AREA&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  VALUE_REQ_STORE&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;      Value request for store&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 VALUE_REQ_STORE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the current record number in the table control.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_SY_STEPL USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the field values of the table control using the current record no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_TABLE_ROW_VALUES USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: G_REGION_ID ,&lt;/P&gt;&lt;P&gt;         G_DIST_ID  ,&lt;/P&gt;&lt;P&gt;         G_AREA_ID ,&lt;/P&gt;&lt;P&gt;         G_STORE_ID ,&lt;/P&gt;&lt;P&gt;         WA_STORE ,&lt;/P&gt;&lt;P&gt;         G_PLTYP,            " DEVK939179&lt;/P&gt;&lt;P&gt;         I_STORE[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the store grouping infos into corresponding variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_DYNPREAD INTO WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;    CASE WA_DYNPREAD-FIELDNAME.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-REGION_ID'.&lt;/P&gt;&lt;P&gt;        G_REGION_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-DIST_ID'.&lt;/P&gt;&lt;P&gt;        G_DIST_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-AREA_ID'.&lt;/P&gt;&lt;P&gt;        G_AREA_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-STORE_ID'.&lt;/P&gt;&lt;P&gt;        G_STORE_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'ZPRICELIST-ZLIST'.              " DEVK939179&lt;/P&gt;&lt;P&gt;        G_PLTYP = WA_DYNPREAD-FIELDVALUE.   " DEVK939179&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get all the stores for the price list type if region id, district id&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and the area fields are empty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF    G_REGION_ID IS INITIAL&lt;/P&gt;&lt;P&gt;    AND G_DIST_ID IS INITIAL&lt;/P&gt;&lt;P&gt;    AND G_AREA_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT STORE_ID&lt;/P&gt;&lt;P&gt;           STORE_NAME&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;    INTO TABLE I_STORE&lt;/P&gt;&lt;P&gt;    WHERE PLTYP = G_PLTYP. " DEVK939179&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;populate range tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM POPULATE_RANGES USING&lt;/P&gt;&lt;P&gt;                                G_REGION_ID&lt;/P&gt;&lt;P&gt;                                G_DIST_ID&lt;/P&gt;&lt;P&gt;                                G_AREA_ID&lt;/P&gt;&lt;P&gt;                                G_STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve stores for the data entered in the row of the table control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT STORE_ID&lt;/P&gt;&lt;P&gt;           STORE_NAME&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;    INTO TABLE I_STORE&lt;/P&gt;&lt;P&gt;    WHERE REGION_ID IN R_REGION&lt;/P&gt;&lt;P&gt;      AND DIST_ID IN R_DIST&lt;/P&gt;&lt;P&gt;      AND AREA_ID IN R_AREA&lt;/P&gt;&lt;P&gt;      AND PLTYP = G_PLTYP.           " DEVK939179&lt;/P&gt;&lt;P&gt;  ENDIF.&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;&lt;/P&gt;&lt;P&gt;  SORT I_STORE BY STORE_ID .&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM I_STORE COMPARING STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function module to display the store list in form of search help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_VALUE_ON_REQUEST TABLES I_STORE&lt;/P&gt;&lt;P&gt;                               USING C_STORE1&lt;/P&gt;&lt;P&gt;                                     C_STORE2&lt;/P&gt;&lt;P&gt;                                     SY-DYNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALUE_REQ_STORE&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  VALUE_REQ_ATTR_VAL&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;      Value request for attribute 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 VALUE_REQ_ATTR_VAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the current record number in the table control.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_SY_STEPL USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the field values of the table control using the current record no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_TABLE_ROW_VALUES USING G_STEPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: G_REGION_ID ,&lt;/P&gt;&lt;P&gt;         G_DIST_ID  ,&lt;/P&gt;&lt;P&gt;         G_AREA_ID ,&lt;/P&gt;&lt;P&gt;         G_STORE_ID ,&lt;/P&gt;&lt;P&gt;         G_ATTR_VAL,&lt;/P&gt;&lt;P&gt;         WA_ATTR ,&lt;/P&gt;&lt;P&gt;         I_ATTR[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the store grouping infos into corresponding variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_DYNPREAD INTO WA_DYNPREAD.&lt;/P&gt;&lt;P&gt;    CASE WA_DYNPREAD-FIELDNAME.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-REGION_ID'.&lt;/P&gt;&lt;P&gt;        G_REGION_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-DIST_ID'.&lt;/P&gt;&lt;P&gt;        G_DIST_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-AREA_ID'.&lt;/P&gt;&lt;P&gt;        G_AREA_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-STORE_ID'.&lt;/P&gt;&lt;P&gt;        G_STORE_ID = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      WHEN 'I_STORE_INFO-ATTR_VAL'.&lt;/P&gt;&lt;P&gt;        G_ATTR_VAL = WA_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get attribute values if no other fields are entered&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF  G_STORE_ID IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT ZSDRETL_STR_ATR~ATTR_ID&lt;/P&gt;&lt;P&gt;           ZSDRETL_STR_ATR~ATTR_VAL&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_STR_ATR INNER JOIN ZSDRETL_STR_INFO&lt;/P&gt;&lt;P&gt;    ON ZSDRETL_STR_ATR&lt;SUB&gt;STORE_ID = ZSDRETL_STR_INFO&lt;/SUB&gt;STORE_ID&lt;/P&gt;&lt;P&gt;    INTO TABLE I_ATTR&lt;/P&gt;&lt;P&gt;    WHERE ZSDRETL_STR_INFO~PLTYP = ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populate range tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM POPULATE_RANGES USING&lt;/P&gt;&lt;P&gt;                                G_REGION_ID&lt;/P&gt;&lt;P&gt;                                G_DIST_ID&lt;/P&gt;&lt;P&gt;                                G_AREA_ID&lt;/P&gt;&lt;P&gt;                                G_STORE_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve attribute values for the data entered in table control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT ATTR_ID&lt;/P&gt;&lt;P&gt;           ATTR_VAL&lt;/P&gt;&lt;P&gt;    FROM ZSDRETL_STR_ATR&lt;/P&gt;&lt;P&gt;    INTO TABLE I_ATTR&lt;/P&gt;&lt;P&gt;    WHERE STORE_ID IN R_STORE .&lt;/P&gt;&lt;P&gt;  ENDIF.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call function module to display the region list in form of search help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT I_ATTR BY ATTR_ID ATTR_VAL.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM I_ATTR COMPARING ATTR_ID ATTR_VAL.&lt;/P&gt;&lt;P&gt;  PERFORM GET_VALUE_ON_REQUEST TABLES I_ATTR&lt;/P&gt;&lt;P&gt;                               USING C_ATTR1&lt;/P&gt;&lt;P&gt;                                     C_ATTR2&lt;/P&gt;&lt;P&gt;                                     SY-DYNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALUE_REQ_ATTR_VAL&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  SET_PF_STATUS_9002&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;      Set PF status for the detail screen&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 SET_PF_STATUS_9002.&lt;/P&gt;&lt;P&gt;  CLEAR OKCODE.&lt;/P&gt;&lt;P&gt;  REFRESH I_FCODETAB .&lt;/P&gt;&lt;P&gt;  CLEAR I_FCODETAB.&lt;/P&gt;&lt;P&gt;  IF G_VAL = C_X.&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for the create pricing and change promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'CRPR' OR G_MAIN_OKCODE = 'PRCC'.&lt;/P&gt;&lt;P&gt;    IF G_VAL = C_X.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF G_VAL = C_SPACE.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'VPRM'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    IF G_STATUS = TEXT-150 OR G_STATUS = TEXT-153.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ADDR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'DELR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CEXL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ILOG'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&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;    SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.  "'VPRM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF G_MAIN_OKCODE = 'CRPM' OR G_MAIN_OKCODE = 'PRMC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF G_STATUS = TEXT-150.&lt;/P&gt;&lt;P&gt;      REFRESH I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ADDR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'DELR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CEXL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ILOG'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF G_VAL = C_X.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF G_VAL = C_SPACE.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_FCODETAB-FCODE = 'VPRC'.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for the create promo and change promo&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   set pf-status 'MAIN01' excluding 'VPRC'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.&lt;/P&gt;&lt;P&gt;  ELSEIF G_MAIN_OKCODE = 'VRPR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for the view/copy promo/pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF  G_PROMO_VIEW_FLAG = C_X OR G_PRICING_VIEW_FLAG = C_X.&lt;/P&gt;&lt;P&gt;      REFRESH I_FCODETAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     append wa_fcodetab to i_fcodetab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VPRM'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VPRC'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CEXL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'SAVE'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ILOG'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'ADDR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'DELR'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'CHEK'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'DETL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_fcodetab-fcode = 'VPRM'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     append wa_fcodetab to i_fcodetab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR OKCODE.&lt;/P&gt;&lt;P&gt;      SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.&lt;/P&gt;&lt;P&gt;    ELSEIF G_PROMO_COPY_FLAG = C_X .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for copy promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_VAL = C_X.&lt;/P&gt;&lt;P&gt;        WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;        APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF G_VAL = C_SPACE.&lt;/P&gt;&lt;P&gt;        WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;        APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VPRC'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.  "'VPRC'.&lt;/P&gt;&lt;P&gt;    ELSEIF G_PRICING_COPY_FLAG = C_X .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set PF status for copy pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF G_VAL = C_X.&lt;/P&gt;&lt;P&gt;        WA_FCODETAB-FCODE = 'VALD'.&lt;/P&gt;&lt;P&gt;        APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF G_VAL = C_SPACE.&lt;/P&gt;&lt;P&gt;        WA_FCODETAB-FCODE = 'UVAL'.&lt;/P&gt;&lt;P&gt;        APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      WA_FCODETAB-FCODE = 'VPRM'.&lt;/P&gt;&lt;P&gt;      APPEND WA_FCODETAB TO I_FCODETAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET PF-STATUS 'MAIN01' EXCLUDING I_FCODETAB.  "'VPRM'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for create promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'CRPM'.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE01'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for create pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'CRPR'.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE02'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for change promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'PRMC'.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE03' WITH G_PROMO_ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for change pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'PRCC'.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE04' WITH G_PRICING_ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for view promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND G_PROMO_VIEW_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE05' WITH G_PROMO_ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for copy promo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND G_PROMO_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE06'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for view pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND G_PRICING_VIEW_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE07' WITH G_PRICING_ID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set Title bar for copy pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'VRPR' AND G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    SET TITLEBAR 'TITLE08'.&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SET_PF_STATUS_9002&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  INITIALIZE_9002&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;      Initialize fields and the variables used for detail screen 9002&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 INITIALIZE_9002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_CREATED_BY = G_CREABY.&lt;/P&gt;&lt;P&gt;  CLEAR G_FILEPATH.&lt;/P&gt;&lt;P&gt;  G_PRICELIST = ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ( G_MAIN_OKCODE = 'CRPM' OR G_MAIN_OKCODE = 'CRPR'&lt;/P&gt;&lt;P&gt;                              OR G_MAIN_OKCODE = 'PRMC'&lt;/P&gt;&lt;P&gt;                              OR G_MAIN_OKCODE = 'PRCC'&lt;/P&gt;&lt;P&gt;                              OR G_PROMO_COPY_FLAG = C_X&lt;/P&gt;&lt;P&gt;                              OR G_PRICING_COPY_FLAG = C_X )&lt;/P&gt;&lt;P&gt;       AND I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    DO 14 TIMES.&lt;/P&gt;&lt;P&gt;      CLEAR I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      APPEND I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ENDDO.&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;  IF   G_COPY_FLAG = C_X AND NOT I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CLEAR G_COPY_FLAG .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Change the start date and end date of the sku lines as per header&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in case of create promo/pricing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF   G_MAIN_OKCODE = 'CRPM'&lt;/P&gt;&lt;P&gt;   OR  G_MAIN_OKCODE = 'CRPR'&lt;/P&gt;&lt;P&gt;   OR  G_PROMO_COPY_FLAG = C_X&lt;/P&gt;&lt;P&gt;   OR  G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-START_DATE = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      I_SKU_INFO-END_DATE = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the total entry of the store grouping table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE I_STORE_INFO LINES TBCL2-LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Change the attributes of the push buttons and other screen fields.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CHANGE_SCRATTR_9002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;change created date to user format&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of change of DEVK939258&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'CRPM' OR G_MAIN_OKCODE = 'CRPR'&lt;/P&gt;&lt;P&gt;    OR G_PRICING_COPY_FLAG = C_X OR G_PROMO_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    PERFORM CONV_DATE USING SY-DATUM CHANGING G_CREA_DATE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM CONV_DATE USING G_CREAON CHANGING G_CREA_DATE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of change of DEVK939258&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;change start date for promotion or pricing to user format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CONV_DATE USING ZSDRETL_RMPHEAD-START_DATE CHANGING G_DATE1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;change end date for promotion or pricing to user format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CONV_DATE USING ZSDRETL_RMPHEAD-END_DATE CHANGING G_DATE2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Concatenate start date &amp;amp; end date to display as one text in detail scr&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE G_DATE1 '-' G_DATE2  INTO G_DATES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Make promotype to '$' in detail screen if dollar type promo is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;selected and make promotype to '%' in detail screen if percent type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;promo is selected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_DOLAR = C_X.&lt;/P&gt;&lt;P&gt;    G_PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;  ELSEIF G_PERC = C_X.&lt;/P&gt;&lt;P&gt;    G_PROMO_TYPE = C_%.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF G_PRICING_FLAG = C_X OR G_PRICING_COPY_FLAG = C_X&lt;/P&gt;&lt;P&gt;    OR G_PRICING_VIEW_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    G_PROMO_TYPE = C_$.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Make clearance variable in detail screen to 'X' if clearance is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;checked in the header screen and make it blank if non-clearance is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;checked.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_CLR = C_X.&lt;/P&gt;&lt;P&gt;    G_CHK_CLR = C_X.&lt;/P&gt;&lt;P&gt;  ELSEIF G_NON_CLR = C_X.&lt;/P&gt;&lt;P&gt;    G_CHK_CLR = C_SPACE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialize the approve check box in detail screen with the value in&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;header screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  G_CHK_APPR = CHK_APR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the total record size of the sku hierarchy table to set the LINES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;attribute value of the table control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE I_SKU_INFO LINES TBCL3-LINES.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify the store group table with no selection option&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF G_OKCODE &amp;lt;&amp;gt; 'SELA' .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT I_SKU_INFO WHERE SEL = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR I_SKU_INFO-SEL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY I_SKU_INFO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&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;   CLEAR G_OKCODE.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Redetermine existing sku hierarchy&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_PROMO_TYPE_TEMP &amp;lt;&amp;gt; G_PROMO_TYPE OR G_CHK_CLR_TEMP &amp;lt;&amp;gt; G_CHK_CLR&lt;/P&gt;&lt;P&gt;    OR G_START_DATE_TEMP &amp;lt;&amp;gt; ZSDRETL_RMPHEAD-START_DATE&lt;/P&gt;&lt;P&gt;    OR G_END_DATE_TEMP   &amp;lt;&amp;gt; ZSDRETL_RMPHEAD-END_DATE&lt;/P&gt;&lt;P&gt;    OR G_PLTYP_TEMP &amp;lt;&amp;gt; ZPRICELIST-ZLIST.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;      CLEAR: I_SKU_INFO-TOP_UP,&lt;/P&gt;&lt;P&gt;             I_SKU_INFO-OVERRIDE,&lt;/P&gt;&lt;P&gt;             I_SKU_INFO-CHECK_FLAG,&lt;/P&gt;&lt;P&gt;             I_SKU_INFO-REPROMO,&lt;/P&gt;&lt;P&gt;             I_SKU_INFO-REF_PROMO,&lt;/P&gt;&lt;P&gt;             I_SKU_INFO-KBETR.&lt;/P&gt;&lt;P&gt;      MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    IF G_PROMO_TYPE_TEMP &amp;lt;&amp;gt; G_PROMO_TYPE .&lt;/P&gt;&lt;P&gt;      G_PROMO_TYPE_TEMP = G_PROMO_TYPE .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF G_CHK_CLR_TEMP &amp;lt;&amp;gt; G_CHK_CLR.&lt;/P&gt;&lt;P&gt;      G_CHK_CLR_TEMP = G_CHK_CLR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF G_START_DATE_TEMP &amp;lt;&amp;gt; ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;      G_START_DATE_TEMP = ZSDRETL_RMPHEAD-START_DATE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF  G_END_DATE_TEMP &amp;lt;&amp;gt; ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;      G_END_DATE_TEMP = ZSDRETL_RMPHEAD-END_DATE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF G_PLTYP_TEMP &amp;lt;&amp;gt; ZPRICELIST-ZLIST .&lt;/P&gt;&lt;P&gt;      G_PLTYP_TEMP = ZPRICELIST-ZLIST .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Determine the basic price of the SKUs and STYLEs entered in the screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of change of DEVK939258&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform determine_basic_price_of_style.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939274&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM DETERMINE_PRICE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939274&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform determine_basic_price.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of change of DEVK939258&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If it is a case of pricing create or change then keep blank the filed&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;values like department, class and sub_class.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'PRCC' OR G_MAIN_OKCODE = 'CRPR'&lt;/P&gt;&lt;P&gt;                            OR G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR: I_SKU_INFO-DEPT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_SKU_INFO-CLASS,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_SKU_INFO-SUB_CLASS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY I_SKU_INFO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM CHECK_PRE_PRICING_SKU.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform check_exist_pricing_skuhier.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check for existing promo for the sku hierarchy info&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform check_exist_promo_skuhier.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF G_PROMO_VIEW_FLAG = C_X  OR&lt;/P&gt;&lt;P&gt;                    ( G_PROMO_CHG_FLAG = C_X AND G_STATUS = TEXT-150 ).&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check for existing promo for the sku hierarchy info&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;Begin of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform check_exist_promo_skuhier.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of DEVK939282&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     perform check_exist_promo_skuhier1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM CHECK_PRE_PROMO_SKU.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of DEVK939282&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;End of DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the sequence number for the entries added or deleted in the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;table controls&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_SKU_INFO .&lt;/P&gt;&lt;P&gt;    I_SKU_INFO-LINE_NO = SY-TABIX.&lt;/P&gt;&lt;P&gt;    MODIFY I_SKU_INFO.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Copy of the SKU info table to determine the change&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR:  I_SKU_INFO_TEMP1 , I_SKU_INFO_TEMP1[] .&lt;/P&gt;&lt;P&gt;  I_SKU_INFO_TEMP1[] = I_SKU_INFO[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the current size of the sku hierarchy table and set it to LINES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;attribute of the table control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE I_SKU_INFO LINES TBCL3-LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the current size of the sku hierarchy table and store in variable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE I_SKU_INFO LINES G_TOT_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_LINENO = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " INITIALIZE_9002&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  CHANGE_SCRATTR_9002&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;      Change screen attributes of the detail screen&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 CHANGE_SCRATTR_9002.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;In case of price change , pricing create , view price and copy price o&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;option , keep screen fields such as promo type , check box for clear-&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ance, non-clearance and header text for promo in invisible mode.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF G_MAIN_OKCODE = 'PRCC' OR G_MAIN_OKCODE = 'CRPR'&lt;/P&gt;&lt;P&gt;                            OR G_PRICING_VIEW_FLAG = C_X&lt;/P&gt;&lt;P&gt;                            OR G_PRICING_COPY_FLAG = C_X.&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF    SCREEN-NAME = 'G_PROMO_TYPE'&lt;/P&gt;&lt;P&gt;         OR SCREEN-NAME = 'G_CHK_CLR'&lt;/P&gt;&lt;P&gt;         OR SCREEN-NAME = 'TXT_CLR'&lt;/P&gt;&lt;P&gt;         OR SCREEN-NAME = 'TXT_PROMO'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;        SCREEN-OUTPUT = 0.&lt;/P&gt;&lt;P&gt;        SCREEN-INVISIBLE = 1.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;In case of view/copy promo/pricing option keep the push buttons such&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;as CHECK ENTRY , CREATE ENTRY , DELETE ENTRY , SELECT ALL and DESELECT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALL in invisible mode and PAGE UP , PAGE DOWN , NEXT PAGE , PREVIOUS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PAGE and ENTER DETAIL button in change mode.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF ( G_MAIN_OKCODE = 'VRPR' AND G_PROMO_VIEW_FLAG = C_X )&lt;/P&gt;&lt;P&gt;      OR G_STATUS = TEXT-150 .&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = 'GB1'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;        SCREEN-OUTPUT = 0.&lt;/P&gt;&lt;P&gt;        SCREEN-INVISIBLE = 1.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ELSEIF SCREEN-GROUP1 = 'GB2'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 1.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSEIF ( G_MAIN_OKCODE = 'VRPR' AND G_PRICING_VIEW_FLAG = C_X )&lt;/P&gt;&lt;P&gt;     OR G_STATUS = TEXT-150.&lt;/P&gt;&lt;P&gt;    LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = 'GB1'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;        SCREEN-OUTPUT = 0.&lt;/P&gt;&lt;P&gt;        SCREEN-INVISIBLE = 1.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ELSEIF SCREEN-GROUP1 = 'GB2'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 1.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHANGE_SCRATTR_9002&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  DETERMINE_BASIC_PRICE_OF_STYLE&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;      Determine basic price of the SKUs and STYLEs&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 DETERMINE_BASIC_PRICE_OF_STYLE.&lt;/P&gt;&lt;P&gt;  DATA: L_EXIT TYPE C,&lt;/P&gt;&lt;P&gt;        L_PMATN_FOUND TYPE C.&lt;/P&gt;&lt;P&gt;  CLEAR L_EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH R_STYLE.&lt;/P&gt;&lt;P&gt;  IF NOT I_SKU_INFO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;determine reference material&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform get_ref_material.&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;Populate range table considering all the style value in the SKU hiera-&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;rchy table i_sku_info&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH R_SKU.&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO WHERE NOT STYLE IS INITIAL .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Begin of DEVK939178&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Determine the basic price of material once if not changed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR L_EXIT.&lt;/P&gt;&lt;P&gt;      READ TABLE I_SKU_INFO_TEMP2 WITH KEY SKU = I_SKU_INFO-SKU.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0 .&lt;/P&gt;&lt;P&gt;        IF NOT I_SKU_INFO-KBETR IS INITIAL.&lt;/P&gt;&lt;P&gt;          L_EXIT = C_X.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF L_EXIT = C_X.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; End of DEVK939178&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;     R_STYLE-SIGN = C_SIGN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     R_STYLE-OPTION = C_OPT2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE I_SKU_INFO-STYLE '*' INTO R_STYLE-LOW.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND R_STYLE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR  R_STYLE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IF I_SKU_INFO-PMATN &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     R_STYLE-SIGN = C_SIGN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     R_STYLE-OPTION = C_OPT2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE I_SKU_INFO-PMATN+0(6) '*' INTO R_STYLE-LOW.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND R_STYLE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR  R_STYLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF I_SKU_INFO-SKU &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;P&gt;        R_SKU-SIGN = C_SIGN.&lt;/P&gt;&lt;P&gt;        R_SKU-OPTION = C_OPT1.&lt;/P&gt;&lt;P&gt;        R_SKU-LOW = I_SKU_INFO-SKU.&lt;/P&gt;&lt;P&gt;        APPEND R_SKU.&lt;/P&gt;&lt;P&gt;        CLEAR R_SKU.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF I_SKU_INFO-STYLE &amp;lt;&amp;gt; C_SPACE AND I_SKU_INFO-SKU = C_SPACE.&lt;/P&gt;&lt;P&gt;        R_SKU-SIGN = C_SIGN.&lt;/P&gt;&lt;P&gt;        R_SKU-OPTION = C_OPT2.&lt;/P&gt;&lt;P&gt;        CONCATENATE I_SKU_INFO-STYLE C_STAR INTO R_SKU-LOW.&lt;/P&gt;&lt;P&gt;        APPEND R_SKU.&lt;/P&gt;&lt;P&gt;        CLEAR R_SKU.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Get price refrence material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH I_SKU_INFO_PRICE.&lt;/P&gt;&lt;P&gt;    CLEAR I_SKU_INFO_PRICE.&lt;/P&gt;&lt;P&gt;    CHECK NOT R_SKU[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    REFRESH I_REFMAT.&lt;/P&gt;&lt;P&gt;    CLEAR   I_REFMAT.&lt;/P&gt;&lt;P&gt;    SELECT MATNR&lt;/P&gt;&lt;P&gt;           PMATN&lt;/P&gt;&lt;P&gt;    FROM MVKE&lt;/P&gt;&lt;P&gt;    INTO TABLE I_REFMAT&lt;/P&gt;&lt;P&gt;*for all entries in i_sku_info&lt;/P&gt;&lt;P&gt;*where matnr = i_sku_info-sku&lt;/P&gt;&lt;P&gt;    WHERE MATNR IN R_SKU&lt;/P&gt;&lt;P&gt;    AND   VKORG = ZPRICELIST-ZLIST(4)&lt;/P&gt;&lt;P&gt;    AND   VTWEG = '00'.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      REFRESH I_REFMAT1 .&lt;/P&gt;&lt;P&gt;      CLEAR   I_REFMAT1.&lt;/P&gt;&lt;P&gt;      I_REFMAT1[] = I_REFMAT[].&lt;/P&gt;&lt;P&gt;      SORT I_REFMAT.&lt;/P&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM I_REFMAT COMPARING MATNR PMATN.&lt;/P&gt;&lt;P&gt;      CLEAR  L_PMATN_FOUND .&lt;/P&gt;&lt;P&gt;    LOOP AT I_SKU_INFO WHERE NOT STYLE IS INITIAL OR NOT SKU IS INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR L_PMATN_FOUND.&lt;/P&gt;&lt;P&gt;        G_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;        IF I_SKU_INFO-SKU &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;P&gt;     READ TABLE I_REFMAT INTO WA_REFMAT WITH KEY MATNR = I_SKU_INFO-SKU.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            IF WA_REFMAT-PMATN = C_SPACE.&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-PMATN = I_SKU_INFO-SKU.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;            IF NOT WA_REFMAT-PMATN IS INITIAL.&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-PMATN = WA_REFMAT-PMATN.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;            APPEND I_SKU_INFO TO I_SKU_INFO_PRICE.&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 I_SKU_INFO-SKU = C_SPACE AND I_SKU_INFO-STYLE &amp;lt;&amp;gt; C_SPACE.&lt;/P&gt;&lt;P&gt;          LOOP AT I_REFMAT INTO WA_REFMAT WHERE&lt;/P&gt;&lt;P&gt;                                   MATNR+(6) = I_SKU_INFO-STYLE&lt;/P&gt;&lt;P&gt;                               AND NOT PMATN IS INITIAL.&lt;/P&gt;&lt;P&gt;            I_SKU_INFO-PMATN = WA_REFMAT-PMATN.&lt;/P&gt;&lt;P&gt;            APPEND I_SKU_INFO TO I_SKU_INFO_PRICE.&lt;/P&gt;&lt;P&gt;            L_PMATN_FOUND = C_X.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;          IF L_PMATN_FOUND IS INITIAL.&lt;/P&gt;&lt;P&gt;            CLEAR WA_REFMAT.&lt;/P&gt;&lt;P&gt;            READ TABLE I_REFMAT INTO  WA_REFMAT&lt;/P&gt;&lt;P&gt;                                WITH KEY MATNR+(6) = I_SKU_INFO-STYLE.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;              I_SKU_INFO-PMATN = WA_REFMAT-MATNR.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        MODIFY I_SKU_INFO INDEX G_INDEX TRANSPORTING PMATN.&lt;/P&gt;&lt;P&gt;        CLEAR  L_PMATN_FOUND .&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If Any STYLE is found in the range table then determine the condition&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;number for all the materials for which the  styles are entered&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF NOT R_SKU[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      REFRESH I_A006.&lt;/P&gt;&lt;P&gt;      CLEAR I_A006.&lt;/P&gt;&lt;P&gt;      SELECT MATNR&lt;/P&gt;&lt;P&gt;            KNUMH&lt;/P&gt;&lt;P&gt;            DATAB&lt;/P&gt;&lt;P&gt;            DATBI&lt;/P&gt;&lt;P&gt;      FROM   A006&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;      INTO TABLE I_A006&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN I_SKU_INFO_PRICE&lt;/P&gt;&lt;P&gt;      WHERE KAPPL = C_APPLICATION&lt;/P&gt;&lt;P&gt;      AND   KSCHL = C_REF_KSCHL&lt;/P&gt;&lt;P&gt;      AND   VKORG = G_PRICELIST(4)&lt;/P&gt;&lt;P&gt;      AND   PLTYP = G_PRICELIST+4(2)&lt;/P&gt;&lt;P&gt;      AND   WAERK = C_WAERK&lt;/P&gt;&lt;P&gt;      AND   MATNR = I_SKU_INFO_PRICE-PMATN&lt;/P&gt;&lt;P&gt;      AND  DATAB &amp;lt;=  SY-DATUM&lt;/P&gt;&lt;P&gt;      AND  DATBI &amp;gt;=  SY-DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       sort i_a006 by matnr ascending datab descending.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       delete i_a006 where matnr is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       delete adjacent duplicates from i_a006 comparing matnr .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                      datab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If condition numbers are found then determine the basic price for the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;styles or SKUs entered in the screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CHECK NOT I_A006[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        REFRESH I_KONP .&lt;/P&gt;&lt;P&gt;        CLEAR   I_KONP.&lt;/P&gt;&lt;P&gt;        SELECT KNUMH&lt;/P&gt;&lt;P&gt;               KBETR&lt;/P&gt;&lt;P&gt;         FROM KONP&lt;/P&gt;&lt;P&gt;         INTO TABLE I_KONP&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN I_A006&lt;/P&gt;&lt;P&gt;         WHERE KNUMH = I_A006-KNUMH&lt;/P&gt;&lt;P&gt;         AND   KOPOS = C_KOPOS.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          LOOP AT I_SKU_INFO.&lt;/P&gt;&lt;P&gt;            G_INDEX = SY-TABIX.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of change DEVK939196&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF I_SKU_INFO-SKU IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           READ TABLE I_A006 INTO WA_A006&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                WITH KEY MATNR+(6) = I_SKU_INFO-STYLE.&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;            READ TABLE I_A006 INTO WA_A006&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 WITH KEY MATNR = I_SKU_INFO-SKU.&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;            IF NOT I_SKU_INFO-SKU IS INITIAL&lt;/P&gt;&lt;P&gt;                               AND NOT I_SKU_INFO-STYLE IS INITIAL.&lt;/P&gt;&lt;P&gt;              READ TABLE I_SKU_INFO_PRICE WITH KEY SKU = I_SKU_INFO-SKU.&lt;/P&gt;&lt;P&gt;              IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;                READ TABLE I_A006 INTO WA_A006&lt;/P&gt;&lt;P&gt;                                      WITH KEY MATNR = I_SKU_INFO-PMATN.&lt;/P&gt;&lt;P&gt;                IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          READ TABLE I_KONP INTO WA_KONP WITH KEY KNUMH = WA_A006-KNUMH.&lt;/P&gt;&lt;P&gt;                  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;                    I_SKU_INFO-KBETR = WA_KONP-KBETR.&lt;/P&gt;&lt;P&gt;                    MODIFY I_SKU_INFO INDEX G_INDEX TRANSPORTING KBETR.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Nov 2007 08:03:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-fixing-please-help-me-full-marks-wud-be-given/m-p/3007617#M710676</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-10T08:03:00Z</dc:date>
    </item>
    <item>
      <title>Re: Error Fixing..please help me..full marks wud be given........</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-fixing-please-help-me-full-marks-wud-be-given/m-p/3007618#M710677</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You would do yourself a favor if you would just post the statement with the error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Nov 2007 15:51:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-fixing-please-help-me-full-marks-wud-be-given/m-p/3007618#M710677</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-10T15:51:38Z</dc:date>
    </item>
    <item>
      <title>Re: Error Fixing..please help me..full marks wud be given........</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-fixing-please-help-me-full-marks-wud-be-given/m-p/3007619#M710678</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi sahil,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;probably one or more fields used for comparison in for all entries where clause is not part of the refered table. The error is given for one of your for all entries select - I don't know which one it was. Check this condition: Are all fields like i.e. I_SKU_HIER-PP_ID parts of the used tables?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe ther is a typo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clemens&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Nov 2007 17:54:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-fixing-please-help-me-full-marks-wud-be-given/m-p/3007619#M710678</guid>
      <dc:creator>Clemenss</dc:creator>
      <dc:date>2007-11-10T17:54:22Z</dc:date>
    </item>
  </channel>
</rss>

