<?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: ALV COLOR PROGRAM in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361338#M522406</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program for coloring rows:&lt;/P&gt;&lt;P&gt;TABLES:LFA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:LIFNR FOR LFA1-LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;     LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;     NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;     LAND1 LIKE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;     ORT01 LIKE LFA1-ORT01,&lt;/P&gt;&lt;P&gt;     REGIO LIKE LFA1-REGIO,&lt;/P&gt;&lt;P&gt;     SORTL LIKE LFA1-SORTL,&lt;/P&gt;&lt;P&gt;     CFIELD(4) TYPE C,&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;data:col(4).&lt;/P&gt;&lt;P&gt;data:num value '1'.&lt;/P&gt;&lt;P&gt;SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE LIFNR&lt;/P&gt;&lt;P&gt;IN LIFNR.&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;concatenate 'C' num '10' into col .&lt;/P&gt;&lt;P&gt;ITAB-CFIELD = col.&lt;/P&gt;&lt;P&gt;num = num + 1.&lt;/P&gt;&lt;P&gt;if num = '8'.&lt;/P&gt;&lt;P&gt;  num = '1'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;MODIFY ITAB.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS:SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:EVE TYPE SLIS_T_EVENT WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LAYOUT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT-WINDOW_TITLEBAR = 'VENDORS DETAILS SCREEN'.&lt;/P&gt;&lt;P&gt;LAYOUT-EDIT = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT-info_fieldname = 'CFIELD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_PROGRAM_NAME               = SY-REPID&lt;/P&gt;&lt;P&gt;   I_INTERNAL_TABNAME           = 'ITAB'&lt;/P&gt;&lt;P&gt;   I_INCLNAME                   = SY-REPID&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    CT_FIELDCAT                  = FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&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             = SY-REPID&lt;/P&gt;&lt;P&gt;   IS_LAYOUT                      = LAYOUT&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = FCAT&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program for coloring cols:&lt;/P&gt;&lt;P&gt;REPORT  ZBHCOLOR_COLS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:LFA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:C_LIFNR FOR LFA1-LIFNR. " FOR GRID ONLY&lt;/P&gt;&lt;P&gt;PARAMETERS:LIST RADIOBUTTON GROUP ALV DEFAULT 'X',&lt;/P&gt;&lt;P&gt;           GRID RADIOBUTTON GROUP ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;     LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;     NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;     LAND1 LIKE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;     ORT01 LIKE LFA1-ORT01,&lt;/P&gt;&lt;P&gt;     SORTL LIKE LFA1-SORTL,&lt;/P&gt;&lt;P&gt;     REGIO LIKE LFA1-REGIO,&lt;/P&gt;&lt;P&gt;     COL TYPE LVC_T_SCOL,&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:COLR TYPE LVC_S_SCOL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB.&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    IF ITAB-LIFNR IN C_LIFNR.&lt;/P&gt;&lt;P&gt;        COLR-FNAME = 'NAME1'.&lt;/P&gt;&lt;P&gt;        COLR-COLOR-COL = '5'.&lt;/P&gt;&lt;P&gt;        COLR-COLOR-INT = '1'.&lt;/P&gt;&lt;P&gt;        COLR-COLOR-INV = '0'.&lt;/P&gt;&lt;P&gt;        COLR-NOKEYCOL = 'X'.&lt;/P&gt;&lt;P&gt;        APPEND COLR TO ITAB-COL.&lt;/P&gt;&lt;P&gt;        COLR-FNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;        APPEND COLR TO ITAB-COL.&lt;/P&gt;&lt;P&gt;        MODIFY ITAB.&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;TYPE-POOLS:SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;layout-coltab_fieldname = 'COL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_PROGRAM_NAME               = SY-REPID&lt;/P&gt;&lt;P&gt;   I_INTERNAL_TABNAME           = 'ITAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_INCLNAME                   = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    CT_FIELDCAT                  = FCAT&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_INTERFACE       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                = 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;P&gt;IF LIST = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = LAYOUT&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = FCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = ITAB&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;  PROGRAM_ERROR                  = 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;ELSEIF GRID = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM                = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                         = LAYOUT&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                       = FCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = ITAB&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;  PROGRAM_ERROR                     = 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;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds,&lt;/P&gt;&lt;P&gt;bharat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 19 Jun 2007 04:28:49 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-19T04:28:49Z</dc:date>
    <item>
      <title>ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361333#M522401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please send me a sample prgm for colouring a single cell in an alv report.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 04:25:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361333#M522401</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T04:25:34Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361334#M522402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this example..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
* Macro definition
DEFINE m_fieldcat.
  add 1 to ls_fieldcat-col_pos.
  ls_fieldcat-fieldname   = &amp;amp;1.
  ls_fieldcat-ref_tabname = &amp;amp;2.
  append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.

TYPE-POOLS: slis.                      " ALV Global types

TYPES:
  BEGIN OF ty_vbak,
    vkorg TYPE vbak-vkorg,             " Sales organization
    kunnr TYPE vbak-kunnr,             " Sold-to party
    vbeln TYPE vbak-vbeln,             " Sales document
    netwr TYPE vbak-netwr,             " Net Value of the Sales Order
    line_color(4),                     " Line color
  END OF ty_vbak.

DATA:
* Data displayed
  gt_vbak TYPE TABLE OF ty_vbak.

START-OF-SELECTION.

  PERFORM f_read_data.

  PERFORM f_fill_color.

  PERFORM f_display_data.

*---------------------------------------------------------------------*
*      Form  f_read_data
*---------------------------------------------------------------------*
FORM f_read_data.

  SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_vbak
           FROM vbak UP TO 100 ROWS.

ENDFORM.                               " F_READ_DATA
*--------------------------------------------------------------------*
*      Form  f_fill_color
*--------------------------------------------------------------------*
FORM f_fill_color.

  DATA l_rnd_value TYPE integer2.

  FIELD-SYMBOLS &amp;lt;vbak&amp;gt; TYPE ty_vbak.

  LOOP AT gt_vbak ASSIGNING &amp;lt;vbak&amp;gt;.

*   Random value
    CALL FUNCTION 'RANDOM_I2'
      EXPORTING
        rnd_min   = 0
        rnd_max   = 3
      IMPORTING
        rnd_value = l_rnd_value.

    CASE l_rnd_value.
      WHEN 0.
        &amp;lt;vbak&amp;gt;-line_color = 'C100'.   " Blue.
      WHEN 1.
        &amp;lt;vbak&amp;gt;-line_color = 'C300'.   " Yellow.
      WHEN 2.
        &amp;lt;vbak&amp;gt;-line_color = 'C500'.   " Green.
      WHEN 3.
        &amp;lt;vbak&amp;gt;-line_color = 'C600'.   " Red.
    ENDCASE.

  ENDLOOP.

ENDFORM.                               " F_FILL_COLOR
*---------------------------------------------------------------------*
*      Form  f_display_data
*---------------------------------------------------------------------*
FORM f_display_data.

  DATA:
    ls_layout   TYPE slis_layout_alv,
    ls_fieldcat TYPE slis_fieldcat_alv,
    lt_fieldcat TYPE slis_t_fieldcat_alv.

* Build the field catalog
  m_fieldcat 'VKORG' 'VBAK'.
  m_fieldcat 'KUNNR' 'VBAK'.
  m_fieldcat 'VBELN' 'VBAK'.
  m_fieldcat 'NETWR' 'VBAK'.

* Fill Layout - Name of the field with color
  ls_layout-info_fieldname = 'LINE_COLOR'.

* Display the list
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      is_layout   = ls_layout
      it_fieldcat = lt_fieldcat
    TABLES
      t_outtab    = gt_vbak.

ENDFORM.                               " F_DISPLAY_DATA
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Naren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 04:26:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361334#M522402</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T04:26:59Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361335#M522403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ALV grid display   &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The follow program demonstrates how to change the colour of individual rows of an ALV grid. Changes required &lt;/P&gt;&lt;P&gt;from a basic ALV grid include adding a new field to ALV grid data table(it_ekko), Populating this field with color &lt;/P&gt;&lt;P&gt;attribute and adding an entry to layout control table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZDEMO_ALVGRID                                               *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;                                                                     *
*&amp;amp; Example of a simple ALV Grid Report                                 *
*&amp;amp; ...................................                                 *
*&amp;amp;                                                                     *
*&amp;amp; The basic ALV grid, Enhanced to display each row in a different     *
*&amp;amp; colour                                                              *
*&amp;amp;---------------------------------------------------------------------*

REPORT  zdemo_alvgrid                 .

TABLES:     ekko.

type-pools: slis.                                 "ALV Declarations
*Data Declaration
*----------------
TYPES: BEGIN OF t_ekko,
  ebeln TYPE ekpo-ebeln,
  ebelp TYPE ekpo-ebelp,
  statu TYPE ekpo-statu,
  aedat TYPE ekpo-aedat,
  matnr TYPE ekpo-matnr,
  menge TYPE ekpo-menge,
  meins TYPE ekpo-meins,
  netpr TYPE ekpo-netpr,
  peinh TYPE ekpo-peinh,
  line_color(4) type c,     "Used to store row color attributes
 END OF t_ekko.

DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      wa_ekko TYPE t_ekko.

*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
      gd_tab_group type slis_t_sp_group_alv,
      gd_layout    type slis_layout_alv,
      gd_repid     like sy-repid.


************************************************************************
*Start-of-selection.
START-OF-SELECTION.

perform data_retrieval.
perform build_fieldcatalog.
perform build_layout.
perform display_alv_report.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_FIELDCATALOG
*&amp;amp;---------------------------------------------------------------------*
*       Build Fieldcatalog for ALV Report
*----------------------------------------------------------------------*
form build_fieldcatalog.

* There are a number of ways to create a fieldcat.
* For the purpose of this example i will build the fieldcatalog manualy
* by populating the internal table fields individually and then
* appending the rows. This method can be the most time consuming but can
* also allow you  more control of the final product.

* Beware though, you need to ensure that all fields required are
* populated. When using some of functionality available via ALV, such as
* total. You may need to provide more information than if you were
* simply displaying the result
*               I.e. Field type may be required in-order for
*                    the 'TOTAL' function to work.

  fieldcatalog-fieldname   = 'EBELN'.
  fieldcatalog-seltext_m   = 'Purchase Order'.
  fieldcatalog-col_pos     = 0.
  fieldcatalog-outputlen   = 10.
  fieldcatalog-emphasize   = 'X'.
  fieldcatalog-key         = 'X'.
