<?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 Regarding Dynamic selection in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-dynamic-selection/m-p/2988031#M705679</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can any one let me know how to use &amp;lt;b&amp;gt;dynamic selection&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;with out using a LDB.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regads,&lt;/P&gt;&lt;P&gt;siva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 13 Nov 2007 05:16:27 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-13T05:16:27Z</dc:date>
    <item>
      <title>Regarding Dynamic selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-dynamic-selection/m-p/2988031#M705679</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can any one let me know how to use &amp;lt;b&amp;gt;dynamic selection&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;with out using a LDB.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regads,&lt;/P&gt;&lt;P&gt;siva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Nov 2007 05:16:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-dynamic-selection/m-p/2988031#M705679</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-13T05:16:27Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding Dynamic selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-dynamic-selection/m-p/2988032#M705680</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try this.&lt;/P&gt;&lt;P&gt;Syntax Diagram &lt;/P&gt;&lt;P&gt;MODIFY SCREEN &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Syntax &lt;/P&gt;&lt;P&gt;MODIFY SCREEN [FROM wa]. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Effect &lt;/P&gt;&lt;P&gt;This statement can be used in the statement block after LOOP AT SCREEN only and makes sense only during PBO processing. If FROM is not specified, MODIFY SCREEN modifies the attributes of the current screen element with the values from the predefined screen work area. If a wa work area is specified, its contents are used for the modification. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The wa work area must have the same data type as screen. The name component must contain the name of the current screen element, otherwise the statement is not executed. nweisung nicht ausgef&amp;amp;#63692;hrt. Up to the group1 to group4 and length components, all remaining components of screen and wa must contain either the value 0 or 1. The value 0 deactivates the corresponding field attribute, and 1 activates it. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If MODIFY SCREEN is executed during PBO processing, the modified attributes for the display of the screen affect the current dynpro after PBO processing. The attributes of the screen element of the dynpro are reset to their static attributes at the start of each PBO processing, so that the execution of MODIFY SCREEN during PAI processing does not effect the display of the following screen. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The active component &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The active component is used to set the input, output and invisible components at once. At the start of PBO processing, the active component always has the value 1. If active is set to 0 with MODIFY SCREEN, input and output are automatically set to 0 and invisible is set to 1. Other values in input, output and invisible are ignored. Conversely, setting input and output to 0 and invisible to 1 automatically sets active to 0 and a different value in active is ignored. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Modifications in Table Controls and Step Loops &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;During processing of a table control or a step loop, the changes affect the current line of the table control or the current step loop group. Before the processing of a table control, the change to the attributes of a screen element that is part of a line in the table control does not effect the table control, since the values are transferred from the structure created using CONTROLS. Before a step loop is processed, the change to the attributes of a screen elements that is part of a step loop group affects all groups in the step loop. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Modifications to Tabstrip Controls &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the active component for a tab title of a tabstrip control is set to 0, the whole tabstrip page is hidden. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example &lt;/P&gt;&lt;P&gt;In the following PBO module, an input field called val is made mandatory and converted to display in the foreground. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE modify_0100 OUTPUT. &lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN. &lt;/P&gt;&lt;P&gt;    IF screen-name = 'VAL'. &lt;/P&gt;&lt;P&gt;      screen-required    = '1'. &lt;/P&gt;&lt;P&gt;      screen-intensified = '1'. &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;ENDMODULE.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Nov 2007 05:19:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-dynamic-selection/m-p/2988032#M705680</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-13T05:19:16Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding Dynamic selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-dynamic-selection/m-p/2988033#M705681</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try to execute this.&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;Program Details                                                      *&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;report  z_vik_dynamic_ss line-size  80&lt;/P&gt;&lt;P&gt;                         line-count 64&lt;/P&gt;&lt;P&gt;                         message-id zz&lt;/P&gt;&lt;P&gt;                         no standard page heading.&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;Tables                                                               *&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; &lt;/P&gt;&lt;P&gt;tables : sscrfields,                "Fields on selection screens&lt;/P&gt;&lt;P&gt;         dd03l.                     "Table Fields&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;Type Pools                                                           *&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; &lt;/P&gt;&lt;P&gt;type-pools:rsds.&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;Selection Screen                                                     *&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; &lt;/P&gt;&lt;P&gt;selection-screen : begin of block b1 with frame title text-001,&lt;/P&gt;&lt;P&gt;                   skip,&lt;/P&gt;&lt;P&gt;                   begin of line,&lt;/P&gt;&lt;P&gt;                   comment 1(5) text-002.&lt;/P&gt;&lt;P&gt;parameters : p_tab like dd03l-tabname obligatory.            "Table name&lt;/P&gt;&lt;P&gt;selection-screen : pushbutton 45(8) p_btn user-command clk,&lt;/P&gt;&lt;P&gt;"Select-options&lt;/P&gt;&lt;P&gt;                   end of line,&lt;/P&gt;&lt;P&gt;                   end of block b1.&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;Types                                                                *&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; &lt;/P&gt;&lt;P&gt;types: begin of t_dd03l,&lt;/P&gt;&lt;P&gt;        tabname like dd03l-tabname,              "Table Name&lt;/P&gt;&lt;P&gt;        fieldname like dd03l-fieldname,          "Field Name&lt;/P&gt;&lt;P&gt;        keyflag   like dd03l-keyflag,            "Key Flag&lt;/P&gt;&lt;P&gt;        rollname  like dd03l-rollname,           "Roll Name&lt;/P&gt;&lt;P&gt;        position like dd03l-position,            "Position&lt;/P&gt;&lt;P&gt;        ddtext(30),                              "Description&lt;/P&gt;&lt;P&gt;       end of t_dd03l,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;       begin of t_fields.&lt;/P&gt;&lt;P&gt;        include structure dd03l.&lt;/P&gt;&lt;P&gt;types: end of t_fields.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;types : begin of t_tabs.&lt;/P&gt;&lt;P&gt;"To hold the table names&lt;/P&gt;&lt;P&gt;        include structure rsdstabs.&lt;/P&gt;&lt;P&gt;types : end   of t_tabs.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;types : begin of t_flds.&lt;/P&gt;&lt;P&gt;"To hold the field names&lt;/P&gt;&lt;P&gt;        include structure rsdsfields.&lt;/P&gt;&lt;P&gt;types : end   of t_flds.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;types : begin of t_fname,&lt;/P&gt;&lt;P&gt;"To hold the field names&lt;/P&gt;&lt;P&gt;          fld like dd03l-fieldname,&lt;/P&gt;&lt;P&gt;        end of t_fname.&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;Internal Tables                                                      *&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; &lt;/P&gt;&lt;P&gt;data : it_dd03l   type table of t_dd03l,   "To hold the field names&lt;/P&gt;&lt;P&gt;       it_tabs    type table of t_tabs,    "To hold the table names&lt;/P&gt;&lt;P&gt;       it_flds    type table of t_flds,    "To hold the field names&lt;/P&gt;&lt;P&gt;       it_temp    type table of t_flds,&lt;/P&gt;&lt;P&gt;       "Temp. table to hold field names&lt;/P&gt;&lt;P&gt;       it_fields  type table of t_fields,  "To hold the field names&lt;/P&gt;&lt;P&gt;       it_cat     type table of lvc_s_fcat,"To hold Field Catalog&lt;/P&gt;&lt;P&gt;       it_fname   type table of t_fname.&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;Work areas                                                           *&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; &lt;/P&gt;&lt;P&gt;data: d_ref     type ref to data ,         "Data reference&lt;/P&gt;&lt;P&gt;      wa_dd03l  like line of it_dd03l,     "Workarea for IT_DD03L&lt;/P&gt;&lt;P&gt;      wa_tabs   like line of it_tabs,      "Workarea for IT_TABS&lt;/P&gt;&lt;P&gt;      wa_flds   like line of it_flds,      "Workarea for IT_FLDS&lt;/P&gt;&lt;P&gt;      wa_temp   like line of it_temp,      "Workarea for IT_TEMP&lt;/P&gt;&lt;P&gt;      wa_fields like line of it_fields,    "Workarea for IT_FIELDS&lt;/P&gt;&lt;P&gt;      wa_cat    like line of it_cat ,      "Workarea for IT_CAT&lt;/P&gt;&lt;P&gt;      wa_fname  like line of it_fname.     "Workarea for IT_FNAME&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;Field Symbols                                                        *&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; &lt;/P&gt;&lt;P&gt;field-symbols : &amp;lt;f_fs&amp;gt; type table.&lt;/P&gt;&lt;P&gt;"FieldSymbol for holding fields&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;Variables                                                            *&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; &lt;/P&gt;&lt;P&gt;data: gx_texpr            type rsds_texpr,&lt;/P&gt;&lt;P&gt;"Variable to hold Expression&lt;/P&gt;&lt;P&gt;      gx_twhere           type rsds_twhere,&lt;/P&gt;&lt;P&gt;      "Variable to hold Where Clause&lt;/P&gt;&lt;P&gt;      gv_selid            like rsdynsel-selid,  "Variable to hold Selid&lt;/P&gt;&lt;P&gt;      gv_actnum           like sy-tfill,&lt;/P&gt;&lt;P&gt;      "Variable to hold no of fields&lt;/P&gt;&lt;P&gt;      gv_title            like sy-title,        "Variable to hold Title&lt;/P&gt;&lt;P&gt;      gv_where_cl(100)    type c,&lt;/P&gt;&lt;P&gt;      "Variable to hold Where clause&lt;/P&gt;&lt;P&gt;      gv_tbname           like dd03l-tabname,&lt;/P&gt;&lt;P&gt;      gv_temp.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;select-options:&lt;/P&gt;&lt;P&gt;  s_fld   for dd03l-fieldname no-display,       "To hold fields selected&lt;/P&gt;&lt;P&gt;  s_selop for dd03l-fieldname no-display,&lt;/P&gt;&lt;P&gt;  "To hold fields for creating dyn. select-options&lt;/P&gt;&lt;P&gt;  s_where for gv_where_cl no-display.           "To hold where condition&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;parameters: gv_t_old like dd03l-tabname no-display.&lt;/P&gt;&lt;P&gt;"Earlier Table name&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 : gt_grid type ref to cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;       gt_cust type ref to cl_gui_custom_container,    "Custom Container&lt;/P&gt;&lt;P&gt;       cust type scrfname value 'CC_OUTPUT'.&lt;/P&gt;&lt;P&gt;       "Custom controller&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;Constants                                                            *&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; &lt;/P&gt;&lt;P&gt;constants: gc_i      type c value 'I',&lt;/P&gt;&lt;P&gt;           gc_eq(2)  type c value 'EQ'.&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;Initialization                                                       *&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; &lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;**--Initialize values&lt;/P&gt;&lt;P&gt;  perform initialize.&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;At Selection Screen                                                  *&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; &lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;P&gt;**--Select the fields of the input table&lt;/P&gt;&lt;P&gt;  perform select_flds.&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;Start Of Selection                                                   *&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; &lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;**--Fetch data to display output&lt;/P&gt;&lt;P&gt;  perform fetch_data.&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;End Of Selection                                                     *&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;end-of-selection.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  call screen '0300'.&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;At User Command                                                      *&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;at user-command.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  case sy-ucomm.&lt;/P&gt;&lt;P&gt;    when 'OK'.&lt;/P&gt;&lt;P&gt;      refresh it_temp.&lt;/P&gt;&lt;P&gt;      clear it_temp.&lt;/P&gt;&lt;P&gt;      move 'S' to wa_temp-type.&lt;/P&gt;&lt;P&gt;      move gv_tbname to wa_temp-tablename.&lt;/P&gt;&lt;P&gt;      do.&lt;/P&gt;&lt;P&gt;        read line sy-index field value gv_temp into gv_temp.&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        if gv_temp eq 'X'.&lt;/P&gt;&lt;P&gt;          sy-index = sy-index - 1.&lt;/P&gt;&lt;P&gt;          read table it_dd03l into wa_dd03l index sy-index.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            move wa_dd03l-fieldname to wa_temp-fieldname.&lt;/P&gt;&lt;P&gt;            append wa_temp to it_temp.&lt;/P&gt;&lt;P&gt;            clear gv_temp.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      enddo.&lt;/P&gt;&lt;P&gt;      describe table it_temp.&lt;/P&gt;&lt;P&gt;      if sy-tfill gt 70.&lt;/P&gt;&lt;P&gt;**--More than 70 fields can not be selected&lt;/P&gt;&lt;P&gt;        message i001 with 'Cannot select more than 70 Parameters'(006).&lt;/P&gt;&lt;P&gt;        refresh it_temp[]. clear it_temp.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        leave list-processing.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    when 'CANCEL'.&lt;/P&gt;&lt;P&gt;      leave list-processing.&lt;/P&gt;&lt;P&gt;    when 'SELALL'.&lt;/P&gt;&lt;P&gt;**--Select all fields&lt;/P&gt;&lt;P&gt;      clear wa_dd03l-fieldname.&lt;/P&gt;&lt;P&gt;      do.&lt;/P&gt;&lt;P&gt;        read line sy-index.&lt;/P&gt;&lt;P&gt;        if sy-subrc eq 0 and&lt;/P&gt;&lt;P&gt;           wa_dd03l-fieldname ne space.&lt;/P&gt;&lt;P&gt;          gv_temp = 'X'.&lt;/P&gt;&lt;P&gt;          modify line sy-index index 0 field value gv_temp.&lt;/P&gt;&lt;P&gt;          hide gv_temp.&lt;/P&gt;&lt;P&gt;          clear wa_dd03l-fieldname.&lt;/P&gt;&lt;P&gt;        elseif sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      enddo.&lt;/P&gt;&lt;P&gt;    when 'DSELALL'.&lt;/P&gt;&lt;P&gt;**--Deselect all fields&lt;/P&gt;&lt;P&gt;      clear gv_temp.&lt;/P&gt;&lt;P&gt;      do.&lt;/P&gt;&lt;P&gt;        read line sy-index.&lt;/P&gt;&lt;P&gt;        if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;          clear gv_temp.&lt;/P&gt;&lt;P&gt;          modify line sy-index index 0 field value gv_temp from gv_temp.&lt;/P&gt;&lt;P&gt;          hide gv_temp.&lt;/P&gt;&lt;P&gt;        elseif sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      enddo.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;  sy-lsind = 0.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  INITIALIZE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Initialize values on selection-screen&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 initialize .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  p_btn = 'Options'(003).&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;endform.                    " INITIALIZE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SELECT_FLDS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Select fields from the 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 select_flds .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  case sscrfields-ucomm.&lt;/P&gt;&lt;P&gt;    when 'CLK'.&lt;/P&gt;&lt;P&gt;**--Display Screen with the list of fields&lt;/P&gt;&lt;P&gt;      perform genr_scr.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;endform.                    " SELECT_FLDS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  genr_scr&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Display a screen with list of fields&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 genr_scr.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--If table in the parameter is not the same as the old table and&lt;/P&gt;&lt;P&gt;**--old table is not blank, then initialise all the variables associated&lt;/P&gt;&lt;P&gt;  if p_tab ne gv_t_old and gv_t_old is not initial.&lt;/P&gt;&lt;P&gt;    refresh: it_tabs, it_flds,&lt;/P&gt;&lt;P&gt;             gx_texpr, gx_twhere,&lt;/P&gt;&lt;P&gt;             s_where, s_selop.&lt;/P&gt;&lt;P&gt;    clear: gv_selid.&lt;/P&gt;&lt;P&gt;**--Pass current table parameter value to Old table parameter&lt;/P&gt;&lt;P&gt;    gv_t_old = p_tab.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Pass the current table name to old table variable&lt;/P&gt;&lt;P&gt;  if gv_t_old eq space.&lt;/P&gt;&lt;P&gt;    gv_t_old = p_tab.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Check if table name is given before clicking the button&lt;/P&gt;&lt;P&gt;  if p_tab is initial.&lt;/P&gt;&lt;P&gt;    message e001 with 'Enter the Table name'(004).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Get the list of fields of a given table&lt;/P&gt;&lt;P&gt;  perform get_selections.&lt;/P&gt;&lt;P&gt;**--If none of the fields, provide the list of fields for selecting&lt;/P&gt;&lt;P&gt;  if it_flds[] is initial.&lt;/P&gt;&lt;P&gt;    clear gv_selid.&lt;/P&gt;&lt;P&gt;    perform select_fieldlist.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Show message if none of the fields are selected&lt;/P&gt;&lt;P&gt;  if it_flds[] is initial.&lt;/P&gt;&lt;P&gt;    message s001 with 'No parameters selected'(005).&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Generate dynamic select-options&lt;/P&gt;&lt;P&gt;  refresh it_tabs.&lt;/P&gt;&lt;P&gt;  clear : it_tabs, wa_tabs.&lt;/P&gt;&lt;P&gt;  wa_tabs-prim_tab = p_tab.&lt;/P&gt;&lt;P&gt;  append wa_tabs to it_tabs.&lt;/P&gt;&lt;P&gt;  perform set_values.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Generate Expression from Where clause&lt;/P&gt;&lt;P&gt;  call function 'FREE_SELECTIONS_WHERE_2_EX'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      where_clauses        = gx_twhere&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      expressions          = gx_texpr&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      incorrect_expression = 1&lt;/P&gt;&lt;P&gt;      others               = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message i001 with 'Error in Dynamic screen generation'(009).&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  if gx_texpr is not initial.&lt;/P&gt;&lt;P&gt;**--Populate values to select-options from expression&lt;/P&gt;&lt;P&gt;    perform set_values.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Display screen with the fields listed&lt;/P&gt;&lt;P&gt;  if gv_selid is not initial.&lt;/P&gt;&lt;P&gt;    perform call_screen.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " genr_scr&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_SELECTIONS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Fetch the fields in the table given&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; &lt;/P&gt;&lt;P&gt;form get_selections.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  data : wa_where like line of gx_twhere.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  refresh: it_flds, gx_twhere.&lt;/P&gt;&lt;P&gt;  clear : wa_flds.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  wa_flds-tablename = p_tab.&lt;/P&gt;&lt;P&gt;  wa_flds-type = 'S'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  loop at s_selop.&lt;/P&gt;&lt;P&gt;**--Populate all the fields selected that are previously selected&lt;/P&gt;&lt;P&gt;    wa_flds-fieldname = s_selop-low.&lt;/P&gt;&lt;P&gt;    append wa_flds to it_flds.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  if s_where[] is not initial.&lt;/P&gt;&lt;P&gt;**--Populate values to where condition if any data is previously given&lt;/P&gt;&lt;P&gt;**--to the dynamic select-options&lt;/P&gt;&lt;P&gt;    wa_where-tablename = p_tab.&lt;/P&gt;&lt;P&gt;    loop at s_where.&lt;/P&gt;&lt;P&gt;      append s_where-low to wa_where-where_tab.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;    append wa_where to gx_twhere.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " GET_SELECTIONS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SELECT_FIELDLIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Display the list of fields&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 select_fieldlist.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  clear: it_dd03l[], it_dd03l,&lt;/P&gt;&lt;P&gt;         gv_tbname.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Get field names for given table&lt;/P&gt;&lt;P&gt;  select tabname&lt;/P&gt;&lt;P&gt;         fieldname&lt;/P&gt;&lt;P&gt;         keyflag&lt;/P&gt;&lt;P&gt;         rollname&lt;/P&gt;&lt;P&gt;         position&lt;/P&gt;&lt;P&gt;    from dd03l&lt;/P&gt;&lt;P&gt;    into table it_dd03l&lt;/P&gt;&lt;P&gt;   where tabname eq p_tab&lt;/P&gt;&lt;P&gt;     and fieldname ne 'MANDT'.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    sort it_dd03l by position.&lt;/P&gt;&lt;P&gt;    delete it_dd03l where fieldname cp '.INCLU*'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Get the description of the fields&lt;/P&gt;&lt;P&gt;  loop at it_dd03l into wa_dd03l.&lt;/P&gt;&lt;P&gt;    if not wa_dd03l-rollname is initial.&lt;/P&gt;&lt;P&gt;      select single ddtext&lt;/P&gt;&lt;P&gt;        from dd04t&lt;/P&gt;&lt;P&gt;        into wa_dd03l-ddtext&lt;/P&gt;&lt;P&gt;       where rollname eq wa_dd03l-rollname&lt;/P&gt;&lt;P&gt;         and ddlanguage = sy-langu&lt;/P&gt;&lt;P&gt;         and as4local = 'A'.&lt;/P&gt;&lt;P&gt;      modify it_dd03l from wa_dd03l.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      select single ddtext&lt;/P&gt;&lt;P&gt;        from dd03t&lt;/P&gt;&lt;P&gt;        into wa_dd03l-ddtext&lt;/P&gt;&lt;P&gt;       where tabname eq wa_dd03l-tabname&lt;/P&gt;&lt;P&gt;         and ddlanguage = sy-langu&lt;/P&gt;&lt;P&gt;         and as4local = 'A'&lt;/P&gt;&lt;P&gt;         and fieldname = wa_dd03l-fieldname.&lt;/P&gt;&lt;P&gt;      modify it_dd03l from wa_dd03l.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  gv_tbname = p_tab.&lt;/P&gt;&lt;P&gt;**--Display screen with the fields listed for the given table&lt;/P&gt;&lt;P&gt;  call screen 200 starting at 10 2&lt;/P&gt;&lt;P&gt;               ending at 70 22.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Clear all the fields selected&lt;/P&gt;&lt;P&gt;  clear : it_flds, it_flds[], gv_tbname.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Populate the newly selected fields&lt;/P&gt;&lt;P&gt;  it_flds[] = it_temp[].&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Clear temporary table with the fields selected&lt;/P&gt;&lt;P&gt;  clear : it_temp, it_temp[].&lt;/P&gt;&lt;P&gt;endform.                    " SELECT_FIELDLIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  INITIALIZE_SCREEN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      text&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 initialize_screen.&lt;/P&gt;&lt;P&gt;  call function 'FREE_SELECTIONS_INIT'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      kind                     = 'T'&lt;/P&gt;&lt;P&gt;      expressions              = gx_texpr&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      selection_id             = gv_selid&lt;/P&gt;&lt;P&gt;      number_of_active_fields  = gv_actnum&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      tables_tab               = it_tabs&lt;/P&gt;&lt;P&gt;      fields_tab               = it_flds&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      fields_incomplete        = 01&lt;/P&gt;&lt;P&gt;      fields_no_join           = 02&lt;/P&gt;&lt;P&gt;      field_not_found          = 03&lt;/P&gt;&lt;P&gt;      no_tables                = 04&lt;/P&gt;&lt;P&gt;      table_not_found          = 05&lt;/P&gt;&lt;P&gt;      expression_not_supported = 06&lt;/P&gt;&lt;P&gt;      incorrect_expression     = 07&lt;/P&gt;&lt;P&gt;      illegal_kind             = 08&lt;/P&gt;&lt;P&gt;      area_not_found           = 09&lt;/P&gt;&lt;P&gt;      inconsistent_area        = 10&lt;/P&gt;&lt;P&gt;      kind_f_no_fields_left    = 11&lt;/P&gt;&lt;P&gt;      kind_f_no_fields         = 12&lt;/P&gt;&lt;P&gt;      too_many_fields          = 13.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;endform.                    " INITIALIZE_SCREEN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SET_VALUES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Set the values to the select-options&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 set_values.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  call function 'FREE_SELECTIONS_INIT'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      kind                     = 'T'&lt;/P&gt;&lt;P&gt;      expressions              = gx_texpr&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      selection_id             = gv_selid&lt;/P&gt;&lt;P&gt;      number_of_active_fields  = gv_actnum&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      tables_tab               = it_tabs&lt;/P&gt;&lt;P&gt;      fields_tab               = it_flds&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      fields_incomplete        = 01&lt;/P&gt;&lt;P&gt;      fields_no_join           = 02&lt;/P&gt;&lt;P&gt;      field_not_found          = 03&lt;/P&gt;&lt;P&gt;      no_tables                = 04&lt;/P&gt;&lt;P&gt;      table_not_found          = 05&lt;/P&gt;&lt;P&gt;      expression_not_supported = 06&lt;/P&gt;&lt;P&gt;      incorrect_expression     = 07&lt;/P&gt;&lt;P&gt;      illegal_kind             = 08&lt;/P&gt;&lt;P&gt;      area_not_found           = 09&lt;/P&gt;&lt;P&gt;      inconsistent_area        = 10&lt;/P&gt;&lt;P&gt;      kind_f_no_fields_left    = 11&lt;/P&gt;&lt;P&gt;      kind_f_no_fields         = 12&lt;/P&gt;&lt;P&gt;      too_many_fields          = 13.&lt;/P&gt;&lt;P&gt;endform.                    " SET_VALUES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CALL_SCREEN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Call the screen to display the fields&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 call_screen.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  data : wa_where like line of gx_twhere,&lt;/P&gt;&lt;P&gt;         lv_txt type string.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  lv_txt = 'Dynamic Selections Parameters for'(007).&lt;/P&gt;&lt;P&gt;  concatenate lv_txt p_tab&lt;/P&gt;&lt;P&gt;         into gv_title separated by space.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  call function 'FREE_SELECTIONS_DIALOG'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      selection_id            = gv_selid&lt;/P&gt;&lt;P&gt;      title                   = gv_title&lt;/P&gt;&lt;P&gt;      tree_visible            = ' '&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      where_clauses           = gx_twhere&lt;/P&gt;&lt;P&gt;      expressions             = gx_texpr&lt;/P&gt;&lt;P&gt;      number_of_active_fields = gv_actnum&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      fields_tab              = it_flds&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      internal_error          = 01&lt;/P&gt;&lt;P&gt;      no_action               = 02&lt;/P&gt;&lt;P&gt;      no_fields_selected      = 03&lt;/P&gt;&lt;P&gt;      no_tables_selected      = 04&lt;/P&gt;&lt;P&gt;      selid_not_found         = 05.&lt;/P&gt;&lt;P&gt;  if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    refresh: s_where, s_selop.&lt;/P&gt;&lt;P&gt;**--Populate the Where clause with selected values&lt;/P&gt;&lt;P&gt;    s_where-sign = gc_i.&lt;/P&gt;&lt;P&gt;    s_where-option = gc_eq.&lt;/P&gt;&lt;P&gt;    clear wa_where.&lt;/P&gt;&lt;P&gt;    read table gx_twhere index 1 into wa_where.&lt;/P&gt;&lt;P&gt;    loop at wa_where-where_tab into s_where-low.&lt;/P&gt;&lt;P&gt;      append s_where.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;**--Populate all the fields&lt;/P&gt;&lt;P&gt;    s_selop-sign = gc_i.&lt;/P&gt;&lt;P&gt;    s_selop-option = gc_eq.&lt;/P&gt;&lt;P&gt;    clear : wa_flds.&lt;/P&gt;&lt;P&gt;    loop at it_flds into wa_flds.&lt;/P&gt;&lt;P&gt;      s_selop-low = wa_flds-fieldname.&lt;/P&gt;&lt;P&gt;      append s_selop.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;endform.                    " CALL_SCREEN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0200  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Display screen with select-options&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;module status_0200 output.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  data: lv_txt type string.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  lv_txt = 'Selection Paramters List'(008).&lt;/P&gt;&lt;P&gt;  set pf-status 'DIALOG'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  leave to list-processing and return to screen 0.&lt;/P&gt;&lt;P&gt;  suppress dialog.&lt;/P&gt;&lt;P&gt;  move lv_txt to sy-title.&lt;/P&gt;&lt;P&gt;**--display list of fields that can be selected for creating dynamic&lt;/P&gt;&lt;P&gt;*select-options&lt;/P&gt;&lt;P&gt;  loop at it_dd03l into wa_dd03l.&lt;/P&gt;&lt;P&gt;    at first.&lt;/P&gt;&lt;P&gt;      write: (60) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    read table it_flds into wa_flds with key fieldname =&lt;/P&gt;&lt;P&gt;    wa_dd03l-fieldname.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      clear gv_temp.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      gv_temp = 'X'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    write:/ '|' ,gv_temp as checkbox.&lt;/P&gt;&lt;P&gt;    write:  (20) wa_dd03l-fieldname,'|', wa_dd03l-ddtext, at 60 '|'.&lt;/P&gt;&lt;P&gt;    hide: gv_temp, wa_dd03l-fieldname, wa_dd03l-keyflag.&lt;/P&gt;&lt;P&gt;    at last.&lt;/P&gt;&lt;P&gt;      write: (60) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endmodule.                 " STATUS_0200  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Fetch data from 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 fetch_data .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  data: lv_where type string,&lt;/P&gt;&lt;P&gt;        lv_cnt   type i.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Check for the existance of the table&lt;/P&gt;&lt;P&gt;  select *&lt;/P&gt;&lt;P&gt;    from dd03l&lt;/P&gt;&lt;P&gt;    into table it_fields&lt;/P&gt;&lt;P&gt;    where tabname = p_tab.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  sort it_fields by position.&lt;/P&gt;&lt;P&gt;**--Delete the fields starting with .INCLU&lt;/P&gt;&lt;P&gt;  delete it_fields where fieldname cp '.INCLU*'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Display the first 150 fields of the table&lt;/P&gt;&lt;P&gt;  loop at it_fields into wa_fields to 150.&lt;/P&gt;&lt;P&gt;    lv_cnt = lv_cnt + 1.&lt;/P&gt;&lt;P&gt;    wa_cat-tabname = p_tab.&lt;/P&gt;&lt;P&gt;    wa_cat-fieldname = wa_fields-fieldname.&lt;/P&gt;&lt;P&gt;    wa_cat-col_pos = lv_cnt.&lt;/P&gt;&lt;P&gt;    wa_cat-inttype    = wa_fields-inttype.&lt;/P&gt;&lt;P&gt;    wa_cat-datatype = wa_fields-datatype.&lt;/P&gt;&lt;P&gt;    wa_cat-intlen = wa_fields-intlen.&lt;/P&gt;&lt;P&gt;    wa_cat-seltext = wa_fields-fieldname.&lt;/P&gt;&lt;P&gt;    wa_cat-decimals = wa_fields-decimals.&lt;/P&gt;&lt;P&gt;    wa_cat-ref_field = wa_fields-fieldname.&lt;/P&gt;&lt;P&gt;    wa_cat-ref_table = p_tab.&lt;/P&gt;&lt;P&gt;    append wa_cat to it_cat.&lt;/P&gt;&lt;P&gt;    clear wa_cat.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    wa_fname-fld = wa_fields-fieldname.&lt;/P&gt;&lt;P&gt;    append wa_fname to it_fname.&lt;/P&gt;&lt;P&gt;    clear wa_fname.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Create a dynamic internal table with the 150 fields&lt;/P&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_cat&lt;/P&gt;&lt;P&gt;    importing&lt;/P&gt;&lt;P&gt;      ep_table        = d_ref.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  assign d_ref-&amp;gt;* to &amp;lt;f_fs&amp;gt;.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Populate the Where clause as a string&lt;/P&gt;&lt;P&gt;  loop at s_where.&lt;/P&gt;&lt;P&gt;    concatenate lv_where s_where-low into lv_where separated by space.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Select the data from the table given as input and populate&lt;/P&gt;&lt;P&gt;**--it into the dynamic internal table created based on the where&lt;/P&gt;&lt;P&gt;*condition&lt;/P&gt;&lt;P&gt;  select (it_fname)&lt;/P&gt;&lt;P&gt;    from (p_tab)&lt;/P&gt;&lt;P&gt;    into corresponding fields of table &amp;lt;f_fs&amp;gt;&lt;/P&gt;&lt;P&gt;   where (lv_where).&lt;/P&gt;&lt;P&gt;**--If no entries are found that satisfies the selection criteria&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i000(zz) with 'No data found'(010).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;endform.                    " FETCH_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Display data in the grid control&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 display_data .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  if gt_cust is initial.&lt;/P&gt;&lt;P&gt;    create object gt_cust&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        container_name              = cust      .&lt;/P&gt;&lt;P&gt;    create object gt_grid&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        i_parent          = gt_cust.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**--Display the data in the grid control&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    call method gt_grid-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        i_buffer_active               = 'X'&lt;/P&gt;&lt;P&gt;        i_bypassing_buffer            = ' '&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CONSISTENCY_CHECK           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_STRUCTURE_NAME              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_VARIANT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_SAVE                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_DEFAULT                     = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_LAYOUT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_PRINT                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_SPECIAL_GROUPS             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_TOOLBAR_EXCLUDING          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_HYPERLINK                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_ALV_GRAPHICS               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_EXCEPT_QINFO               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IR_SALV_ADAPTER               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      changing&lt;/P&gt;&lt;P&gt;        it_outtab                     = &amp;lt;f_fs&amp;gt;&lt;/P&gt;&lt;P&gt;        it_fieldcatalog               = it_cat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_SORT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_FILTER                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;        program_error                 = 2&lt;/P&gt;&lt;P&gt;        too_many_lines                = 3&lt;/P&gt;&lt;P&gt;        others                        = 4&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&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.                    " DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  DISPLAY_DATA  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Dispaly data in the output&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;module display_data output.&lt;/P&gt;&lt;P&gt;  perform display_data.&lt;/P&gt;&lt;P&gt;endmodule.                 " DISPLAY_DATA  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0300  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Pf-status for the screen&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;module status_0300 output.&lt;/P&gt;&lt;P&gt;  set pf-status '13317'.&lt;/P&gt;&lt;P&gt;endmodule.                 " STATUS_0300  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0300  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Handling the button clicks&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;module user_command_0300 input.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  case sy-ucomm.&lt;/P&gt;&lt;P&gt;**--Go to the previous screen&lt;/P&gt;&lt;P&gt;    when 'BACK'.&lt;/P&gt;&lt;P&gt;      leave to screen 0.&lt;/P&gt;&lt;P&gt;**--Come out of the program&lt;/P&gt;&lt;P&gt;    when 'EXIT'.&lt;/P&gt;&lt;P&gt;      leave program.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endmodule.                 " USER_COMMAND_0300  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT (In this event)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Screen table stores the current selection screen contents temporarily when the selection screen is loaded and before it is displayed)&lt;/P&gt;&lt;P&gt;example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;if &amp;lt;screen-field&amp;gt; is space.&lt;/P&gt;&lt;P&gt;if screen-name = &amp;lt;screen-field&amp;gt;.&lt;/P&gt;&lt;P&gt;screen-required = 1.&lt;/P&gt;&lt;P&gt;modify screen.&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;&lt;/P&gt;&lt;P&gt;The above is an example code to make a field obligatory dynamically.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check out in se11 the fields in the structure screen. u can manipulate the selection screen dynamically using those fields.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Nov 2007 05:26:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-dynamic-selection/m-p/2988033#M705681</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-13T05:26:58Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding Dynamic selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-dynamic-selection/m-p/2988034#M705682</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;see this simple example.&lt;/P&gt;&lt;P&gt;data:var1(10) value 'MATNR',var2(10) value 'MARA',&lt;/P&gt;&lt;P&gt;      var3(20) value 'MATNR LIKE ''C%''',&lt;/P&gt;&lt;P&gt;      matnr like mara-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select (var1) into matnr from (var2)&lt;/P&gt;&lt;P&gt;  where (var3).&lt;/P&gt;&lt;P&gt;  write:/ matnr.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds,&lt;/P&gt;&lt;P&gt;bharat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Nov 2007 05:34:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-dynamic-selection/m-p/2988034#M705682</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-13T05:34:58Z</dc:date>
    </item>
  </channel>
</rss>

