<?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 selection in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-selection/m-p/3827622#M920451</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;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;If this question is regarding dynamic selection screen&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;just execute this sample code ...&lt;/P&gt;&lt;P&gt;This program displays an empty selection screen with two Push buttons on Application tool bar 'Material' , 'Purchase Document'..&lt;/P&gt;&lt;P&gt;When u click on the Material .. u will get a select option to enter values for the Material.. and when u click on the purchase Document ,, u will get a select option to enter PO numbers...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : mara, ekko, sscrfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : w_flag1 type i,&lt;/P&gt;&lt;P&gt;w_flag2 type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_MATNR FOR MARA-MATNR MODIF ID sc1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN MODIF ID sc2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: FUNCTION KEY 1,&lt;/P&gt;&lt;P&gt;FUNCTION KEY 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;sscrfields-functxt_01 = 'Material'.&lt;/P&gt;&lt;P&gt;sscrfields-functxt_02 = 'Purchase document'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-GROUP1 = 'SC1' OR SCREEN-GROUP1 = 'SC2'.&lt;/P&gt;&lt;P&gt;SCREEN-ACTIVE = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;CONTINUE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At selection-screen output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF w_flag1 = 1.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-GROUP1 = 'SC2'.&lt;/P&gt;&lt;P&gt;SCREEN-ACTIVE = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;CLEAR W_FLAG1.&lt;/P&gt;&lt;P&gt;ELSEIF W_FLAG2 EQ 1.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-GROUP1 = 'SC1'.&lt;/P&gt;&lt;P&gt;SCREEN-ACTIVE = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;CLEAR W_FLAG2.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;CASE sscrfields-ucomm.&lt;/P&gt;&lt;P&gt;WHEN 'FC01'.&lt;/P&gt;&lt;P&gt;w_flag1 = 1.&lt;/P&gt;&lt;P&gt;WHEN 'FC02'.&lt;/P&gt;&lt;P&gt;w_flag2 = 1.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;If this regarding Dynamic Select Statement&lt;/STRONG&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;The very useful SELECT statement could be fully dynamic from release 6.10 and up.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an example of a fully dynamic select. &lt;/P&gt;&lt;P&gt;Code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zdany_dynamic_select. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We use some parameters to dynamically control the select, this is not very &lt;/P&gt;&lt;P&gt;clever but this is just a test program !! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETER : p_tabnam TYPE tabname DEFAULT 'SFLIGHT', &lt;/P&gt;&lt;P&gt;p_selfl1 TYPE edpline DEFAULT 'CARRID', &lt;/P&gt;&lt;P&gt;p_selfl2 TYPE edpline DEFAULT 'CONNID', &lt;/P&gt;&lt;P&gt;p_selfl3 TYPE edpline DEFAULT 'FLDATE', &lt;/P&gt;&lt;P&gt;p_selfl4 TYPE edpline DEFAULT 'PRICE', &lt;/P&gt;&lt;P&gt;p_selfl5 TYPE edpline DEFAULT 'CURRENCY', &lt;/P&gt;&lt;P&gt;p_where1 TYPE edpline DEFAULT 'PRICE &amp;gt; 300', &lt;/P&gt;&lt;P&gt;p_where2 TYPE edpline DEFAULT 'AND CURRENCY = ''EUR'''. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS : &amp;lt;lt_outtab&amp;gt; TYPE ANY TABLE, &lt;/P&gt;&lt;P&gt;&amp;lt;ls_outtab&amp;gt; TYPE ANY, &lt;/P&gt;&lt;P&gt;&amp;lt;l_fld&amp;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;P&gt;DATA: lt_where TYPE TABLE OF edpline, &lt;/P&gt;&lt;P&gt;lt_sel_list TYPE TABLE OF edpline, &lt;/P&gt;&lt;P&gt;lt_group TYPE TABLE OF edpline, &lt;/P&gt;&lt;P&gt;l_having TYPE string, &lt;/P&gt;&lt;P&gt;l_wa_name TYPE string, &lt;/P&gt;&lt;P&gt;l_sel_list TYPE edpline, &lt;/P&gt;&lt;P&gt;dref TYPE REF TO data, &lt;/P&gt;&lt;P&gt;itab_type TYPE REF TO cl_abap_tabledescr, &lt;/P&gt;&lt;P&gt;struct_type TYPE REF TO cl_abap_structdescr, &lt;/P&gt;&lt;P&gt;elem_type TYPE REF TO cl_abap_elemdescr, &lt;/P&gt;&lt;P&gt;comp_tab TYPE cl_abap_structdescr=&amp;gt;component_table, &lt;/P&gt;&lt;P&gt;comp_fld TYPE cl_abap_structdescr=&amp;gt;component. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: f_count TYPE i. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creation of the output table including a non standard field, f_count &lt;/P&gt;&lt;P&gt;see ABAP FAQ #14 for more information on this topic &lt;/P&gt;&lt;P&gt;struct_type ?= cl_abap_typedescr=&amp;gt;describe_by_name( p_tabnam ).&lt;/P&gt;&lt;P&gt;elem_type ?= cl_abap_elemdescr=&amp;gt;describe_by_name( 'F_COUNT' ).&lt;/P&gt;&lt;P&gt;comp_tab = struct_type-&amp;gt;get_components( ).&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;P&gt;We remove the unnecessary fields &lt;/P&gt;&lt;P&gt;LOOP AT comp_tab INTO comp_fld. &lt;/P&gt;&lt;P&gt;IF comp_fld-name p_selfl1 AND &lt;/P&gt;&lt;P&gt;comp_fld-name p_selfl2 AND &lt;/P&gt;&lt;P&gt;comp_fld-name p_selfl3 AND &lt;/P&gt;&lt;P&gt;comp_fld-name p_selfl4 AND &lt;/P&gt;&lt;P&gt;comp_fld-name p_selfl5. &lt;/P&gt;&lt;P&gt;DELETE TABLE comp_tab WITH TABLE KEY name = comp_fld-name. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;comp_fld-name = 'F_COUNT'.&lt;/P&gt;&lt;P&gt;comp_fld-type = elem_type.&lt;/P&gt;&lt;P&gt;APPEND comp_fld TO comp_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;struct_type = cl_abap_structdescr=&amp;gt;create( comp_tab ).&lt;/P&gt;&lt;P&gt;itab_type = cl_abap_tabledescr=&amp;gt;create( struct_type ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_wa_name = 'l_WA'.&lt;/P&gt;&lt;P&gt;CREATE DATA dref TYPE HANDLE itab_type.&lt;/P&gt;&lt;P&gt;ASSIGN dref-&amp;gt;* TO &amp;lt;lt_outtab&amp;gt;.&lt;/P&gt;&lt;P&gt;CREATE DATA dref TYPE HANDLE struct_type.&lt;/P&gt;&lt;P&gt;ASSIGN dref-&amp;gt;* TO &amp;lt;ls_outtab&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creation of the selection fields and the "group by" clause &lt;/P&gt;&lt;P&gt;APPEND p_selfl1 TO lt_sel_list.APPEND p_selfl1 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND p_selfl2 TO lt_sel_list.APPEND p_selfl2 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND p_selfl3 TO lt_sel_list.APPEND p_selfl3 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND p_selfl4 TO lt_sel_list.APPEND p_selfl4 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND p_selfl5 TO lt_sel_list.APPEND p_selfl5 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND 'COUNT(*) AS F_COUNT' TO lt_sel_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;creation of the "where" clause&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;APPEND p_where1 TO lt_where.&lt;/P&gt;&lt;P&gt;APPEND p_where2 TO lt_where. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creation of the "having" clause &lt;/P&gt;&lt;P&gt;l_having = 'count(*) &amp;gt;= 1'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THE dynamic selectSELECT (lt_sel_list) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FROM (p_tabnam) &lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE &amp;lt;lt_outtab&amp;gt; &lt;/P&gt;&lt;P&gt;WHERE (lt_where) &lt;/P&gt;&lt;P&gt;GROUP BY (lt_group) &lt;/P&gt;&lt;P&gt;HAVING (l_having) &lt;/P&gt;&lt;P&gt;ORDER BY (lt_group). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;display of the results &lt;/P&gt;&lt;P&gt;LOOP AT &amp;lt;lt_outtab&amp;gt; ASSIGNING &amp;lt;ls_outtab&amp;gt;. &lt;/P&gt;&lt;P&gt;LOOP AT comp_tab INTO comp_fld. &lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT comp_fld-name OF STRUCTURE &amp;lt;ls_outtab&amp;gt; TO &amp;lt;l_fld&amp;gt;. &lt;/P&gt;&lt;P&gt;WRITE: &amp;lt;l_fld&amp;gt;. &lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward Points if found helpfull..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Display of flight connections after input of airline and flight number:&lt;/P&gt;&lt;P&gt;PARAMETERS: carr_id TYPE spfli-carrid,&lt;/P&gt;&lt;P&gt;            conn_id TYPE spfli-connid.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA:       where_clause TYPE  STRING,&lt;/P&gt;&lt;P&gt;            and(4),&lt;/P&gt;&lt;P&gt;            wa_spfli TYPE spfli.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;IF carr_id IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'CARRID = ''' carr_id '''' INTO where_clause.&lt;/P&gt;&lt;P&gt;  and = ' AND'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF conn_id IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  CONCATENATE where_clause and ' CONNID = ''' conn_id ''''&lt;/P&gt;&lt;P&gt;    INTO where_clause.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;SELECT * FROM spfli INTO wa_spfli WHERE (where_clause).&lt;/P&gt;&lt;P&gt;  WRITE: / wa_spfli-carrid, wa_spfli-connid, wa_spfli-cityfrom,&lt;/P&gt;&lt;P&gt;           wa_spfli-cityto, wa_spfli-deptime.&lt;/P&gt;&lt;P&gt;ENDSELECT. &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;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Raj.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 13 May 2008 10:31:58 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-05-13T10:31:58Z</dc:date>
    <item>
      <title>dynamic selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-selection/m-p/3827621#M920450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;        What is meant by dynamic selection.&lt;/P&gt;&lt;P&gt;        &lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;kushagra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 May 2008 10:07:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-selection/m-p/3827621#M920450</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-13T10:07:36Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-selection/m-p/3827622#M920451</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;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;If this question is regarding dynamic selection screen&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;just execute this sample code ...&lt;/P&gt;&lt;P&gt;This program displays an empty selection screen with two Push buttons on Application tool bar 'Material' , 'Purchase Document'..&lt;/P&gt;&lt;P&gt;When u click on the Material .. u will get a select option to enter values for the Material.. and when u click on the purchase Document ,, u will get a select option to enter PO numbers...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : mara, ekko, sscrfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : w_flag1 type i,&lt;/P&gt;&lt;P&gt;w_flag2 type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_MATNR FOR MARA-MATNR MODIF ID sc1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN MODIF ID sc2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: FUNCTION KEY 1,&lt;/P&gt;&lt;P&gt;FUNCTION KEY 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;sscrfields-functxt_01 = 'Material'.&lt;/P&gt;&lt;P&gt;sscrfields-functxt_02 = 'Purchase document'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-GROUP1 = 'SC1' OR SCREEN-GROUP1 = 'SC2'.&lt;/P&gt;&lt;P&gt;SCREEN-ACTIVE = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;CONTINUE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At selection-screen output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF w_flag1 = 1.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-GROUP1 = 'SC2'.&lt;/P&gt;&lt;P&gt;SCREEN-ACTIVE = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;CLEAR W_FLAG1.&lt;/P&gt;&lt;P&gt;ELSEIF W_FLAG2 EQ 1.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-GROUP1 = 'SC1'.&lt;/P&gt;&lt;P&gt;SCREEN-ACTIVE = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;CLEAR W_FLAG2.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;CASE sscrfields-ucomm.&lt;/P&gt;&lt;P&gt;WHEN 'FC01'.&lt;/P&gt;&lt;P&gt;w_flag1 = 1.&lt;/P&gt;&lt;P&gt;WHEN 'FC02'.&lt;/P&gt;&lt;P&gt;w_flag2 = 1.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;If this regarding Dynamic Select Statement&lt;/STRONG&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;The very useful SELECT statement could be fully dynamic from release 6.10 and up.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an example of a fully dynamic select. &lt;/P&gt;&lt;P&gt;Code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zdany_dynamic_select. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We use some parameters to dynamically control the select, this is not very &lt;/P&gt;&lt;P&gt;clever but this is just a test program !! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETER : p_tabnam TYPE tabname DEFAULT 'SFLIGHT', &lt;/P&gt;&lt;P&gt;p_selfl1 TYPE edpline DEFAULT 'CARRID', &lt;/P&gt;&lt;P&gt;p_selfl2 TYPE edpline DEFAULT 'CONNID', &lt;/P&gt;&lt;P&gt;p_selfl3 TYPE edpline DEFAULT 'FLDATE', &lt;/P&gt;&lt;P&gt;p_selfl4 TYPE edpline DEFAULT 'PRICE', &lt;/P&gt;&lt;P&gt;p_selfl5 TYPE edpline DEFAULT 'CURRENCY', &lt;/P&gt;&lt;P&gt;p_where1 TYPE edpline DEFAULT 'PRICE &amp;gt; 300', &lt;/P&gt;&lt;P&gt;p_where2 TYPE edpline DEFAULT 'AND CURRENCY = ''EUR'''. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS : &amp;lt;lt_outtab&amp;gt; TYPE ANY TABLE, &lt;/P&gt;&lt;P&gt;&amp;lt;ls_outtab&amp;gt; TYPE ANY, &lt;/P&gt;&lt;P&gt;&amp;lt;l_fld&amp;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;P&gt;DATA: lt_where TYPE TABLE OF edpline, &lt;/P&gt;&lt;P&gt;lt_sel_list TYPE TABLE OF edpline, &lt;/P&gt;&lt;P&gt;lt_group TYPE TABLE OF edpline, &lt;/P&gt;&lt;P&gt;l_having TYPE string, &lt;/P&gt;&lt;P&gt;l_wa_name TYPE string, &lt;/P&gt;&lt;P&gt;l_sel_list TYPE edpline, &lt;/P&gt;&lt;P&gt;dref TYPE REF TO data, &lt;/P&gt;&lt;P&gt;itab_type TYPE REF TO cl_abap_tabledescr, &lt;/P&gt;&lt;P&gt;struct_type TYPE REF TO cl_abap_structdescr, &lt;/P&gt;&lt;P&gt;elem_type TYPE REF TO cl_abap_elemdescr, &lt;/P&gt;&lt;P&gt;comp_tab TYPE cl_abap_structdescr=&amp;gt;component_table, &lt;/P&gt;&lt;P&gt;comp_fld TYPE cl_abap_structdescr=&amp;gt;component. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: f_count TYPE i. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creation of the output table including a non standard field, f_count &lt;/P&gt;&lt;P&gt;see ABAP FAQ #14 for more information on this topic &lt;/P&gt;&lt;P&gt;struct_type ?= cl_abap_typedescr=&amp;gt;describe_by_name( p_tabnam ).&lt;/P&gt;&lt;P&gt;elem_type ?= cl_abap_elemdescr=&amp;gt;describe_by_name( 'F_COUNT' ).&lt;/P&gt;&lt;P&gt;comp_tab = struct_type-&amp;gt;get_components( ).&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;P&gt;We remove the unnecessary fields &lt;/P&gt;&lt;P&gt;LOOP AT comp_tab INTO comp_fld. &lt;/P&gt;&lt;P&gt;IF comp_fld-name p_selfl1 AND &lt;/P&gt;&lt;P&gt;comp_fld-name p_selfl2 AND &lt;/P&gt;&lt;P&gt;comp_fld-name p_selfl3 AND &lt;/P&gt;&lt;P&gt;comp_fld-name p_selfl4 AND &lt;/P&gt;&lt;P&gt;comp_fld-name p_selfl5. &lt;/P&gt;&lt;P&gt;DELETE TABLE comp_tab WITH TABLE KEY name = comp_fld-name. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;comp_fld-name = 'F_COUNT'.&lt;/P&gt;&lt;P&gt;comp_fld-type = elem_type.&lt;/P&gt;&lt;P&gt;APPEND comp_fld TO comp_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;struct_type = cl_abap_structdescr=&amp;gt;create( comp_tab ).&lt;/P&gt;&lt;P&gt;itab_type = cl_abap_tabledescr=&amp;gt;create( struct_type ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_wa_name = 'l_WA'.&lt;/P&gt;&lt;P&gt;CREATE DATA dref TYPE HANDLE itab_type.&lt;/P&gt;&lt;P&gt;ASSIGN dref-&amp;gt;* TO &amp;lt;lt_outtab&amp;gt;.&lt;/P&gt;&lt;P&gt;CREATE DATA dref TYPE HANDLE struct_type.&lt;/P&gt;&lt;P&gt;ASSIGN dref-&amp;gt;* TO &amp;lt;ls_outtab&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creation of the selection fields and the "group by" clause &lt;/P&gt;&lt;P&gt;APPEND p_selfl1 TO lt_sel_list.APPEND p_selfl1 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND p_selfl2 TO lt_sel_list.APPEND p_selfl2 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND p_selfl3 TO lt_sel_list.APPEND p_selfl3 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND p_selfl4 TO lt_sel_list.APPEND p_selfl4 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND p_selfl5 TO lt_sel_list.APPEND p_selfl5 TO lt_group.&lt;/P&gt;&lt;P&gt;APPEND 'COUNT(*) AS F_COUNT' TO lt_sel_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;creation of the "where" clause&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;APPEND p_where1 TO lt_where.&lt;/P&gt;&lt;P&gt;APPEND p_where2 TO lt_where. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creation of the "having" clause &lt;/P&gt;&lt;P&gt;l_having = 'count(*) &amp;gt;= 1'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THE dynamic selectSELECT (lt_sel_list) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FROM (p_tabnam) &lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE &amp;lt;lt_outtab&amp;gt; &lt;/P&gt;&lt;P&gt;WHERE (lt_where) &lt;/P&gt;&lt;P&gt;GROUP BY (lt_group) &lt;/P&gt;&lt;P&gt;HAVING (l_having) &lt;/P&gt;&lt;P&gt;ORDER BY (lt_group). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;display of the results &lt;/P&gt;&lt;P&gt;LOOP AT &amp;lt;lt_outtab&amp;gt; ASSIGNING &amp;lt;ls_outtab&amp;gt;. &lt;/P&gt;&lt;P&gt;LOOP AT comp_tab INTO comp_fld. &lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT comp_fld-name OF STRUCTURE &amp;lt;ls_outtab&amp;gt; TO &amp;lt;l_fld&amp;gt;. &lt;/P&gt;&lt;P&gt;WRITE: &amp;lt;l_fld&amp;gt;. &lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward Points if found helpfull..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Display of flight connections after input of airline and flight number:&lt;/P&gt;&lt;P&gt;PARAMETERS: carr_id TYPE spfli-carrid,&lt;/P&gt;&lt;P&gt;            conn_id TYPE spfli-connid.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA:       where_clause TYPE  STRING,&lt;/P&gt;&lt;P&gt;            and(4),&lt;/P&gt;&lt;P&gt;            wa_spfli TYPE spfli.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;IF carr_id IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'CARRID = ''' carr_id '''' INTO where_clause.&lt;/P&gt;&lt;P&gt;  and = ' AND'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF conn_id IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;  CONCATENATE where_clause and ' CONNID = ''' conn_id ''''&lt;/P&gt;&lt;P&gt;    INTO where_clause.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;SELECT * FROM spfli INTO wa_spfli WHERE (where_clause).&lt;/P&gt;&lt;P&gt;  WRITE: / wa_spfli-carrid, wa_spfli-connid, wa_spfli-cityfrom,&lt;/P&gt;&lt;P&gt;           wa_spfli-cityto, wa_spfli-deptime.&lt;/P&gt;&lt;P&gt;ENDSELECT. &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;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Raj.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 May 2008 10:31:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-selection/m-p/3827622#M920451</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-13T10:31:58Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-selection/m-p/3827623#M920452</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;Dynamic selections allow the users to enter the values for the fields that are not part of main selection screen of logical database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go throught the following link:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/9f/dba65c35c111d1829f0000e829fbfe/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/9f/dba65c35c111d1829f0000e829fbfe/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chandrasekhar K&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 May 2008 11:27:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-selection/m-p/3827623#M920452</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-13T11:27:31Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-selection/m-p/3827624#M920453</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi check this..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/67/93b80914a911d2953c0000e8353423/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/67/93b80914a911d2953c0000e8353423/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;venkat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 May 2008 11:31:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-selection/m-p/3827624#M920453</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-13T11:31:41Z</dc:date>
    </item>
  </channel>
</rss>

