Selection screen dialog programming

I have used a selection screen in the dialog programming.
I have written some code in the at selection screen to display the output on a table control in another screen 1001.
my problem is that when i try to enter the multiple values for material ,
it goes to the at selection screen and displays the output again.
if i write the code in start of selection instead of at selection screen
it doesnt give any output at all.
how do i correct this error?
SELECTION-SCREEN BEGIN OF SCREEN 2000 .
SELECT-OPTIONS : s_ersda FOR MCHB-ERSDA OBLIGATORY.
SELECT-OPTIONS : s_matnr FOR MCHB-MATNR.
SELECT-OPTIONS : s_matkl FOR MARA-MATKL.
SELECT-OPTIONS : s_ferth FOR MARA-FERTH.
SELECTION-SCREEN END OF SCREEN 2000.
at selection-screen.
statements to fill the output table
screen containing table control
call screen 1001

Friends,
Req for ABAP HR
ROLE: SAP HR ABAP DEVELOPER
Location: TULSA, OK
Duration: 3 + MONTHS
REQUIRED SKILLS: SAP ABAP / Dialog and regular / R/3 and HR / Workflow / smartforms
/ ALV / LSMW for HR and R/3 / Modules - MM , SD , HR, PD , PS
Start Date: 11-12-07
If interested Please send the cvs to [email protected]