*  fieldcatalog-do_sum      = 'X'.
*  fieldcatalog-no_zero     = 'X'.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'EBELP'.
  fieldcatalog-seltext_m   = 'PO Item'.
  fieldcatalog-col_pos     = 1.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'STATU'.
  fieldcatalog-seltext_m   = 'Status'.
  fieldcatalog-col_pos     = 2.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'AEDAT'.
  fieldcatalog-seltext_m   = 'Item change date'.
  fieldcatalog-col_pos     = 3.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'MATNR'.
  fieldcatalog-seltext_m   = 'Material Number'.
  fieldcatalog-col_pos     = 4.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'MENGE'.
  fieldcatalog-seltext_m   = 'PO quantity'.
  fieldcatalog-col_pos     = 5.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'MEINS'.
  fieldcatalog-seltext_m   = 'Order Unit'.
  fieldcatalog-col_pos     = 6.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'NETPR'.
  fieldcatalog-seltext_m   = 'Net Price'.
  fieldcatalog-col_pos     = 7.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-datatype     = 'CURR'.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.

  fieldcatalog-fieldname   = 'PEINH'.
  fieldcatalog-seltext_m   = 'Price Unit'.
  fieldcatalog-col_pos     = 8.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.
endform.                    " BUILD_FIELDCATALOG


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_LAYOUT
*&amp;amp;---------------------------------------------------------------------*
*       Build layout for ALV grid report
*----------------------------------------------------------------------*
form build_layout.
  gd_layout-no_input          = 'X'.
  gd_layout-colwidth_optimize = 'X'.
  gd_layout-totals_text       = 'Totals'(201).
* Set layout field for row attributes(i.e. color) 
  gd_layout-info_fieldname =      'LINE_COLOR'.
*  gd_layout-totals_only        = 'X'.
*  gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
*                                         "click(press f2)
*  gd_layout-zebra             = 'X'.
*  gd_layout-group_change_edit = 'X'.
*  gd_layout-header_text       = 'helllllo'.
endform.                    " BUILD_LAYOUT


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DISPLAY_ALV_REPORT
*&amp;amp;---------------------------------------------------------------------*
*       Display report using ALV grid
*----------------------------------------------------------------------*
form display_alv_report.
  gd_repid = sy-repid.
  call function 'REUSE_ALV_GRID_DISPLAY'
       exporting
            i_callback_program      = gd_repid
*            i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
*            i_callback_user_command = 'USER_COMMAND'
*            i_grid_title           = outtext
            is_layout               = gd_layout
            it_fieldcat             = fieldcatalog[]
*            it_special_groups       = gd_tabgroup
*            IT_EVENTS                = GT_XEVENTS
            i_save                  = 'X'
*            is_variant              = z_template

       tables
            t_outtab                = it_ekko
       exceptions
            program_error           = 1
            others                  = 2.
  if sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.
endform.                    " DISPLAY_ALV_REPORT


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DATA_RETRIEVAL
*&amp;amp;---------------------------------------------------------------------*
*       Retrieve data form EKPO table and populate itab it_ekko
*----------------------------------------------------------------------*
form data_retrieval.
data: ld_color(1) type c.

select ebeln ebelp statu aedat matnr menge meins netpr peinh
 up to 10 rows
  from ekpo
  into table it_ekko.

*Populate field with color attributes
loop at it_ekko into wa_ekko.
* Populate color variable with colour properties
* Char 1 = C (This is a color property)
* Char 2 = 3 (Color codes: 1 - 7)
* Char 3 = Intensified on/off ( 1 or 0 )
* Char 4 = Inverse display on/off ( 1 or 0 )
*           i.e. wa_ekko-line_color = 'C410'
  ld_color = ld_color + 1.

* Only 7 colours so need to reset color value
  if ld_color = 8.
    ld_color = 1.
  endif.
  concatenate 'C' ld_color '10' into wa_ekko-line_color.
*  wa_ekko-line_color = 'C410'.
  modify it_ekko from wa_ekko.
endloop.
endform.                    " DATA_RETRIEVAL

 
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points  if it is usefull ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Girish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 04:27:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361335#M522403</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T04:27:20Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361336#M522404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;1. declare one field say color in the output table of type SLIS_T_SPECIALCOL_ALV.

2. Also declare a table color like 
DATA COLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE. 

3. After you have filled the field catalog do like this,

