<?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 Internal Table in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182807#M999871</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZDYNAMIC_ALV
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zdynamic_alv.

FIELD-SYMBOLS:
&amp;lt;f_tab1&amp;gt; TYPE STANDARD TABLE.

PARAMETERS:
p_tname TYPE tabname16 OBLIGATORY, " DEFAULT 'MARA' ,
p_rows(5) TYPE c DEFAULT '200'.
*----------------------------------------------------------------------*
*       CLASS lcl_dynamic DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_dynamic DEFINITION CREATE PRIVATE.
  PUBLIC SECTION.
    CLASS-METHODS:
    check_selection
     EXCEPTIONS invalid_table,
    main
     EXCEPTIONS no_data_found,
    display.

  PRIVATE SECTION.

    TYPE-POOLS: abap.

    CLASS-DATA: tab TYPE REF TO cl_abap_structdescr,
          wa_tab TYPE REF TO cl_abap_structdescr,
          comp_tab   TYPE cl_abap_structdescr=&amp;gt;component_table,
          i_tab TYPE REF TO cl_abap_tabledescr,
          i_table TYPE REF TO data.
ENDCLASS.                    "lcl_dynamic DEFINITION

*----------------------------------------------------------------------*
*       CLASS lcl_dynamic IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_dynamic IMPLEMENTATION.
  METHOD check_selection.

    SELECT COUNT( * )
      FROM dd02l
      WHERE tabname  = p_tname
      AND   as4local = 'A'
      AND   tabclass = 'TRANSP'.
    IF sy-subrc &amp;lt;&amp;gt; 0.
      RAISE invalid_table.
    ENDIF.

  ENDMETHOD.                    "check_selection
  METHOD main.
    tab ?= cl_abap_typedescr=&amp;gt;describe_by_name( p_tname ).
    comp_tab = tab-&amp;gt;get_components( ).
    wa_tab  = cl_abap_structdescr=&amp;gt;create( comp_tab ).
    i_tab   = cl_abap_tabledescr=&amp;gt;create( wa_tab ).
    CREATE DATA i_table TYPE HANDLE i_tab.
    ASSIGN i_table-&amp;gt;* TO &amp;lt;f_tab1&amp;gt;.
    IF p_rows IS INITIAL.
      p_rows = '50000'.
    ENDIF.

*Get data
    SELECT * FROM (p_tname)
    INTO TABLE &amp;lt;f_tab1&amp;gt;
    UP TO p_rows ROWS.

    IF sy-subrc &amp;lt;&amp;gt; 0.
      RAISE no_data_found.
    ENDIF.
  ENDMETHOD.                    "main
  METHOD display.
    SET TITLEBAR sy-title
    OF PROGRAM sy-cprog
    WITH 'Display table:' p_tname.

    DATA:
    l_gr_alv TYPE REF TO cl_salv_table,
    l_gr_functions TYPE REF TO cl_salv_functions.

    TRY.
        CALL METHOD cl_salv_table=&amp;gt;factory
          IMPORTING
            r_salv_table = l_gr_alv
          CHANGING
            t_table      = &amp;lt;f_tab1&amp;gt;.
      CATCH cx_salv_msg .   "#EC NO_HANDLER
    ENDTRY.
    l_gr_functions = l_gr_alv-&amp;gt;get_functions( ).
    l_gr_functions-&amp;gt;set_all( abap_true ).
    l_gr_alv-&amp;gt;display( ).
  ENDMETHOD.                    "display
ENDCLASS.                    "lcl_dynamic IMPLEMENTATION

AT SELECTION-SCREEN.
  CALL METHOD lcl_dynamic=&amp;gt;check_selection
    EXCEPTIONS
      invalid_table = 1.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE e001(00) WITH
    p_tname ' is not a Transparant Table'.
  ENDIF.

START-OF-SELECTION.

  CALL METHOD lcl_dynamic=&amp;gt;main
    EXCEPTIONS
      no_data_found = 1.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE i001(00) WITH 'No data found'.
    LEAVE LIST-PROCESSING.
  ENDIF.


END-OF-SELECTION.

  CALL METHOD lcl_dynamic=&amp;gt;display.


&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 Jul 2008 13:58:09 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-07-18T13:58:09Z</dc:date>
    <item>
      <title>Dynamic Internal Table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182806#M999870</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am developing a report in which i need to write an include program or a subroutine will also be fine .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the requirement of that include and it shud be an independent program as well..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. I need to give the table name in the input.&lt;/P&gt;&lt;P&gt;2. An o/p shud be dispalyed or doownlaoded with&lt;/P&gt;&lt;P&gt;   header line containing field names.&lt;/P&gt;&lt;P&gt;3. values.&lt;/P&gt;&lt;P&gt;4. header liens and values of the table that we are getting displayed shud be seperated by a ;( semicolon ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can anyone help me in this..?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Varun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 13:51:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182806#M999870</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-18T13:51:47Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Internal Table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182807#M999871</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZDYNAMIC_ALV
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zdynamic_alv.

