<?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: FM PROB in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786757#M649766</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thnx..&lt;/P&gt;&lt;P&gt;was helpful....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 07 Sep 2007 08:49:57 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-07T08:49:57Z</dc:date>
    <item>
      <title>FM PROB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786750#M649759</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;Iam new in using ALV...&lt;/P&gt;&lt;P&gt;this is the following report i created...&lt;/P&gt;&lt;P&gt;When iam executing the following report its getting short dumped..&lt;/P&gt;&lt;P&gt;can anyone help me out in this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I didnt know how to use the FM reuse_alv_fieldcatalog_merge and iam facing problems in it....&lt;/P&gt;&lt;P&gt;My requirement is to display matnr from mara in alv....&lt;/P&gt;&lt;P&gt;If possible suggest me the step by step process in alv or send me a sample program too for displaying one or two fields of a table using alv.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZIND_ALV_TEST.&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;data: begin of iline occurs 0,&lt;/P&gt;&lt;P&gt;      matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;      end of iline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: gt_fieldcat type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr from mara into table iline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform setup-fieldcatalog using gt_fieldcat[].&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;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PROGRAM             = ' '&lt;/P&gt;&lt;/LI&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               = mara&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_FIELDCAT                    = gt_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;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;  IR_SALV_LIST_ADAPTER           =&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_SUPPRESS_EMPTY_DATA          = ABAP_FALSE&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                       = iline&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;&lt;/P&gt;&lt;P&gt;form setup-fieldcatalog using &lt;U&gt;fieldcat type slis&lt;/U&gt;t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;data: ls_fieldcat type slis_fieldcat_alv.&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_internal_tabname = 'ILINE'&lt;/P&gt;&lt;P&gt;i_structure_name = 'mara'&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;ct_fieldcat = gt_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. " FIELDCATALOG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2007 07:03:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786750#M649759</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-07T07:03:15Z</dc:date>
    </item>
    <item>
      <title>Re: FM PROB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786751#M649760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;REPORT ZIND_ALV_TEST.&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;data: begin of iline occurs 0,&lt;/P&gt;&lt;P&gt;matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;end of iline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;data:          i_fieldcatalog    TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;         wa_fieldcatalog   LIKE LINE OF i_fieldcatalog,&lt;/P&gt;&lt;P&gt;         l_repid type sy-repid&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select matnr from mara into table iline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt; CLEAR: wa_fieldcatalog.&lt;/P&gt;&lt;P&gt;  wa_fieldcatalog-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcatalog-tabname   = 'ILINE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcatalog-seltext_l = 'Material No.'.&lt;/P&gt;&lt;P&gt;  wa_fieldcatalog-outputlen = 20.&lt;/P&gt;&lt;P&gt;  wa_fieldcatalog-col_pos   = 1.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcatalog TO i_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&amp;lt;/b&amp;gt;&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;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;&amp;lt;b&amp;gt; I_CALLBACK_PROGRAM = l_repid&amp;lt;/b&amp;gt;&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 = mara&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_LAYOUT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_FIELDCAT = i_fieldcatalog&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;IR_SALV_LIST_ADAPTER =&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_SUPPRESS_EMPTY_DATA = ABAP_FALSE&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 = iline&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2007 07:09:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786751#M649760</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-07T07:09:14Z</dc:date>
    </item>
    <item>
      <title>Re: FM PROB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786752#M649761</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check this sample program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;TYPE-POOLS: slis.
TYPE-POOLS: slis.

DATA : BEGIN OF xmara,
       matnr LIKE makt-matnr,
       spras LIKE makt-spras,
       maktx LIKE makt-maktx,
       END OF xmara.

DATA: imara LIKE STANDARD TABLE OF xmara WITH HEADER LINE.
DATA: fieldcat TYPE slis_t_fieldcat_alv.
DATA: repid TYPE syrepid.

repid = sy-repid.