LOOP AT IT_ALV_DATA.
IF SY-TABIX = 2.
COLOR-FIELDNAME = 'POSNR'.
COLOR-COLOR-COL = 6.
COLOR-COLOR-INT = 0.
APPEND COLOR.
IT_ALV_DATA-COLOR = COLOR[].
MODIFY IT_ALV_DATA.
ENDIF.
ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Rgds&lt;/P&gt;&lt;P&gt;Anversha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 04:28:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361336#M522404</guid>
      <dc:creator>anversha_s</dc:creator>
      <dc:date>2007-06-19T04:28:05Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361337#M522405</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;Try to use emphasie in your Fieldcatalog... please look at type pool : slis for more help....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i.e. when you are writing the code for populating the fieldcatalog table use a field emphasize .. along with it... it has got diffrent numbers for diff. colors....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please look at this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;0 = background color *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;1 = blue *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2 = gray *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3 = yellow *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;4 = blue/gray *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;5 = green *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;6 = red *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;7 = orange *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcatalog-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Purchase Order No'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 1.&lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = 'C310'.  " intensive yellow, 'C510' = intensive green&lt;/P&gt;&lt;P&gt;append fieldcatalog .&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Report YSDBALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: ekko , ekpo .&lt;/P&gt;&lt;P&gt;type-pools: slis .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Display Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:i_header type slis_t_listheader with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Fieldcat Declaration&lt;/P&gt;&lt;P&gt;data:fieldcatalog type slis_T_fieldcat_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Table of Events&lt;/P&gt;&lt;P&gt;data:i_event type slis_t_event with header line .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:i_layout type slis_layout_alv .&lt;/P&gt;&lt;P&gt;data: text(30) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table Declaration&lt;/P&gt;&lt;P&gt;data: begin of it_final occurs 0 ,&lt;/P&gt;&lt;P&gt;ebeln like ekko-ebeln , "Purchasing Document No.&lt;/P&gt;&lt;P&gt;bedat like ekko-bedat , "Purchasing Document Date&lt;/P&gt;&lt;P&gt;matnr like ekpo-matnr , "Material No.&lt;/P&gt;&lt;P&gt;netwr like ekpo-netwr , "Net Order Value in PO Currancy&lt;/P&gt;&lt;P&gt;meins like ekpo-meins , "UOM&lt;/P&gt;&lt;P&gt;chk(1) ,&lt;/P&gt;&lt;P&gt;light(1) ,&lt;/P&gt;&lt;P&gt;change like ekpo-menge ,&lt;/P&gt;&lt;P&gt;end of it_final .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**select option Declaration&lt;/P&gt;&lt;P&gt;selection-screen begin of block block.&lt;/P&gt;&lt;P&gt;select-options: s_ebeln for ekko-ebeln .&lt;/P&gt;&lt;P&gt;selection-screen end of block block .&lt;/P&gt;&lt;P&gt;selection-screen begin of block block1 .&lt;/P&gt;&lt;P&gt;parameters:grid radiobutton group r .&lt;/P&gt;&lt;P&gt;parameters:list radiobutton group r .&lt;/P&gt;&lt;P&gt;selection-screen end of block block1 .&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;at selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;at selection-screen .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single * from ekko where ebeln in s_ebeln .&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0 .&lt;/P&gt;&lt;P&gt;message e000(8I) WITH 'No Data Exists' .&lt;/P&gt;&lt;P&gt;endif .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection .&lt;/P&gt;&lt;P&gt;if grid = 'X' .&lt;/P&gt;&lt;P&gt;perform get_data .&lt;/P&gt;&lt;P&gt;perform event using i_event[] .&lt;/P&gt;&lt;P&gt;perform field using fieldcatalog[] .&lt;/P&gt;&lt;P&gt;perform layout using i_layout .&lt;/P&gt;&lt;P&gt;perform grid_display .&lt;/P&gt;&lt;P&gt;endif .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data .&lt;/P&gt;&lt;P&gt;*DATA Retrieval from tables&lt;/P&gt;&lt;P&gt;SELECT EKKO~EBELN&lt;/P&gt;&lt;P&gt;EKKO~BEDAT&lt;/P&gt;&lt;P&gt;EKPO~EBELP&lt;/P&gt;&lt;P&gt;EKPO~MATNR&lt;/P&gt;&lt;P&gt;EKPO~NETWR&lt;/P&gt;&lt;P&gt;EKPO~MEINS&lt;/P&gt;&lt;P&gt;EKPO~MENGE&lt;/P&gt;&lt;P&gt;EKPO~BPRME&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF table IT_FINAL&lt;/P&gt;&lt;P&gt;FROM EKKO INNER JOIN EKPO ON EKKO&lt;SUB&gt;EBELN = EKPO&lt;/SUB&gt;EBELN&lt;/P&gt;&lt;P&gt;WHERE EKKO~EBELN IN S_EBELN.&lt;/P&gt;&lt;P&gt;APPEND IT_FINAL.&lt;/P&gt;&lt;P&gt;endform. " get_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Getting the Event for Top of Page display.&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 event&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_I_event[] 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 event using p_i_event type slis_t_event.&lt;/P&gt;&lt;P&gt;clear p_i_event .&lt;/P&gt;&lt;P&gt;refresh p_i_event .&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LIST_TYPE = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;ET_EVENTS = p_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;read table p_i_event with key name = slis_ev_top_of_page into i_event.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;move 'TOP_OF_PAGE_PO' to i_event-form.&lt;/P&gt;&lt;P&gt;modify p_i_event from i_event index sy-tabix transporting form.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;clear i_event.&lt;/P&gt;&lt;P&gt;endform. " event&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Display Top-of &amp;#150;Page Details and Logo&lt;/P&gt;&lt;P&gt;form top_of_page_po .&lt;/P&gt;&lt;P&gt;clear i_header .&lt;/P&gt;&lt;P&gt;refresh i_header .&lt;/P&gt;&lt;P&gt;write sy-datum to text.&lt;/P&gt;&lt;P&gt;i_header-typ = 'H'.&lt;/P&gt;&lt;P&gt;i_header-info = 'PURCHASE OREDER DETAILS'.&lt;/P&gt;&lt;P&gt;append i_header.&lt;/P&gt;&lt;P&gt;*Logo Display&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_list_commentary = i_header[]&lt;/P&gt;&lt;P&gt;I_LOGO = 'ENJOYSAPLOGO'.&lt;/P&gt;&lt;P&gt;endform .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Field Catalog Append&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 field&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;P_fieldCATALOG[] 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 field using p_fieldcatalog type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = 'C311'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Purchase Order No'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 1.&lt;/P&gt;&lt;P&gt;append fieldcatalog .&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'BEDAT'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'PO Date'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 2.&lt;/P&gt;&lt;P&gt;append fieldcatalog .&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Material No'.&lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = 'C511'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 4.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 20.&lt;/P&gt;&lt;P&gt;append fieldcatalog .&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'NETWR'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Net Value '.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 5.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 20.&lt;/P&gt;&lt;P&gt;fieldcatalog-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;append fieldcatalog .&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;fieldcatalog-seltext_m = 'Units'.&lt;/P&gt;&lt;P&gt;fieldcatalog-col_pos = 6.&lt;/P&gt;&lt;P&gt;fieldcatalog-outputlen = 4.&lt;/P&gt;&lt;P&gt;append fieldcatalog .&lt;/P&gt;&lt;P&gt;clear fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " field&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 layout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form layout using p_i_layout TYPE SLIS_LAYOUT_ALV .&lt;/P&gt;&lt;P&gt;i_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;i_layout-lights_fieldname = 'LIGHT'.&lt;/P&gt;&lt;P&gt;i_layout-lights_tabname = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;i_layout-box_fieldname = 'CHK'.&lt;/P&gt;&lt;P&gt;i_layout-box_tabname = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;i_layout-edit = ' '.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To display Buttons in the MENU BAR if needed&lt;/P&gt;&lt;P&gt;FORM SET_PO_PF_STATUS USING P_I_EXTAB TYPE&lt;/P&gt;&lt;P&gt;SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'MENUPO'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Event for Interactive display of ALV report&lt;/P&gt;&lt;P&gt;form USER_COMMAND using r_ucomm like sy-ucomm&lt;/P&gt;&lt;P&gt;rs_selfield type slis_selfield .&lt;/P&gt;&lt;P&gt;if r_ucomm = '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;READ TABLE IT_FINAL index rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;write:/ IT_FINAL-ebeln.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Parameters of FM REUSE_ALV_GRID_DISPLAY&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 grid_display&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form grid_display .&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = 'SET_PO_PF_STATUS'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;IS_LAYOUT = I_LAYOUT&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = FIELDCATALOG[]&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 = IT_FINAL.&lt;/P&gt;&lt;P&gt;endform. " grid_display&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 04:28:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361337#M522405</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T04:28:48Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361338#M522406</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program for coloring rows:&lt;/P&gt;&lt;P&gt;TABLES:LFA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:LIFNR FOR LFA1-LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;     LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;     NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;     LAND1 LIKE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;     ORT01 LIKE LFA1-ORT01,&lt;/P&gt;&lt;P&gt;     REGIO LIKE LFA1-REGIO,&lt;/P&gt;&lt;P&gt;     SORTL LIKE LFA1-SORTL,&lt;/P&gt;&lt;P&gt;     CFIELD(4) TYPE C,&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;data:col(4).&lt;/P&gt;&lt;P&gt;data:num value '1'.&lt;/P&gt;&lt;P&gt;SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE LIFNR&lt;/P&gt;&lt;P&gt;IN LIFNR.&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;concatenate 'C' num '10' into col .&lt;/P&gt;&lt;P&gt;ITAB-CFIELD = col.&lt;/P&gt;&lt;P&gt;num = num + 1.&lt;/P&gt;&lt;P&gt;if num = '8'.&lt;/P&gt;&lt;P&gt;  num = '1'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;MODIFY ITAB.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS:SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:EVE TYPE SLIS_T_EVENT WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LAYOUT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT-WINDOW_TITLEBAR = 'VENDORS DETAILS SCREEN'.&lt;/P&gt;&lt;P&gt;LAYOUT-EDIT = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT-info_fieldname = 'CFIELD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_PROGRAM_NAME               = SY-REPID&lt;/P&gt;&lt;P&gt;   I_INTERNAL_TABNAME           = 'ITAB'&lt;/P&gt;&lt;P&gt;   I_INCLNAME                   = SY-REPID&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    CT_FIELDCAT                  = FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&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             = SY-REPID&lt;/P&gt;&lt;P&gt;   IS_LAYOUT                      = LAYOUT&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = FCAT&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program for coloring cols:&lt;/P&gt;&lt;P&gt;REPORT  ZBHCOLOR_COLS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:LFA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:C_LIFNR FOR LFA1-LIFNR. " FOR GRID ONLY&lt;/P&gt;&lt;P&gt;PARAMETERS:LIST RADIOBUTTON GROUP ALV DEFAULT 'X',&lt;/P&gt;&lt;P&gt;           GRID RADIOBUTTON GROUP ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;     LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;     NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;     LAND1 LIKE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;     ORT01 LIKE LFA1-ORT01,&lt;/P&gt;&lt;P&gt;     SORTL LIKE LFA1-SORTL,&lt;/P&gt;&lt;P&gt;     REGIO LIKE LFA1-REGIO,&lt;/P&gt;&lt;P&gt;     COL TYPE LVC_T_SCOL,&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:COLR TYPE LVC_S_SCOL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB.&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    IF ITAB-LIFNR IN C_LIFNR.&lt;/P&gt;&lt;P&gt;        COLR-FNAME = 'NAME1'.&lt;/P&gt;&lt;P&gt;        COLR-COLOR-COL = '5'.&lt;/P&gt;&lt;P&gt;        COLR-COLOR-INT = '1'.&lt;/P&gt;&lt;P&gt;        COLR-COLOR-INV = '0'.&lt;/P&gt;&lt;P&gt;        COLR-NOKEYCOL = 'X'.&lt;/P&gt;&lt;P&gt;        APPEND COLR TO ITAB-COL.&lt;/P&gt;&lt;P&gt;        COLR-FNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;        APPEND COLR TO ITAB-COL.&lt;/P&gt;&lt;P&gt;        MODIFY ITAB.&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;TYPE-POOLS:SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;layout-coltab_fieldname = 'COL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_PROGRAM_NAME               = SY-REPID&lt;/P&gt;&lt;P&gt;   I_INTERNAL_TABNAME           = 'ITAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_INCLNAME                   = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    CT_FIELDCAT                  = FCAT&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_INTERFACE       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                = 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;P&gt;IF LIST = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM             = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                      = LAYOUT&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                    = FCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                       = ITAB&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;  PROGRAM_ERROR                  = 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;ELSEIF GRID = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM                = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                         = LAYOUT&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                       = FCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = ITAB&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;  PROGRAM_ERROR                     = 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;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds,&lt;/P&gt;&lt;P&gt;bharat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 04:28:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361338#M522406</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T04:28:49Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361339#M522407</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zsd_sales_prodgroup&lt;/P&gt;&lt;P&gt;        LINE-SIZE 351&lt;/P&gt;&lt;P&gt;        NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        LINE-COUNT 65&lt;/P&gt;&lt;P&gt;        MESSAGE-ID 00.&lt;/P&gt;&lt;P&gt;INCLUDE zcommon_part.&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;       TABLES                                                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES: vbrk, "Billing Document: Header Data&lt;/P&gt;&lt;P&gt;        vbrp, "Billing Document: Item Data&lt;/P&gt;&lt;P&gt;        zsd_national, "Table for National level reports&lt;/P&gt;&lt;P&gt;        mara, "General Material Data&lt;/P&gt;&lt;P&gt;        t179t. "P&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;       INTERNAL TABLES AND STRUCTURES                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_data OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE zsd_national.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       vkbur    like zsd_national-vkbur,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SUMMERY  like zsd_national-SUMMERY,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       sum_text like zsd_national-sum_text,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       sqno     like zsd_national-sqno,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:   vbeln    LIKE vbrk-vbeln,&lt;/P&gt;&lt;P&gt;        matnr    LIKE vbrp-matnr,&lt;/P&gt;&lt;P&gt;        q1(20),"       like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        q2(20),"      like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        q3(20),"       like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        q4(20),"       like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk1(20),"     like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk2(20),"     like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk3(20),"      like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk4(20),"      like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk5(20),"      like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk6(20),"      like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk7(20),"      like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk8(20),"      like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk9(20),"      like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk10(20),"     like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk11(20),"     like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk12(20),"     like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk13(20),"     like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        wk_tot(20),"   like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        fkimg(20),"    like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        tot_week(20)," like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        ason_total(20)," like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        ly_total(20)," like vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        allindia(20)," like vbrp-fklmg,&lt;/P&gt;&lt;P&gt;        goly TYPE i,&lt;/P&gt;&lt;P&gt;        tons LIKE vbrp-fkimg,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       allindia like vbrp-fkimg,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         color          TYPE lvc_t_scol,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_vbrp OCCURS 0,&lt;/P&gt;&lt;P&gt;        fkdat LIKE vbrk-fkdat,&lt;/P&gt;&lt;P&gt;        vkorg LIKE vbrk-vkorg,&lt;/P&gt;&lt;P&gt;        vtweg LIKE vbrk-vtweg,&lt;/P&gt;&lt;P&gt;        fkart LIKE vbrk-fkart,&lt;/P&gt;&lt;P&gt;        fkimg LIKE vbrp-fkimg,&lt;/P&gt;&lt;P&gt;        umvkz LIKE vbrp-umvkz,&lt;/P&gt;&lt;P&gt;        umvkn LIKE vbrp-umvkn,&lt;/P&gt;&lt;P&gt;        fklmg LIKE vbrp-fklmg,&lt;/P&gt;&lt;P&gt;        vkbur LIKE vbrp-vkbur,&lt;/P&gt;&lt;P&gt;        vbeln LIKE vbrp-vbeln,&lt;/P&gt;&lt;P&gt;        matnr LIKE vbrp-matnr,&lt;/P&gt;&lt;P&gt;        prodh LIKE vbrp-prodh,&lt;/P&gt;&lt;P&gt;        matkl LIKE vbrp-matkl,&lt;/P&gt;&lt;P&gt;      END OF it_vbrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_vbeln OCCURS 0,&lt;/P&gt;&lt;P&gt;        vbeln LIKE vbrk-vbeln,&lt;/P&gt;&lt;P&gt;        fkart LIKE vbrk-fkart,&lt;/P&gt;&lt;P&gt;        fkdat LIKE vbrk-fkdat,&lt;/P&gt;&lt;P&gt;        vkorg LIKE vbrk-vkorg,&lt;/P&gt;&lt;P&gt;        vtweg LIKE vbrk-vtweg,&lt;/P&gt;&lt;P&gt;      END OF it_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_prmatnr OCCURS 0,&lt;/P&gt;&lt;P&gt;        ntgew LIKE mara-ntgew, "netweight&lt;/P&gt;&lt;P&gt;        matnr LIKE mvke-matnr,&lt;/P&gt;&lt;P&gt;        prodh LIKE mvke-prodh,&lt;/P&gt;&lt;P&gt;        vkorg LIKE mvke-vkorg,&lt;/P&gt;&lt;P&gt;        vtweg LIKE mvke-vtweg,&lt;/P&gt;&lt;P&gt;      END OF it_prmatnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_data_temp LIKE it_data OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: color    TYPE TABLE          OF lvc_s_scol WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*ALV VARIABLES AND INTERNAL TABLES                                     *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;DATA: v_repid LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      st_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      it_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      it_listheader TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;      it_event TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*VARIABLES                                                            *&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA: v_pc           LIKE t009b-periv VALUE 'PC',&lt;/P&gt;&lt;P&gt;      v_wc           LIKE t009b-periv VALUE 'WC',&lt;/P&gt;&lt;P&gt;      v_date         LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_ly_date      LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_qtr_fir_date LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_yr_fir_date  LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_yr_last_date LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_month        LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      v_lastmonth    LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      v_back_months  LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      v_curweek      LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      v_fdate        LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_cyfd         LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_lyfd         LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_ldate        LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_year         LIKE t009b-bdatj,&lt;/P&gt;&lt;P&gt;      v_last_year    LIKE t009b-bdatj,&lt;/P&gt;&lt;P&gt;      v_fkimg(20), "  like vbrp-fkimg ,&lt;/P&gt;&lt;P&gt;      v_fkimg1(20) ,&lt;/P&gt;&lt;P&gt;      v_goly_lyfkimg LIKE vbrp-fkimg ,&lt;/P&gt;&lt;P&gt;      v_goly_cyfkimg LIKE vbrp-fkimg ,&lt;/P&gt;&lt;P&gt;      vtext LIKE t179t-vtext,&lt;/P&gt;&lt;P&gt;      v_cnt(2)       TYPE  c,          "For Counter&lt;/P&gt;&lt;P&gt;      v_fld(6)       TYPE  c,          " For Field name&lt;/P&gt;&lt;P&gt;      v_qtr          LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      l_pos          TYPE i VALUE 1,  "Position indicator for&lt;/P&gt;&lt;P&gt;      v_wk(4),&lt;/P&gt;&lt;P&gt;      v_fldtxt(15)   TYPE  c,          "fieldcatalog&lt;/P&gt;&lt;P&gt;      v_last_qtr     LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      v_curpc        TYPE n,&lt;/P&gt;&lt;P&gt;      v_colposi(2)   TYPE n,&lt;/P&gt;&lt;P&gt;      v_currqtr      LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      v_next_qtr     LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      v_fpc          LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      v_lpc          LIKE t009b-poper,&lt;/P&gt;&lt;P&gt;      v_unit         LIKE mara-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*SELECTION SCREEN DEFINITIONS                                         *&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-000.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;  PARAMETERS: p_date  TYPE sy-datum OBLIGATORY.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS: s_prodh FOR mara-prdha OBLIGATORY.&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        selection-screen skip.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS: s_vkorg FOR vbrk-vkorg,&lt;/P&gt;&lt;P&gt;                  s_vtweg FOR vbrk-vtweg.&lt;/P&gt;&lt;P&gt;  PARAMETERS :  p_spart TYPE vbrk-spart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT-OPTIONS : so_rev   FOR vbrk-fkart NO INTERVALS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK b3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECTION-SCREEN END OF BLOCK b.&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;*START-OF-SELECTION&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform check_background using sy-batch sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM find_qtr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_vbrk-vbrp.&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  PERFORM get_ly_data.&lt;/P&gt;&lt;P&gt;  PERFORM add_data.&lt;/P&gt;&lt;P&gt;*TO add the Speciality details in the speciality sales total column.&lt;/P&gt;&lt;P&gt;  perform add_data_speciality.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM delete_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM color_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF it_data[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM output_data.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE i012(zmsg).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  PERFORM alv_events USING it_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION&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  find_qtr&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;FORM find_qtr .&lt;/P&gt;&lt;P&gt;  CLEAR v_date.&lt;/P&gt;&lt;P&gt;  CLEAR v_month.&lt;/P&gt;&lt;P&gt;  CLEAR v_date.&lt;/P&gt;&lt;P&gt;  v_date = p_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Finding the period from selected date.&lt;/P&gt;&lt;P&gt;  PERFORM get_period USING v_date v_pc CHANGING v_month v_year .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF v_month &amp;gt;= '001' AND v_month     &amp;lt;= '003'.&lt;/P&gt;&lt;P&gt;    v_qtr = 1.&lt;/P&gt;&lt;P&gt;    v_month = '001'.&lt;/P&gt;&lt;P&gt;    PERFORM get_first_day&lt;/P&gt;&lt;P&gt;                       USING v_date v_pc v_month&lt;/P&gt;&lt;P&gt;                       CHANGING v_qtr_fir_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF v_month &amp;gt;= '004' AND v_month &amp;lt;= '006'.&lt;/P&gt;&lt;P&gt;    v_qtr = 2.&lt;/P&gt;&lt;P&gt;    v_month = '004'.&lt;/P&gt;&lt;P&gt;    PERFORM get_first_day&lt;/P&gt;&lt;P&gt;                       USING v_date v_pc v_month&lt;/P&gt;&lt;P&gt;                       CHANGING v_qtr_fir_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF v_month &amp;gt;= '007' AND v_month &amp;lt;= '009'.&lt;/P&gt;&lt;P&gt;    v_qtr = 3.&lt;/P&gt;&lt;P&gt;    v_month = '007'.&lt;/P&gt;&lt;P&gt;    PERFORM get_first_day&lt;/P&gt;&lt;P&gt;                       USING v_date v_pc v_month&lt;/P&gt;&lt;P&gt;                       CHANGING v_qtr_fir_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF v_month &amp;gt;= '010' AND v_month &amp;lt;= '012'.&lt;/P&gt;&lt;P&gt;    v_qtr = 4.&lt;/P&gt;&lt;P&gt;    v_month = '010'.&lt;/P&gt;&lt;P&gt;    PERFORM get_first_day&lt;/P&gt;&lt;P&gt;                       USING v_date v_pc v_month&lt;/P&gt;&lt;P&gt;                       CHANGING v_qtr_fir_date.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Getting data for  2 years(present and previous).&lt;/P&gt;&lt;P&gt;  v_ly_date = v_date.&lt;/P&gt;&lt;P&gt;  v_back_months = 12.&lt;/P&gt;&lt;P&gt;  PERFORM go_months_back USING v_date v_back_months CHANGING v_ly_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_month = '001'.&lt;/P&gt;&lt;P&gt;  PERFORM get_first_day&lt;/P&gt;&lt;P&gt;                     USING v_ly_date v_pc v_month&lt;/P&gt;&lt;P&gt;                     CHANGING v_yr_fir_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_month = '012'.&lt;/P&gt;&lt;P&gt;  PERFORM get_last_day&lt;/P&gt;&lt;P&gt;                       USING v_date v_pc v_month&lt;/P&gt;&lt;P&gt;                       CHANGING v_yr_last_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " find_qtr&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_vbrk-vbrp&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;FORM get_vbrk-vbrp .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM zsd_national&lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF TABLE it_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT it_data BY sqno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT *  INTO CORRESPONDING FIELDS OF TABLE it_vbeln&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          FROM vbrk&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          WHERE fkdat &amp;gt;= v_yr_fir_date AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                fkdat &amp;lt;= v_yr_last_date AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                vkorg IN s_vkorg  AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                vtweg IN s_vtweg  AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                spart = p_spart   AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                             fkart NOT IN ('G2','ZG2','F8','ZF8').&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; IF it_vbeln[] IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT * INTO CORRESPONDING FIELDS OF TABLE it_vbrp FROM vbrp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           FOR ALL ENTRIES IN it_vbeln  WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           vbeln = it_vbeln-vbeln&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           AND vkbur &amp;lt;&amp;gt; '    '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           AND prodh IN s_prodh&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     AND pstyv NOT IN  ('TANN','RENN','ZENN', 'ZRNN' ) .&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;                         and matnr = p_matnr.&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; SORT it_vbeln BY vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORT it_vbrp BY vbeln.&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 it_vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT it_vbrp WHERE vbeln = it_vbeln-vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE-CORRESPONDING  it_vbeln TO it_vbrp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY it_vbrp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR it_vbrp.&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;P&gt;&lt;/P&gt;&lt;P&gt;*Selecting Product Heirarchy Materials.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT * INTO CORRESPONDING FIELDS OF TABLE it_prmatnr FROM mvke AS a&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       INNER JOIN mara AS b ON a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                  a~prodh IN s_prodh AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                  a~vkorg IN s_vkorg AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                  a~vtweg IN s_vtweg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get billing doc's for last year first day to current year last day&lt;/P&gt;&lt;P&gt;  SELECT A&lt;SUB&gt;vbeln A&lt;/SUB&gt;fkdat A&lt;SUB&gt;vkorg A&lt;/SUB&gt;vtweg A~fkart&lt;/P&gt;&lt;P&gt;         B&lt;SUB&gt;fkimg B&lt;/SUB&gt;umvkz B&lt;SUB&gt;umvkn B&lt;/SUB&gt;fklmg B&lt;SUB&gt;vkbur B&lt;/SUB&gt;matnr B&lt;SUB&gt;prodh B&lt;/SUB&gt;matkl&lt;/P&gt;&lt;P&gt;                           INTO CORRESPONDING FIELDS OF TABLE it_VBRP&lt;/P&gt;&lt;P&gt;                           FROM vbrk AS A&lt;/P&gt;&lt;P&gt;                           INNER JOIN VBRP AS B ON A&lt;SUB&gt;vbeln = B&lt;/SUB&gt;vbeln&lt;/P&gt;&lt;P&gt;                           WHERE A~fkdat &amp;gt;= v_yr_fir_date AND&lt;/P&gt;&lt;P&gt;                                 A~fkdat &amp;lt;= v_yr_last_date AND&lt;/P&gt;&lt;P&gt;                                 A~vkorg IN s_vkorg  AND&lt;/P&gt;&lt;P&gt;                                 A~vtweg IN s_vtweg  AND&lt;/P&gt;&lt;P&gt;                                 A~spart = p_spart   AND&lt;/P&gt;&lt;P&gt;                                 A~fkart NOT IN ('G2','ZG2','F8','ZF8') AND&lt;/P&gt;&lt;P&gt;                                 B~vkbur &amp;lt;&amp;gt; '    ' AND&lt;/P&gt;&lt;P&gt;                                 B~prodh IN s_prodh AND&lt;/P&gt;&lt;P&gt;                                 B~pstyv NOT IN  ('TANN','RENN','ZENN', 'ZRNN' ) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get materials for sales area and product hier&lt;/P&gt;&lt;P&gt;  SELECT matnr prodh vkorg vtweg&lt;/P&gt;&lt;P&gt;                            INTO CORRESPONDING FIELDS OF TABLE it_prmatnr&lt;/P&gt;&lt;P&gt;                            FROM mvke&lt;/P&gt;&lt;P&gt;                            WHERE prodh IN s_prodh AND&lt;/P&gt;&lt;P&gt;                                   vkorg IN s_vkorg AND&lt;/P&gt;&lt;P&gt;                                   vtweg IN s_vtweg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_prmatnr.&lt;/P&gt;&lt;P&gt;*Get material net weight&lt;/P&gt;&lt;P&gt;    SELECT SINGLE ntgew INTO it_prmatnr-ntgew&lt;/P&gt;&lt;P&gt;                        FROM mara&lt;/P&gt;&lt;P&gt;                        WHERE matnr = it_prmatnr-matnr.&lt;/P&gt;&lt;P&gt;    MODIFY it_prmatnr.&lt;/P&gt;&lt;P&gt;    CLEAR it_prmatnr.&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;  SORT it_vbrp BY matnr.&lt;/P&gt;&lt;P&gt;  SORT it_prmatnr BY matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_vbrp.&lt;/P&gt;&lt;P&gt;    clear it_prmatnr.&lt;/P&gt;&lt;P&gt;    READ TABLE it_prmatnr WITH KEY matnr = it_vbrp-matnr&lt;/P&gt;&lt;P&gt;                                   vkorg = it_vbrp-vkorg&lt;/P&gt;&lt;P&gt;                                   vtweg = it_vbrp-vtweg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DELETE it_vbrp.&lt;/P&gt;&lt;P&gt;      CONTINUE.&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;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_vbrk-vbrp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_data WHERE vkbur &amp;lt;&amp;gt; '    '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DO 4 TIMES.&lt;/P&gt;&lt;P&gt;      CLEAR it_data-fkimg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Finding current quarter to get first and last day of this quarter&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;/P&gt;&lt;P&gt;      CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-index = 1 AND v_qtr &amp;lt;&amp;gt; sy-index.&lt;/P&gt;&lt;P&gt;        v_fpc = 001.&lt;/P&gt;&lt;P&gt;        v_lpc = 003.&lt;/P&gt;&lt;P&gt;        CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;        CLEAR v_fdate.&lt;/P&gt;&lt;P&gt;        CLEAR v_ldate.&lt;/P&gt;&lt;P&gt;        PERFORM get_first_last_date.&lt;/P&gt;&lt;P&gt;        PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;        PERFORM fill_week USING 'QTR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSEIF sy-index = 2 AND v_qtr &amp;lt;&amp;gt; sy-index.&lt;/P&gt;&lt;P&gt;        v_fpc = 004.&lt;/P&gt;&lt;P&gt;        v_lpc = 006.&lt;/P&gt;&lt;P&gt;        CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;        CLEAR v_ldate.&lt;/P&gt;&lt;P&gt;        CLEAR v_fdate.&lt;/P&gt;&lt;P&gt;        PERFORM get_first_last_date.&lt;/P&gt;&lt;P&gt;        PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;        PERFORM fill_week USING 'QTR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSEIF sy-index = 3 AND v_qtr &amp;lt;&amp;gt; sy-index.&lt;/P&gt;&lt;P&gt;        v_fpc = 007.&lt;/P&gt;&lt;P&gt;        v_lpc = 009.&lt;/P&gt;&lt;P&gt;        CLEAR v_ldate.&lt;/P&gt;&lt;P&gt;        CLEAR v_fdate.&lt;/P&gt;&lt;P&gt;        CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;        PERFORM get_first_last_date.&lt;/P&gt;&lt;P&gt;        PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;        PERFORM fill_week USING 'QTR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSEIF sy-index = 4 AND v_qtr &amp;lt;&amp;gt; sy-index.&lt;/P&gt;&lt;P&gt;        v_fpc = 010.&lt;/P&gt;&lt;P&gt;        v_lpc = 012.&lt;/P&gt;&lt;P&gt;        CLEAR v_ldate.&lt;/P&gt;&lt;P&gt;        CLEAR v_fdate.&lt;/P&gt;&lt;P&gt;        CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;        PERFORM get_first_last_date.&lt;/P&gt;&lt;P&gt;        PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;        PERFORM fill_week USING 'QTR'.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the value for fkimg (Invoiced Quantity).&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;     perform get_fkimg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     perform fill_week using 'WK'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving value for fkimg&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;&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_period&lt;/P&gt;&lt;P&gt;                      USING v_qtr_fir_date v_wc&lt;/P&gt;&lt;P&gt;                      CHANGING v_curweek v_year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*Calling subroutines to create fieldcatalog,fill fieldcatalog and&lt;/P&gt;&lt;P&gt;*intenal table dynamicaly based on user selected date(Quarter).&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;    DO 13 TIMES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calling subroutine to get first date of current week&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;      CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;      PERFORM get_first_day&lt;/P&gt;&lt;P&gt;                  USING v_date v_wc v_curweek&lt;/P&gt;&lt;P&gt;                  CHANGING v_fdate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calling subroutine to get last date of current week&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;      PERFORM get_last_day&lt;/P&gt;&lt;P&gt;                  USING v_date v_wc v_curweek&lt;/P&gt;&lt;P&gt;                  CHANGING v_ldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;      PERFORM fill_week USING 'WK'.&lt;/P&gt;&lt;P&gt;      v_curweek = v_curweek + 1.&lt;/P&gt;&lt;P&gt;      CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALCULATE TOTAL FOR AS ON DATE YEAR&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;    v_fdate = v_cyfd.&lt;/P&gt;&lt;P&gt;    v_ldate = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;    it_data-ason_total = v_fkimg.&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;CALCULATE TOTAL FOR PREVIOUS YEAR&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;    PERFORM get_first_day&lt;/P&gt;&lt;P&gt;                     USING v_date v_pc '001'&lt;/P&gt;&lt;P&gt;                     CHANGING v_fdate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    v_cyfd = v_fdate. "current year first day&lt;/P&gt;&lt;P&gt;    "(will be used in as on date)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    v_back_months = 12.&lt;/P&gt;&lt;P&gt;    PERFORM go_months_back USING v_fdate v_back_months CHANGING v_fdate.&lt;/P&gt;&lt;P&gt;    v_lyfd = v_fdate. "last year first day(will be used in goly).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_last_day&lt;/P&gt;&lt;P&gt;                     USING  v_lyfd v_pc '012'&lt;/P&gt;&lt;P&gt;                     CHANGING v_ldate.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To be checked&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   v_yr_fir_date     = v_lyfd.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   v_yr_last_date    = v_ldate.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform get_vbrk-vbrp.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;    PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    it_data-ly_total = v_fkimg.&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;CALCULATION FOR GOLY&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;*Calculating fkimg for last year.&lt;/P&gt;&lt;P&gt;*Dates passed are last year first date and 12 months back from present&lt;/P&gt;&lt;P&gt;*date.&lt;/P&gt;&lt;P&gt;    v_fdate = v_lyfd.&lt;/P&gt;&lt;P&gt;    v_ldate = sy-datum.&lt;/P&gt;&lt;P&gt;    v_back_months = 12.&lt;/P&gt;&lt;P&gt;    PERFORM go_months_back USING v_ldate v_back_months CHANGING v_ldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;    v_goly_lyfkimg = v_fkimg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF v_goly_lyfkimg &amp;lt;&amp;gt; 0 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Calculating fkimg for present year (this will be same as 'As On&lt;/P&gt;&lt;P&gt;*Total')&lt;/P&gt;&lt;P&gt;      v_goly_cyfkimg = it_data-ason_total.&lt;/P&gt;&lt;P&gt;      it_data-goly   =&lt;/P&gt;&lt;P&gt;    (  (  v_goly_cyfkimg  - v_goly_lyfkimg ) / v_goly_lyfkimg ) * 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSEIF v_goly_lyfkimg = 0 .&lt;/P&gt;&lt;P&gt;      it_data-goly = 100.&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;    MODIFY it_data.&lt;/P&gt;&lt;P&gt;    CLEAR it_data.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_first_last_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;      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_first_last_date .&lt;/P&gt;&lt;P&gt;*Calling inlude prog subroutine to get first date of Quarter&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;  PERFORM get_first_day&lt;/P&gt;&lt;P&gt;                    USING v_date v_pc v_fpc&lt;/P&gt;&lt;P&gt;                    CHANGING v_fdate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Calling inlude prog subroutine to get last date of month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; -------------------------------------------------------------------*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_last_day&lt;/P&gt;&lt;P&gt;                    USING v_date v_pc v_lpc&lt;/P&gt;&lt;P&gt;                    CHANGING v_ldate.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_first_last_date&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  get_fkimg&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;FORM get_fkimg  .&lt;/P&gt;&lt;P&gt;  SORT it_vbrp BY vkbur.&lt;/P&gt;&lt;P&gt;  CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;  LOOP AT it_vbrp WHERE fkdat &amp;gt;= v_fdate  AND fkdat  &amp;lt;= v_ldate&lt;/P&gt;&lt;P&gt;                        AND vkbur = it_data-vkbur.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_unit USING it_vbrp-matkl CHANGING v_unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_prmatnr WITH KEY matnr = it_vbrp-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&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;     it_vbrp-fkimg =  it_vbrp-fkimg * ( it_vbrp-umvkz   /&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                it_vbrp-umvkn ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF v_unit = 'CV'.&lt;/P&gt;&lt;P&gt;      PERFORM convert_to_cv USING it_vbrp-matnr&lt;/P&gt;&lt;P&gt;                                  it_vbrp-fklmg&lt;/P&gt;&lt;P&gt;                                  'CS'&lt;/P&gt;&lt;P&gt;                         CHANGING it_vbrp-fklmg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSEIF v_unit = 'PAC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM convert_to_cv USING it_vbrp-matnr&lt;/P&gt;&lt;P&gt;                                  it_vbrp-fklmg&lt;/P&gt;&lt;P&gt;                                  'PAK'&lt;/P&gt;&lt;P&gt;                         CHANGING it_vbrp-fklmg.&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;added on 12.03.2007 as per the requirement.&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;    ELSEIF v_unit = 'TAB'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM convert_to_cv USING it_vbrp-matnr&lt;/P&gt;&lt;P&gt;                                   it_vbrp-fklmg&lt;/P&gt;&lt;P&gt;                                   'TAB'&lt;/P&gt;&lt;P&gt;                          CHANGING it_vbrp-fklmg.&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;*AS PER THE REQUIREMENT THE QTY IS DIVIDED BY 1000&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;      it_vbrp-fklmg = it_vbrp-fklmg / 1000.&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;/P&gt;&lt;P&gt;    ELSEIF v_unit = 'TON'.&lt;/P&gt;&lt;P&gt;      it_vbrp-fklmg = ( it_vbrp-fklmg * it_prmatnr-ntgew ) /&lt;/P&gt;&lt;P&gt;                                              1000000.&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;*Deducting sales return invoice quantity&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF ( it_vbrp-fkart = 'RE'   OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        it_vbrp-fkart = 'ZRE'  OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        it_vbrp-fkart = 'ZRE1' OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        it_vbrp-fkart = 'ZFR'  OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        it_vbrp-fkart = 'S1' ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_vbrp-fkart IN so_rev.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_fkimg =  v_fkimg - it_vbrp-fklmg.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      v_fkimg =  v_fkimg + it_vbrp-fklmg.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF v_unit = 'EA'.&lt;/P&gt;&lt;P&gt;    WRITE v_fkimg TO v_fkimg1 DECIMALS 0.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    v_fkimg1 = v_fkimg.&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;&lt;/P&gt;&lt;P&gt;ENDFORM. " get_fkimg&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  fill_week&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;FORM fill_week  USING    value(v_wkqc).&lt;/P&gt;&lt;P&gt;  IF v_wkqc = 'WK'.&lt;/P&gt;&lt;P&gt;    CASE sy-index.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk1 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk2 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk3 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk4 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk5 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk6 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk7 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk8 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk9 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk10 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk11 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        it_data-wk12 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 13.&lt;/P&gt;&lt;P&gt;        it_data-wk13 = v_fkimg1.&lt;/P&gt;&lt;P&gt;        it_data-tot_week = it_data-tot_week + v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF v_wkqc = 'QTR'.&lt;/P&gt;&lt;P&gt;    CASE sy-index.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         if sy-index = 1 and v_qtr &amp;lt;&amp;gt; sy-index.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         elseif sy-index = 2 and v_qtr &amp;lt;&amp;gt; sy-index.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         elseif sy-index = 3 and v_qtr &amp;lt;&amp;gt; sy-index.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         elseif sy-index = 4 and v_qtr &amp;lt;&amp;gt; sy-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;/UL&gt;&lt;P&gt;        it_data-q1 = v_fkimg1.&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;        it_data-q2 = v_fkimg1.&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;        it_data-q3 = v_fkimg1.&lt;/P&gt;&lt;P&gt;      WHEN 4.&lt;/P&gt;&lt;P&gt;        it_data-q4 = v_fkimg1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fill_week&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_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;FORM add_data .&lt;/P&gt;&lt;P&gt;  MOVE it_data[] TO it_data_temp[].&lt;/P&gt;&lt;P&gt;  SORT it_data BY sqno.&lt;/P&gt;&lt;P&gt;  SORT it_data_temp BY sqno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_data WHERE summery &amp;lt;&amp;gt; ' ' AND summery &amp;lt;&amp;gt; 'N'.&lt;/P&gt;&lt;P&gt;    IF it_data-summery = 'X' .&lt;/P&gt;&lt;P&gt;      LOOP AT it_data_temp&lt;/P&gt;&lt;P&gt;              WHERE sqno &amp;gt;= it_data-fr AND sqno &amp;lt;= it_data-upto.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM add_fields.&lt;/P&gt;&lt;P&gt;&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 it_data-ason_total = 0 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; delete it_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; continue.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*endif.&lt;/P&gt;&lt;P&gt;    MODIFY it_data.&lt;/P&gt;&lt;P&gt;    CLEAR  it_data.&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;  MOVE it_data[] TO it_data_temp[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_data WHERE summery &amp;lt;&amp;gt; ' ' AND summery &amp;lt;&amp;gt; 'N'.&lt;/P&gt;&lt;P&gt;    IF it_data-summery = 'A'.&lt;/P&gt;&lt;P&gt;      READ TABLE it_data_temp WITH KEY sqno = it_data-fr.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM add_fields.&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;      READ TABLE it_data_temp WITH KEY sqno = it_data-upto.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM add_fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY it_data.&lt;/P&gt;&lt;P&gt;    CLEAR  it_data.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " add_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  add_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;FORM add_fields .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  it_data-q1 = it_data-q1 + it_data_temp-q1.&lt;/P&gt;&lt;P&gt;  it_data-q2 = it_data-q2 + it_data_temp-q2.&lt;/P&gt;&lt;P&gt;  it_data-q3 = it_data-q3 + it_data_temp-q3.&lt;/P&gt;&lt;P&gt;  it_data-q4 = it_data-q4 + it_data_temp-q4.&lt;/P&gt;&lt;P&gt;  it_data-wk1 = it_data-wk1 + it_data_temp-wk1.&lt;/P&gt;&lt;P&gt;  it_data-wk2 = it_data-wk2 + it_data_temp-wk2.&lt;/P&gt;&lt;P&gt;  it_data-wk3 = it_data-wk3 + it_data_temp-wk3.&lt;/P&gt;&lt;P&gt;  it_data-wk4 = it_data-wk4 + it_data_temp-wk4.&lt;/P&gt;&lt;P&gt;  it_data-wk5 = it_data-wk5 + it_data_temp-wk5.&lt;/P&gt;&lt;P&gt;  it_data-wk6 = it_data-wk6 + it_data_temp-wk6.&lt;/P&gt;&lt;P&gt;  it_data-wk7 = it_data-wk7 + it_data_temp-wk7.&lt;/P&gt;&lt;P&gt;  it_data-wk8 = it_data-wk8 + it_data_temp-wk8.&lt;/P&gt;&lt;P&gt;  it_data-wk9 = it_data-wk9 + it_data_temp-wk9.&lt;/P&gt;&lt;P&gt;  it_data-wk10 = it_data-wk10 + it_data_temp-wk10.&lt;/P&gt;&lt;P&gt;  it_data-wk11 = it_data-wk11 + it_data_temp-wk11.&lt;/P&gt;&lt;P&gt;  it_data-wk12 = it_data-wk12 + it_data_temp-wk12.&lt;/P&gt;&lt;P&gt;  it_data-wk13 = it_data-wk13 + it_data_temp-wk13.&lt;/P&gt;&lt;P&gt;  it_data-tot_week = it_data-tot_week + it_data_temp-tot_week.&lt;/P&gt;&lt;P&gt;  it_data-ly_total = it_data-ly_total + it_data_temp-ly_total.&lt;/P&gt;&lt;P&gt;  it_data-ason_total = it_data-ason_total + it_data_temp-ason_total.&lt;/P&gt;&lt;P&gt;  it_data-allindia = it_data-allindia + it_data_temp-allindia.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " add_fields&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  color_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM color_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Color&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR   color.&lt;/P&gt;&lt;P&gt;    REFRESH color.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF NOT it_data-summery IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF it_data-summery &amp;lt;&amp;gt; ' ' and it_data-summery &amp;lt;&amp;gt; 'N'.&lt;/P&gt;&lt;P&gt;      color-color-col = '5'.&lt;/P&gt;&lt;P&gt;      color-color-int = '1'.&lt;/P&gt;&lt;P&gt;      color-color-inv = '1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     color-nokeycol = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      color-fname = 'Q1'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'Q2'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'Q3'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'Q4'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'TOT_WEEK'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK1'.  APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK2'.  APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK3'.   APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK4'.  APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK5'.  APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK6'.  APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK7'.  APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK8'.  APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK9'.  APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK10'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK11'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK12'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'WK13'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'SUM_TEXT'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'LY_TOTAL'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'ASON_TOTAL'. APPEND color.&lt;/P&gt;&lt;P&gt;      color-fname = 'GOLY'. APPEND color.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_data-color = color[].&lt;/P&gt;&lt;P&gt;      MODIFY it_data.&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;&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;ENDFORM.                    "color_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  output_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;FORM output_data .&lt;/P&gt;&lt;P&gt;*To delete the GR Punjab And UP West&lt;/P&gt;&lt;P&gt;  loop at it_data.&lt;/P&gt;&lt;P&gt;    if it_data-SQNO = '3' or it_data-SQNO = '6'.&lt;/P&gt;&lt;P&gt;      delete it_data.&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;  PERFORM fill_layout_structure.&lt;/P&gt;&lt;P&gt;  PERFORM fill_listheader USING it_listheader.&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcatalog USING 'SUM_TEXT' 'Sales Office' 10&lt;/P&gt;&lt;P&gt;'IT_DATA' .&lt;/P&gt;&lt;P&gt;  IF v_qtr = 1.&lt;/P&gt;&lt;P&gt;    PERFORM fill_fieldcatalog  USING :&lt;/P&gt;&lt;P&gt;     'WK1'       'WK1'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK2'       'WK2'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK3'       'WK3'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK4'       'WK4'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK5'       'WK5'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK6'       'WK6'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK7'       'WK7'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK8'       'WK8'    10  'IT_DATA',&lt;/P&gt;&lt;P&gt;     'WK9'       'WK9'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK10'      'WK10'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK11'      'WK11'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK12'      'WK12'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK13'      'WK13'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'TOT_WEEK'  'Weekly Total' 10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'Q2'        'Q2 CY'     10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'Q3'        'Q3 CY'     10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'Q4'        'Q4 CY'     10  'IT_DATA' .&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;  ELSEIF v_qtr = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM fill_fieldcatalog  USING :&lt;/P&gt;&lt;P&gt;      'Q1'     'Q1 CY'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK1'       'WK1'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK2'       'WK2'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK3'       'WK3'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK4'       'WK4'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK5'       'WK5'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK6'       'WK6'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK7'       'WK7'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK8'       'WK8'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK9'       'WK9'    10  'IT_DATA',&lt;/P&gt;&lt;P&gt;     'WK10'      'WK10'   10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK11'      'WK11'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK12'      'WK12'   10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK13'      'WK13'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'TOT_WEEK'  'Weekly Total' 10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'Q3'        'Q3 CY'     10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'Q4'        'Q4 CY'     10 'IT_DATA' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF v_qtr = 3.&lt;/P&gt;&lt;P&gt;    PERFORM fill_fieldcatalog USING :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     'Q1'     'Q1 CY'     10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'Q2'     'Q2 CY'     10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK1'       'WK1'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK2'       'WK2'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK3'       'WK3'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK4'       'WK4'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK5'       'WK5'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK6'       'WK6'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK7'       'WK7'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK8'       'WK8'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK9'       'WK9'    10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK10'      'WK10'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK11'      'WK11'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK12'      'WK12'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'WK13'      'WK13'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'TOT_WEEK'  'Weekly Total' 10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;     'Q4'        'Q4 CY'  10  'IT_DATA' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF v_qtr = 4.&lt;/P&gt;&lt;P&gt;    PERFORM fill_fieldcatalog USING :&lt;/P&gt;&lt;P&gt;    'Q1'     'Q1 CY'     10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'Q2'     'Q2 CY'     10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'Q3'     'Q3 CY'     10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK1'       'WK1'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK2'       'WK2'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK3'       'WK3'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK4'       'WK4'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK5'       'WK5'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK6'       'WK6'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK7'       'WK7'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK8'       'WK8'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK9'       'WK9'    10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK10'      'WK10'   10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK11'      'WK11'   10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK12'      'WK12'   10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'WK13'      'WK13'   10  'IT_DATA' ,&lt;/P&gt;&lt;P&gt;    'TOT_WEEK'  'Weekly Total' 10 'IT_DATA' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  PERFORM fill_fieldcatalog USING :&lt;/P&gt;&lt;P&gt;             'LY_TOTAL' 'LY TOTAL' 10 'IT_DATA' ,&lt;/P&gt;&lt;P&gt;             'ASON_TOTAL' 'AS ON TOTAL' 10 'IT_DATA',&lt;/P&gt;&lt;P&gt;             'GOLY'        'GOLY %'  10 'IT_DATA'.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  PERFORM alv_list_display.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "output_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*FORM TO FILL FIELDCATALOG                                             *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM fill_fieldcatalog USING  f d o t .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA wa_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  STATICS pos LIKE sy-index VALUE 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  pos = pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE : 1     TO   wa_fieldcat-row_pos,&lt;/P&gt;&lt;P&gt;         pos   TO   wa_fieldcat-col_pos,&lt;/P&gt;&lt;P&gt;         f     TO   wa_fieldcat-fieldname,&lt;/P&gt;&lt;P&gt;         d     TO   wa_fieldcat-seltext_l,&lt;/P&gt;&lt;P&gt;         o     TO   wa_fieldcat-outputlen,&lt;/P&gt;&lt;P&gt;         t     TO   wa_fieldcat-tabname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&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.                    "FILL_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*FORM FOR FILLING LISTHEADER&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;FORM fill_listheader USING it_listheader TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE vtext INTO vtext FROM t179t WHERE prodh IN s_prodh.&lt;/P&gt;&lt;P&gt;  DATA : wa_listheader TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;         v_variantname LIKE  varit-vtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_listheader.&lt;/P&gt;&lt;P&gt;  wa_listheader-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  wa_listheader-info ='Quarter Sales Product Group Report'.&lt;/P&gt;&lt;P&gt;  APPEND wa_listheader TO it_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR wa_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-typ  = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-key  = 'Date:'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     write v_date to wa_listheader-info.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND wa_listheader to it_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_listheader.&lt;/P&gt;&lt;P&gt;  wa_listheader-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  wa_listheader-key  = 'Product Heirarchy'.&lt;/P&gt;&lt;P&gt;  WRITE vtext TO wa_listheader-info.&lt;/P&gt;&lt;P&gt;  APPEND wa_listheader TO it_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To print the variantname as the report header&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------" /&gt;&lt;P&gt;  PERFORM get_variant_name USING sy-repid sy-slset&lt;/P&gt;&lt;P&gt;                          CHANGING v_variantname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT v_variantname IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR wa_listheader.&lt;/P&gt;&lt;P&gt;    wa_listheader-typ  = 'S'.&lt;/P&gt;&lt;P&gt;    wa_listheader-key  = 'Variant '.&lt;/P&gt;&lt;P&gt;    wa_listheader-info = v_variantname.&lt;/P&gt;&lt;P&gt;    APPEND wa_listheader TO it_listheader.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**Displaying Sales Organisation&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;   IF  s_vkorg-low IS NOT INITIAL AND s_vkorg-high IS NOT 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;     CLEAR wa_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-typ = 'S '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-key = 'Sales Organisation:'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE '' s_vkorg-low 'To'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*s_vkorg-high&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-info SEPARATED BY space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND wa_listheader TO it_listheader.&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;  ELSEIF  s_vkorg-low IS NOT 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;     CLEAR wa_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-typ = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-key = 'Sales Organisation:'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE '' s_vkorg-low INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-info.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND wa_listheader TO it_listheader.&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; ELSEIF  s_vkorg-low IS INITIAL AND s_vkorg-high 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;     CLEAR wa_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-typ = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-info  = 'Sales Organisation: *'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND wa_listheader TO it_listheader.&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;P&gt;**Displaying Distribution Channel&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;   IF  s_vtweg-low IS NOT INITIAL AND s_vtweg-high IS NOT 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;     CLEAR wa_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-typ = 'S '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_listheader-key = 'Distribution Channel:'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*CONCATENATE '' s_vtweg-low  'To'&lt;/P&gt;&lt;P&gt;*s_vtweg-high&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-info SEPARATED BY space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND wa_listheader TO it_listheader.&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;  ELSEIF  s_vtweg-low IS NOT 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;     CLEAR wa_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-typ = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-key = 'Distribution Channel:'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE '' s_vtweg-low&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*INTO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-info.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND wa_listheader TO it_listheader.&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; ELSEIF  s_vtweg-low IS INITIAL AND s_vtweg-high 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;     CLEAR wa_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-typ = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     wa_listheader-info  = 'Distribution Channel: *'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND wa_listheader TO it_listheader.&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; if p_spart is not 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;       CLEAR wa_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_listheader-typ  = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_listheader-key  = 'Division: '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       write p_spart to wa_listheader-info.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       APPEND wa_listheader to it_listheader.&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;      elseif p_spart 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;       clear wa_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_listheader-typ = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_listheader-key = 'Division: '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       write '*' to wa_listheader-info.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       APPEND wa_listheader to it_listheader.&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;  endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "fill_listheader&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*FORM FOR ALV LAYOUT STRUCTURE&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;FORM fill_layout_structure .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR st_layout.&lt;/P&gt;&lt;P&gt;  st_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  st_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For Coloring the Cells in the output display&lt;/P&gt;&lt;P&gt;  MOVE 'COLOR' TO st_layout-coltab_fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;lt;&amp;lt; Modified&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_layout-f2code = '%C1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_layout-detail_popup = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;lt;&amp;lt; Modified&lt;/P&gt;&lt;P&gt;ENDFORM.                    "fill_layout_structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*FORM FOR ALV FUNCTIONS&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;FORM alv_list_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             i_callback_program                = v_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             i_callback_user_command           = 'CALLTCODE'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             i_callback_top_of_page            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_CALLBACK_HTML_END_OF_LIST        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             is_layout                         = st_layout&lt;/P&gt;&lt;P&gt;             it_fieldcat                       = it_fieldcat[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             i_save                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             it_events                         = it_event[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;            t_outtab                          = it_data&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;            PROGRAM_ERROR                     = 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;ENDFORM.                    "alv_list_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*FORM FOR ALV EVENT                                                    *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM alv_events USING events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : wa_events TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_events.&lt;/P&gt;&lt;P&gt;  wa_events-name = 'TOP-OF-PAGE'.&lt;/P&gt;&lt;P&gt;  wa_events-form = 'TOP-OF-PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND wa_events TO it_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ALV_EVENTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*FORM FOR TO FO PAGE&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_list_commentary = it_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*FORM FOR GET_EVENT&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;FORM get_event USING it_event TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : wa_event TYPE slis_alv_event.&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   = it_event.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_event WITH KEY name = slis_ev_top_of_page INTO wa_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO wa_event-form.&lt;/P&gt;&lt;P&gt;    APPEND wa_event TO it_event.&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_event&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_ly_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;FORM get_ly_data .&lt;/P&gt;&lt;P&gt;  CLEAR v_fkimg.&lt;/P&gt;&lt;P&gt;  LOOP AT it_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALCULATE TOTAL FOR PREVIOUS YEAR&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;&lt;/P&gt;&lt;P&gt;    v_fdate = v_yr_fir_date. "current year first day(will be used in as&lt;/P&gt;&lt;P&gt;    "on date)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_last_day&lt;/P&gt;&lt;P&gt;                     USING  v_fdate v_pc '012'&lt;/P&gt;&lt;P&gt;                     CHANGING v_ldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    it_data-ly_total = v_fkimg.&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;CALCULATION FOR GOLY&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;*Calculating fkimg for last year.&lt;/P&gt;&lt;P&gt;*Dates passed are last year first date and 12 months back from present&lt;/P&gt;&lt;P&gt;*date.&lt;/P&gt;&lt;P&gt;    v_fdate = v_lyfd.&lt;/P&gt;&lt;P&gt;    v_ldate = sy-datum.&lt;/P&gt;&lt;P&gt;    v_back_months = 12.&lt;/P&gt;&lt;P&gt;    PERFORM go_months_back USING v_ldate v_back_months CHANGING v_ldate.&lt;/P&gt;&lt;P&gt;    PERFORM get_fkimg.&lt;/P&gt;&lt;P&gt;    v_goly_lyfkimg = v_fkimg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF v_goly_lyfkimg &amp;lt;&amp;gt; 0 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Calculating fkimg for present year (this will be same as 'As On Total')&lt;/P&gt;&lt;P&gt;      v_goly_cyfkimg = it_data-ason_total.&lt;/P&gt;&lt;P&gt;      it_data-goly   =&lt;/P&gt;&lt;P&gt;    (  (  v_goly_cyfkimg  - v_goly_lyfkimg ) / v_goly_lyfkimg ) * 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSEIF v_goly_lyfkimg = 0 .&lt;/P&gt;&lt;P&gt;      it_data-goly = 100.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MODIFY it_data.&lt;/P&gt;&lt;P&gt;    CLEAR it_data.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_ly_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  delete_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;FORM delete_data .&lt;/P&gt;&lt;P&gt;  DELETE it_data WHERE summery = 'N'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " delete_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CALL_TCODE&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;*FORM calltcode USING r_ucomm ls_selfield.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CASE r_ucomm.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL TRANSACTION 'ZPGQTR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM.                    " CALL_TCODE&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  add_data_speciality&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TO add the Speciality details in the speciality sales total column.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM add_data_speciality .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; data: i_data_tmp like it_data occurs 0 with header line.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear i_data_tmp.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; refresh i_data_tmp.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: wa like it_data.&lt;/P&gt;&lt;P&gt;  clear it_data.&lt;/P&gt;&lt;P&gt;  clear wa.&lt;/P&gt;&lt;P&gt;  SORT it_data BY sqno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_data where summery = 'N'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa-q1 = wa-q1 + it_data-q1.&lt;/P&gt;&lt;P&gt;    wa-q2 = wa-q2 + it_data-q2.&lt;/P&gt;&lt;P&gt;    wa-q3 = wa-q3 + it_data-q3.&lt;/P&gt;&lt;P&gt;    wa-q4 = wa-q4 + it_data-q4.&lt;/P&gt;&lt;P&gt;    wa-wk1 = wa-wk1 + it_data-wk1.&lt;/P&gt;&lt;P&gt;    wa-wk2 = wa-wk2 + it_data-wk2.&lt;/P&gt;&lt;P&gt;    wa-wk3 = wa-wk3 + it_data-wk3.&lt;/P&gt;&lt;P&gt;    wa-wk4 = wa-wk4 + it_data-wk4.&lt;/P&gt;&lt;P&gt;    wa-wk5 = wa-wk5 + it_data-wk5.&lt;/P&gt;&lt;P&gt;    wa-wk6 = wa-wk6 + it_data-wk6.&lt;/P&gt;&lt;P&gt;    wa-wk7 = wa-wk7 + it_data-wk7.&lt;/P&gt;&lt;P&gt;    wa-wk8 = wa-wk8 + it_data-wk8.&lt;/P&gt;&lt;P&gt;    wa-wk9 = wa-wk9 + it_data-wk9.&lt;/P&gt;&lt;P&gt;    wa-wk10 = wa-wk10 + it_data-wk10.&lt;/P&gt;&lt;P&gt;    wa-wk11 = wa-wk11 + it_data-wk11.&lt;/P&gt;&lt;P&gt;    wa-wk12 = wa-wk12 + it_data-wk12.&lt;/P&gt;&lt;P&gt;    wa-wk13 = wa-wk13 + it_data-wk13.&lt;/P&gt;&lt;P&gt;    wa-tot_week = wa-tot_week + it_data-tot_week.&lt;/P&gt;&lt;P&gt;    wa-ly_total = wa-ly_total + it_data-ly_total.&lt;/P&gt;&lt;P&gt;    wa-ason_total = wa-ason_total + it_data-ason_total.&lt;/P&gt;&lt;P&gt;    wa-allindia = wa-allindia + it_data-allindia.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; read table it_data with key sqno = '63'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at it_data where sqno = '63'.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    it_data-q1 = wa-q1.&lt;/P&gt;&lt;P&gt;    it_data-q2 = wa-q2.&lt;/P&gt;&lt;P&gt;    it_data-q3 = wa-q3.&lt;/P&gt;&lt;P&gt;    it_data-q4 = wa-q4.&lt;/P&gt;&lt;P&gt;    it_data-wk1 = wa-wk1.&lt;/P&gt;&lt;P&gt;    it_data-wk2 = wa-wk2.&lt;/P&gt;&lt;P&gt;    it_data-wk3 = wa-wk3.&lt;/P&gt;&lt;P&gt;    it_data-wk4 = wa-wk4.&lt;/P&gt;&lt;P&gt;    it_data-wk5 = wa-wk5.&lt;/P&gt;&lt;P&gt;    it_data-wk6 = wa-wk6.&lt;/P&gt;&lt;P&gt;    it_data-wk7 = wa-wk7.&lt;/P&gt;&lt;P&gt;    it_data-wk8 = wa-wk8.&lt;/P&gt;&lt;P&gt;    it_data-wk9 = wa-wk9.&lt;/P&gt;&lt;P&gt;    it_data-wk10 = wa-wk10.&lt;/P&gt;&lt;P&gt;    it_data-wk11 = wa-wk11.&lt;/P&gt;&lt;P&gt;    it_data-wk12 = wa-wk12.&lt;/P&gt;&lt;P&gt;    it_data-wk13 = wa-wk13.&lt;/P&gt;&lt;P&gt;    it_data-tot_week = wa-tot_week.&lt;/P&gt;&lt;P&gt;    it_data-ly_total = wa-ly_total.&lt;/P&gt;&lt;P&gt;    it_data-ason_total = wa-ason_total.&lt;/P&gt;&lt;P&gt;    it_data-allindia = wa-allindia.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    modify it_data.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " add_data_speciality&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHECK THIS ALSO.&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;prabhu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 04:36:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361339#M522407</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T04:36:51Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361340#M522408</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;I want to color a single cell in a row but not the entire row or entire column&lt;/P&gt;&lt;P&gt;Plz send me sample prg which is very short.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Amar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 06:02:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361340#M522408</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T06:02:34Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361341#M522409</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;see this simple program if u select a vendor number corresponding name will be coloured in different color.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:LFA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters:C_LIFNR like LFA1-LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;LAND1 LIKE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;ORT01 LIKE LFA1-ORT01,&lt;/P&gt;&lt;P&gt;SORTL LIKE LFA1-SORTL,&lt;/P&gt;&lt;P&gt;REGIO LIKE LFA1-REGIO,&lt;/P&gt;&lt;P&gt;COL TYPE LVC_T_SCOL,&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:COLR TYPE LVC_S_SCOL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB.&lt;/P&gt;&lt;P&gt;LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;IF ITAB-LIFNR EQ C_LIFNR.&lt;/P&gt;&lt;P&gt;COLR-FNAME = 'NAME1'.&lt;/P&gt;&lt;P&gt;COLR-COLOR-COL = '5'.&lt;/P&gt;&lt;P&gt;COLR-COLOR-INT = '1'.&lt;/P&gt;&lt;P&gt;COLR-COLOR-INV = '0'.&lt;/P&gt;&lt;P&gt;COLR-NOKEYCOL = 'X'.&lt;/P&gt;&lt;P&gt;APPEND COLR TO ITAB-COL.&lt;/P&gt;&lt;P&gt;MODIFY ITAB.&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;TYPE-POOLS:SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;layout-coltab_fieldname = 'COL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_PROGRAM_NAME = SY-REPID&lt;/P&gt;&lt;P&gt;I_INTERNAL_TABNAME = 'ITAB'&lt;/P&gt;&lt;P&gt;I_INCLNAME = SY-REPID&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;CT_FIELDCAT = FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&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 = SY-REPID&lt;/P&gt;&lt;P&gt;IS_LAYOUT = LAYOUT&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = FCAT&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds,&lt;/P&gt;&lt;P&gt;bharat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 06:12:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361341#M522409</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T06:12:27Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361342#M522410</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this link &amp;lt;a href=" &lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/7f/e477e5fba211d2b48f006094192fe3/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/7f/e477e5fba211d2b48f006094192fe3/frameset.htm&lt;/A&gt; "&amp;gt;http://help.sap.com/saphelp_nw04/helpdata/en/7f/e477e5fba211d2b48f006094192fe3/frameset.htm&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Raj&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 06:12:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361342#M522410</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T06:12:43Z</dc:date>
    </item>
    <item>
      <title>Re: ALV COLOR PROGRAM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361343#M522411</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;It is displaying dump and the error im getting is nested internal tables not supported.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2007 06:24:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-color-program/m-p/2361343#M522411</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-19T06:24:25Z</dc:date>
    </item>
  </channel>
</rss>