Similar Messages

  • How enter event or change event in screen dialog program

    Hi anybody
    I want use enter event or change event in screen dialog program.
    how do i use it? anybody please tell me.
    Thanks
    S.Muthu.

    Hi Subu,
    From your thread i understood like you want to use enter key from keyboard.
    write the statement as below your eneter event will be triggered,
    When Next or ''.
    call screen 100. " or what ever you want to trigger.
    If this is not the answer you were expecting revert bacl more precisely what you expect actually.
    Cheers!!
    Venkat

  • MULTIPLE SELECTION IN DIALOG PROGRAMMING

    Hello exports,
    I need to provide an interface to user where he can Put multiple selected invoice number at a time. (Like multiple selection in select option). It should be done in dialog programming.
    plz suggest me .

    Hai ,
    You can use RANGES  or can use TYPE RANGE OF while declaring.
    For eg:
    DATA:it_invoice    TYPE RANGE OF vbrk-vbeln,
    .         wa_invoice LIKE   LINE     OF it_invoice.
    Now u need a bit of coding,
    wa_invoice -sign   = 'I'.
    wa_invoice -option = 'BT'.  i.e between
    r_carrid_line-low    =  your screen fieldname inwhich the lower limit was selected
    r_carrid_line-high   = your screen fieldname inwhich the higher limit was selected.
    APPEND wa_invoice TO it_invoice.
    Now u can use this internal table IT_INVOICE in query using operator IN in the WHERE caluse as u use with select-options.
    Or  you can create a report program which has only a selection screen
    You can EXPORT the object(select option name) to ur dialog program using IMPORT/EXPORT MEMORY ID .
    But you need to declare the select options in ur dialog program with the same name and the structure
    DATA: BEGIN OF rtab OCCURS {10|n},
                 sign   TYPE c LENGTH 1,
                 option TYPE c LENGTH 2,
                 low    LIKE dobj,
                 high   LIKE dobj,
          END OF rtab.
    Thanks,
    Neeraj

  • Doubt in Selection-Screen for Program type "Function Group"

    Hi Gurus,
    I created a Function group in that i created one screen and writtem the Screen flow logic. In that screen I called a Function module "COMPLEX_SELECTIONS_DIALOG" For Creating a selection-Screen.
    The code snippet is like below.
    CASE ok_code .
        WHEN c_clk1.
          CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
         EXPORTING
           title                   = text-002
           text                    = 'Material Number'
           signed                  = 'X'
            lower_case              = ' '
            no_interval_check       = ' '
             just_display            = ' '          " Un commented by Srihari
             just_incl               = 'X'          " Un commented by Srihari
            excluded_options        =
            description             =
            help_field              =
            search_help             =
           tab_and_field           = st_tab
          TABLES
            range                   = r_matnr
         EXCEPTIONS
           no_range_tab            = 1
           cancelled               = 2
           internal_error          = 3
           invalid_fieldname       = 4
           OTHERS                  = 5.
    it works fine. But the problem is if i click the multiple selection button for the select-option in selection screen and enter the values and copy those value. In the multiple selection button green button is not coming like noram report selection-screen. Please remember I used the program type as "Function Group" not "Module Pool".
    Please send your suggestions.
    Thanks,
    Srihari.

    Ok, I am not 100% sure, if I understand you correctly, you said, you created one screen to 'simulate' a standard selection screen behavior without using select-options statement?
    If that's not correct, could you please post a few more details on what exactly you are doing.
    I had to 'simulate' a select-option behavior which I did as follows:
    - I created a range variable to store the values (s_ctby)
    - on the screen I defined the LOW (s_ctby-low), HIGH (s_ctby-high) and the multiple selection field pushbutton
    - In the PBO I set the icons for the multiple selection pushbutton
      READ TABLE s_ctby INDEX 2 TRANSPORTING NO FIELDS.
      IF sy-subrc NE 0.
        gv_createby = gc_icon_enter_data.
      ELSE.
        gv_createby = gc_icon_disp_data.
      ENDIF.
    - In the PBO make sure that any values entered on the screen are transferred to the range
    * transfer any changed values into the correct range for user transaction
    * (screen 0110) because that screen just 'simulates' a selection screen
    * so we have to make sure that any data the user enters in the selection
    * fields is passed into the appropriate ranges
      IF sy-tcode EQ gc_trans_user.
    *   created by
        IF NOT s_ctby-high IS INITIAL.
          s_ctby-sign   = c_i.
          s_ctby-option = c_bt.
          IF s_ctby[] IS INITIAL.
            INSERT s_ctby INDEX 1.
          ELSE.
            MODIFY s_ctby INDEX 1.
          ENDIF.
        ELSEIF NOT s_ctby-low  IS INITIAL AND
                   s_ctby-high IS INITIAL.
          s_ctby-sign   = c_i.
          s_ctby-option = c_eq.
          IF s_ctby[] IS INITIAL.
            INSERT s_ctby INDEX 1.
          ELSE.
            MODIFY s_ctby INDEX 1.
          ENDIF.
        ELSEIF s_ctby-low  IS INITIAL AND
               s_ctby-high IS INITIAL.
          DELETE s_ctby INDEX 1.
        ENDIF.
    - If the user hits the multiple selection pushbutton
        WHEN gc_fc_create_by.
    *     if the user hits the multiple selection button on the screen
    *     we call the standard SAP functionality to show the multiple
    *     selection popup SAP uses on a standard selection screen
          CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
            EXPORTING
              title             = text-t02
            TABLES
              range             = s_ctby
            EXCEPTIONS
              no_range_tab      = 1
              cancelled         = 2
              internal_error    = 3
              invalid_fieldname = 4
              OTHERS            = 5.
          IF sy-subrc NE 0 AND NOT sy-msgty IS INITIAL.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ENDIF.
    *     now update the header line so the screen fields display the correct values
          CLEAR s_ctby.
          READ TABLE s_ctby INDEX 1.
    Hope that helps,
    Michael

  • Problem with selection-screen of program RFEBKA00

    Hi,
    When i execute the program RFEBKA00, some the text appear weir, or better, some texts does not appear... Like it misses some translation or something, but i check the data elements of the fields and everything is fine...
    Does anybody have any idea of what is happening?
    Best Regards,
    Luís Silva

    Hi Luis Silva,
    I've the same problem.
    How do you do to resolve the problem?
    Thanks in advance.
    Luigi Massa

  • Selection screen in program RLLQ0200

    Hi all.
    I am trying to launch RLLQ0200 for movement 411K to transer material in consigment into own. I want to transfer the stock in storage type 100 and bin PROD. Once the data is selected I can display some materials but some of them can not be selected (selection is in grey) and it seems that when a TO is pending you are not allowed to perform the transfer posting (only when the TO is confirmed) even if a stock is completely available due to another similar TO.
    Please, any of you could tell me why is it working like this or maybe I am wrong? but if I am right, is any possibility to avoid this?
    Many thanks in advance and best regards.

    Sorry but I really don´t get it...
    I checked a TO for transferring material from origin bin into storage type 100 and normally the origin quant and destination are different, so once confirmed the TO the origin quant is lost and not linked to destination quant. It is not possible to have an open TO with the same quant because that quant is only available in stor. type 100...
    Imagine, you have material A in storage type Z01 and bin 999 with quant Q1 and consingment with vendor V1; now based on repetitive manufacturing, TO is created to move quantity of Q1 from Z01-999 into 100-PROD. Once  TO is confirmed you have in 100-PROD quantity in consigment with quant Q2. I can have Q1 included in another TO destination 100 but it is not the same quant as Q2, that in fact it is the one I want to trasnfer into own. My question is why I am not able to make the transfer selecting the quants in stor. type 100!!

  • Screen variant in dialog program

    Can we create a screen variant on our own screen dialog program ?

    hi,
    Go to tcode SHD0 and create the screen variant.
    then use in the program
    data scvariant like shdsvci-scvariant.
    call function 'RS_HDSYS_SET_SC_VARIANT'
    exporting
    progname = sy-repid
    DYNPRO =
    scvariant = scvariant
    overwrite_scvariant = 'X'.
    reward if helpful,
    Regards,
    preet

  • Tcode opens selection screen, but does not executes the program

    Hi!
    tcode opens selection screen of a custom program, but it seems that it does not executes the program itself.
    Sounds strange, but how to explain this if I can run a program manually with no problem and it displays result screen, but when I try to run the program with tcode - it opens selection screen but program quits before displaying result screen. I was putting a breakpoint at the begining of the program - it does not triggers debuger when running a tcode (it triggers debugger if to run program manually).... any ideas?
    Help will be appreciated,
    Mindaugas

    Are you using this???
          SET PARAMETER ID '80B' FIELD T_TABLE-OPBEL.
          CALL TRANSACTION 'FPE3' AND SKIP FIRST SCREEN.
    That way it should work....
    Greetings,
    Blag.

  • Return from ALV  Grid to Selection screen

    hi,
    I want to go back from ALV grid to selection screen.
    I am using the following code:
    WHEN 'BACK'.
    CALL METHOD grid1->refresh_table_display.
    CALL METHOD grid1->free.
    CALL METHOD custom_container1->free.
    CALL SELECTION-SCREEN 1000.
    it is working,but when i press BACK button from selection screen to program it is showing ERROR IN FLUSH 4 Error.
    Also I tried with method FLUSH
    WHEN 'BACK'.
    CALL METHOD grid1->refresh_table_display.
    CALL METHOD grid1->free.
    CALL METHOD custom_container1->free.
    CALL METHOD cl_gui_cfw=>flush.
    it's still showing same Error.
    Please help on this.
    Regards,
    Sankar

    Hi,
    My grid name is grid1.
    I tried with :
    DATA grid1 TYPE REF TO cl_gui_alv_grid.
    CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
    e_grid = grid1.
    CALL METHOD grid1->check_changed_data.
    CALL METHOD grid1->refresh_table_display.
    LEAVE TO SCREEN 0.
    Even, I tried with declaring another grid : grid2
    DATA grid1 TYPE REF TO cl_gui_alv_grid.
    CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
    e_grid = grid1.
    CALL METHOD grid1->check_changed_data.
    CALL METHOD grid1->refresh_table_display.
    LEAVE TO SCREEN 0.
    In both cases, I am getting the following Error : OBJECTS_OBJREF_NOT_ASSIGNED

  • Populating selection screen of one prog by calling from another prog

    This is regarding variant population.
    I need to populate values in selection screen fields of one program (program 2)by calling from another executable ABAP program(.Program 1)
    I can identify the variant that i need ot populate.But there is a pushbutton in the selection screen of Program 2 which on clicking leads to some more fields in a pop up screen.How can I populate values in those fields there ?Please help.
    Thanks & Regards,
    Savitha

    I got a problem like that, then I tried to do a BDC, but it doesn't accept BDC's so I made a vbs program. This could help:
    FORM exec_vbs .
      DATA:BEGIN OF it_file OCCURS 0,
               line TYPE string,
           END OF it_file.
      DATA:filename     TYPE     string.
      CLEAR it_file[].
      it_file-line = 'msgbox "Variant will be updated, please don''t move or minimize the screen"'.
      append it_file.
      it_file-line = 'Dim objShell:Set objShell = CreateObject("WScript.Shell")'.
      append it_file.
      it_file-line = 'do while(ObjShell.AppActivate("R/A Settlements")=FALSE)'.
      append it_file.
      it_file-line = '  wscript.sleep 2000'.
      append it_file.
      it_file-line = 'loop'.
      append it_file.
      it_file-line = 'wscript.sleep 500:ObjShell.SendKeys "%ye":wscript.sleep 1999'.
      append it_file.
      it_file-line = 'do while(ObjShell.AppActivate("SAP Easy Access")=FALSE)'.
      append it_file.
      it_file-line = '  wscript.sleep 1000'.
      append it_file.
      it_file-line = 'loop'.
      append it_file.
      it_file-line = 'ObjShell.SendKeys "cj8g":wscript.sleep 940:ObjShell.SendKeys ""'.
      append it_file.
      it_file-line = 'wscript.sleep 1500'.
      append it_file.
      it_file-line = 'do while(ObjShell.AppActivate("Actual Settlement")=FALSE)'.
      append it_file.
      it_file-line = '  wscript.sleep 1000'.
      append it_file.
      it_file-line = 'loop'.
      append it_file.
      it_file-line = 'wscript.sleep 1950'.
      append it_file.
      it_file-line = '''controlshiftF7'.
      append it_file.
      it_file-line = 'ObjShell.SendKeys "^+":wscript.sleep 3100'.
      append it_file.
      it_file-line = '''shift+F2'.
      append it_file.
      it_file-line = 'ObjShell.SendKeys "+":wscript.sleep 2199'.
      append it_file.
      it_file-line = '''shift+F10'.
      append it_file.
      it_file-line = 'ObjShell.SendKeys "+":wscript.sleep 500:''SCROL DOWN'.
      append it_file.
      it_file-line = 'for x = 1 to 2: ObjShell.SendKeys "":wscript.sleep 500:next'.
      append it_file.
      it_file-line = '  wscript.sleep 500:ObjShell.SendKeys "":Wscript.Sleep 950'.
      append it_file.
      it_file-line = '''shift+F4'.
      append it_file.
      it_file-line = 'ObjShell.SendKeys "+":Wscript.Sleep 1999:ObjShell.SendKeys "+ it_file-line = 'Wscript.Sleep 1000:ObjShell.SendKeys "C:\TEMP\Worksheet.txt"'.
      append it_file.
      clear it_file-line.
      concatenate 'Wscript.Sleep 500:ObjShell.SendKeys "' TEMP_FOLDER '\Worksheet.txt' '"' into it_file-line.
      append it_file.
      it_file-line = 'Wscript.Sleep 400:ObjShell.SendKeys "":Wscript.Sleep 2500:ObjShell.SendKeys "":Wscript.Sleep 1900'.
      append it_file.
      it_file-line = 'ObjShell.SendKeys "^s":Wscript.Sleep 2900'.
      append it_file.
      it_file-line = 'ObjShell.SendKeys "+":Wscript.Sleep 1200'.
      append it_file.
      it_file-line = 'ObjShell.SendKeys "+":Wscript.Sleep 1200'.
      append it_file.
      it_file-line = 'ObjShell.SendKeys "%"'.
      append it_file.
      it_file-line = 'Wscript.Sleep 1700'.
      append it_file.
      concatenate TEMP_FOLDER '\settle.vbs' into filename.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename = filename
        TABLES
          data_tab = it_file.
      CALL FUNCTION 'WS_EXECUTE'
        EXPORTING
          PROGRAM = filename.
      IF SY-SUBRC <> 0.
      ENDIF.

  • IW 28, customer fields in selection screen

    Hello,
    we have some costumer fields in table qmel. I would like to use these fields in transaction IW 28 as selection fields.
    Is this possible?
    regards
    stefan

    Hi,
    You can add the filed in selection screen.
    find the enhancement points for selection screen in program.
    and same way find enhancement point for select query in program.
    For example:
    The field revnr is added in selection screen like we can add custom filed also.
    ENHANCEMENT 4  DIMP_GENERAL_RIQMEL20.    "active version
      SELECT-OPTIONS: revnr FOR viqmelst-revnr.
    ENDENHANCEMENT.
    second: select query is also given in enhancement point, since we can modify the enhancement point.
    ENHANCEMENT 2  DIMP_GENERAL_RIQMEL20.    "active version
        SELECT (g_selfields_tab) FROM (g_viewname)
                INTO CORRESPONDING FIELDS OF TABLE lt_viqmel_iflos
                              WHERE qmnum IN qmnum
                              AND   iwerk IN iwerk
                              AND   tplnr IN strno
                              AND   swerk IN swerk
                              AND   kostl IN kostl
                              AND   abckz IN abckz
                              AND   gsber IN gsber
                              AND   anlnr IN anlnr
                              AND   stort IN stort
                              AND   msgrp IN msgrp
                              AND   eqfnr IN eqfnr
                              AND   beber IN beber
                              AND   ingrp IN ingrp
                              AND   equnr IN equnr
                              AND   matnr IN matnr
                              AND   serialnr IN serialnr
                              AND   deviceid IN deviceid
                              AND   bautl IN bautl
                              AND   msaus IN msaus
                              AND   ausvn IN ausvn
                              AND   ausbs IN ausbs
                              AND   auztv IN auztv
                              AND   auztb IN auztb
                              AND   btpln IN btpln
                              AND   bequi IN bequi
                              AND   auswk IN auswk
                              AND   verfv IN verfv
                              AND   verfn IN verfn
                              AND   verfm IN verfm
                              AND   anlzv IN anlzv
                              AND   anlzn IN anlzn
                              AND   anlze IN anlze
                              AND   inspk IN inspk
                              AND   datan IN datan
                              AND   qmart IN qmart
                              AND   bukrs IN bukrs
                              AND   priok IN priok
                              AND   ernam IN ernam
                              AND   erdat IN erdat
                              AND   aenam IN aenam
                              AND   aedat IN aedat
                              AND   mzeit IN mzeit
                              AND   qmnam IN qmnam
                              AND   strmn IN strmn
                              AND   ltrmn IN ltrmn
                              AND   aufnr IN aufnr
                              AND   kunum IN kunum
                              AND   vbeln IN vbeln
                              AND   kdauf IN kdauf
                              AND   kdpos IN kdpos
                              AND   bstnk IN bstnk
                              AND   bstdk IN bstdk
                              AND   qmdab IN qmdab
                              AND   bezdt IN bezdt
                              AND   rbnr  IN rbnr
                              AND   qmdat IN gr_date
                              AND ( kzloesch = space OR
                                    kzloesch IS NULL )
                              AND   qmart IN i_qmart
                              AND   vkorg IN vkorg
                              AND   vtweg IN vtweg
                              AND   spart IN spart
                              AND   auszt IN i_auszt
                              AND   arbpl IN i_arbpl
                              AND   qmgrp IN qmgrp
                              AND   qmcod IN qmcod
                              AND   warpl IN warpl
                              AND   wapos IN wapos
                              AND   revnr IN revnr
                              AND   owner IN i_owner
                              AND   phase IN gr_phase.
    ENDENHANCEMENT.

  • RESCIS - Unable to select custom report from Selection Screen

    Hi all,
    we have developed a custom report for transaction "RESCIS-Evaluation of service charge settlement" but we have found that althought the report appears in selection screen field called "REPORT" it throws message RESCIS003 but the report is not shown.
    If we doesn't fulfill report field in selection screen, the program shows a second screen where a couple of ALVGrids are shown allowing the user to select the report that will be displayed. Here we are able to select our custom report and the data in it is displayed.
    We have analyzed the standard program that is executed via transaction RESCIS and we've found that the selection screen executes standard function RESC_GUI_ANYREPORTS_APPL that doesn't executes reports dinamically but statically. That means that SAP doesn't allows to execute custom reports directly from selection screen.
    I think this is a SAP error but afert opening an OSS message SAP sais that is not an error but a bad configuration or lack of knowledge for customizing it.
    Has anyone developed a custom report for RESCIS transaction?

    Hm what exactly did you want to change? Normally it is in REFX cases you should not copy standard REPORTS. In your case with transaction RESCIS, I myself do not see any need to add any functionality in this report because it is only a sum of all lists from your service charge settlement. What else do you want to see there?
    For displaying new fields in the separate lists maybe there is some BADI for it.
    Regards
    Michael

  • How to avoid default selection screen in HR interfaces(using pnp ldbs)

    How to avoid default selection screen in HR interfaces(using pnp ldbs)

    Dear Rakesh,
    The report category is used to change the selection screen of programs that use the 'PNP' logical database.
    See links bellow:
    http://www.sapdevelopment.co.uk/hr/hr_repcat.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/15/229357553611d3967f00a0c9306433/frameset.htm
    Report categories for selection screen in HR programming
    Also visit the following blog:
    /people/alvaro.tejadagalindo/blog/2006/02/19/how-to-deal-with-hr-payroll-reports
    Regards,
    Naveen.

  • Checkbox Within Table Control At Selection Screen

    Hello, there.
    In my selection screen (dialog) I'm using a table control which is based on an internal table.
    In that internal table I have a simple Yes/No field (declared as type XNULL for example).
    The problem is that I want it to be displayed as checkbox on the selection screen's table control and not as a simple string with size = 1 like it is..
    I hope it's clear and understood ...
    Thanks in advance,
    Rebeka

    Rebeka,
    Its very simple,
    In that field of table control just drag & drop the  checkbox.
    In Screen modules ,
    loop at itab.
    If Field = 'YES'.
    Checkbox = 'X'.
    else .
    clear checkbox.
    endif.
    endloop.
    Regards,
    TAlwinder

  • Select option in Dialog program screen

    Hi friends,
    do we have any way to get a select option displayed in dialog programming ?
    or
    create a screen field with the properties of a select option in dialog screen ?
    or
    any standard function module to support this scenario ?
    Thanks and Regards
    Sakthi.

    Hi,
    i don't know you checked it or not, but i am able to do it, i send the screen shot also to you check it..
    it is possible,with some coding also  check it once...
    REPORT  ZTEST_SCREEN                            .
    DATA : BEGIN OF IT_DYNPFIELDS OCCURS 3.
            INCLUDE STRUCTURE DYNPREAD.
    DATA : END OF IT_DYNPFIELDS.
    DATA: TEST(10) TYPE C.
    RANGES:  R_UNAME FOR SY-UNAME.
    DATA:     V_USERNAME LIKE  SY-UNAME.
    DATA : V_PROG LIKE D020S-PROG VALUE 'ZTEST_SCREEN',
           V_DNUM LIKE D020S-DNUM VALUE '0100'.
    CALL SCREEN 100.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'TEST'.
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE USER_COMMAND_0100 INPUT.
      CASE SY-UCOMM.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  GET_CURSOR_USERNAME  INPUT
    *       text
    MODULE GET_CURSOR_USERNAME INPUT.
      REFRESH IT_DYNPFIELDS.
      CLEAR   IT_DYNPFIELDS.
      MOVE 'V_USERNAME' TO IT_DYNPFIELDS-FIELDNAME.
      APPEND IT_DYNPFIELDS.
      CLEAR   IT_DYNPFIELDS.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          DYNAME               = V_PROG
          DYNUMB               = V_DNUM
          TRANSLATE_TO_UPPER   = 'X'
        TABLES
          DYNPFIELDS           = IT_DYNPFIELDS
        EXCEPTIONS
          INVALID_ABAPWORKAREA = 1
          INVALID_DYNPROFIELD  = 2
          INVALID_DYNPRONAME   = 3
          INVALID_DYNPRONUMMER = 4
          INVALID_REQUEST      = 5
          NO_FIELDDESCRIPTION  = 6
          INVALID_PARAMETER    = 7
          UNDEFIND_ERROR       = 8
          DOUBLE_CONVERSION    = 9
          STEPL_NOT_FOUND      = 10
          OTHERS               = 11.
      IF SY-SUBRC = 0.
        READ TABLE IT_DYNPFIELDS WITH KEY FIELDNAME = 'V_USERNAME'.
        IF SY-SUBRC = 0.
          V_USERNAME = IT_DYNPFIELDS-FIELDVALUE.
        ENDIF.
      ENDIF.
      PERFORM GET_MULTIPLE.
    ENDMODULE.                 " GET_CURSOR_USERNAME  INPUT
    *&      Form  GET_MULTIPLE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM GET_MULTIPLE .
    * Dynamically holding Field name
      FIELD-SYMBOLS: <FST> TYPE STANDARD TABLE.
      IF  R_UNAME[] IS INITIAL.
        IF NOT V_USERNAME IS INITIAL.
          R_UNAME-SIGN = 'I'.
          R_UNAME-OPTION = 'EQ'.
          R_UNAME-LOW = V_USERNAME.
          APPEND R_UNAME.
          CLEAR  R_UNAME.
        ENDIF.
      ENDIF.
      ASSIGN R_UNAME[] TO <FST>.
      CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
        EXPORTING
          TITLE             = 'Select Multiple Value'(059)
          TEXT              = 'Finish Group'(058)
          SIGNED            = 'X'
          LOWER_CASE        = ' '
          NO_INTERVAL_CHECK = 'X'
          JUST_DISPLAY      = ' '
          JUST_INCL         = 'X'
        TABLES
          RANGE             = <FST>
        EXCEPTIONS
          NO_RANGE_TAB      = 1
          CANCELLED         = 2
          INTERNAL_ERROR    = 3
          OTHERS            = 4.
      IF SY-SUBRC = 0.
        READ TABLE R_UNAME INDEX 1.
        IF SY-SUBRC = 0.
          V_USERNAME = R_UNAME-LOW.
        ENDIF.
      ENDIF.
    ENDFORM.                    " GET_MULTIPLE
    Flow loogic....
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0100.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_0100.
    PROCESS ON VALUE-REQUEST.
    *- To capture the cursor and for f4
      FIELD V_USERNAME      MODULE GET_CURSOR_USERNAME.
    in screen i have one field v_username
    for that field do this
    <b>double click on field which you want to make it as select option, it will display the attributes screen, in that click on program attributes button , now go to poss. entries in the dropdown choose 1 show at selection.</b>
    Regards
    vijay

Maybe you are looking for