SELECT matnr spras maktx
       FROM makt
       INTO TABLE imara
       UP TO 100 ROWS
       WHERE spras = sy-langu.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
     EXPORTING
          i_program_name     = repid
          i_internal_tabname = 'XMARA'
          i_inclname         = repid
          i_bypassing_buffer = 'X'
     CHANGING
          ct_fieldcat        = fieldcat.


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
     EXPORTING
          it_fieldcat = fieldcat
     TABLES
          t_outtab    = imara.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Gopi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2007 07:12:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786752#M649761</guid>
      <dc:creator>gopi_narendra</dc:creator>
      <dc:date>2007-09-07T07:12:33Z</dc:date>
    </item>
    <item>
      <title>Re: FM PROB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786753#M649762</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for ur response but i would like to know how to use FM reuse_alv_fieldcatalog_merge...&lt;/P&gt;&lt;P&gt;I heard that generally we use this FM for displaying particular fields frm a table, is this true??? can u help me on it....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2007 07:15:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786753#M649762</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-07T07:15:19Z</dc:date>
    </item>
    <item>
      <title>Re: FM PROB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786754#M649763</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Naveen,&lt;/P&gt;&lt;P&gt;                There are two way to create fieldcatalog using this FM.&lt;/P&gt;&lt;P&gt;1. pass standard se11 structure in parameter  I_STRUCTURE_NAME &lt;/P&gt;&lt;P&gt;or&lt;/P&gt;&lt;P&gt;2. Pass internal table in parameter I_INTERNAL_TABNAME declared using following declaration i.e. using Occurs 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Refer this code :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----Error table for Infotype 0007&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF T_ERR_0007 OCCURS 0,&lt;/P&gt;&lt;P&gt;       PERNR            TYPE CHAR8,         "EMPLOYEE NUMBER&lt;/P&gt;&lt;P&gt;       SCHKZ            TYPE CHAR8,         "SHIFT&lt;/P&gt;&lt;P&gt;       DAT02            TYPE CHAR10,        "CONVERSION_DATE&lt;/P&gt;&lt;P&gt;       MSG_0007         TYPE CHAR251,       "ERROR_MESSAGE&lt;/P&gt;&lt;P&gt;       END OF T_ERR_0007.&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           =  'T_ERR_0007'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME             = 'INFO_0006'&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                   = 'ZUHCM002_LOAD_PA_TOP'&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                  = P_T_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;&lt;/P&gt;&lt;P&gt;Reward points if helpful.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hemant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2007 07:18:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786754#M649763</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-07T07:18:13Z</dc:date>
    </item>
    <item>
      <title>Re: FM PROB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786755#M649764</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks..&lt;/P&gt;&lt;P&gt;my prob was solved&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2007 07:19:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786755#M649764</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-07T07:19:57Z</dc:date>
    </item>
    <item>
      <title>Re: FM PROB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786756#M649765</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Naveen Plz care fully see this program and u can find any kind of answer in ALV Reporting  from this program , Try to debugging this program and analysis ur self and am also write comment each and every line .&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To pass name of the report in function module for ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: v_repid LIKE sy-repid .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To pass the overall structure of the ALV report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:  struct_layout    TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;DATA:  struct_layout1   TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to capture various events in ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : i_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for catalog of the fields to be displayed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: i_fieldcat TYPE  slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : x_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  i_fieldcat1 TYPE  slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : x_fieldcat1 TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to mention the sort sequence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : it_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;DATA : x_sort TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to display top of page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : i_list_top_of_page TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure to display variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : i_variant LIKE disvariant,&lt;/P&gt;&lt;P&gt;       i_variant1 LIKE disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to pass data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF i_tab OCCURS 0,&lt;/P&gt;&lt;P&gt;        mblnr LIKE mseg-mblnr ,&lt;/P&gt;&lt;P&gt;        matnr LIKE mseg-matnr,&lt;/P&gt;&lt;P&gt;        maktg LIKE makt-maktg ,&lt;/P&gt;&lt;P&gt;        charg LIKE mseg-charg ,&lt;/P&gt;&lt;P&gt;        werks LIKE mseg-werks,&lt;/P&gt;&lt;P&gt;        lgort LIKE mseg-lgort,&lt;/P&gt;&lt;P&gt;        menge LIKE mseg-menge ,&lt;/P&gt;&lt;P&gt;        meins LIKE mseg-meins ,&lt;/P&gt;&lt;P&gt;        dmbtr LIKE mseg-dmbtr,&lt;/P&gt;&lt;P&gt;        ebeln LIKE mseg-ebeln,&lt;/P&gt;&lt;P&gt;        icn(4) TYPE c ,&lt;/P&gt;&lt;P&gt;        sym(4) TYPE c ,&lt;/P&gt;&lt;P&gt;        excpt(2) TYPE c ,&lt;/P&gt;&lt;P&gt;        box(1),&lt;/P&gt;&lt;P&gt;    END OF i_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*EJECT&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF i_doc OCCURS 0 .&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE mseg.&lt;/P&gt;&lt;P&gt;DATA : END OF i_doc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;------&lt;DEL&gt;-End of Data Declaration&lt;/DEL&gt;-------------*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : p_var LIKE disvariant-variant.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_variant_init.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_var.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Once the user has entered variant, check about its existence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_check_pvar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display a list of various variants of the report when the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user presses F4 key in the variant field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_variant_f4.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare field catalog for the main report. State the name of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the field , name of internal table , various formatting options etc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_prepare_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetches records from database into table i_tab to be passed as export&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameter t_outtab in function module : REUSE_ALV_GRID_DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_select_record.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate stat and icon columns of internal table i_tab with specific&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;columns and symbols based on some logic for quantity and value fields.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_modify_records.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defines the overall layout of the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_determine_alv_layout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defines the sort sequence of the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_determine_sort_sequence.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defines the event table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_eventtab_build USING i_events.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Things to be written at the top of the page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_comment_build USING i_list_top_of_page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display the ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sub_show_alv_list.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; struct_layout-hotspot_fieldname  = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM sub_hotspot.&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  SUB_VARIANT_INIT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_variant_init.&lt;/P&gt;&lt;P&gt;  i_variant1-report = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Search default variant for the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_save     = 'A'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      cs_variant = i_variant1&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_found  = 2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If default variant is found , use it as default.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Else , use the variant LAYOUT1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_var = i_variant1-variant.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    p_var = 'LAYOUT1'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_VARIANT_INIT&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  SUB_CHECK_PVAR&lt;/P&gt;&lt;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;Once the user has entered variant, check about its existence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_check_pvar.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the name of the variable is not blank, check about its existence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT p_var IS INITIAL.&lt;/P&gt;&lt;P&gt;    CLEAR i_variant.&lt;/P&gt;&lt;P&gt;    i_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;    i_variant-variant = p_var.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_save     = 'A'&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        cs_variant = i_variant.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no such variant found , flash error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF sy-subrc NE 0 .&lt;/P&gt;&lt;P&gt;      MESSAGE e398(00) WITH 'No such variant exists'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If variant exists , use the variant name to populate structure&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_VARIANT1 which will be used for export parameter : IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in the function module : REUSE_ALV_GRID_DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR i_variant1.&lt;/P&gt;&lt;P&gt;      MOVE p_var TO i_variant1-variant.&lt;/P&gt;&lt;P&gt;      MOVE sy-repid TO i_variant1-report.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR i_variant.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CHECK_PVAR&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  SUB_PREPARE_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare field catalog for the main report. State the name of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the field , name of internal table , various formatting options etc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_prepare_fieldcatalog.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First field to appear in ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-col_pos = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the internal table field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-fieldname = 'SYM'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Heading for the field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'Stat'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The field is going to contain a symbol&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-symbol = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append the specifications to the internal table for field catalog.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Second field to appear in ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-col_pos = 2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the field in the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Heading for the column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'MatItem'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;It is going to be the key field.The color for this field is going to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be different&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-key_sel = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Single click on the field will trigger double click event.Also, a hand&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;will appear when the cursor navigates to the field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-hotspot = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The column and those left to it will not scroll&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-fix_column = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F1 help will come as it is referenced to DDIC table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-ref_tabname = 'MSEG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'MAKTG'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'Description'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 50.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-hotspot = space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The field is centre(C for centre, R and L for left and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;right) justified&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-just = 'C'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fix_column = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-fix_column = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'CHARG'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'Batch'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 10.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-hotspot = space.&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'Purchase Order'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 14.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The field will be colored differently(Cxyz)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-emphasize = 'C511'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initially the field will be hidden&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'MBLNR'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'Document no'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 14.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-emphasize = 'C711'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 7.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'Plant'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-emphasize = 'C310'.&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 8.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'LGORT'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'St.Loc'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 7.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 9.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'Quantity'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-outputlen = 12.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Summation is allowed for this field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-ref_tabname = 'MSEG'.&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 10.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'ICN'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = ''.&lt;/P&gt;&lt;P&gt;  x_fieldcat-outputlen = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-icon = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 11.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'Unit'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-outputlen = 5.&lt;/P&gt;&lt;P&gt;  x_fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 12.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'DMBTR'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = 'Local curr'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-outputlen = 12.&lt;/P&gt;&lt;P&gt;  x_fieldcat-inttype = 'P'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-just = 'R'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-col_pos = 13.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fieldname = 'EXCPT'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-seltext_m = ''.&lt;/P&gt;&lt;P&gt;  x_fieldcat-outputlen = 3.&lt;/P&gt;&lt;P&gt;  APPEND x_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_PREPARE_FIELDCATALOG&lt;/P&gt;&lt;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  SUB_SELECT_RECORD&lt;/P&gt;&lt;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;Fetches records from database into table i_tab to be passed as export&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameter t_outtab in function module : REUSE_ALV_GRID_DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_select_record.&lt;/P&gt;&lt;P&gt;  SELECT  mblnr a&lt;SUB&gt;matnr a&lt;/SUB&gt;maktg charg&lt;/P&gt;&lt;P&gt;          werks lgort menge meins dmbtr ebeln&lt;/P&gt;&lt;P&gt;           FROM makt AS a JOIN mseg AS b&lt;/P&gt;&lt;P&gt;             ON ( a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr )&lt;/P&gt;&lt;P&gt;             INTO TABLE i_tab&lt;/P&gt;&lt;P&gt;             WHERE b~bwart = '101' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_SELECT_RECORD&lt;/P&gt;&lt;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  SUB_MODIFY_RECORDS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate stat and icon columns of internal table i_tab with specific&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;columns and symbols based on some logic for quantity and value fields.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_modify_records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_tab.&lt;/P&gt;&lt;P&gt;    IF i_tab-dmbtr GT 10000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field icn of internal table is going to contain icon . For this column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*icon_allowed is set in the field catalog table. For various icons,see&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;type pool &amp;lt;ICON&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_tab-icn = '@1V@'.&lt;/P&gt;&lt;P&gt;      MODIFY i_tab TRANSPORTING icn.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF i_tab-menge GT 50.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field icn of internal table is going to contain symbol . For this&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;column symbol_allowed is set in the field catalog table. For various&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;icons,see type pool &amp;lt;SYMBOL&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_tab-sym = 'N'.&lt;/P&gt;&lt;P&gt;      MODIFY i_tab TRANSPORTING sym.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF i_tab-werks NE 'SDC1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This field will contain lights , traffic signals : red.yellow,green&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;That this field will be used as a light will be specified in the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;column of structure STRUCT_LAYOUT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_tab-excpt = '1'.&lt;/P&gt;&lt;P&gt;      MODIFY i_tab TRANSPORTING excpt.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_MODIFY_RECORDS&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  SUB_DETERMINE_ALV_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;P&gt;*&amp;amp; Defines the overall structure of the report layout                  *&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;FORM sub_determine_alv_layout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field EXCPT will show the light signal&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  struct_layout-lights_fieldname       = 'EXCPT'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field BOS of the internal table will act as pushbutton and will appear&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;at the left of the grid display. User will press that to select a&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  struct_layout-box_fieldname          = 'BOX'.&lt;/P&gt;&lt;P&gt;  struct_layout-totals_text            = 'Totqty '.&lt;/P&gt;&lt;P&gt;  struct_layout-zebra                  = 'X'.&lt;/P&gt;&lt;P&gt;  struct_layout-confirmation_prompt    = 'X'.&lt;/P&gt;&lt;P&gt;  struct_layout-detail_titlebar        = 'Details of Storing'.&lt;/P&gt;&lt;P&gt;  struct_layout-no_sumchoice           = 'X'.&lt;/P&gt;&lt;P&gt;  struct_layout-totals_only            = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_DETERMINE_ALV_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;P&gt;*&amp;amp;      Form  SUB_DETERMINE_SORT_SEQUENCE&lt;/P&gt;&lt;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;Defines the sort sequence of the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_determine_sort_sequence.&lt;/P&gt;&lt;P&gt;  x_sort-spos = 1.                           " Sort order&lt;/P&gt;&lt;P&gt;  x_sort-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;  x_sort-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  x_sort-up = 'X'.&lt;/P&gt;&lt;P&gt;  x_sort-subtot = 'X'.                      " Sub total allowed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND x_sort TO it_sort.&lt;/P&gt;&lt;P&gt;  CLEAR x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_DETERMINE_SORT_SEQUENCE&lt;/P&gt;&lt;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  SUB_SHOW_ALV_LIST&lt;/P&gt;&lt;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;Shows ALV list in grid form&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_show_alv_list.&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;Name of the program&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;title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_grid_title                          = 'Details of Storing'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calls subroutine : PF_STATUS_SET&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         i_callback_pf_status_set           = 'PF_STATUS_SET'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calls subroutine : user_command&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          i_callback_user_command           = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Overall structure of the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         is_layout                          = struct_layout&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passes the field catg internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         it_fieldcat                        = i_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passws the sort sequence internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         it_sort                            = it_sort&lt;/P&gt;&lt;P&gt;         i_default                          = 'X'&lt;/P&gt;&lt;P&gt;         i_save                             = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passes the internal table for variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         is_variant                         = i_variant1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fetches different events into internal table i_events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         it_events                          = i_events[]&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passes data table for ALV display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          t_outtab                          = i_tab&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;         program_error                      = 1&lt;/P&gt;&lt;P&gt;         OTHERS                             = 2&lt;/P&gt;&lt;P&gt;                .&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.                    " SUB_SHOW_ALV_LIST&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  set_status&lt;/P&gt;&lt;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; Form used to set the Custom pf-status of the List Display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; rt_extab :&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 pf_status_set USING i_rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  DATA : x_extab TYPE slis_extab.&lt;/P&gt;&lt;P&gt;  x_extab-fcode = '&amp;amp;LFO'.&lt;/P&gt;&lt;P&gt;  APPEND x_extab TO i_rt_extab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pf-status STANDARD of program SAPLSALV is copied to ZSTANDARD of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;current program and the pushbutton for Information (okcode=&amp;amp;LFO) is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;excluded&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SET PF-STATUS 'ZSTANDARD' EXCLUDING i_rt_extab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "pf_status_set&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  user_command&lt;/P&gt;&lt;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; Form used to handle USER_COMMAND events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; rf_ucomm: Function Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; rs      : Internal Table containing the selection information.&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;FORM user_command USING rf_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                          rs TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;  DATA : v_mblnr LIKE mseg-mblnr.&lt;/P&gt;&lt;P&gt;  CASE rf_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;A custom pushbutton for record deletion is set in the GUI status.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When a record is selected , the field BOC for that record becomes 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The records are traced and deleted and the fields are refreshed( rs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of type slis_selfield is refreshed)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHEN '&amp;amp;DEL'.                 "Print button clicked.&lt;/P&gt;&lt;P&gt;      DELETE i_tab WHERE box = 'X'.&lt;/P&gt;&lt;P&gt;      rs-refresh = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When the user selects a row and presses the Select pushbutton ( user&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;defined ) from the application toolbar, the details of the document&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;will be shown in another ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHEN '&amp;amp;SEL'.&lt;/P&gt;&lt;P&gt;      PERFORM sub_select_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  set parameter id 'MBN'  field  i_tab-mblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  call transaction 'MB03'.&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;Ok code for double click is &amp;amp;IC1 for ALV report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      PERFORM sub_hotspot.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "user_command&lt;/P&gt;&lt;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  SUB_HOTSPOT&lt;/P&gt;&lt;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 sub_hotspot.&lt;/P&gt;&lt;P&gt;  MESSAGE i398(00) WITH 'Hello'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_HOTSPOT&lt;/P&gt;&lt;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  SUB_VARIANT_F4&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display a list of various variants of the report when the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user presses F4 key in the variant field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_variant_f4.&lt;/P&gt;&lt;P&gt;  i_variant-report = sy-repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Utilising the name of the report , this function module will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;search for a list of variants and will fetch the selected one into&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the parameter field for variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_variant         = i_variant&lt;/P&gt;&lt;P&gt;      i_save             = 'A'&lt;/P&gt;&lt;P&gt;      i_display_via_grid = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      es_variant         = i_variant1&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_found          = 1&lt;/P&gt;&lt;P&gt;      program_error      = 2&lt;/P&gt;&lt;P&gt;      OTHERS             = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_var = i_variant1-variant.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_VARIANT_F4&lt;/P&gt;&lt;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  SUB_SELECT_DOCUMENT&lt;/P&gt;&lt;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 sub_select_document.&lt;/P&gt;&lt;P&gt;  DATA : v_lines TYPE i .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE i_tab WITH KEY box = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;         FROM mseg INTO TABLE i_doc&lt;/P&gt;&lt;P&gt;         WHERE mblnr = i_tab-mblnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_program_name         = v_repid&lt;/P&gt;&lt;P&gt;        i_internal_tabname     = 'I_DOC'&lt;/P&gt;&lt;P&gt;        i_structure_name       = 'MSEG'&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        ct_fieldcat            = i_fieldcat1&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;        program_error          = 2&lt;/P&gt;&lt;P&gt;        OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR struct_layout1.&lt;/P&gt;&lt;P&gt;    struct_layout1-colwidth_optimize  = 'X'.&lt;/P&gt;&lt;P&gt;    REFRESH it_sort.&lt;/P&gt;&lt;P&gt;    CLEAR it_sort.&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;P&gt;        i_callback_program = v_repid&lt;/P&gt;&lt;P&gt;        i_grid_title       = 'Details of Document'&lt;/P&gt;&lt;P&gt;        is_layout          = struct_layout1&lt;/P&gt;&lt;P&gt;        it_fieldcat        = i_fieldcat1&lt;/P&gt;&lt;P&gt;        i_structure_name   = 'MSEG'&lt;/P&gt;&lt;P&gt;        i_default          = 'X'&lt;/P&gt;&lt;P&gt;        i_save             = 'A'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_outtab           = i_doc&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        program_error      = 1&lt;/P&gt;&lt;P&gt;        OTHERS             = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_SELECT_DOCUMENT&lt;/P&gt;&lt;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  SUB_COMMENT_BUILD&lt;/P&gt;&lt;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_LIST_TOP_OF_PAGE  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 sub_comment_build USING   i_top_of_page TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;  DATA: ls_line TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Header&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'H'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LS_LINE-KEY: not used for this type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ls_line-info = 'Heading list'.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO i_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Selection&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'Key 1'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'Material '.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO i_top_of_page.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'Key 2'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'Document no'.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO i_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Action&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_COMMENT_BUILD&lt;/P&gt;&lt;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  SUB_EVENTTAB_BUILD&lt;/P&gt;&lt;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;Defines the event table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sub_eventtab_build USING l_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;  DATA: ls_event TYPE slis_alv_event.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the different events of the ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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   = l_events.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Search the top of page events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE l_events WITH KEY name = slis_ev_top_of_page INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO l_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_EVENTTAB_BUILD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM TOP_OF_PAGE                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When TOP-OF-PAGE will be fired , this event will be called and it&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;will use the contents of i_list_top_of_page for output in the header&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 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;      i_logo             = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;P&gt;      it_list_commentary = i_list_top_of_page.&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;Regards,&lt;/P&gt;&lt;P&gt;Nihar Swain........&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2007 07:26:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786756#M649765</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-07T07:26:12Z</dc:date>
    </item>
    <item>
      <title>Re: FM PROB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786757#M649766</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thnx..&lt;/P&gt;&lt;P&gt;was helpful....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2007 08:49:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786757#M649766</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-07T08:49:57Z</dc:date>
    </item>
    <item>
      <title>Re: FM PROB</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786758#M649767</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Naveen .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2007 09:00:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/fm-prob/m-p/2786758#M649767</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-07T09:00:11Z</dc:date>
    </item>
  </channel>
</rss>