FIELD-SYMBOLS:
&amp;lt;f_tab1&amp;gt; TYPE STANDARD TABLE.

PARAMETERS:
p_tname TYPE tabname16 OBLIGATORY, " DEFAULT 'MARA' ,
p_rows(5) TYPE c DEFAULT '200'.
*----------------------------------------------------------------------*
*       CLASS lcl_dynamic DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_dynamic DEFINITION CREATE PRIVATE.
  PUBLIC SECTION.
    CLASS-METHODS:
    check_selection
     EXCEPTIONS invalid_table,
    main
     EXCEPTIONS no_data_found,
    display.

  PRIVATE SECTION.

    TYPE-POOLS: abap.

    CLASS-DATA: tab TYPE REF TO cl_abap_structdescr,
          wa_tab TYPE REF TO cl_abap_structdescr,
          comp_tab   TYPE cl_abap_structdescr=&amp;gt;component_table,
          i_tab TYPE REF TO cl_abap_tabledescr,
          i_table TYPE REF TO data.
ENDCLASS.                    "lcl_dynamic DEFINITION

*----------------------------------------------------------------------*
*       CLASS lcl_dynamic IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_dynamic IMPLEMENTATION.
  METHOD check_selection.

    SELECT COUNT( * )
      FROM dd02l
      WHERE tabname  = p_tname
      AND   as4local = 'A'
      AND   tabclass = 'TRANSP'.
    IF sy-subrc &amp;lt;&amp;gt; 0.
      RAISE invalid_table.
    ENDIF.

  ENDMETHOD.                    "check_selection
  METHOD main.
    tab ?= cl_abap_typedescr=&amp;gt;describe_by_name( p_tname ).
    comp_tab = tab-&amp;gt;get_components( ).
    wa_tab  = cl_abap_structdescr=&amp;gt;create( comp_tab ).
    i_tab   = cl_abap_tabledescr=&amp;gt;create( wa_tab ).
    CREATE DATA i_table TYPE HANDLE i_tab.
    ASSIGN i_table-&amp;gt;* TO &amp;lt;f_tab1&amp;gt;.
    IF p_rows IS INITIAL.
      p_rows = '50000'.
    ENDIF.

*Get data
    SELECT * FROM (p_tname)
    INTO TABLE &amp;lt;f_tab1&amp;gt;
    UP TO p_rows ROWS.

    IF sy-subrc &amp;lt;&amp;gt; 0.
      RAISE no_data_found.
    ENDIF.
  ENDMETHOD.                    "main
  METHOD display.
    SET TITLEBAR sy-title
    OF PROGRAM sy-cprog
    WITH 'Display table:' p_tname.

    DATA:
    l_gr_alv TYPE REF TO cl_salv_table,
    l_gr_functions TYPE REF TO cl_salv_functions.

    TRY.
        CALL METHOD cl_salv_table=&amp;gt;factory
          IMPORTING
            r_salv_table = l_gr_alv
          CHANGING
            t_table      = &amp;lt;f_tab1&amp;gt;.
      CATCH cx_salv_msg .   "#EC NO_HANDLER
    ENDTRY.
    l_gr_functions = l_gr_alv-&amp;gt;get_functions( ).
    l_gr_functions-&amp;gt;set_all( abap_true ).
    l_gr_alv-&amp;gt;display( ).
  ENDMETHOD.                    "display
ENDCLASS.                    "lcl_dynamic IMPLEMENTATION

AT SELECTION-SCREEN.
  CALL METHOD lcl_dynamic=&amp;gt;check_selection
    EXCEPTIONS
      invalid_table = 1.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE e001(00) WITH
    p_tname ' is not a Transparant Table'.
  ENDIF.

START-OF-SELECTION.

  CALL METHOD lcl_dynamic=&amp;gt;main
    EXCEPTIONS
      no_data_found = 1.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE i001(00) WITH 'No data found'.
    LEAVE LIST-PROCESSING.
  ENDIF.


END-OF-SELECTION.

  CALL METHOD lcl_dynamic=&amp;gt;display.


&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 13:58:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182807#M999871</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-18T13:58:09Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Internal Table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182808#M999872</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi check the programs..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DB_GET_TABLE_FIELDS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or DDIF_FIELDINFO_GET&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 13:58:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182808#M999872</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-18T13:58:15Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Internal Table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182809#M999873</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Boss,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This code is working partially..&lt;/P&gt;&lt;P&gt;but it is not retreiving all the rows..if i remove that 200 from &lt;/P&gt;&lt;P&gt;second paramter..&lt;/P&gt;&lt;P&gt;could u please help me..?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Varun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 14:12:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182809#M999873</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-18T14:12:23Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Internal Table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182810#M999874</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not able to see the programs..in my server..&lt;/P&gt;&lt;P&gt;i m using the above code in BW system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please paste teh code or please suggest any othe rmethods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Varun.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 14:13:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4182810#M999874</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-18T14:13:36Z</dc:date>
    </item>
  </channel>
</rss>

