<?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: creating a type dynamically. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-a-type-dynamically/m-p/5322510#M1226734</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Erdem,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    Are you able to define the structures within your program, in a way then you can create some logic (which would include the range field)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   If I understood your point, then maybe you could try something this way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: G_REPID LIKE SY-REPID, &lt;/P&gt;&lt;P&gt;GS_PRINT            TYPE SLIS_PRINT_ALV, &lt;/P&gt;&lt;P&gt;GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER, &lt;/P&gt;&lt;P&gt;GT_EVENTS           TYPE SLIS_T_EVENT, &lt;/P&gt;&lt;P&gt;GT_SORT             TYPE SLIS_T_SORTINFO_ALV, &lt;/P&gt;&lt;P&gt;GS_LAYOUT           TYPE SLIS_LAYOUT_ALV, &lt;/P&gt;&lt;P&gt;GT_FIELDCAT         TYPE SLIS_T_FIELDCAT_ALV, &lt;/P&gt;&lt;P&gt;FIELDCAT_LN LIKE LINE OF GT_FIELDCAT, &lt;/P&gt;&lt;P&gt;COL_POS TYPE I. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB, &lt;/P&gt;&lt;P&gt;  FIELD1(5) TYPE C, &lt;/P&gt;&lt;P&gt;  FIELD2(5) TYPE C, &lt;/P&gt;&lt;P&gt;  FIELD3(5) TYPE P DECIMALS 2, &lt;/P&gt;&lt;P&gt;END OF ITAB. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB1 OCCURS 0. &lt;/P&gt;&lt;P&gt;  INCLUDE STRUCTURE ITAB. &lt;/P&gt;&lt;P&gt;DATA: END OF ITAB1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB_FIELDCAT OCCURS 0. &lt;/P&gt;&lt;P&gt;  INCLUDE STRUCTURE ITAB. &lt;/P&gt;&lt;P&gt;DATA: END OF ITAB_FIELDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: &lt;/P&gt;&lt;P&gt;            P_PRINT  AS CHECKBOX DEFAULT ' ', "PRINT IMMEDIATE &lt;/P&gt;&lt;P&gt;            P_NOSINF AS CHECKBOX DEFAULT 'X', "NO SELECTION INFO &lt;/P&gt;&lt;P&gt;            P_NOCOVE AS CHECKBOX DEFAULT ' ', "NO COVER PAGE &lt;/P&gt;&lt;P&gt;            P_NONEWP AS CHECKBOX DEFAULT ' ', "NO NEW PAGE &lt;/P&gt;&lt;P&gt;            P_NOLINF AS CHECKBOX DEFAULT 'X', "NO PRINT LIST INFO &lt;/P&gt;&lt;P&gt;            P_RESERV TYPE I.                  "NO OF FOOTER LINE &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION. &lt;/P&gt;&lt;P&gt;G_REPID = SY-REPID. &lt;/P&gt;&lt;P&gt;PERFORM PRINT_BUILD    USING GS_PRINT.      "Print PARAMETERS &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;TEST &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE 'TEST1' TO ITAB1-FIELD1. &lt;/P&gt;&lt;P&gt;MOVE 'TEST1' TO ITAB1-FIELD2. &lt;/P&gt;&lt;P&gt;MOVE 'Value1' TO ITAB1-FIELD3. &lt;/P&gt;&lt;P&gt;APPEND ITAB1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'TEST2' TO ITAB1-FIELD1. &lt;/P&gt;&lt;P&gt;MOVE 'TEST2' TO ITAB1-FIELD2. &lt;/P&gt;&lt;P&gt;MOVE 'Value2' TO ITAB1-FIELD3. &lt;/P&gt;&lt;P&gt;APPEND ITAB1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Here you can do some processing so that you get the resulting table entries to be displayed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM BUILD. &lt;/P&gt;&lt;P&gt;PERFORM EVENTTAB_BUILD CHANGING GT_EVENTS. &lt;/P&gt;&lt;P&gt;PERFORM COMMENT_BUILD  CHANGING GT_LIST_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;PERFORM CALL_ALV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA FIELD CATALOG &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Explain Field Description to ALV &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: FIELDCAT_IN TYPE SLIS_FIELDCAT_ALV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR FIELDCAT_IN. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-FIELDNAME = 'FIELD1'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-TABNAME   = 'ITAB1'. &lt;/P&gt;&lt;P&gt;*FIELDCAT_LN-NO_OUT    = 'X'.  "FIELD NOT DISPLAY, CHOOSE FROM LAYOUT &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-KEY       = ' '.   "SUBTOTAL KEY &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-NO_OUT    = ' '. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-SELTEXT_L = 'HEAD1'. &lt;/P&gt;&lt;P&gt;APPEND FIELDCAT_LN TO GT_FIELDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR FIELDCAT_IN. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-FIELDNAME = 'FIELD2'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-TABNAME   = 'ITAB1'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-NO_OUT    = 'X'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-SELTEXT_L = 'HEAD2'. &lt;/P&gt;&lt;P&gt;APPEND FIELDCAT_LN TO GT_FIELDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR FIELDCAT_IN. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-FIELDNAME     = 'FIELD3'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-TABNAME       = 'ITAB1'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-REF_FIELDNAME = 'MENGE'. "&amp;lt;- REF FIELD IN THE DICTIONNARY &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-REF_TABNAME   = 'MSEG'.  "&amp;lt;- REF TABLE IN THE DICTIONNARY &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-NO_OUT        = ' '. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-DO_SUM        = 'X'.   "SUM UPON DISPLAY &lt;/P&gt;&lt;P&gt;APPEND FIELDCAT_LN TO GT_FIELDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA SORTING AND SUBTOTAL &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GS_SORT TYPE SLIS_SORTINFO_ALV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR GS_SORT. &lt;/P&gt;&lt;P&gt;GS_SORT-FIELDNAME = 'FIELD1'. &lt;/P&gt;&lt;P&gt;GS_SORT-SPOS      = 1. &lt;/P&gt;&lt;P&gt;GS_SORT-UP        = 'X'. &lt;/P&gt;&lt;P&gt;GS_SORT-SUBTOT    = 'X'. &lt;/P&gt;&lt;P&gt;APPEND GS_SORT TO GT_SORT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR GS_SORT. &lt;/P&gt;&lt;P&gt;GS_SORT-FIELDNAME = 'FIELD2'. &lt;/P&gt;&lt;P&gt;GS_SORT-SPOS      = 2. &lt;/P&gt;&lt;P&gt;GS_SORT-UP        = 'X'. &lt;/P&gt;&lt;P&gt;*GS_SORT-SUBTOT    = 'X'. &lt;/P&gt;&lt;P&gt;APPEND GS_SORT TO GT_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;FORM CALL_ALV. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ABAP List Viewer &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_INTERFACE_CHECK = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BYPASSING_BUFFER = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BUFFER_ACTIVE = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_CALLBACK_PROGRAM = G_REPID &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_STRUCTURE_NAME = 'ITAB1' &lt;/P&gt;&lt;P&gt;IS_LAYOUT =  GS_LAYOUT &lt;/P&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;/UL&gt;&lt;P&gt;  IT_SORT = GT_SORT[] &lt;/P&gt;&lt;UL&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;/UL&gt;&lt;P&gt;  IT_EVENTS = GT_EVENTS[] &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EVENT_EXIT = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IS_PRINT = GS_PRINT &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_REPREP_ID = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_LINE = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_LINE = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;T_OUTTAB = ITAB1 &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;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER FORM &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT. &lt;/P&gt;&lt;P&gt;CONSTANTS: &lt;/P&gt;&lt;P&gt;GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'. &lt;/P&gt;&lt;P&gt;*GC_FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LS_EVENT TYPE SLIS_ALV_EVENT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            I_LIST_TYPE = 0 &lt;/P&gt;&lt;P&gt;       IMPORTING &lt;/P&gt;&lt;P&gt;            ET_EVENTS   = LT_EVENTS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE LT_EVENTS WITH KEY NAME =  SLIS_EV_TOP_OF_PAGE &lt;/P&gt;&lt;P&gt;                           INTO LS_EVENT. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0. &lt;/P&gt;&lt;P&gt;    MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM. &lt;/P&gt;&lt;P&gt;    APPEND LS_EVENT TO LT_EVENTS. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define END_OF_PAGE event &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;READ TABLE LT_EVENTS WITH KEY NAME =  SLIS_EV_END_OF_PAGE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         INTO LS_EVENT. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF SY-SUBRC = 0. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MOVE GC_FORMNAME_END_OF_PAGE TO LS_EVENT-FORM. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  APPEND LS_EVENT TO LT_EVENTS. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM COMMENT_BUILD CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER. &lt;/P&gt;&lt;P&gt;  DATA: GS_LINE TYPE SLIS_LISTHEADER. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR GS_LINE. &lt;/P&gt;&lt;P&gt;  GS_LINE-TYP  = 'H'. &lt;/P&gt;&lt;P&gt;  GS_LINE-INFO = 'HEADER 1'. &lt;/P&gt;&lt;P&gt;  APPEND GS_LINE TO GT_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR GS_LINE. &lt;/P&gt;&lt;P&gt;  GS_LINE-TYP  = 'S'. &lt;/P&gt;&lt;P&gt;  GS_LINE-KEY  = 'STATUS 1'. &lt;/P&gt;&lt;P&gt;  GS_LINE-INFO = 'INFO 1'. &lt;/P&gt;&lt;P&gt;  APPEND GS_LINE TO GT_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;  GS_LINE-KEY  = 'STATUS 2'. &lt;/P&gt;&lt;P&gt;  GS_LINE-INFO = 'INFO 2'. &lt;/P&gt;&lt;P&gt;  APPEND GS_LINE TO GT_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR GS_LINE. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GS_LINE-TYP  = 'A'. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GS_LINE-INFO = 'ACTION'. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND GS_LINE TO  GT_TOP_OF_PAGE. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;  WRITE: SY-DATUM, 'Page No', SY-PAGNO LEFT-JUSTIFIED. &lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM END_OF_PAGE. &lt;/P&gt;&lt;P&gt;  WRITE at (sy-linsz) sy-pagno CENTERED. &lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PRINT SETTINGS &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM PRINT_BUILD USING LS_PRINT TYPE SLIS_PRINT_ALV. &lt;/P&gt;&lt;P&gt;  LS_PRINT-PRINT              = P_PRINT.  "PRINT IMMEDIATE &lt;/P&gt;&lt;P&gt;  LS_PRINT-NO_PRINT_SELINFOS  = P_NOSINF. "NO SELECTION INFO &lt;/P&gt;&lt;P&gt;  LS_PRINT-NO_COVERPAGE       = P_NOCOVE. "NO COVER PAGE &lt;/P&gt;&lt;P&gt;  LS_PRINT-NO_NEW_PAGE        = P_NONEWP. &lt;/P&gt;&lt;P&gt;  LS_PRINT-NO_PRINT_LISTINFOS = P_NOLINF. "NO PRINT LIST INFO &lt;/P&gt;&lt;P&gt;  LS_PRINT-RESERVE_LINES      = P_RESERV. &lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Andre Sousa on Mar 2, 2009 11:12 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Mar 2009 14:10:27 GMT</pubDate>
    <dc:creator>andresousa</dc:creator>
    <dc:date>2009-03-02T14:10:27Z</dc:date>
    <item>
      <title>creating a type dynamically.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-a-type-dynamically/m-p/5322509#M1226733</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how can I create a type dynamically.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The number of its fileds depends on a user input (range field)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;sas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: erdem sas on Mar 2, 2009 2:38 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Mar 2009 13:27:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/creating-a-type-dynamically/m-p/5322509#M1226733</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-03-02T13:27:31Z</dc:date>
    </item>
    <item>
      <title>Re: creating a type dynamically.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-a-type-dynamically/m-p/5322510#M1226734</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Erdem,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    Are you able to define the structures within your program, in a way then you can create some logic (which would include the range field)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   If I understood your point, then maybe you could try something this way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: G_REPID LIKE SY-REPID, &lt;/P&gt;&lt;P&gt;GS_PRINT            TYPE SLIS_PRINT_ALV, &lt;/P&gt;&lt;P&gt;GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER, &lt;/P&gt;&lt;P&gt;GT_EVENTS           TYPE SLIS_T_EVENT, &lt;/P&gt;&lt;P&gt;GT_SORT             TYPE SLIS_T_SORTINFO_ALV, &lt;/P&gt;&lt;P&gt;GS_LAYOUT           TYPE SLIS_LAYOUT_ALV, &lt;/P&gt;&lt;P&gt;GT_FIELDCAT         TYPE SLIS_T_FIELDCAT_ALV, &lt;/P&gt;&lt;P&gt;FIELDCAT_LN LIKE LINE OF GT_FIELDCAT, &lt;/P&gt;&lt;P&gt;COL_POS TYPE I. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB, &lt;/P&gt;&lt;P&gt;  FIELD1(5) TYPE C, &lt;/P&gt;&lt;P&gt;  FIELD2(5) TYPE C, &lt;/P&gt;&lt;P&gt;  FIELD3(5) TYPE P DECIMALS 2, &lt;/P&gt;&lt;P&gt;END OF ITAB. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB1 OCCURS 0. &lt;/P&gt;&lt;P&gt;  INCLUDE STRUCTURE ITAB. &lt;/P&gt;&lt;P&gt;DATA: END OF ITAB1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB_FIELDCAT OCCURS 0. &lt;/P&gt;&lt;P&gt;  INCLUDE STRUCTURE ITAB. &lt;/P&gt;&lt;P&gt;DATA: END OF ITAB_FIELDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: &lt;/P&gt;&lt;P&gt;            P_PRINT  AS CHECKBOX DEFAULT ' ', "PRINT IMMEDIATE &lt;/P&gt;&lt;P&gt;            P_NOSINF AS CHECKBOX DEFAULT 'X', "NO SELECTION INFO &lt;/P&gt;&lt;P&gt;            P_NOCOVE AS CHECKBOX DEFAULT ' ', "NO COVER PAGE &lt;/P&gt;&lt;P&gt;            P_NONEWP AS CHECKBOX DEFAULT ' ', "NO NEW PAGE &lt;/P&gt;&lt;P&gt;            P_NOLINF AS CHECKBOX DEFAULT 'X', "NO PRINT LIST INFO &lt;/P&gt;&lt;P&gt;            P_RESERV TYPE I.                  "NO OF FOOTER LINE &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION. &lt;/P&gt;&lt;P&gt;G_REPID = SY-REPID. &lt;/P&gt;&lt;P&gt;PERFORM PRINT_BUILD    USING GS_PRINT.      "Print PARAMETERS &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;TEST &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE 'TEST1' TO ITAB1-FIELD1. &lt;/P&gt;&lt;P&gt;MOVE 'TEST1' TO ITAB1-FIELD2. &lt;/P&gt;&lt;P&gt;MOVE 'Value1' TO ITAB1-FIELD3. &lt;/P&gt;&lt;P&gt;APPEND ITAB1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE 'TEST2' TO ITAB1-FIELD1. &lt;/P&gt;&lt;P&gt;MOVE 'TEST2' TO ITAB1-FIELD2. &lt;/P&gt;&lt;P&gt;MOVE 'Value2' TO ITAB1-FIELD3. &lt;/P&gt;&lt;P&gt;APPEND ITAB1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Here you can do some processing so that you get the resulting table entries to be displayed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM BUILD. &lt;/P&gt;&lt;P&gt;PERFORM EVENTTAB_BUILD CHANGING GT_EVENTS. &lt;/P&gt;&lt;P&gt;PERFORM COMMENT_BUILD  CHANGING GT_LIST_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;PERFORM CALL_ALV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA FIELD CATALOG &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Explain Field Description to ALV &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: FIELDCAT_IN TYPE SLIS_FIELDCAT_ALV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR FIELDCAT_IN. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-FIELDNAME = 'FIELD1'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-TABNAME   = 'ITAB1'. &lt;/P&gt;&lt;P&gt;*FIELDCAT_LN-NO_OUT    = 'X'.  "FIELD NOT DISPLAY, CHOOSE FROM LAYOUT &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-KEY       = ' '.   "SUBTOTAL KEY &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-NO_OUT    = ' '. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-SELTEXT_L = 'HEAD1'. &lt;/P&gt;&lt;P&gt;APPEND FIELDCAT_LN TO GT_FIELDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR FIELDCAT_IN. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-FIELDNAME = 'FIELD2'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-TABNAME   = 'ITAB1'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-NO_OUT    = 'X'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-SELTEXT_L = 'HEAD2'. &lt;/P&gt;&lt;P&gt;APPEND FIELDCAT_LN TO GT_FIELDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR FIELDCAT_IN. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-FIELDNAME     = 'FIELD3'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-TABNAME       = 'ITAB1'. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-REF_FIELDNAME = 'MENGE'. "&amp;lt;- REF FIELD IN THE DICTIONNARY &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-REF_TABNAME   = 'MSEG'.  "&amp;lt;- REF TABLE IN THE DICTIONNARY &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-NO_OUT        = ' '. &lt;/P&gt;&lt;P&gt;FIELDCAT_LN-DO_SUM        = 'X'.   "SUM UPON DISPLAY &lt;/P&gt;&lt;P&gt;APPEND FIELDCAT_LN TO GT_FIELDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA SORTING AND SUBTOTAL &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GS_SORT TYPE SLIS_SORTINFO_ALV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR GS_SORT. &lt;/P&gt;&lt;P&gt;GS_SORT-FIELDNAME = 'FIELD1'. &lt;/P&gt;&lt;P&gt;GS_SORT-SPOS      = 1. &lt;/P&gt;&lt;P&gt;GS_SORT-UP        = 'X'. &lt;/P&gt;&lt;P&gt;GS_SORT-SUBTOT    = 'X'. &lt;/P&gt;&lt;P&gt;APPEND GS_SORT TO GT_SORT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR GS_SORT. &lt;/P&gt;&lt;P&gt;GS_SORT-FIELDNAME = 'FIELD2'. &lt;/P&gt;&lt;P&gt;GS_SORT-SPOS      = 2. &lt;/P&gt;&lt;P&gt;GS_SORT-UP        = 'X'. &lt;/P&gt;&lt;P&gt;*GS_SORT-SUBTOT    = 'X'. &lt;/P&gt;&lt;P&gt;APPEND GS_SORT TO GT_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;FORM CALL_ALV. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ABAP List Viewer &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_INTERFACE_CHECK = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BYPASSING_BUFFER = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BUFFER_ACTIVE = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_CALLBACK_PROGRAM = G_REPID &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_STRUCTURE_NAME = 'ITAB1' &lt;/P&gt;&lt;P&gt;IS_LAYOUT =  GS_LAYOUT &lt;/P&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;/UL&gt;&lt;P&gt;  IT_SORT = GT_SORT[] &lt;/P&gt;&lt;UL&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;/UL&gt;&lt;P&gt;  IT_EVENTS = GT_EVENTS[] &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EVENT_EXIT = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IS_PRINT = GS_PRINT &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_REPREP_ID = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_LINE = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_LINE = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;T_OUTTAB = ITAB1 &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;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER FORM &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT. &lt;/P&gt;&lt;P&gt;CONSTANTS: &lt;/P&gt;&lt;P&gt;GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'. &lt;/P&gt;&lt;P&gt;*GC_FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LS_EVENT TYPE SLIS_ALV_EVENT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            I_LIST_TYPE = 0 &lt;/P&gt;&lt;P&gt;       IMPORTING &lt;/P&gt;&lt;P&gt;            ET_EVENTS   = LT_EVENTS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE LT_EVENTS WITH KEY NAME =  SLIS_EV_TOP_OF_PAGE &lt;/P&gt;&lt;P&gt;                           INTO LS_EVENT. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0. &lt;/P&gt;&lt;P&gt;    MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM. &lt;/P&gt;&lt;P&gt;    APPEND LS_EVENT TO LT_EVENTS. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;define END_OF_PAGE event &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;READ TABLE LT_EVENTS WITH KEY NAME =  SLIS_EV_END_OF_PAGE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         INTO LS_EVENT. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF SY-SUBRC = 0. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MOVE GC_FORMNAME_END_OF_PAGE TO LS_EVENT-FORM. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  APPEND LS_EVENT TO LT_EVENTS. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM COMMENT_BUILD CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER. &lt;/P&gt;&lt;P&gt;  DATA: GS_LINE TYPE SLIS_LISTHEADER. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR GS_LINE. &lt;/P&gt;&lt;P&gt;  GS_LINE-TYP  = 'H'. &lt;/P&gt;&lt;P&gt;  GS_LINE-INFO = 'HEADER 1'. &lt;/P&gt;&lt;P&gt;  APPEND GS_LINE TO GT_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR GS_LINE. &lt;/P&gt;&lt;P&gt;  GS_LINE-TYP  = 'S'. &lt;/P&gt;&lt;P&gt;  GS_LINE-KEY  = 'STATUS 1'. &lt;/P&gt;&lt;P&gt;  GS_LINE-INFO = 'INFO 1'. &lt;/P&gt;&lt;P&gt;  APPEND GS_LINE TO GT_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;  GS_LINE-KEY  = 'STATUS 2'. &lt;/P&gt;&lt;P&gt;  GS_LINE-INFO = 'INFO 2'. &lt;/P&gt;&lt;P&gt;  APPEND GS_LINE TO GT_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR GS_LINE. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GS_LINE-TYP  = 'A'. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GS_LINE-INFO = 'ACTION'. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND GS_LINE TO  GT_TOP_OF_PAGE. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;  WRITE: SY-DATUM, 'Page No', SY-PAGNO LEFT-JUSTIFIED. &lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM END_OF_PAGE. &lt;/P&gt;&lt;P&gt;  WRITE at (sy-linsz) sy-pagno CENTERED. &lt;/P&gt;&lt;P&gt;ENDFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PRINT SETTINGS &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM PRINT_BUILD USING LS_PRINT TYPE SLIS_PRINT_ALV. &lt;/P&gt;&lt;P&gt;  LS_PRINT-PRINT              = P_PRINT.  "PRINT IMMEDIATE &lt;/P&gt;&lt;P&gt;  LS_PRINT-NO_PRINT_SELINFOS  = P_NOSINF. "NO SELECTION INFO &lt;/P&gt;&lt;P&gt;  LS_PRINT-NO_COVERPAGE       = P_NOCOVE. "NO COVER PAGE &lt;/P&gt;&lt;P&gt;  LS_PRINT-NO_NEW_PAGE        = P_NONEWP. &lt;/P&gt;&lt;P&gt;  LS_PRINT-NO_PRINT_LISTINFOS = P_NOLINF. "NO PRINT LIST INFO &lt;/P&gt;&lt;P&gt;  LS_PRINT-RESERVE_LINES      = P_RESERV. &lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Andre Sousa on Mar 2, 2009 11:12 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Mar 2009 14:10:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/creating-a-type-dynamically/m-p/5322510#M1226734</guid>
      <dc:creator>andresousa</dc:creator>
      <dc:date>2009-03-02T14:10:27Z</dc:date>
    </item>
  </channel>
</rss>

