<?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 How to write dynamic report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-write-dynamic-report/m-p/2947706#M694918</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I am Manish and I want to write a dynamic report . i want to to write a report just like  Table Contral Wizard in screen painter . &lt;/P&gt;&lt;P&gt; My requirement is &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i want to see the data of different db tables . But i dont have the authorization of Se11 , Se12 , Se16 , Se80 , etc .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; So i will write a report and declare a internal table like that db table and in the selection screen i declare i the primary keys of the table . the output will be ALV &lt;/P&gt;&lt;P&gt;grid .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So i want to doo this dynamicall . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I will write a report and when i execute it &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;    it will ask for report name , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   internal table name ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   selection- screen fields ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   type of output .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; thanks and regards &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Manish Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 15 Oct 2007 06:40:43 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-15T06:40:43Z</dc:date>
    <item>
      <title>How to write dynamic report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-write-dynamic-report/m-p/2947706#M694918</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I am Manish and I want to write a dynamic report . i want to to write a report just like  Table Contral Wizard in screen painter . &lt;/P&gt;&lt;P&gt; My requirement is &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i want to see the data of different db tables . But i dont have the authorization of Se11 , Se12 , Se16 , Se80 , etc .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; So i will write a report and declare a internal table like that db table and in the selection screen i declare i the primary keys of the table . the output will be ALV &lt;/P&gt;&lt;P&gt;grid .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So i want to doo this dynamicall . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I will write a report and when i execute it &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;    it will ask for report name , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   internal table name ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   selection- screen fields ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   type of output .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; thanks and regards &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Manish Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2007 06:40:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-write-dynamic-report/m-p/2947706#M694918</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-15T06:40:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to write dynamic report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-write-dynamic-report/m-p/2947707#M694919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Search the forums for subroutines.. you will get some help&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2007 06:44:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-write-dynamic-report/m-p/2947707#M694919</guid>
      <dc:creator>former_member189059</dc:creator>
      <dc:date>2007-10-15T06:44:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to write dynamic report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-write-dynamic-report/m-p/2947708#M694920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Manish,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   First of all to perform any dynamic creation you should understand fieldsymbol and then proceed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following sample report shows you how to create complex structures (and table types) dynamically.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zus_sdn_rtti_create_structur_1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;TYPE-POOLS: abap.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  celltab          TYPE lvc_t_styl.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  gd_tabnam        TYPE string,&lt;/P&gt;&lt;P&gt;  gd_tabfield      TYPE string,&lt;/P&gt;&lt;P&gt;  go_table         TYPE REF TO cl_salv_table,&lt;/P&gt;&lt;P&gt;  go_sdescr        TYPE REF TO cl_abap_structdescr,&lt;/P&gt;&lt;P&gt;  go_sdescr_new    TYPE REF TO cl_abap_structdescr,&lt;/P&gt;&lt;P&gt;  go_tdescr        TYPE REF TO cl_abap_tabledescr,&lt;/P&gt;&lt;P&gt;  gdo_data         TYPE REF TO data,&lt;/P&gt;&lt;P&gt;  gdo_handle       TYPE REF TO data,&lt;/P&gt;&lt;P&gt;  gs_component     TYPE abap_compdescr,&lt;/P&gt;&lt;P&gt;  gs_comp          TYPE abap_componentdescr,&lt;/P&gt;&lt;P&gt;  gt_components    TYPE abap_component_tab.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   name       TYPE string,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   type       TYPE REF TO cl_abap_datadescr,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   as_include TYPE abap_bool,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   suffix     TYPE string,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;  &amp;lt;gt_itab&amp;gt;     TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PARAMETER:&lt;/P&gt;&lt;P&gt;  p_tabnam      TYPE tabname  DEFAULT 'KNB1'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  " Describe structure&lt;/P&gt;&lt;P&gt;  go_sdescr ?= cl_abap_structdescr=&amp;gt;describe_by_name( p_tabnam ).&lt;/P&gt;&lt;P&gt;  gd_tabnam     = go_sdescr-&amp;gt;get_relative_name( ).&lt;/P&gt;&lt;P&gt; &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;Simulate dynamic addition of columns to ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DO 5 TIMES.&lt;/P&gt;&lt;P&gt;    READ TABLE go_sdescr-&amp;gt;components INTO gs_component INDEX syst-index.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    "   Build fieldname&lt;/P&gt;&lt;P&gt;    CONCATENATE gd_tabnam gs_component-name INTO gd_tabfield&lt;/P&gt;&lt;P&gt;                                            SEPARATED BY '-'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    CLEAR: gs_comp.&lt;/P&gt;&lt;P&gt;    gs_comp-type ?= cl_abap_datadescr=&amp;gt;describe_by_name( gd_tabfield ).&lt;/P&gt;&lt;P&gt;    gs_comp-name  = gs_component-name.&lt;/P&gt;&lt;P&gt;    APPEND gs_comp TO gt_components.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    go_sdescr_new  = cl_abap_structdescr=&amp;gt;create( gt_components ).&lt;/P&gt;&lt;P&gt;    go_tdescr      = cl_abap_tabledescr=&amp;gt;create( go_sdescr_new ).&lt;/P&gt;&lt;P&gt;    "   Create data refence followed by table creation&lt;/P&gt;&lt;P&gt;    CREATE DATA gdo_handle TYPE HANDLE go_tdescr.&lt;/P&gt;&lt;P&gt;    ASSIGN gdo_handle-&amp;gt;* TO &amp;lt;gt_itab&amp;gt;.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Dynamic select&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT        * FROM  (p_tabnam)&lt;/P&gt;&lt;P&gt;      INTO CORRESPONDING FIELDS OF TABLE &amp;lt;gt_itab&amp;gt;&lt;/P&gt;&lt;P&gt;           WHERE  bukrs  = '2000'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        CALL METHOD cl_salv_table=&amp;gt;factory&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            r_salv_table = go_table&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            t_table      = &amp;lt;gt_itab&amp;gt;.&lt;/P&gt;&lt;P&gt;        go_table-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_msg .&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;" Display component list in order to prove that indeed the field names&lt;/P&gt;&lt;P&gt;" are used (instead of the data element names)&lt;/P&gt;&lt;P&gt;  TRY.&lt;/P&gt;&lt;P&gt;      CALL METHOD cl_salv_table=&amp;gt;factory&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          r_salv_table = go_table&lt;/P&gt;&lt;P&gt;        CHANGING&lt;/P&gt;&lt;P&gt;          t_table      = gt_components.&lt;/P&gt;&lt;P&gt;      go_table-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_msg .&lt;/P&gt;&lt;P&gt;  ENDTRY.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  " Add table type as field to structure ==&amp;gt; complex structure&lt;/P&gt;&lt;P&gt;  CLEAR: gs_comp.&lt;/P&gt;&lt;P&gt;  gs_comp-type ?= cl_abap_typedescr=&amp;gt;describe_by_data( celltab ).&lt;/P&gt;&lt;P&gt;  gs_comp-name  = 'CELLTAB'.&lt;/P&gt;&lt;P&gt;  APPEND gs_comp TO gt_components.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  go_sdescr  = cl_abap_structdescr=&amp;gt;create( gt_components ).&lt;/P&gt;&lt;P&gt;  go_tdescr  = cl_abap_tabledescr=&amp;gt;create( go_sdescr ).&lt;/P&gt;&lt;P&gt;  CREATE DATA gdo_handle TYPE HANDLE go_tdescr.&lt;/P&gt;&lt;P&gt;  ASSIGN gdo_handle-&amp;gt;* TO &amp;lt;gt_itab&amp;gt;.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Dynamic select&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT        * FROM  (p_tabnam)&lt;/P&gt;&lt;P&gt;    INTO CORRESPONDING FIELDS OF TABLE &amp;lt;gt_itab&amp;gt;&lt;/P&gt;&lt;P&gt;         WHERE  bukrs  = '2000'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  " Simplified version of table creation:&lt;/P&gt;&lt;P&gt;  CLEAR: gdo_data.&lt;/P&gt;&lt;P&gt;  UNASSIGN &amp;lt;gt_itab&amp;gt;.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CREATE DATA gdo_data TYPE STANDARD TABLE OF (p_tabnam).&lt;/P&gt;&lt;P&gt;  ASSIGN gdo_data-&amp;gt;* TO &amp;lt;gt_itab&amp;gt;.&lt;/P&gt;&lt;P&gt; &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;P&gt;&lt;/P&gt;&lt;P&gt;Reward pts if found usefull &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sathish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2007 06:53:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-write-dynamic-report/m-p/2947708#M694920</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-15T06:53:09Z</dc:date>
    </item>
  </channel>
</rss>

