<?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: DYNAMIC TABLE FUNCTION in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820118#M1128021</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
DATA: dy_table  TYPE REF TO data,
      dy_table1 TYPE REF TO data.

FIELD-SYMBOLS:  &amp;lt;dyn_table1&amp;gt;   TYPE  STANDARD TABLE.

* Getting Dynamic Internal Table
    PERFORM dyn_table_2 USING w_fcat.
*Calling the method CREATE_DYNAMIC_TABLE
  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
       EXPORTING
         it_fieldcatalog = p_fcat1
       IMPORTING
         ep_table = dy_table1
       EXCEPTIONS
         generate_subpool_dir_full = 1
         OTHERS = 2
  		.
* POPULATE Dynamic Internal Table
    PERFORM populate_dyn_table2 USING w_fcat.
FORM populate_dyn_table2 USING p_fcat TYPE lvc_t_fcat .
  DATA: ls_fcat1 TYPE lvc_s_fcat.
  DATA: l_fieldname(30) TYPE c.
  FIELD-SYMBOLS:&amp;lt;l_fs_dyn&amp;gt; TYPE ANY,
                &amp;lt;l_fs_bom&amp;gt; TYPE ANY.

  ASSIGN dy_table1-&amp;gt;* TO &amp;lt;dyn_table1&amp;gt;.
  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table1&amp;gt;.
  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Krishna...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 02 Dec 2008 14:33:01 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-12-02T14:33:01Z</dc:date>
    <item>
      <title>DYNAMIC TABLE FUNCTION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820114#M1128017</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Expert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to build a function that receive a dynamic table , how i do it and how i call this function&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks and regardes&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2008 11:22:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820114#M1128017</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-02T11:22:12Z</dc:date>
    </item>
    <item>
      <title>Re: DYNAMIC TABLE FUNCTION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820115#M1128018</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;check this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zmodtab NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: rsds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: is_x030l  TYPE x030l,&lt;/P&gt;&lt;P&gt;      it_dfies  TYPE TABLE OF dfies,&lt;/P&gt;&lt;P&gt;      is_dfies  TYPE dfies,&lt;/P&gt;&lt;P&gt;      it_fdiff  TYPE TABLE OF field_dif,&lt;/P&gt;&lt;P&gt;      is_fdiff  TYPE field_dif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_selid   TYPE rsdynsel-selid,&lt;/P&gt;&lt;P&gt;      it_tables TYPE TABLE OF rsdstabs,&lt;/P&gt;&lt;P&gt;      is_tables TYPE rsdstabs,&lt;/P&gt;&lt;P&gt;      it_fields TYPE TABLE OF rsdsfields,&lt;/P&gt;&lt;P&gt;      it_expr   TYPE rsds_texpr,&lt;/P&gt;&lt;P&gt;      it_ranges TYPE rsds_trange,&lt;/P&gt;&lt;P&gt;      it_where  TYPE rsds_twhere,&lt;/P&gt;&lt;P&gt;      is_where  TYPE rsds_where,&lt;/P&gt;&lt;P&gt;      w_active  TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_content TYPE REF TO data,&lt;/P&gt;&lt;P&gt;      it_modif   TYPE REF TO data,&lt;/P&gt;&lt;P&gt;      it_fcat    TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_okcode   TYPE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;itab&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;               &amp;lt;ntab&amp;gt; TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Macros&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFINE table_error.&lt;/P&gt;&lt;P&gt;  message e398(00) with 'Table' p_table &amp;amp;1.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DEFINE fixed_val.&lt;/P&gt;&lt;P&gt;  is_fdiff-fieldname = is_dfies-fieldname.&lt;/P&gt;&lt;P&gt;  is_fdiff-fixed_val = &amp;amp;1.&lt;/P&gt;&lt;P&gt;  is_fdiff-no_input  = 'X'.&lt;/P&gt;&lt;P&gt;  append is_fdiff to it_fdiff.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_table TYPE tabname OBLIGATORY                    "table&lt;/P&gt;&lt;P&gt;                                 MEMORY ID dtb&lt;/P&gt;&lt;P&gt;                                 MATCHCODE OBJECT dd_dbtb_16.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF LINE,&lt;/P&gt;&lt;P&gt;                  PUSHBUTTON 33(20) selopt USER-COMMAND sel,&lt;/P&gt;&lt;P&gt;                  COMMENT    55(15) selcnt,&lt;/P&gt;&lt;P&gt;                  END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: SKIP.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_rows  TYPE i.                                    "rows&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b01,&lt;/P&gt;&lt;P&gt;                  SKIP,&lt;/P&gt;&lt;P&gt;                  BEGIN OF BLOCK b02 WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_displ TYPE c AS CHECKBOX.                        "display&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  MOVE '@4G@ Filter records' TO selopt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PBO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;  IF w_active IS INITIAL.&lt;/P&gt;&lt;P&gt;    CLEAR: selcnt.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE w_active TO selcnt LEFT-JUSTIFIED.&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;PAI&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  IF p_table NE is_x030l-tabname.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'DDIF_NAMETAB_GET'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              tabname   = p_table&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              x030l_wa  = is_x030l&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              dfies_tab = it_dfies&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              OTHERS    = 1.&lt;/P&gt;&lt;P&gt;    IF is_x030l IS INITIAL.&lt;/P&gt;&lt;P&gt;      table_error 'does not exist or is not active'.&lt;/P&gt;&lt;P&gt;    ELSEIF is_x030l-tabtype NE 'T'.&lt;/P&gt;&lt;P&gt;      table_error 'is not selectable'.&lt;/P&gt;&lt;P&gt;    ELSEIF is_x030l-align NE 0.&lt;/P&gt;&lt;P&gt;      table_error 'has alignment - cannot continue'.&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;  Default values for system fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH: it_fdiff.&lt;/P&gt;&lt;P&gt;    is_fdiff-tabname = p_table.&lt;/P&gt;&lt;P&gt;    LOOP AT it_dfies INTO is_dfies.&lt;/P&gt;&lt;P&gt;      IF is_dfies-datatype = 'CLNT'.&lt;/P&gt;&lt;P&gt;        fixed_val sy-mandt.&lt;/P&gt;&lt;P&gt;      ELSEIF is_dfies-rollname = 'ERDAT'&lt;/P&gt;&lt;P&gt;          OR is_dfies-rollname = 'ERSDA'&lt;/P&gt;&lt;P&gt;          OR is_dfies-rollname = 'AEDAT'&lt;/P&gt;&lt;P&gt;          OR is_dfies-rollname = 'LAEDA'.&lt;/P&gt;&lt;P&gt;        fixed_val sy-datum.&lt;/P&gt;&lt;P&gt;      ELSEIF is_dfies-rollname = 'ERTIM'&lt;/P&gt;&lt;P&gt;          OR is_dfies-rollname = 'AETIM'.&lt;/P&gt;&lt;P&gt;        fixed_val sy-uzeit.&lt;/P&gt;&lt;P&gt;      ELSEIF is_dfies-rollname = 'ERNAM'&lt;/P&gt;&lt;P&gt;          OR is_dfies-rollname = 'AENAM'.&lt;/P&gt;&lt;P&gt;        fixed_val sy-uname.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Prepare free selection on table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH it_tables.&lt;/P&gt;&lt;P&gt;    is_tables-prim_tab = p_table.&lt;/P&gt;&lt;P&gt;    APPEND is_tables TO it_tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: w_selid.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-ucomm = 'SEL'.&lt;/P&gt;&lt;P&gt;    IF w_selid IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Init free selection dialog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'FREE_SELECTIONS_INIT'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                expressions  = it_expr&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                selection_id = w_selid&lt;/P&gt;&lt;P&gt;                expressions  = it_expr&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;                tables_tab   = it_tables&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                OTHERS       = 1.&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;  Display free selection dialog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'FREE_SELECTIONS_DIALOG'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              selection_id            = w_selid&lt;/P&gt;&lt;P&gt;              title                   = 'Selection'&lt;/P&gt;&lt;P&gt;              status                  = 1&lt;/P&gt;&lt;P&gt;              as_window               = 'X'&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              expressions             = it_expr&lt;/P&gt;&lt;P&gt;              field_ranges            = it_ranges&lt;/P&gt;&lt;P&gt;              number_of_active_fields = w_active&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              fields_tab              = it_fields&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              OTHERS                  = 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_create_table USING p_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_select_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_display_table.&lt;/P&gt;&lt;P&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;      FORM f_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;P&gt;FORM f_create_table USING in_tabname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;fcat&amp;gt; TYPE lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_structure_name = in_tabname&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            ct_fieldcat      = it_fcat&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS           = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Complete field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT it_fcat ASSIGNING &amp;lt;fcat&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;fcat&amp;gt;-tabname = in_tabname.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              ct_fieldcat = it_fcat&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              OTHERS      = 1.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE: 'Error building field catalog'.&lt;/P&gt;&lt;P&gt;    STOP.&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;Create dynamic table for data&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&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = it_fcat&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = it_content.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    ASSIGN it_content-&amp;gt;* TO &amp;lt;itab&amp;gt;.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE: 'Error creating internal table'.&lt;/P&gt;&lt;P&gt;    STOP.&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;Create dynamic table for modif&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&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = it_fcat&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = it_modif.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    ASSIGN it_modif-&amp;gt;* TO &amp;lt;ntab&amp;gt;.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE: 'Error creating internal table'.&lt;/P&gt;&lt;P&gt;    STOP.&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;/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 f_select_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 f_select_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF w_active = 0.&lt;/P&gt;&lt;P&gt;    SELECT * FROM (p_table)&lt;/P&gt;&lt;P&gt;             INTO CORRESPONDING FIELDS OF TABLE &amp;lt;itab&amp;gt;&lt;/P&gt;&lt;P&gt;            UP TO p_rows ROWS.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Selection with parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_WHERE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              field_ranges  = it_ranges&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              where_clauses = it_where.&lt;/P&gt;&lt;P&gt;    READ TABLE it_where INTO is_where WITH KEY tablename = p_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM (p_table)&lt;/P&gt;&lt;P&gt;             INTO CORRESPONDING FIELDS OF TABLE &amp;lt;itab&amp;gt;&lt;/P&gt;&lt;P&gt;            UP TO p_rows ROWS&lt;/P&gt;&lt;P&gt;            WHERE (is_where-where_tab).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-dbcnt = 0.&lt;/P&gt;&lt;P&gt;    WRITE: 'No record selected'.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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 f_display_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 f_display_table.&lt;/P&gt;&lt;P&gt;  DATA: l_answer TYPE c,&lt;/P&gt;&lt;P&gt;        l_eflag  TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: w_okcode.&lt;/P&gt;&lt;P&gt;  REFRESH: &amp;lt;ntab&amp;gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display table contents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'STC1_FULLSCREEN_TABLE_CONTROL'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            header       = p_table&lt;/P&gt;&lt;P&gt;            tabname      = p_table&lt;/P&gt;&lt;P&gt;            display_only = p_displ&lt;/P&gt;&lt;P&gt;            endless      = 'X'&lt;/P&gt;&lt;P&gt;            no_button    = space&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            okcode       = w_okcode&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            nametab      = it_dfies&lt;/P&gt;&lt;P&gt;            table        = &amp;lt;itab&amp;gt;&lt;/P&gt;&lt;P&gt;            fielddif     = it_fdiff&lt;/P&gt;&lt;P&gt;            modif_table  = &amp;lt;ntab&amp;gt;&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS       = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    IF p_displ IS INITIAL AND w_okcode = 'SAVE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Confirm update&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                titlebar              = p_table&lt;/P&gt;&lt;P&gt;                text_question         = 'Do you want to update table ?'&lt;/P&gt;&lt;P&gt;                default_button        = '2'&lt;/P&gt;&lt;P&gt;                display_cancel_button = ' '&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                answer                = l_answer&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                OTHERS                = 1.&lt;/P&gt;&lt;P&gt;      IF l_answer = '1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Apply modifications&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF NOT &amp;lt;ntab&amp;gt;[] IS INITIAL.&lt;/P&gt;&lt;P&gt;          PERFORM f_add_system USING space.&lt;/P&gt;&lt;P&gt;          MODIFY (p_table) FROM TABLE &amp;lt;ntab&amp;gt;.&lt;/P&gt;&lt;P&gt;          IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;            l_eflag = 'X'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Apply deletions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF l_eflag IS INITIAL.&lt;/P&gt;&lt;P&gt;          REFRESH: &amp;lt;ntab&amp;gt;.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'STC1_GET_DATA'&lt;/P&gt;&lt;P&gt;               TABLES&lt;/P&gt;&lt;P&gt;                    deleted_data = &amp;lt;ntab&amp;gt;&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                    OTHERS       = 1.&lt;/P&gt;&lt;P&gt;          IF NOT &amp;lt;ntab&amp;gt;[] IS INITIAL.&lt;/P&gt;&lt;P&gt;            DELETE (p_table) FROM TABLE &amp;lt;ntab&amp;gt;.&lt;/P&gt;&lt;P&gt;            IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;              ROLLBACK WORK.&lt;/P&gt;&lt;P&gt;              l_eflag = 'X'.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Apply creations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF l_eflag IS INITIAL.&lt;/P&gt;&lt;P&gt;          REFRESH: &amp;lt;ntab&amp;gt;.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'STC1_GET_DATA'&lt;/P&gt;&lt;P&gt;               TABLES&lt;/P&gt;&lt;P&gt;                    new_data = &amp;lt;ntab&amp;gt;&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                    OTHERS   = 1.&lt;/P&gt;&lt;P&gt;          IF NOT &amp;lt;ntab&amp;gt;[] IS INITIAL.&lt;/P&gt;&lt;P&gt;            PERFORM f_add_system USING 'X'.&lt;/P&gt;&lt;P&gt;            INSERT (p_table) FROM TABLE &amp;lt;ntab&amp;gt;.&lt;/P&gt;&lt;P&gt;            IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;              ROLLBACK WORK.&lt;/P&gt;&lt;P&gt;              l_eflag = 'X'.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF l_eflag IS INITIAL.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&lt;/P&gt;&lt;P&gt;          MESSAGE s261(53).&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE s075(3i).&lt;/P&gt;&lt;P&gt;          PERFORM f_select_table.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Display table again&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM f_display_table.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&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;      FORM f_add_system                                             *&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 f_add_system USING new TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;irec&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;                 &amp;lt;upd&amp;gt;  TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_fdiff INTO is_fdiff.&lt;/P&gt;&lt;P&gt;    READ TABLE it_dfies INTO is_dfies&lt;/P&gt;&lt;P&gt;                    WITH KEY fieldname = is_fdiff-fieldname.&lt;/P&gt;&lt;P&gt;    LOOP AT &amp;lt;ntab&amp;gt; ASSIGNING &amp;lt;irec&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT is_fdiff-fieldname OF STRUCTURE &amp;lt;irec&amp;gt; TO &amp;lt;upd&amp;gt;.&lt;/P&gt;&lt;P&gt;      IF is_dfies-datatype = 'CLNT'.&lt;/P&gt;&lt;P&gt;        &amp;lt;upd&amp;gt; = sy-mandt.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CASE is_dfies-rollname.&lt;/P&gt;&lt;P&gt;          WHEN 'AENAM'.&lt;/P&gt;&lt;P&gt;            &amp;lt;upd&amp;gt; = sy-uname.&lt;/P&gt;&lt;P&gt;          WHEN 'AEDAT' OR 'LAEDA'.&lt;/P&gt;&lt;P&gt;            &amp;lt;upd&amp;gt; = sy-datum.&lt;/P&gt;&lt;P&gt;          WHEN 'AETIM'.&lt;/P&gt;&lt;P&gt;            &amp;lt;upd&amp;gt; = sy-uzeit.&lt;/P&gt;&lt;P&gt;          WHEN OTHERS.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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;this link will also help:&lt;/P&gt;&lt;P&gt;&lt;/P&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;/P&gt;&lt;P&gt;Edited by: AD on Dec 2, 2008 12:26 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2008 11:24:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820115#M1128018</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-02T11:24:47Z</dc:date>
    </item>
    <item>
      <title>Re: DYNAMIC TABLE FUNCTION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820116#M1128019</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt; use field symbols&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2008 11:28:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820116#M1128019</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-02T11:28:54Z</dc:date>
    </item>
    <item>
      <title>Re: DYNAMIC TABLE FUNCTION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820117#M1128020</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;how i define the table in the function module&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2008 12:06:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820117#M1128020</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-02T12:06:25Z</dc:date>
    </item>
    <item>
      <title>Re: DYNAMIC TABLE FUNCTION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820118#M1128021</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
