<?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: internal table in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319219#M164807</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  Refer this code:&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This program permits to create or update lines from source table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to target table with create internal tables dynamically.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If we have also the possibilities to include conditions for selecting&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data with where dynamic and with syntax-check of this conditions . &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;		&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Program name.: ZSELECT_DYNAMIC - MOSHEG - from version 4.6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This program permits to create or update lines from source table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to target table with create internal tables dynamically.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If we have also the possibilities to include conditions for selecting&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data with where dynamic and with syntax-check of this conditions .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameters for this program :&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Source table                      Z?????&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Target table                      Z?????&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  _ client speciifed&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;       Code line1 for where dynamic&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            line2 for where dynamic&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            line3 for where dynamic&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            line4 for where dynamic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;REPORT zselect_dynamic  LINE-SIZE 132&lt;/P&gt;&lt;P&gt;                        LINE-COUNT 65(1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                        MESSAGE-ID z1.&lt;/P&gt;&lt;P&gt;TYPES ztab LIKE dcobjdef-name .&lt;/P&gt;&lt;P&gt;PARAMETERS: tab_name TYPE ztab   DEFAULT 'Z?????' ,&lt;/P&gt;&lt;P&gt;            tab_nam2 TYPE ztab   DEFAULT 'Z?????' ,&lt;/P&gt;&lt;P&gt;            pclient AS CHECKBOX .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP .&lt;/P&gt;&lt;P&gt;PARAMETERS: where1(80) ,&lt;/P&gt;&lt;P&gt;            where2(80) ,&lt;/P&gt;&lt;P&gt;            where3(80) ,&lt;/P&gt;&lt;P&gt;            where4(80) .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA : lcode(72),&lt;/P&gt;&lt;P&gt;       prog_tab LIKE lcode OCCURS 0 WITH HEADER LINE .&lt;/P&gt;&lt;P&gt;DEFINE append_line.&lt;/P&gt;&lt;P&gt;  append &amp;amp;1 to prog_tab.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;DATA:    BEGIN OF nametab OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE dntab.&lt;/P&gt;&lt;P&gt;DATA:    END OF nametab.&lt;/P&gt;&lt;P&gt;DATA:  BEGIN  OF  twhere OCCURS  20,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        line(80),&lt;/P&gt;&lt;P&gt;END  OF twhere.&lt;/P&gt;&lt;P&gt;DATA: zprogram LIKE sy-cprog,&lt;/P&gt;&lt;P&gt;      no_line  TYPE i,&lt;/P&gt;&lt;P&gt;      zmessage(150) ,&lt;/P&gt;&lt;P&gt;      count_commit TYPE i .&lt;/P&gt;&lt;P&gt;DATA:  d_ref       TYPE REF TO data,&lt;/P&gt;&lt;P&gt;       d_ref2      TYPE REF TO data ,&lt;/P&gt;&lt;P&gt;       lt_alv_cat  TYPE TABLE OF lvc_s_fcat,&lt;/P&gt;&lt;P&gt;       ls_alv_cat  LIKE LINE OF lt_alv_cat.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS :      TYPE table,&lt;/P&gt;&lt;P&gt;                  ,&lt;/P&gt;&lt;P&gt;                  ,"TYPE ANY ,&lt;/P&gt;&lt;P&gt;                  ,&lt;/P&gt;&lt;P&gt;                 .&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Main program.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Main program.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;P&gt;  PERFORM z_define_itab .&lt;/P&gt;&lt;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  z_define_itab&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;FORM z_define_itab .&lt;/P&gt;&lt;P&gt;  CHECK ( tab_name(01) = 'Z'  OR  tab_name(01) = 'Y' )&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if you want treat tables with your namespace, insert here your code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AND   ( tab_nam2(01) = 'Z'  OR  tab_nam2(01) = 'Y' ) .&lt;/P&gt;&lt;P&gt;  REFRESH  nametab.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'NAMETAB_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            langu          = sy-langu&lt;/P&gt;&lt;P&gt;            tabname        = tab_name&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            nametab        = nametab&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            no_texts_found = 1.&lt;/P&gt;&lt;P&gt;  LOOP AT nametab .&lt;/P&gt;&lt;P&gt;    ls_alv_cat-fieldname     = nametab-fieldname .&lt;/P&gt;&lt;P&gt;    ls_alv_cat-ref_table     = tab_name.&lt;/P&gt;&lt;P&gt;    ls_alv_cat-ref_field     = nametab-fieldname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND ls_alv_cat TO lt_alv_cat.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal table build&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;     EXPORTING it_fieldcatalog = lt_alv_cat&lt;/P&gt;&lt;P&gt;     IMPORTING ep_table = d_ref .&lt;/P&gt;&lt;P&gt;  ASSIGN d_ref-&amp;gt;* TO .&lt;/P&gt;&lt;P&gt;  IF where1 IS INITIAL AND where2 IS INITIAL&lt;/P&gt;&lt;P&gt;  AND where3 IS INITIAL AND where4 IS INITIAL .&lt;/P&gt;&lt;P&gt;    SELECT * FROM (tab_name) INTO  TABLE  .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            ORDER BY PRIMARY KEY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;    PERFORM select_with_where .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE  LINES sy-tfill .&lt;/P&gt;&lt;P&gt;  IF sy-tfill = 0 .&lt;/P&gt;&lt;P&gt;    MESSAGE i000 WITH&lt;/P&gt;&lt;P&gt;      'Data not selected, verify the tables or conditions ! ' .&lt;/P&gt;&lt;P&gt;    STOP .&lt;/P&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;    MESSAGE s000 WITH 'You have successfully treated yours tables.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  CREATE DATA d_ref2 TYPE (tab_nam2).&lt;/P&gt;&lt;P&gt;  ASSIGN d_ref2-&amp;gt;* TO    .&lt;/P&gt;&lt;P&gt;  LOOP AT  ASSIGNING  .&lt;/P&gt;&lt;P&gt;    CLEAR  .&lt;/P&gt;&lt;P&gt;    LOOP AT nametab .&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT nametab-fieldname&lt;/P&gt;&lt;P&gt;                          OF STRUCTURE  TO .&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0. EXIT. ENDIF.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT nametab-fieldname OF STRUCTURE  TO .&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;         = .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP .&lt;/P&gt;&lt;P&gt;    CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    INSERT INTO (tab_nam2) VALUES .&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0 .&lt;/P&gt;&lt;P&gt;      UPDATE (tab_nam2) FROM .&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;    ADD 1 TO count_commit .&lt;/P&gt;&lt;P&gt;    IF count_commit = '10000' .&lt;/P&gt;&lt;P&gt;      COMMIT WORK .&lt;/P&gt;&lt;P&gt;      count_commit = 0 .&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE :    .&lt;/P&gt;&lt;P&gt;  ENDLOOP .&lt;/P&gt;&lt;P&gt;ENDFORM.              " z_define_itab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  select_with_where&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM select_with_where.&lt;/P&gt;&lt;P&gt;  IF NOT where1 IS INITIAL .&lt;/P&gt;&lt;P&gt;    twhere-line = where1 . APPEND twhere .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  IF NOT where2 IS INITIAL .&lt;/P&gt;&lt;P&gt;    twhere-line = where2 . APPEND twhere .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  IF NOT where3 IS INITIAL .&lt;/P&gt;&lt;P&gt;    twhere-line = where3 . APPEND twhere .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  IF NOT where4 IS INITIAL .&lt;/P&gt;&lt;P&gt;    twhere-line = where4 . APPEND twhere .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  REFRESH prog_tab.&lt;/P&gt;&lt;P&gt;  append_line 'REPORT ZGEN .'.&lt;/P&gt;&lt;P&gt;  append_line 'TABLES:'.&lt;/P&gt;&lt;P&gt;  append_line tab_name.&lt;/P&gt;&lt;P&gt;  append_line '.'.&lt;/P&gt;&lt;P&gt;  append_line 'DATA: ITAB LIKE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append_line tab_name.&lt;/P&gt;&lt;P&gt;  append_line 'OCCURS 0 WITH HEADER LINE.'.&lt;/P&gt;&lt;P&gt;  append_line 'FORM SELECT_TABLE.'.&lt;/P&gt;&lt;P&gt;  append_line 'SELECT * FROM'.&lt;/P&gt;&lt;P&gt;  append_line tab_name.&lt;/P&gt;&lt;P&gt;  IF  pclient = 'X'.&lt;/P&gt;&lt;P&gt;    append_line 'CLIENT SPECIFIED'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  append_line 'INTO TABLE ITAB'.&lt;/P&gt;&lt;P&gt;  append_line 'WHERE '.&lt;/P&gt;&lt;P&gt;  LOOP AT twhere.&lt;/P&gt;&lt;P&gt;    append_line twhere.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  append_line ' . '.&lt;/P&gt;&lt;P&gt;  append_line 'ENDFORM.'.&lt;/P&gt;&lt;P&gt;  PERFORM generate_form .&lt;/P&gt;&lt;P&gt;ENDFORM.                    " select_with_where&lt;/P&gt;&lt;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_form&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM generate_form .&lt;/P&gt;&lt;P&gt;  GENERATE SUBROUTINE POOL prog_tab   NAME zprogram&lt;/P&gt;&lt;P&gt;           MESSAGE zmessage LINE no_line .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: / 'Syntax error : ', zmessage,&lt;/P&gt;&lt;P&gt;           / 'in line', no_line .&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SELECT * FROM (tab_name) INTO  TABLE &lt;/P&gt;&lt;P&gt;  WHERE (twhere)  .&lt;/P&gt;&lt;P&gt;ENDFORM.                                  " generate_form&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds,&lt;/P&gt;&lt;P&gt;Latheesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Apr 2006 09:42:10 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-04-27T09:42:10Z</dc:date>
    <item>
      <title>internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319215#M164803</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hai,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  how to create dymanic internal table?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   hazam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2006 09:35:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319215#M164803</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-27T09:35:19Z</dc:date>
    </item>
    <item>
      <title>Re: internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319216#M164804</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;REPORT ZCLUST1 . &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Example: how to create a dynamic internal table &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The dynamic internal table stucture &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF STRUCT OCCURS 10, &lt;/P&gt;&lt;P&gt;    FILDNAME(8) TYPE C, &lt;/P&gt;&lt;P&gt;    ABPTYPE TYPE C, &lt;/P&gt;&lt;P&gt;    LENGTH TYPE I, &lt;/P&gt;&lt;P&gt;END OF STRUCT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The dynamic program source table &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF INCTABL OCCURS 10, &lt;/P&gt;&lt;P&gt;    LINE(72), &lt;/P&gt;&lt;P&gt;END OF INCTABL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: LNG TYPE I, TYPESRTING(6). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sample dynamic internal table stucture &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;STRUCT-FILDNAME = 'field1'. STRUCT-ABPTYPE = 'c'. STRUCT-LENGTH = '6'. &lt;/P&gt;&lt;P&gt;APPEND STRUCT. CLEAR STRUCT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;STRUCT-FILDNAME = 'field2'. STRUCT-ABPTYPE = 'd'. &lt;/P&gt;&lt;P&gt;APPEND STRUCT. CLEAR STRUCT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;STRUCT-FILDNAME = 'field3'. STRUCT-ABPTYPE = 'i'. &lt;/P&gt;&lt;P&gt;APPEND STRUCT. CLEAR STRUCT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create the dynamic internal table definition in the dyn. program &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INCTABL-LINE = 'program zdynpro.'. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = 'data: begin of dyntab occurs 10,'. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT STRUCT. &lt;/P&gt;&lt;P&gt;  INCTABL-LINE = STRUCT-FILDNAME. &lt;/P&gt;&lt;P&gt;  LNG = STRLEN( STRUCT-FILDNAME ). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT STRUCT-LENGTH IS INITIAL . &lt;/P&gt;&lt;P&gt;      TYPESRTING(1) = '('. &lt;/P&gt;&lt;P&gt;      TYPESRTING+1 = STRUCT-LENGTH. &lt;/P&gt;&lt;P&gt;      TYPESRTING+5 = ')'. &lt;/P&gt;&lt;P&gt;      CONDENSE TYPESRTING NO-GAPS. &lt;/P&gt;&lt;P&gt;      INCTABL-LINE+LNG = TYPESRTING. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  INCTABL-LINE+15 = 'type '. &lt;/P&gt;&lt;P&gt;  INCTABL-LINE+21 = STRUCT-ABPTYPE. &lt;/P&gt;&lt;P&gt;  INCTABL-LINE+22 = ','. &lt;/P&gt;&lt;P&gt;  APPEND INCTABL. &lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = 'end of dyntab. '. &lt;/P&gt;&lt;P&gt;APPEND INCTABL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create the code processes the dynamic internal table &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INCTABL-LINE = ' '. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = 'dyntab-field1 = ''aaaaaa''.'. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = 'dyntab-field1 = ''19970814''.'. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = 'dyntab-field1 = 1.'. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = 'append dyntab.'. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = ' '. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = 'loop at dyntab.'. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = 'write: / dyntab.'. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;INCTABL-LINE = 'endloop.'. APPEND INCTABL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create and run the dynamic program &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INSERT REPORT 'zdynpro'(001) FROM INCTABL. &lt;/P&gt;&lt;P&gt;SUBMIT ZDYNPRO. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or Just try out this simpler dynamic internal tables &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab TYPE STANDARD TABLE OF spfli, &lt;/P&gt;&lt;P&gt;              wa LIKE LINE OF itab. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: line(72) TYPE c, &lt;/P&gt;&lt;P&gt;            list LIKE TABLE OF line(72). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION. &lt;/P&gt;&lt;P&gt;*line = ' CITYFROM CITYTO '. &lt;/P&gt;&lt;P&gt;  line = ' AIRPTO '. &lt;/P&gt;&lt;P&gt; APPEND line TO list. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT DISTINCT (list) &lt;/P&gt;&lt;P&gt;       INTO CORRESPONDING FIELDS OF TABLE itab &lt;/P&gt;&lt;P&gt;            FROM spfli. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0. &lt;/P&gt;&lt;P&gt;  LOOP AT itab INTO wa. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WRITE: / wa-cityfrom, wa-cityto. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; wa-airpto. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2006 09:37:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319216#M164804</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-27T09:37:34Z</dc:date>
    </item>
    <item>
      <title>Re: internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319217#M164805</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hazam,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This question was asked a few times.&lt;/P&gt;&lt;P&gt;Just check these threads:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="74118"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;SP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2006 09:39:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319217#M164805</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-27T09:39:25Z</dc:date>
    </item>
    <item>
      <title>Re: internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319218#M164806</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;Take a look at my weblog&lt;/P&gt;&lt;P&gt;/people/thomas.jung3/blog/2005/09/08/oo-abap-dynpro-programming&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are working 4.7 ir higher, you can do this as well&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE DATA mytab TYPE TABLE of (TableName).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note :Please close the thread if the issue is resolved&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2006 09:41:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319218#M164806</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-27T09:41:23Z</dc:date>
    </item>
    <item>
      <title>Re: internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319219#M164807</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  Refer this code:&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This program permits to create or update lines from source table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to target table with create internal tables dynamically.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If we have also the possibilities to include conditions for selecting&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data with where dynamic and with syntax-check of this conditions . &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;		&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Program name.: ZSELECT_DYNAMIC - MOSHEG - from version 4.6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This program permits to create or update lines from source table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to target table with create internal tables dynamically.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If we have also the possibilities to include conditions for selecting&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data with where dynamic and with syntax-check of this conditions .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameters for this program :&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Source table                      Z?????&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Target table                      Z?????&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  _ client speciifed&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;       Code line1 for where dynamic&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            line2 for where dynamic&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            line3 for where dynamic&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            line4 for where dynamic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;REPORT zselect_dynamic  LINE-SIZE 132&lt;/P&gt;&lt;P&gt;                        LINE-COUNT 65(1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                        MESSAGE-ID z1.&lt;/P&gt;&lt;P&gt;TYPES ztab LIKE dcobjdef-name .&lt;/P&gt;&lt;P&gt;PARAMETERS: tab_name TYPE ztab   DEFAULT 'Z?????' ,&lt;/P&gt;&lt;P&gt;            tab_nam2 TYPE ztab   DEFAULT 'Z?????' ,&lt;/P&gt;&lt;P&gt;            pclient AS CHECKBOX .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP .&lt;/P&gt;&lt;P&gt;PARAMETERS: where1(80) ,&lt;/P&gt;&lt;P&gt;            where2(80) ,&lt;/P&gt;&lt;P&gt;            where3(80) ,&lt;/P&gt;&lt;P&gt;            where4(80) .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA : lcode(72),&lt;/P&gt;&lt;P&gt;       prog_tab LIKE lcode OCCURS 0 WITH HEADER LINE .&lt;/P&gt;&lt;P&gt;DEFINE append_line.&lt;/P&gt;&lt;P&gt;  append &amp;amp;1 to prog_tab.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;DATA:    BEGIN OF nametab OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE dntab.&lt;/P&gt;&lt;P&gt;DATA:    END OF nametab.&lt;/P&gt;&lt;P&gt;DATA:  BEGIN  OF  twhere OCCURS  20,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        line(80),&lt;/P&gt;&lt;P&gt;END  OF twhere.&lt;/P&gt;&lt;P&gt;DATA: zprogram LIKE sy-cprog,&lt;/P&gt;&lt;P&gt;      no_line  TYPE i,&lt;/P&gt;&lt;P&gt;      zmessage(150) ,&lt;/P&gt;&lt;P&gt;      count_commit TYPE i .&lt;/P&gt;&lt;P&gt;DATA:  d_ref       TYPE REF TO data,&lt;/P&gt;&lt;P&gt;       d_ref2      TYPE REF TO data ,&lt;/P&gt;&lt;P&gt;       lt_alv_cat  TYPE TABLE OF lvc_s_fcat,&lt;/P&gt;&lt;P&gt;       ls_alv_cat  LIKE LINE OF lt_alv_cat.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS :      TYPE table,&lt;/P&gt;&lt;P&gt;                  ,&lt;/P&gt;&lt;P&gt;                  ,"TYPE ANY ,&lt;/P&gt;&lt;P&gt;                  ,&lt;/P&gt;&lt;P&gt;                 .&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Main program.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Main program.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;P&gt;  PERFORM z_define_itab .&lt;/P&gt;&lt;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  z_define_itab&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;FORM z_define_itab .&lt;/P&gt;&lt;P&gt;  CHECK ( tab_name(01) = 'Z'  OR  tab_name(01) = 'Y' )&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if you want treat tables with your namespace, insert here your code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  AND   ( tab_nam2(01) = 'Z'  OR  tab_nam2(01) = 'Y' ) .&lt;/P&gt;&lt;P&gt;  REFRESH  nametab.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'NAMETAB_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            langu          = sy-langu&lt;/P&gt;&lt;P&gt;            tabname        = tab_name&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            nametab        = nametab&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            no_texts_found = 1.&lt;/P&gt;&lt;P&gt;  LOOP AT nametab .&lt;/P&gt;&lt;P&gt;    ls_alv_cat-fieldname     = nametab-fieldname .&lt;/P&gt;&lt;P&gt;    ls_alv_cat-ref_table     = tab_name.&lt;/P&gt;&lt;P&gt;    ls_alv_cat-ref_field     = nametab-fieldname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND ls_alv_cat TO lt_alv_cat.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal table build&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;     EXPORTING it_fieldcatalog = lt_alv_cat&lt;/P&gt;&lt;P&gt;     IMPORTING ep_table = d_ref .&lt;/P&gt;&lt;P&gt;  ASSIGN d_ref-&amp;gt;* TO .&lt;/P&gt;&lt;P&gt;  IF where1 IS INITIAL AND where2 IS INITIAL&lt;/P&gt;&lt;P&gt;  AND where3 IS INITIAL AND where4 IS INITIAL .&lt;/P&gt;&lt;P&gt;    SELECT * FROM (tab_name) INTO  TABLE  .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            ORDER BY PRIMARY KEY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;    PERFORM select_with_where .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE  LINES sy-tfill .&lt;/P&gt;&lt;P&gt;  IF sy-tfill = 0 .&lt;/P&gt;&lt;P&gt;    MESSAGE i000 WITH&lt;/P&gt;&lt;P&gt;      'Data not selected, verify the tables or conditions ! ' .&lt;/P&gt;&lt;P&gt;    STOP .&lt;/P&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;    MESSAGE s000 WITH 'You have successfully treated yours tables.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  CREATE DATA d_ref2 TYPE (tab_nam2).&lt;/P&gt;&lt;P&gt;  ASSIGN d_ref2-&amp;gt;* TO    .&lt;/P&gt;&lt;P&gt;  LOOP AT  ASSIGNING  .&lt;/P&gt;&lt;P&gt;    CLEAR  .&lt;/P&gt;&lt;P&gt;    LOOP AT nametab .&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT nametab-fieldname&lt;/P&gt;&lt;P&gt;                          OF STRUCTURE  TO .&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0. EXIT. ENDIF.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT nametab-fieldname OF STRUCTURE  TO .&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;         = .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP .&lt;/P&gt;&lt;P&gt;    CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    INSERT INTO (tab_nam2) VALUES .&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0 .&lt;/P&gt;&lt;P&gt;      UPDATE (tab_nam2) FROM .&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;    ADD 1 TO count_commit .&lt;/P&gt;&lt;P&gt;    IF count_commit = '10000' .&lt;/P&gt;&lt;P&gt;      COMMIT WORK .&lt;/P&gt;&lt;P&gt;      count_commit = 0 .&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE :    .&lt;/P&gt;&lt;P&gt;  ENDLOOP .&lt;/P&gt;&lt;P&gt;ENDFORM.              " z_define_itab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  select_with_where&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM select_with_where.&lt;/P&gt;&lt;P&gt;  IF NOT where1 IS INITIAL .&lt;/P&gt;&lt;P&gt;    twhere-line = where1 . APPEND twhere .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  IF NOT where2 IS INITIAL .&lt;/P&gt;&lt;P&gt;    twhere-line = where2 . APPEND twhere .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  IF NOT where3 IS INITIAL .&lt;/P&gt;&lt;P&gt;    twhere-line = where3 . APPEND twhere .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  IF NOT where4 IS INITIAL .&lt;/P&gt;&lt;P&gt;    twhere-line = where4 . APPEND twhere .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  REFRESH prog_tab.&lt;/P&gt;&lt;P&gt;  append_line 'REPORT ZGEN .'.&lt;/P&gt;&lt;P&gt;  append_line 'TABLES:'.&lt;/P&gt;&lt;P&gt;  append_line tab_name.&lt;/P&gt;&lt;P&gt;  append_line '.'.&lt;/P&gt;&lt;P&gt;  append_line 'DATA: ITAB LIKE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append_line tab_name.&lt;/P&gt;&lt;P&gt;  append_line 'OCCURS 0 WITH HEADER LINE.'.&lt;/P&gt;&lt;P&gt;  append_line 'FORM SELECT_TABLE.'.&lt;/P&gt;&lt;P&gt;  append_line 'SELECT * FROM'.&lt;/P&gt;&lt;P&gt;  append_line tab_name.&lt;/P&gt;&lt;P&gt;  IF  pclient = 'X'.&lt;/P&gt;&lt;P&gt;    append_line 'CLIENT SPECIFIED'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  append_line 'INTO TABLE ITAB'.&lt;/P&gt;&lt;P&gt;  append_line 'WHERE '.&lt;/P&gt;&lt;P&gt;  LOOP AT twhere.&lt;/P&gt;&lt;P&gt;    append_line twhere.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  append_line ' . '.&lt;/P&gt;&lt;P&gt;  append_line 'ENDFORM.'.&lt;/P&gt;&lt;P&gt;  PERFORM generate_form .&lt;/P&gt;&lt;P&gt;ENDFORM.                    " select_with_where&lt;/P&gt;&lt;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_form&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM generate_form .&lt;/P&gt;&lt;P&gt;  GENERATE SUBROUTINE POOL prog_tab   NAME zprogram&lt;/P&gt;&lt;P&gt;           MESSAGE zmessage LINE no_line .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: / 'Syntax error : ', zmessage,&lt;/P&gt;&lt;P&gt;           / 'in line', no_line .&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SELECT * FROM (tab_name) INTO  TABLE &lt;/P&gt;&lt;P&gt;  WHERE (twhere)  .&lt;/P&gt;&lt;P&gt;ENDFORM.                                  " generate_form&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds,&lt;/P&gt;&lt;P&gt;Latheesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2006 09:42:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319219#M164807</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-27T09:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319220#M164808</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/ab030.htm" target="test_blank"&gt;http://www.sap-img.com/ab030.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/code/abap40.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/code/abap40.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;vinod&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2006 09:45:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319220#M164808</guid>
      <dc:creator>vinod_gunaware2</dc:creator>
      <dc:date>2006-04-27T09:45:32Z</dc:date>
    </item>
    <item>
      <title>Re: internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319221#M164809</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;******DATA DECLARATION*****************************

