<?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: about alv in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013688#M959023</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 below code, it give idea about how to develop dynami alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A few months ago, a friend of mine ask me if it was possible to develop a Dynamic ALV List Display...At first I thought that it was a hard job to do...Because he want ALV List for every key field in a database table...So I take the best know tables in the MiniSAP system SCARR and SPFLI and start to work on it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you may know, for this kind of ALV reports, you need to call REUSE_ALV_BLOCK_LIST_APPEND function module, for each ALV list...But when you don't know how many ALV list are going to be...You can of course use some ABAP Objects to save the day.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_Dynamic_ALV.&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; TYPE-POOLS                                                          *&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;TYPE-POOLS: SLIS.&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; TABLES                                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: SCARR, SPFLI.&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; VARIABLES                                                           *&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;DATA: G_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      G_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GT_PRINT TYPE SLIS_PRINT_ALV,&lt;/P&gt;&lt;P&gt;      GS_LAYOUT TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      GT_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      G_PROGRAM TYPE SY-REPID,&lt;/P&gt;&lt;P&gt;      TAB_NAME TYPE STRING,&lt;/P&gt;&lt;P&gt;      W_TABIX TYPE STRING.&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; TYPES                                                               *&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;TYPES: BEGIN OF TY_SPFLI,&lt;/P&gt;&lt;P&gt;       MANDT TYPE SPFLI-MANDT,&lt;/P&gt;&lt;P&gt;       CARRID TYPE SPFLI-CARRID,&lt;/P&gt;&lt;P&gt;       CONNID TYPE SPFLI-CONNID,&lt;/P&gt;&lt;P&gt;       COUNTRYFR TYPE SPFLI-COUNTRYFR,&lt;/P&gt;&lt;P&gt;       CITYFROM TYPE SPFLI-CITYFROM,&lt;/P&gt;&lt;P&gt;       AIRPFROM TYPE SPFLI-AIRPFROM,&lt;/P&gt;&lt;P&gt;       COUNTRYTO TYPE SPFLI-COUNTRYTO,&lt;/P&gt;&lt;P&gt;       CITYTO TYPE SPFLI-CITYTO.&lt;/P&gt;&lt;P&gt;TYPES: END OF TY_SPFLI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_STUFF,&lt;/P&gt;&lt;P&gt;       TABNAME TYPE TABNAME,&lt;/P&gt;&lt;P&gt;       TDREF TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;END OF TY_STUFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA T_STUFF TYPE TABLE OF TY_STUFF WITH NON-UNIQUE KEY TABNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: DESCR_STRUCT_REF TYPE REF TO CL_ABAP_STRUCTDESCR,&lt;/P&gt;&lt;P&gt;      DATAREF TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;      WA_FCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;      IT_FIELDCATALOG TYPE LVC_T_FCAT.&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; FIELD-SYMBOLS                                                       *&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;FIELD-SYMBOLS: &amp;lt;LINE&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;FIELD&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;COMPONENT&amp;gt; TYPE ABAP_COMPDESCR,&lt;/P&gt;&lt;P&gt;               &amp;lt;DYN_TABLE&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;               &amp;lt;FS&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;DYN_WA&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;TABLE&amp;gt;.&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; INTERNAL TABLES                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: T_SPFLI TYPE STANDARD TABLE OF TY_SPFLI WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      T_SPFLI_HEADER TYPE STANDARD TABLE OF TY_SPFLI WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      T_SPFLI_DETAIL TYPE STANDARD TABLE OF TY_SPFLI WITH HEADER LINE.&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; MACROS                                                              *&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;DEFINE CLEAN_TABLE.&lt;/P&gt;&lt;P&gt;  CLEAR &amp;amp;1.&lt;/P&gt;&lt;P&gt;  REFRESH &amp;amp;1.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&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; SELECTION SCREEN                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B01 WITH FRAME TITLE TEXT-B01.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;               S_CARRID FOR SCARR-CARRID.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B01.&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; PRINCIPAL&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA.&lt;/P&gt;&lt;P&gt;  PERFORM GENERATE_ALV.&lt;/P&gt;&lt;P&gt;  PERFORM GENERATE_ALV_LIST.&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 GET_DATA                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Retrieve data                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT MANDT CARRID CONNID COUNTRYFR CITYFROM&lt;/P&gt;&lt;P&gt;         AIRPFROM COUNTRYTO CITYTO&lt;/P&gt;&lt;P&gt;  INTO TABLE T_SPFLI&lt;/P&gt;&lt;P&gt;  FROM SPFLI&lt;/P&gt;&lt;P&gt;  WHERE CARRID IN S_CARRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_SPFLI[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    T_SPFLI_HEADER[] = T_SPFLI[].&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM T_SPFLI_HEADER&lt;/P&gt;&lt;P&gt;    COMPARING CARRID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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  GENERATE_ALV                                             *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Generate the ALV                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GENERATE_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_SPFLI_HEADER[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM CUSTOM_DATA_ALV USING G_FIELDCAT[].&lt;/P&gt;&lt;P&gt;    PERFORM BUILD_SORT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GENERATE_ALV&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  CUSTOM_DATA_ALV                                          *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Create ALV Catalog.                                            *&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 CUSTOM_DATA_ALV USING T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: T_FIELDCAT.&lt;/P&gt;&lt;P&gt;  REFRESH: T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'CARRID'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Airline carrier ID'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 1.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'CONNID'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Flight connection Id'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 2.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'COUNTRYFR'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Country key'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 3.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'CITYFROM'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'City of departure'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 4.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'AIRPFROM'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Airport of departure'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 5.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'COUNTRYTO'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Country key'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 6.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'CITYTO'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Arrival city'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 7.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CUSTOM_DATA_ALV&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  BUILD_SORT					      *&lt;/P&gt;&lt;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;      Build Sort 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 BUILD_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR G_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_SORT-SPOS      = 1.&lt;/P&gt;&lt;P&gt;  G_SORT-FIELDNAME = 'CARRID'.&lt;/P&gt;&lt;P&gt;  G_SORT-UP        = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND G_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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 GENERATE_ALV_LIST                                        *&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;      Generate ALV list                                             *&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 GENERATE_ALV_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_STUFF TYPE TY_STUFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_PROGRAM = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_CALLBACK_PROGRAM = G_PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_SPFLI_HEADER.&lt;/P&gt;&lt;P&gt;    W_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;    CLEAN_TABLE T_SPFLI_DETAIL.&lt;/P&gt;&lt;P&gt;    LOOP AT T_SPFLI INTO T_SPFLI_DETAIL&lt;/P&gt;&lt;P&gt;    WHERE CARRID EQ T_SPFLI_HEADER-CARRID.&lt;/P&gt;&lt;P&gt;      APPEND T_SPFLI_DETAIL.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE 'TABLE_' W_TABIX INTO&lt;/P&gt;&lt;P&gt;    TAB_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM CREATE_TABLE USING 'SPFLI' TAB_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_SPFLI_DETAIL ASSIGNING &amp;lt;LINE&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN &amp;lt;DYN_WA&amp;gt; TO &amp;lt;TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;TABLE&amp;gt; =  &amp;lt;LINE&amp;gt;.&lt;/P&gt;&lt;P&gt;      APPEND &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM CREATE_ALV_LIST TABLES &amp;lt;DYN_TABLE&amp;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;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            IS_PRINT = GT_PRINT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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 CREATE_ALV_LIST                                        *&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;      Create ALV List                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CREATE_ALV_LIST TABLES T_TABLE STRUCTURE T_SPFLI_DETAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            IT_FIELDCAT = G_FIELDCAT&lt;/P&gt;&lt;P&gt;            IS_LAYOUT   = GS_LAYOUT&lt;/P&gt;&lt;P&gt;            I_TABNAME   = 'T_SPFLI'&lt;/P&gt;&lt;P&gt;            IT_EVENTS   = GT_EVENTS&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            T_OUTTAB    = T_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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 CREATE_TABLE                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Create dynamic 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 CREATE_TABLE USING MY_TAB TAB_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_STUFF TYPE TY_STUFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE DATA DATAREF TYPE (MY_TAB).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN DATAREF-&amp;gt;* TO &amp;lt;FS&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCR_STRUCT_REF ?= CL_ABAP_TYPEDESCR=&amp;gt;DESCRIBE_BY_DATA( &amp;lt;FS&amp;gt; ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAN_TABLE IT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT DESCR_STRUCT_REF-&amp;gt;COMPONENTS ASSIGNING &amp;lt;COMPONENT&amp;gt;.&lt;/P&gt;&lt;P&gt;    WA_FCAT-FIELDNAME     = &amp;lt;COMPONENT&amp;gt;-NAME.&lt;/P&gt;&lt;P&gt;    WA_FCAT-REF_TABLE     = MY_TAB.&lt;/P&gt;&lt;P&gt;    WA_FCAT-REF_FIELD     = &amp;lt;COMPONENT&amp;gt;-NAME.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCAT TO IT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD CL_ALV_TABLE_CREATE=&amp;gt;CREATE_DYNAMIC_TABLE&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_FIELDCATALOG           = IT_FIELDCATALOG&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      EP_TABLE                  = DATAREF&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS                    = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN DATAREF-&amp;gt;* TO &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_STUFF-TABNAME = TAB_NAME.&lt;/P&gt;&lt;P&gt;  CREATE DATA L_STUFF-TDREF LIKE LINE OF &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN L_STUFF-TDREF-&amp;gt;* TO &amp;lt;DYN_WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CREATE_TABLE&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;Vishvesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 13 Jun 2008 10:36:58 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-06-13T10:36:58Z</dc:date>
    <item>
      <title>about alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013682#M959017</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can we increase columns dynamical at runtime in ALV's&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 10:24:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013682#M959017</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-13T10:24:54Z</dc:date>
    </item>
    <item>
      <title>Re: about alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013683#M959018</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;Yes,&lt;/P&gt;&lt;P&gt;refer to standard package SLIS in se80&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check standard programs given&lt;/P&gt;&lt;P&gt;You will find lot of programs for your requirement&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;Ani&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 10:26:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013683#M959018</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-13T10:26:43Z</dc:date>
    </item>
    <item>
      <title>Re: about alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013684#M959019</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;Yes you can do this by appending new records in fieldcatalog table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and then call method set_frontend_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aditya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 10:29:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013684#M959019</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-13T10:29:02Z</dc:date>
    </item>
    <item>
      <title>Re: about alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013685#M959020</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can u give a suggestions where can i find it&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 10:30:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013685#M959020</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-13T10:30:09Z</dc:date>
    </item>
    <item>
      <title>Re: about alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013686#M959021</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Suresh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yes. we can. do the following steps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Read the frond end field catalog using the method&lt;/P&gt;&lt;P&gt;'GET_FRONTEND_FIELDCATALOG'.&lt;/P&gt;&lt;P&gt;2. do the changes in the field catalog internal table (add new field etc...)&lt;/P&gt;&lt;P&gt;3. Change it frontend using the method 'SET_FRONTEND_FIELDCATALOG'.&lt;/P&gt;&lt;P&gt;4. refersh the gird using the method 'REFRESH_TABLE_DISPLAY' or 'SET_TABLE_FOR_FIRST_DISPLAY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if found helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Boobalan Suburaj.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 10:35:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013686#M959021</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-13T10:35:48Z</dc:date>
    </item>
    <item>
      <title>Re: about alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013687#M959022</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 program 'BCALV_FIELDCAT_TEST'.&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;Ani&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 10:36:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013687#M959022</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-13T10:36:48Z</dc:date>
    </item>
    <item>
      <title>Re: about alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013688#M959023</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 below code, it give idea about how to develop dynami alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A few months ago, a friend of mine ask me if it was possible to develop a Dynamic ALV List Display...At first I thought that it was a hard job to do...Because he want ALV List for every key field in a database table...So I take the best know tables in the MiniSAP system SCARR and SPFLI and start to work on it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you may know, for this kind of ALV reports, you need to call REUSE_ALV_BLOCK_LIST_APPEND function module, for each ALV list...But when you don't know how many ALV list are going to be...You can of course use some ABAP Objects to save the day.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_Dynamic_ALV.&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; TYPE-POOLS                                                          *&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;TYPE-POOLS: SLIS.&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; TABLES                                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: SCARR, SPFLI.&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; VARIABLES                                                           *&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;DATA: G_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      G_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GT_PRINT TYPE SLIS_PRINT_ALV,&lt;/P&gt;&lt;P&gt;      GS_LAYOUT TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      GT_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      G_PROGRAM TYPE SY-REPID,&lt;/P&gt;&lt;P&gt;      TAB_NAME TYPE STRING,&lt;/P&gt;&lt;P&gt;      W_TABIX TYPE STRING.&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; TYPES                                                               *&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;TYPES: BEGIN OF TY_SPFLI,&lt;/P&gt;&lt;P&gt;       MANDT TYPE SPFLI-MANDT,&lt;/P&gt;&lt;P&gt;       CARRID TYPE SPFLI-CARRID,&lt;/P&gt;&lt;P&gt;       CONNID TYPE SPFLI-CONNID,&lt;/P&gt;&lt;P&gt;       COUNTRYFR TYPE SPFLI-COUNTRYFR,&lt;/P&gt;&lt;P&gt;       CITYFROM TYPE SPFLI-CITYFROM,&lt;/P&gt;&lt;P&gt;       AIRPFROM TYPE SPFLI-AIRPFROM,&lt;/P&gt;&lt;P&gt;       COUNTRYTO TYPE SPFLI-COUNTRYTO,&lt;/P&gt;&lt;P&gt;       CITYTO TYPE SPFLI-CITYTO.&lt;/P&gt;&lt;P&gt;TYPES: END OF TY_SPFLI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_STUFF,&lt;/P&gt;&lt;P&gt;       TABNAME TYPE TABNAME,&lt;/P&gt;&lt;P&gt;       TDREF TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;END OF TY_STUFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA T_STUFF TYPE TABLE OF TY_STUFF WITH NON-UNIQUE KEY TABNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: DESCR_STRUCT_REF TYPE REF TO CL_ABAP_STRUCTDESCR,&lt;/P&gt;&lt;P&gt;      DATAREF TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;      WA_FCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;      IT_FIELDCATALOG TYPE LVC_T_FCAT.&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; FIELD-SYMBOLS                                                       *&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;FIELD-SYMBOLS: &amp;lt;LINE&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;FIELD&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;COMPONENT&amp;gt; TYPE ABAP_COMPDESCR,&lt;/P&gt;&lt;P&gt;               &amp;lt;DYN_TABLE&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;               &amp;lt;FS&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;DYN_WA&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;TABLE&amp;gt;.&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; INTERNAL TABLES                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: T_SPFLI TYPE STANDARD TABLE OF TY_SPFLI WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      T_SPFLI_HEADER TYPE STANDARD TABLE OF TY_SPFLI WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      T_SPFLI_DETAIL TYPE STANDARD TABLE OF TY_SPFLI WITH HEADER LINE.&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; MACROS                                                              *&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;DEFINE CLEAN_TABLE.&lt;/P&gt;&lt;P&gt;  CLEAR &amp;amp;1.&lt;/P&gt;&lt;P&gt;  REFRESH &amp;amp;1.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&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; SELECTION SCREEN                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B01 WITH FRAME TITLE TEXT-B01.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;               S_CARRID FOR SCARR-CARRID.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B01.&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; PRINCIPAL&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA.&lt;/P&gt;&lt;P&gt;  PERFORM GENERATE_ALV.&lt;/P&gt;&lt;P&gt;  PERFORM GENERATE_ALV_LIST.&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 GET_DATA                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Retrieve data                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT MANDT CARRID CONNID COUNTRYFR CITYFROM&lt;/P&gt;&lt;P&gt;         AIRPFROM COUNTRYTO CITYTO&lt;/P&gt;&lt;P&gt;  INTO TABLE T_SPFLI&lt;/P&gt;&lt;P&gt;  FROM SPFLI&lt;/P&gt;&lt;P&gt;  WHERE CARRID IN S_CARRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_SPFLI[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    T_SPFLI_HEADER[] = T_SPFLI[].&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM T_SPFLI_HEADER&lt;/P&gt;&lt;P&gt;    COMPARING CARRID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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  GENERATE_ALV                                             *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Generate the ALV                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GENERATE_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_SPFLI_HEADER[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM CUSTOM_DATA_ALV USING G_FIELDCAT[].&lt;/P&gt;&lt;P&gt;    PERFORM BUILD_SORT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GENERATE_ALV&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  CUSTOM_DATA_ALV                                          *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Create ALV Catalog.                                            *&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 CUSTOM_DATA_ALV USING T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: T_FIELDCAT.&lt;/P&gt;&lt;P&gt;  REFRESH: T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'CARRID'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Airline carrier ID'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 1.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'CONNID'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Flight connection Id'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 2.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'COUNTRYFR'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Country key'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 3.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'CITYFROM'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'City of departure'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 4.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'AIRPFROM'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Airport of departure'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 5.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'COUNTRYTO'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Country key'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 6.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-TABNAME        = 'T_SPFLI'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-FIELDNAME      = 'CITYTO'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-SELTEXT_L      = 'Arrival city'.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-COL_POS        = 7.&lt;/P&gt;&lt;P&gt;  L_FIELDCAT-OUTPUTLEN      = 15.&lt;/P&gt;&lt;P&gt;  APPEND L_FIELDCAT TO T_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CUSTOM_DATA_ALV&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  BUILD_SORT					      *&lt;/P&gt;&lt;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;      Build Sort 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 BUILD_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR G_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_SORT-SPOS      = 1.&lt;/P&gt;&lt;P&gt;  G_SORT-FIELDNAME = 'CARRID'.&lt;/P&gt;&lt;P&gt;  G_SORT-UP        = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND G_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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 GENERATE_ALV_LIST                                        *&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;      Generate ALV list                                             *&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 GENERATE_ALV_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_STUFF TYPE TY_STUFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_PROGRAM = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_CALLBACK_PROGRAM = G_PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_SPFLI_HEADER.&lt;/P&gt;&lt;P&gt;    W_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;    CLEAN_TABLE T_SPFLI_DETAIL.&lt;/P&gt;&lt;P&gt;    LOOP AT T_SPFLI INTO T_SPFLI_DETAIL&lt;/P&gt;&lt;P&gt;    WHERE CARRID EQ T_SPFLI_HEADER-CARRID.&lt;/P&gt;&lt;P&gt;      APPEND T_SPFLI_DETAIL.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE 'TABLE_' W_TABIX INTO&lt;/P&gt;&lt;P&gt;    TAB_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM CREATE_TABLE USING 'SPFLI' TAB_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT T_SPFLI_DETAIL ASSIGNING &amp;lt;LINE&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN &amp;lt;DYN_WA&amp;gt; TO &amp;lt;TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;TABLE&amp;gt; =  &amp;lt;LINE&amp;gt;.&lt;/P&gt;&lt;P&gt;      APPEND &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM CREATE_ALV_LIST TABLES &amp;lt;DYN_TABLE&amp;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;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            IS_PRINT = GT_PRINT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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 CREATE_ALV_LIST                                        *&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;      Create ALV List                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CREATE_ALV_LIST TABLES T_TABLE STRUCTURE T_SPFLI_DETAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            IT_FIELDCAT = G_FIELDCAT&lt;/P&gt;&lt;P&gt;            IS_LAYOUT   = GS_LAYOUT&lt;/P&gt;&lt;P&gt;            I_TABNAME   = 'T_SPFLI'&lt;/P&gt;&lt;P&gt;            IT_EVENTS   = GT_EVENTS&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            T_OUTTAB    = T_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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 CREATE_TABLE                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Create dynamic 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 CREATE_TABLE USING MY_TAB TAB_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_STUFF TYPE TY_STUFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE DATA DATAREF TYPE (MY_TAB).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN DATAREF-&amp;gt;* TO &amp;lt;FS&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCR_STRUCT_REF ?= CL_ABAP_TYPEDESCR=&amp;gt;DESCRIBE_BY_DATA( &amp;lt;FS&amp;gt; ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAN_TABLE IT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT DESCR_STRUCT_REF-&amp;gt;COMPONENTS ASSIGNING &amp;lt;COMPONENT&amp;gt;.&lt;/P&gt;&lt;P&gt;    WA_FCAT-FIELDNAME     = &amp;lt;COMPONENT&amp;gt;-NAME.&lt;/P&gt;&lt;P&gt;    WA_FCAT-REF_TABLE     = MY_TAB.&lt;/P&gt;&lt;P&gt;    WA_FCAT-REF_FIELD     = &amp;lt;COMPONENT&amp;gt;-NAME.&lt;/P&gt;&lt;P&gt;    APPEND WA_FCAT TO IT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD CL_ALV_TABLE_CREATE=&amp;gt;CREATE_DYNAMIC_TABLE&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_FIELDCATALOG           = IT_FIELDCATALOG&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      EP_TABLE                  = DATAREF&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS                    = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN DATAREF-&amp;gt;* TO &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_STUFF-TABNAME = TAB_NAME.&lt;/P&gt;&lt;P&gt;  CREATE DATA L_STUFF-TDREF LIKE LINE OF &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN L_STUFF-TDREF-&amp;gt;* TO &amp;lt;DYN_WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CREATE_TABLE&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;Vishvesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 10:36:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013688#M959023</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-13T10:36:58Z</dc:date>
    </item>
    <item>
      <title>Re: about alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013689#M959024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Suresh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the sample program 'BCALV_GRID_VERIFY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do the following steps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Read the front end field catalog using 'get_frontend_fieldcatalog'&lt;/P&gt;&lt;P&gt;2. Change the fieldcatalog internal table.&lt;/P&gt;&lt;P&gt;3. Change the front end using 'set_frontend_fieldcatalog&lt;/P&gt;&lt;P&gt;'.&lt;/P&gt;&lt;P&gt;4. Refresh the table display using 'refersh_table_display'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if found helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Boobalan Suburaj.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 10:39:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013689#M959024</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-13T10:39:24Z</dc:date>
    </item>
    <item>
      <title>Re: about alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013690#M959025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Vishvesh.K &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i wann that CARRID in different colum&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 11:22:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/about-alv/m-p/4013690#M959025</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-13T11:22:48Z</dc:date>
    </item>
  </channel>
</rss>

