<?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 dynamic programming in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764064#M330499</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 have a program with a parameter for a table name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: pa_tab TYPE dd02l-tabname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This parameter will be filled with a dictionary table name.&lt;/P&gt;&lt;P&gt;I am trying to define a type using this parameter name like this:&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF t_itab.&lt;/P&gt;&lt;P&gt;         INCLUDE structure (pa_tab).&lt;/P&gt;&lt;P&gt;  TYPES cellstyles TYPE lvc_t_styl.&lt;/P&gt;&lt;P&gt;  TYPES END OF t_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But it is not working. Any ideeas?&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 27 Dec 2006 14:50:03 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-12-27T14:50:03Z</dc:date>
    <item>
      <title>dynamic programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764064#M330499</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 have a program with a parameter for a table name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: pa_tab TYPE dd02l-tabname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This parameter will be filled with a dictionary table name.&lt;/P&gt;&lt;P&gt;I am trying to define a type using this parameter name like this:&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF t_itab.&lt;/P&gt;&lt;P&gt;         INCLUDE structure (pa_tab).&lt;/P&gt;&lt;P&gt;  TYPES cellstyles TYPE lvc_t_styl.&lt;/P&gt;&lt;P&gt;  TYPES END OF t_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But it is not working. Any ideeas?&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Dec 2006 14:50:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764064#M330499</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-27T14:50:03Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764065#M330500</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can try this option,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Option - 1&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  zkb_dyn_itab.

PARAMETERS : p_table(30) TYPE c DEFAULT 'T000' OBLIGATORY.

DATA: o_dref TYPE REF TO data.

FIELD-SYMBOLS: &amp;lt;fs_table&amp;gt; TYPE ANY TABLE,
               &amp;lt;fs_warea&amp;gt; TYPE ANY,
               &amp;lt;fs_field&amp;gt; TYPE ANY.

START-OF-SELECTION.

  CREATE DATA o_dref TYPE TABLE OF (p_table).
  ASSIGN o_dref-&amp;gt;* TO &amp;lt;fs_table&amp;gt;.

  SELECT * FROM (p_table) INTO TABLE &amp;lt;fs_table&amp;gt;.
  IF sy-subrc EQ 0.
    LOOP AT &amp;lt;fs_table&amp;gt; ASSIGNING &amp;lt;fs_warea&amp;gt;.
      ASSIGN COMPONENT 1 OF STRUCTURE &amp;lt;fs_warea&amp;gt; TO &amp;lt;fs_field&amp;gt;.
      WRITE / &amp;lt;fs_field&amp;gt;.
      ASSIGN COMPONENT 2 OF STRUCTURE &amp;lt;fs_warea&amp;gt; TO &amp;lt;fs_field&amp;gt;.
      WRITE / &amp;lt;fs_field&amp;gt;.
    ENDLOOP.
  ELSE.
    MESSAGE 'Error selecting data!' TYPE 'I'.
  ENDIF.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Option 2&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  zkb_dynamic_itab.

TYPE-POOLS : abap.

FIELD-SYMBOLS: &amp;lt;dyn_table&amp;gt; TYPE STANDARD TABLE,
               &amp;lt;dyn_wa&amp;gt;,
               &amp;lt;dyn_field&amp;gt;.

DATA: dy_table TYPE REF TO data,
      dy_line  TYPE REF TO data,
      xfc TYPE lvc_s_fcat,
      ifc TYPE lvc_t_fcat.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: p_table(30) TYPE c DEFAULT 'SCARR'.
SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.

  PERFORM get_structure.
  PERFORM create_dynamic_itab.
  PERFORM get_data.
  PERFORM read_data_from_dyntable USING 'JL'.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_structure
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM get_structure.
  DATA : idetails TYPE abap_compdescr_tab,
         xdetails TYPE abap_compdescr.

  DATA : ref_table_des TYPE REF TO cl_abap_structdescr.

* Get the structure of the table.
  ref_table_des ?=
      cl_abap_typedescr=&amp;gt;describe_by_name( p_table ).
  idetails[] = ref_table_des-&amp;gt;components[].

  LOOP AT idetails INTO xdetails.
    CLEAR xfc.
    xfc-fieldname = xdetails-name .
    xfc-datatype = xdetails-type_kind.
    xfc-inttype = xdetails-type_kind.
    xfc-intlen = xdetails-length.
    xfc-decimals = xdetails-decimals.
    APPEND xfc TO ifc.
  ENDLOOP.