FIELD-SYMBOLS : &amp;lt;it_final&amp;gt; TYPE STANDARD TABLE,
                &amp;lt;wa_final&amp;gt; TYPE ANY,
                &amp;lt;w_field&amp;gt; TYPE ANY.


***DYNAMIC CREATION OF FIELDCATALOG****************

*FIRST 2 FIELDS FIELDS FIELD1 AND FIELD2 ARE CONSTANT, FIELDS OBTAINED IN THE LOOP ENDLOOP ARE DYNAMIC,
*LIKEWISE DYNAMIC FIELDCATALOG IS CREATED

  wa_fieldcatalog-fieldname  = 'FIELD1'.
  wa_fieldcatalog-ref_table  = 'E070'.
  wa_fieldcatalog-outputlen  = '13'.
  wa_fieldcatalog-reptext    = 'Created On'.
  wa_fieldcatalog-seltext    = 'Created On'.
  APPEND wa_fieldcatalog TO it_fieldcatalog.
  CLEAR wa_fieldcatalog.
  
  wa_fieldcatalog-fieldname  = 'FIELD1'.
  wa_fieldcatalog-ref_table  = 'E070'.
  wa_fieldcatalog-outputlen  = '13'.
  wa_fieldcatalog-reptext    = 'Created On'.
  wa_fieldcatalog-seltext    = 'Created On'.
  APPEND wa_fieldcatalog TO it_fieldcatalog.
  CLEAR wa_fieldcatalog.


  LOOP AT it_mandt WHERE mandt IN s_mandt.
    CONCATENATE 'CLNT' it_mandt INTO wa_fieldcatalog-fieldname.
    wa_fieldcatalog-inttype    = 'NUMC'.
    wa_fieldcatalog-outputlen  = '14'.
    wa_fieldcatalog-reptext    = it_mandt.
    wa_fieldcatalog-seltext    = it_mandt.

    APPEND wa_fieldcatalog TO it_fieldcatalog.
    CLEAR :wa_fieldcatalog ,it_mandt.
  ENDLOOP.


