How to create select-options in my own screen?
Hi
I create my screen and i wish to place select-options on screen. how to do that?
There is no SAP standard way of creating select options on screen.However you can create your own select options by providing two fields on screen in which maximum and minimum values can be entered.
screen fields :
input1 : <minimum value>
input2 : <maximum value>
data :
range for <some field>
then you can fill a range with these values.For eg.
range-low = <low value input field>.
range-sign = 'I'.
range-option = 'BT'.
range-high = <high value input field>.
append range.
*Now write your select statement.
select * from <some table> where <field> in <range>
Similar Messages
-
How to creat select-option on module pool screen???
Hi All,
please tell me how to creat select-option on module pool screen???
Regards
DeepakHi Deepak Kumar Sharma,
There are Two ways to achieve it...
1) How to create a select-options in a module pool screen.
Method 1
a) Create a subscreen area in your screen layout where you want to create the select options.
b) In the top include of your module pool program declare a selection screen as a subscreen e.g.
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
select-options s_matnr for mara-matnr.
SELECTION-SCREEN END OF SCREEN.
c) In the PBO and PAI of the main screen where the select options needs to be created do a call subscreen of the above screen (100).
CALL SUBCREEN sub_area INCLUDING <program> <screen>
This call subscreen statement is necessary for transport of values between screen and program.
Note: All validations of the selection screen fields e.g. the s_matnr field created above should be done in selection screen events like AT SELECTION-SCREEN etc and not in PAI. These selection screen validations etc should be done in the top include only.
Method 2
a) Create 2 separate fields in your screen layout - one for the low value and one for the high value. Insert an icon beside the high value which will call the multiple selections popup screen on user command. Use function module COMPLEX_SELECTIONS_DIALOG to achieve this.
struc_tab_and_field-fieldname = con_cust. " 'KUNNR'
struc_tab_and_field-tablename = con_kna1. " 'KNA1'.
CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
EXPORTING
TITLE = ' '
text = g_titl1 " 'Customers'
tab_and_field = struc_tab_and_field
TABLES
RANGE = rng_kunnr
EXCEPTIONS
NO_RANGE_TAB = 1
CANCELLED = 2
INTERNAL_ERROR = 3
INVALID_FIELDNAME = 4
OTHERS = 5.
IF NOT rng_kunnr[] IS INITIAL.
Read the very first entry of the range table and pass it to
dynpro screen field
READ TABLE rng_kunnr INDEX 1.
IF sy-subrc = 0.
g_cust = rng_kunnr-low.
ENDIF.
You can use the return table rng_kunnr to populate your own internal range table with the values entered by the user. Basically here you are just simulating the work of a select-options parameter by module pool screen elements.
Also have a look on below threads
how to make select option in module pool
select option in module pool program
Hope it will solve your problem..
Thanks & Regards
ilesh 24x7 -
How to create select-options on module pool screen
Hi all
I want get a range of values from the user from the module pool screen.
Is there any element available on module pool screen like select options on the selection screen of reports.
reply me ASAS.
Thanks.hi krishna
actually I want to display the details of PO numbers from 45000100 to 45000150. user will enter this range on the module pool screen just as we enter on the selection screen of report. My question is do we have a button like select-option on the module pool screen.
Plz . reply me ASAP.
Thanks. -
How to create select-options in module pool program
Hi
i am structed at this point could you please tell me
how to create select-options in module pool programSteps to get SELECT-OPTIONS in module pool programs.
<li>. Start one dialog program with SAPZ_TEST.
<li>. Place the below code in the TOP include of the dialog program.
PROGRAM SAPMZ_TEST.
TABLES mara.
SELECTION-SCREEN BEGIN OF SCREEN 2100 AS SUBSCREEN.
SELECT-OPTIONS: matnr FOR mara-matnr.
SELECTION-SCREEN END OF SCREEN 2100.
<li>. Create one screen 2000 .
<li>. Go to Layout of the screen and Define subscreen area on the screen and Name it as g_subscreen.
<li>. Place the below code in the Flow logic of the screen.
PROCESS BEFORE OUTPUT.
CALL SUBSCREEN g_subscreen INCLUDING 'SAPMZ_TEST' '2100'.
PROCESS AFTER INPUT.
CALL SUBSCREEN g_subscreen.
<li>. Activate all.
<li>. Create Transaction code for the dialog program SAPZ_TEST.
<li>. Execute the transaction code. You will see the select-option like we see on Selection-screen.
I hope that it gets u clear idea.
Thanks
Venkat.O -
How to create select-options for 3 fields out of 5 by FREE_SELECTIONS_INIT
Hi Experts,
I am using the Function Modules FREE_SELECTIONS_INIT and FREE_SELECTIONS_DIALOG to create the select-options dynamically on the selection screen.
My problem is that I am passing a field list of 10 fields in the FIELDS_TAB of the function.
Now it creates the select-options for all 10 fields. I want to create select-options for only 5 fields initially and let the user select out of the remaining 5 fields to create the select-options.
How to achieve this.?
I tried by passing the 5 fields in FIELDS_NOT_SELECTED table but they get hidden and once hidden I am not able to get them back in my field list.
Please help me out.
Useful answers will be suitably rewarded.
Thanks in advance.
Regards,
HimanshuHi Experts,
I am using the Function Modules FREE_SELECTIONS_INIT and FREE_SELECTIONS_DIALOG to create the select-options dynamically on the selection screen.
My problem is that I am passing a field list of 10 fields in the FIELDS_TAB of the function.
Now it creates the select-options for all 10 fields. I want to create select-options for only 5 fields initially and let the user select out of the remaining 5 fields to create the select-options.
How to achieve this.?
I tried by passing the 5 fields in FIELDS_NOT_SELECTED table but they get hidden and once hidden I am not able to get them back in my field list.
Please help me out.
Useful answers will be suitably rewarded.
Thanks in advance.
Regards,
Himanshu -
How to create SELECT-OPTION in search help (search) field
Hi All,
We have created a search help using Help view as selection method.
But, we want to have a SELECT-OPTION for one of the search parameters. How do we implement the same ?
Regards,
Ashishhi
try this
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
TABNAME = 'YRJEMPDETAIL'
FIELDNAME = 'L_NAME_LOW'
* SEARCHHELP = ' '
* SHLPPARAM = ' '
DYNPPROG = 'SAPMZRJ_HELP'
DYNPNR = '9000'
DYNPROFIELD = 'LAST_NAME_LOW'
* STEPL = 0
* VALUE = ' '
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* SUPPRESS_RECORDLIST = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* SELECTION_SCREEN = ' '
* IMPORTING
* USER_RESET =
* TABLES
* RETURN_TAB =
* EXCEPTIONS
* FIELD_NOT_FOUND = 1
* NO_HELP_FOR_FIELD = 2
* INCONSISTENT_HELP = 3
* NO_VALUES_FOUND = 4
* OTHERS = 5
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
TABNAME = 'YRJEMPDETAIL'
FIELDNAME = 'L_NAME_HIGH'
* SEARCHHELP = ' '
* SHLPPARAM = ' '
DYNPPROG = 'SAPMZRJ_HELP'
DYNPNR = '9000'
DYNPROFIELD = 'LAST_NAME_HIGH'
* STEPL = 0
* VALUE = ' '
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* SUPPRESS_RECORDLIST = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* SELECTION_SCREEN = ' '
* IMPORTING
* USER_RESET =
* TABLES
* RETURN_TAB =
* EXCEPTIONS
* FIELD_NOT_FOUND = 1
* NO_HELP_FOR_FIELD = 2
* INCONSISTENT_HELP = 3
* NO_VALUES_FOUND = 4
* OTHERS = 5
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
hope this helps
Regards
Ritesh J -
Hi,
Please guide me to implement select options in webdynpro.
Regards,
Ratheesh BSHi Ratheesh,
Sorry for the late reply. The m_handler is just a normal reference variable of type if_wd_select_options. Within the WDDOINIT methos you would be calling the interface controller method init_selection_screen to get the helper class. You just need to use this reference for calling the method set_global_options with your desired criteria. Just try go through the sample code fragment below:
METHOD wddoinit .
DATA: lr_select_options TYPE REF TO iwci_wdr_select_options.
DATA lr_helper TYPE REF TO if_wd_select_options.
DATA: lt_range TYPE REF TO data.
DATA: lr_comp_usage TYPE REF TO if_wd_component_usage.
" This code is to instantiate the component WDR_SELECT_OPTIONS
lr_comp_usage = wd_this->wd_cpuse_select_options( ).
IF lr_comp_usage->has_active_component( ) IS INITIAL.
lr_comp_usage->create_component( ).
ENDIF.
" call the interface controller method init_selection_screen to get the helper class
lr_select_options = wd_this->wd_cpifc_select_options( ).
" You are getting the necessary reference to the component into lr_helper here
lr_helper = lr_select_options->init_selection_screen( ).
" Use the helper class to create a range table for the data element S_CARR_ID
lt_range = lr_helper->create_range_table( i_typename = 'S_CARR_ID' ).
" Add a Selection Screen Field
lr_helper->add_selection_field( i_id = 'S_CARR_ID'
it_result = lt_range ).
" Removing the Cancel button from the toolbar displayed
lr_helper->set_global_options( i_display_btn_cancel = abap_false
i_display_btn_check = abap_true
i_display_btn_reset = abap_true
i_display_btn_execute = abap_true ).
ENDMETHOD.
Hope this helps resolve your problem.
Regards,
Uday -
How to put "selection options without intervals" on screen painter?
Hello all,
I need to put a field for pernr(personal number) on screen painter (module program) and user should be able to enter a list of pernr's to process. I know in report program I can do this by:
SELECT-OPTIONS: s_lpernr FOR pa001-pernr NO INTERVALS.
How can I get this work on sccreen painter in module programming? How can I add a field on screen painter with a range without intervals? Please let me know.
Thanks.
Mithun.You can also do this using the function module COMPLEX_SELECTIONS_DIALOG.
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 EQ 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 EQ 0.
READ TABLE R_UNAME INDEX 1.
IF SY-SUBRC = 0.
V_USERNAME = R_UNAME-LOW.
ENDIF.
ENDIF.
ENDFORM. " GET_MULTIPLE -
Select option in user defined screen
Hi friends,
In my program i m in need of using select-options ( input in terms of range ) . i saw some thread . in that they have mentioned FM : COMPLEX_SELECTIONS_DIALOG and some have given call subscreen ***.
but i don't know how to use it. i have never used subscreen in my program..
so u please tell me how to get it.
Thanks and regards,
kani,.Refer:
[http://www.saptechies.com/select-option-in-a-dynpro/]
[Complex_Selections_dialog in Module Pool Programming;
[How to put "selection options without intervals" on screen painter?; -
Getting select options in module pool screen
hi experts,
can any one suggest me how to provide select options in module pool screen.
thank you,
regards
vijayHi,
Take two fields on screen first for low value and other for high value (say vbeln_low and vbeln_high) also design a button next to the high textbox for select-option button used to display popup.
Using these two input fields append a range (say r_vbeln for vbap-vbeln) for the field to be used (either in query or anywhere).
ranges : r_vbeln for vbap-vbeln.
IF NOT vbeln_high IS INITIAL.
IF NOT vbeln_low LE vbeln_high.
MESSAGE e899 WITH text-007. "high value is smaller than low value
ENDIF.
ENDIF.
r_vbeln-sign = 'I'.
r_vbeln-low = vbeln_low.
IF vbeln_high IS INITIAL.
r_vbeln-option = 'EQ'. "if user takes only a singlr value
ELSE.
r_vbeln-option = 'BT'. "if user takes both low & high value
r_vbeln-high = vbeln_high.
ENDIF.
APPEND r_vbeln. "append range
CLEAR r_vbeln.
On the button click call this FM to call a popup for select-options.
DATA : tab TYPE rstabfield.
tab-tablename = 'VBAP'.
tab-fieldname = 'VBELN'.
CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
EXPORTING
title = text-002
text = ' '
signed = 'X'
* lower_case = ' '
* no_interval_check = ' '
* just_display = ' '
* just_incl = ' '
* excluded_options =
* description =
* help_field =
* search_help =
tab_and_field = tab
TABLES
range = r_vbeln
EXCEPTIONS
no_range_tab = 1
cancelled = 2
internal_error = 3
invalid_fieldname = 4
OTHERS = 5.
IF sy-subrc EQ 2.
MESSAGE s899 WITH text-003. "no value selected
ELSEIF sy-subrc <> 0 AND sy-subrc <> 2.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
This whole code will append your range r_vbeln to be used in program.
Hope this solves your problem.
Thanks & Regards,
Tarun Gambhir -
Select Option on Module Pool screen
How to display select options on Module Pool screen ?
Via the search functionality, you will find something like :
SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN.
SELECT-OPTIONS: S_CARRID FOR SPFLI-CARRID,
S_CONNID FOR SPFLI-CONNID.
SELECTION-SCREEN END OF SCREEN 101.
and to use a CALL SELECTION-SCREEN xxxx in your module pool.
regards,
Hans -
Hiding Select options on a selction screen
hi,
How to Hide Select options on a selction screen
thnks.hi,
eg:-
select-options: sel_mat for mard-matnr no-display.
select-options: sel_plnt for mard-werks.
in this the sel_plnt will appear and sel_mat will not be seen on the selction screen. there are many options avaliable with select-options..
Like
[OBLIGATORY / NO-DISPLAY]
[VISIBLE LENGTH vlen]
[NO-EXTENSION]
[NO INTERVALS]
[MODIF ID modid] ... .
reward points if useful and mark answered if u got the answer -
How to make select option in module pool
Hello,
Can anybody tell me how to create a select option in module pool screen..?
thanksEasiest way is to create a subscreen and embed this in your dynpro.
report zrich_0006 .
tables: mara.
* Custom Selection Screen 1010
selection-screen begin of screen 1010 as subscreen.
selection-screen begin of block b1 with frame title text-001.
parameters: p_rad1 radiobutton group grp1 default 'X',
p_rad2 radiobutton group grp1,
p_rad3 radiobutton group grp1.
select-options: s_matnr for mara-matnr,
s_matkl for mara-matkl,
s_mtart for mara-mtart.
selection-screen end of block b1.
selection-screen end of screen 1010.
start-of-selection.
call screen 100.
*& Module STATUS_0100 OUTPUT
module status_0100 output.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
endmodule.
*& Module USER_COMMAND_0100 INPUT
module user_command_0100 input.
endmodule.
* Screen screen 100 with a subscreen area called "subscreen_1010"
* Screen Flow Logic follows
*process before output.
* module status_0100.
* call subscreen subscreen_1010 including sy-repid '1010'.
*process after input.
* call subscreen subscreen_1010 .
* module user_command_0100.
Regards,
Rich Heilman -
How to provide select-option in module pool programming
Hi all,
How to provide select-option in module pool programming.
If any body knows let me immediately.
Thanks
sudheerHi Sudheer,
Unfortunately there is no standard way of having a select-option in a module pool program.
What you can try is having two fields and creating a range in your program and populating the range at runtime with respective value and trying to simulate some functionality of the select-option.
Hope it helps.
Thanks, Debasish -
HOW TO PASS SELECT-OPTIONS AS IMPORT PARAMETER TO A CLASS
Hi experts,how to pass select options value as a export parameters to a zclass.
can give me some idea.
Thanks
saiAs Sachin already said, selection options are stored in an internal table. You can reconstruct the table type without the corresponding input fields using the type addition RANGE OF.
So - assuming you have the following in your program:
DATA: wa TYPE sflight.
SELECT-OPTIONS so_car FOR sflight-carrid.
you can create a publically-visible type in your class using direct type entry and the code
TYPES: my_selectoption TYPE RANGE OF sflight-carrid.
and use this to define the importing parameter of the method.
The only other thing you have to remember is that select-options generates an internal table with header line. Thereore, to pass the table to the method, you would use (in the above example) so_car[], and not just the name of the select-option.
Hope this helps.
Regards
Jon.
Maybe you are looking for
-
Problem with Join Queries using PHP and an Orcale Database
Ok, I am trying to build a simple php querying tool for my oracle database and for the most part it is working however I am having a problem getting data from my join queries. If I run the following query : QUERY: SELECT lastfirst,EnteredBy,Debit FRO
-
CS4 Installation Problem on Mac - Error 2
I have tried for several hours to make the new install of Adobe CS4 work. The Lightroom2 install worked fine. Background: I have a macbook pro, OS/X 10.5.7, enough avail disk space. I had a trial version of LR2 and full CS2. I have done the following
-
Default print indicator tick in MIGO transaction
Hi all, I need to set the print indicator for 'Collective slip' ticked by default for all the documents created in MIGO. I have done output determination settings for the same. How to do this? Because what happens is that, sometimes user doesnt ti
-
Safari will not open on my retina MacBook pro?
I've received my laptop & after using migration assistant with the computer, safari will no longer open on my pro, and continually crashes. I've run out of ideas?
-
Safari always quitting unexpectedly
Any time I browse the web with safari, there is always a good chance it will keep quitting unexpectedly. Then it will ask me if I want to reopen safari and send apple an error report. After some safari updates I was hoping this would no longer be an