ENDFORM.                    "get_structure
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  create_dynamic_itab
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM create_dynamic_itab.
* Create dynamic internal table and assign to FS
  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
    EXPORTING
      it_fieldcatalog = ifc
    IMPORTING
      ep_table        = dy_table.

  ASSIGN dy_table-&amp;gt;* TO &amp;lt;dyn_table&amp;gt;.

* Create dynamic work area and assign to FS
  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table&amp;gt;.
  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.
ENDFORM.                    "create_dynamic_itab
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_data
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM get_data.
* Select Data from table.
  SELECT * INTO CORRESPONDING FIELDS OF TABLE &amp;lt;dyn_table&amp;gt;
             FROM (p_table).
ENDFORM.                    "get_data
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  read_data_from_dyntable
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_P_CARRID  text
*----------------------------------------------------------------------*
FORM read_data_from_dyntable  USING    p_carrid TYPE s_carr_id.
  FIELD-SYMBOLS: &amp;lt;l_dyn_wa&amp;gt; TYPE ANY,
                 &amp;lt;l_dyn_field&amp;gt; TYPE ANY.

  DATA: l_dy_line  TYPE REF TO data.
  DATA: li_results TYPE match_result_tab,
        lw_results TYPE match_result.

  CREATE DATA l_dy_line LIKE LINE OF &amp;lt;dyn_table&amp;gt;.
  ASSIGN l_dy_line-&amp;gt;* TO &amp;lt;l_dyn_wa&amp;gt;.
  ASSIGN COMPONENT 2 OF STRUCTURE &amp;lt;l_dyn_wa&amp;gt; TO &amp;lt;l_dyn_field&amp;gt;.
  &amp;lt;l_dyn_field&amp;gt; = p_carrid.

* Reading the data
  FIND ALL OCCURRENCES OF &amp;lt;l_dyn_field&amp;gt;
       IN TABLE &amp;lt;dyn_table&amp;gt;
       RESULTS li_results.

  READ TABLE li_results INTO lw_results INDEX 1.
  READ TABLE &amp;lt;dyn_table&amp;gt; INTO &amp;lt;dyn_wa&amp;gt; INDEX lw_results-line.

  WRITE:/ &amp;lt;dyn_wa&amp;gt;.

* Modifying the data
  ASSIGN COMPONENT 5 OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;l_dyn_field&amp;gt;.
  &amp;lt;l_dyn_field&amp;gt; = 'http://www.jal.com'.
  WRITE:/ &amp;lt;dyn_wa&amp;gt;.

ENDFORM.                    " read_data_from_dyntable
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Kathirvel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Dec 2006 14:54:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764065#M330500</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-27T14:54:02Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764066#M330501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your example. But I just want to define an internal table with the structure of pa_tab plus the TYPE lvc_t_styl. Does it has to be so complicated?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Dec 2006 15:05:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764066#M330501</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-27T15:05:19Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764067#M330502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi George&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will not be able to pass a dynamic value to TYPE as shown below. The program will throw a syntax error. &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
TYPES: BEGIN OF t_itab.
* The strucure name is not valid as the value will be passed only at run time
INCLUDE structure (pa_tab).
TYPES cellstyles TYPE lvc_t_styl.
TYPES END OF t_itab.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Whereas you can create a field catalogue for your dynamic internal table and process the data as shown above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But you can pass the dynamic table names to your select query at run time&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
* Select Data from table.
  SELECT * INTO CORRESPONDING FIELDS OF TABLE &amp;lt;dyn_table&amp;gt;
             FROM (p_table).
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Kathirvel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Dec 2006 15:16:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764067#M330502</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-27T15:16:17Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764068#M330503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello George,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the ABAP runtime is a byte code interpreter not a source code interpretor. As consequence a program cannot be altered during execution nor can the byte code be influenced by parameter. Any declarative statement and especially include &amp;lt;file&amp;gt; or include &amp;lt;type&amp;gt; is resolved at compile time only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So yes it is necessary to do it hard way. If you need to do it frequently maybe moving common patterns to a kind of model class may hide away some complexity within your reports.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;  Klaus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Dec 2006 16:24:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764068#M330503</guid>
      <dc:creator>former_member183804</dc:creator>
      <dc:date>2006-12-27T16:24:58Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764069#M330504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your answers. I know now that I have to define a field catalog to create dynamically the pa_tab table. But after I add the fields of pa_tab to the fieldcatalog, how can I define a field 'CELLSTYLES' type LVC_T_STYL (table) to the fieldcatalog? I need that my dynamic table to be used with an ALV grid, and I need that CELLSTYLES field.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Dec 2006 09:21:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-programming/m-p/1764069#M330504</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-28T09:21:14Z</dc:date>
    </item>
  </channel>
</rss>