********CREATE DYNAMIC TABLE************************

  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
    EXPORTING
      it_fieldcatalog           = it_fieldcatalog
    IMPORTING
      ep_table                  = new_table
    EXCEPTIONS
      generate_subpool_dir_full = 1
      OTHERS                    = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
*  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  ASSIGN new_table-&amp;gt;* TO &amp;lt;it_final&amp;gt;.

*********CREATE WORK AREA****************************

CREATE DATA new_line LIKE LINE OF &amp;lt;it_final&amp;gt;.
  ASSIGN new_line-&amp;gt;* TO &amp;lt;wa_final&amp;gt;.

*********INSERTTING WORK AREAR TO INTERNAL TABLE******

    INSERT &amp;lt;wa_final&amp;gt; INTO TABLE &amp;lt;it_final&amp;gt;.

*******POPULATING DATA*******************************  
  LOOP.
   
   ASSIGN COMPONENT 'FIELD1' OF STRUCTURE &amp;lt;wa_final&amp;gt; TO &amp;lt;w_field&amp;gt;.
   &amp;lt;w_field&amp;gt; = '12345'.

    ASSIGN COMPONENT 'FIELD2' OF STRUCTURE &amp;lt;wa_final&amp;gt; TO &amp;lt;w_field&amp;gt;.
   &amp;lt;w_field&amp;gt; = '21453DD'.

   FIELD1 AND FIELD2 ARE COMPONENTS OF FIELDCATALOG.
    
ENDLOOP.      

  ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2006 09:46:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table/m-p/1319221#M164809</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-27T09:46:36Z</dc:date>
    </item>
  </channel>
</rss>