DATA: dy_table  TYPE REF TO data,
      dy_table1 TYPE REF TO data.

FIELD-SYMBOLS:  &amp;lt;dyn_table1&amp;gt;   TYPE  STANDARD TABLE.

* Getting Dynamic Internal Table
    PERFORM dyn_table_2 USING w_fcat.
*Calling the method CREATE_DYNAMIC_TABLE
  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
       EXPORTING
         it_fieldcatalog = p_fcat1
       IMPORTING
         ep_table = dy_table1
       EXCEPTIONS
         generate_subpool_dir_full = 1
         OTHERS = 2
  		.
* POPULATE Dynamic Internal Table
    PERFORM populate_dyn_table2 USING w_fcat.
FORM populate_dyn_table2 USING p_fcat TYPE lvc_t_fcat .
  DATA: ls_fcat1 TYPE lvc_s_fcat.
  DATA: l_fieldname(30) TYPE c.
  FIELD-SYMBOLS:&amp;lt;l_fs_dyn&amp;gt; TYPE ANY,
                &amp;lt;l_fs_bom&amp;gt; TYPE ANY.

  ASSIGN dy_table1-&amp;gt;* TO &amp;lt;dyn_table1&amp;gt;.
  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table1&amp;gt;.
  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Krishna...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2008 14:33:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820118#M1128021</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-02T14:33:01Z</dc:date>
    </item>
    <item>
      <title>Re: DYNAMIC TABLE FUNCTION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820119#M1128022</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Create it like that for example (you may also use STANDARD TABLE, SORTED TABLE, etc., you may also use CHANGING instead of IMPORTING)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;FUNCTION Z_DEMO.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(FF) TYPE  ANY TABLE
*"----------------------------------------------------------------------
field-symbols &amp;lt;gg&amp;gt; type any.
loop at ff assigning &amp;lt;gg&amp;gt;.
endloop.
ENDFUNCTION.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Call it like that :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;CALL FUNCTION 'Z_DEMO'
    EXPORTING
      ff = lt_any_table.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may also use it in TABLES, but only STANDARD TABLE allowed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2008 20:53:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-table-function/m-p/4820119#M1128022</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2008-12-02T20:53:03Z</dc:date>
    </item>
  </channel>
</rss>

