Multiple selection in screen
hi all,
Is there any method to display multiple selection (single,ranges,...) (like select-options screen in report programming) in dynpro screens (using screen designer).
regards
Jose
Hi,
In the screen text box properties in the DICT tab you can specify search Help, where u can allow multiple entries to the box.
Cheers,
Chandru
Similar Messages
-
Create a custom multiple selection on screen - not selection-screen block
Dear expert,
I created a text field on screen for input selection, e.g field bname for USR02-BNAME. How can i create a CUSTOMIZE multiple selection plus a paste (from clipboard) feature on this screen (e.g. SCREEN 0002) like standard selection-screen from SAP when we create a report.
For a better view on what i want:
This text field already use F4 customize search help. I need a multiple selection lines (like standard selection-screen a button on the right side of select-options field).
Remember, i don't create textfield from select-options parameter (e.q. SELECT-OPTIONS : XBNAME FOR USR02-BNAME),
but on a screen.
Anyone can help my case?.
Thanks and Warm regards,
Dondi.Had the same question from my users. This was the first hit i found but unfortunately without an answer. So for those with the same question, this is how i solved it (goede voornemen voor 2014). In my case the request is a complex selection on the LFA1 table.
The screen contains two fields to enter the low/high value for lifnr (zdy_droogteschade-lifnr and zdy_droogteschade-lifnr_tot)
Created a button on the screen, mark this as output only, when pressed the routine multi_select_crediteuren is performed wich uses the fm 'COMPLEX_SELECTIONS_DIALOG'.
To top it all of, the icon on the button changes depending on the contains of the range table (in a routine called from the PBO).
This only works when the button is marked as 'output only',
Include the icon type pool: 'type-pools: icon.' -
hi gurus,
i am urgent need of the FM used to call the multiple selection option....which we will be using in select-options.
i am using like this because i cant use select-options in my existing module pool program. I could use them only in another screen and not on the the same screen.
please help me out.
Points will be rewarded.There are 2 ways to create select-option in module pool.
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.
Regards,
Joy. -
I want to draw multiple selection for some field on Type M program.
Hi. everyone.
I'm programing on Type M program but I don't know how do I draw multiple selection on Type M.
Is it possible?
If you know some related website or on-line document, please let me know that.It means Online program. it is not report progeam.
I want to design a multiple selection on screen. -
Multiple Select option in Module pool
Hi,
I wanna add a field for 'Delivery number' in the screen of a mod pool prgm.I created a subscreen area in the main screen and did the coding needed.now the problem i am having is if i giv a single value in the from field or values in the 'From' and 'To' field its not taken to the program,i saw it while debugging. but if i enter the values in the multiple selection option its taken to the program.That means from screen its not going to the program where as from the multiple select option its taken to the program,What may be the propblem.
Regards in Advance,
NitinHi,
Have you used the select-options in the subscreen or you have placed the multiple option manually?
Either way, please check the two methods, it may solve your problem.
Create a SELECT-OPTIONS in module pool screen using two methods as shown.
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.
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.
Regards -
Hide the Range Option in Multiple Selection screen
Hai,
I Give the values In single Values In Selection Option Screen.
I want to need Hide the Range Option Include or Exclude In Multiple selection screen.
Regards,
Geethajust check this it may help you
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/840ad679-0601-0010-cd8e-9989fd650822">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/840ad679-0601-0010-cd8e-9989fd650822</a>
here restricting the selection screen
regards
shiba dutta -
Multiple select option in the screen painter
Hi all,
I want to give multiple select option for a particular field in the screen painter.
how to provide it.
NitinHi,
Refer to this link..[Select-Option in Dialog programming |Re: Select-Option in Dialog programming]
[How to make select option in module pool |how to make select option in module pool] -
RAR5.3 not able to cut and paste list of users to Multiple Selection screen
CC V4.0 on ABAP system has a feature where you can cut and paste a list of many users from the clipboard to Single Values column in the Multiple Selection screen, so you can run SOD Analysis Report for all those users. The Multiply Selection screen is a standard SAP supplied pop up screen.
With RAR 5.3 the Multiply Selection screen design is different. There is no longer feature to cut and paste from clipboard. We have to input each user one at a time. So if you have many users (20, 30, etc.) it is a time consuming task. It is not acceptable to our business power users.
We can import the list of users to a Custom User Group (in the Configuration Tab). First of all, there is no mass delete on Custom User Group. You have to delete each user one at a time which is time consuming. The alternative is to create a new Custom User Group each time, then it becomes a maintenance nightmare. Secondly, it is in the Configuration Tab which is only available to Administrators (fear of users changing configuation data), so the Administrator (or whomever has access to the Configuration Tab) has to maintain the Custom User Groups which is a lot of work for him or her or them.
We talk to SAP every week. But they are looking at this as a long time project. Does any one of you (or your company) has the same requirements? How do you get around it? Did you setup some other procedures so users can cut and paste the users list and run the Risk Analysis report themselves?
Thanks,
John.This is probably a JVM issue. Are you using JInitiator or the IE native JVM?
I suggest you turn on the JVM console, set the trace level to maximum, and then watch what happens when you attempt the copy.
Also, check the key mapping (usually ctrl-k) that the forms applet is implementing. Perhaps ctrl-c means something else... -
Hi!
I've set up an initial screen (selection screen) in my dynpro-program, with company code (BUKRS) as input field. This screen has been developed using the Screen Painter and is of the screen type 'Normal'.
I have managed to add a search help to the input field, but how can I <b>add a multiple selection screen</b> to it?
Thank you for all your help!
- Mari VirikHI,
Create button beside BUKRS field.
and use FM <b>K_CMPERS_MULTIPLE_SELECTION</b> when the button is pressed.
this FM provides u a multiple selection screen. Use 'R' for Fieldtype.
data: parm like cmpersdata occurs 0.
call screen 300.
*& Module USER_COMMAND_0300 INPUT
text
module USER_COMMAND_0300 input.
case sy-ucomm.
when 'MULT'.
CALL FUNCTION 'K_CMPERS_MULTIPLE_SELECTION'
EXPORTING
p_fieldtype = 'R'
p_fieldname = 'MATNR'
p_tablename = 'MARA'
tables
pt_parm = parm
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endcase.
endmodule. " USER_COMMAND_0300 INPUT
Regards
CNU -
How to disable the SELECT-OPTINS multiple selection screen's Ranges options
Hi this is sekhar,
I have used the Select-options: statement with 'No-Interval' option. Now I need to restrict the user not to enter the values in the Ranges column of multiple selection screen. How can I do it....You can also refer this code as below : CHECK OUT SELECT OPTION sel_1_0.
*& Report ZTESTREP
REPORT ztestrep.
Include type pool SSCR
TYPE-POOLS sscr.
Define the object to be passed to the RESTRICTION parameter
DATA restrict TYPE sscr_restrict.
Auxiliary objects for filling RESTRICT
DATA opt_list TYPE sscr_opt_list.
DATA *** TYPE sscr_***.
Define the selection screen objects
First block: 3 SELECT-OPTIONS
SELECTION-SCREEN BEGIN OF BLOCK block_0 WITH FRAME TITLE text-bl0.
SELECT-OPTIONS sel_0_0 FOR sy-tvar0.
SELECT-OPTIONS sel_0_1 FOR sy-tvar1.
SELECT-OPTIONS sel_0_2 FOR sy-tvar2.
SELECT-OPTIONS sel_0_3 FOR sy-tvar3.
SELECTION-SCREEN END OF BLOCK block_0.
Second block: 2 SELECT-OPTIONS
SELECTION-SCREEN BEGIN OF BLOCK block_1 WITH FRAME TITLE text-bl1.
SELECT-OPTIONS sel_1_0 FOR sy-subrc.
SELECT-OPTIONS sel_1_1 FOR sy-repid.
SELECTION-SCREEN END OF BLOCK block_1.
INITIALIZATION.
Define the option list
ALL: All options allowed
MOVE 'ALL' TO opt_list-name.
MOVE 'X' TO: opt_list-options-bt,
opt_list-options-cp,
opt_list-options-eq,
opt_list-options-ge,
opt_list-options-gt,
opt_list-options-le,
opt_list-options-lt,
opt_list-options-nb,
opt_list-options-ne,
opt_list-options-np.
APPEND opt_list TO restrict-opt_list_tab.
NOPATTERN: CP and NP not allowed
CLEAR opt_list.
MOVE 'NOPATTERN' TO opt_list-name.
MOVE 'X' TO: opt_list-options-bt,
opt_list-options-eq,
opt_list-options-ge,
opt_list-options-gt,
opt_list-options-le,
opt_list-options-lt,
opt_list-options-nb,
opt_list-options-ne.
APPEND opt_list TO restrict-opt_list_tab.
NOINTERVLS: BT and NB not allowed
CLEAR opt_list.
MOVE 'NOINTERVLS' TO opt_list-name.
MOVE 'X' TO: opt_list-options-cp,
opt_list-options-eq,
opt_list-options-ge,
opt_list-options-gt,
opt_list-options-le,
opt_list-options-lt,
opt_list-options-ne,
opt_list-options-np.
APPEND opt_list TO restrict-opt_list_tab.
EQ_AND_CP: only EQ and CP allowed
CLEAR opt_list.
MOVE 'EQ_AND_CP' TO opt_list-name.
MOVE 'X' TO: opt_list-options-cp,
opt_list-options-eq.
APPEND opt_list TO restrict-opt_list_tab.
JUST_EQ: Only EQ allowed
CLEAR opt_list.
MOVE 'JUST_EQ' TO opt_list-name.
MOVE 'X' TO opt_list-options-eq.
APPEND opt_list TO restrict-opt_list_tab.
Assign selection screen objects to option list and sign
KIND = 'A': applies to all SELECT-OPTIONS
MOVE: 'A' TO ***-kind,
'*' TO ***-sg_main,
'NOPATTERN' TO ***-op_main,
'NOINTERVLS' TO ***-op_addy.
APPEND *** TO restrict-***_tab.
KIND = 'B': applies to all SELECT-OPTIONS in block BLOCK_0,
that is, SEL_0_0, SEL_0_1, SEL_0_2
CLEAR ***.
MOVE: 'B' TO ***-kind,
'BLOCK_0' TO ***-name,
'I' TO ***-sg_main,
'*' TO ***-sg_addy,
'NOINTERVLS' TO ***-op_main.
APPEND *** TO restrict-***_tab.
KIND = 'S': applies to SELECT-OPTION SEL-0-2
CLEAR ***.
MOVE: 'S' TO ***-kind,
'SEL_0_2' TO ***-name,
'I' TO ***-sg_main,
'*' TO ***-sg_addy,
'EQ_AND_CP' TO ***-op_main,
'ALL' TO ***-op_addy.
APPEND *** TO restrict-***_tab.
KIND = 'S': Applies to SELECT-OPTION SEL_0_3
CLEAR ***.
MOVE: 'S' TO ***-kind,
'SEL_0_3' TO ***-name,
'I' TO ***-sg_main,
'N' TO ***-sg_addy,
'JUST_EQ' TO ***-op_main.
APPEND *** TO restrict-***_tab.
Call function module
CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
EXPORTING
restriction = restrict
DB = ' '
EXCEPTIONS
too_late = 1
repeated = 2
not_during_submit = 3
db_call_after_report_call = 4
selopt_without_options = 5
selopt_without_signs = 6
invalid_sign = 7
report_call_after_db_error = 8
empty_option_list = 9
invalid_kind = 10
repeated_kind_a = 11
OTHERS = 12. -
Validation of materials entered in multiple selection in selection-screen
Hi,
How can I do the validation for all the materials entered in multiple selection in selection-screen?What kind of validation do you need to do?
One of the easiest options is to select the materials to an internal table and then loop through it. Something like this:
SELECT-OPTIONS: SO_MATNR FOR MARA-MATNR.
AT SELECTION SCREEN.
SELECT MATNR FROM MARA
INTO TABLE I_MATNR
WHERE MATNR IN SO_MATNR.
LOOP AT I_MATNR.
" <do validations here>
ENDLOOP.
Here table I_MATNR has only one field MATNR.
But please be careful with this, because you might end up going through thousands of material numbers. You might want to limit the user's choices by making the field required and removing some other options. Also you can check number of records in I_MATNR and allow only, say, not more than 50 materials, thusly forcing the users to limit their selection criteria.
Naturally, other selection options may be added here. -
How to create Multiple Selection Screen in ALV
Hi,
Can anybody tell me how to create the Multiple Selection screen in ALV reports.
Plse give me code sample if possible.
Thanks in advance
KPHi Rich,
thanks for the reply.
I am creating a report. in that for one field, i need to create a multiple selection screen. i mean in the output screen , i need to get the multiple selection screen for that field. in that i should be able to select multiple values, or single values or range of values.
eg: if i take the field kunnr, i should be able to select the multiple kunnar values in the output screen.
Hope my problem is understood.
Thanks
KP -
Multiple selection screen.
hi all,
how to create multiple selection screens,
i need 3 selection screens how to do it?
wats the maximum number selection screen can be created in a report.
regards
SuprithSELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
PARAMETERS: p1 TYPE c LENGTH 10,
p2 TYPE c LENGTH 10,
p3 TYPE c LENGTH 10.
SELECTION-SCREEN END OF SCREEN 100.
SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
PARAMETERS: q1 TYPE c LENGTH 10,
q2 TYPE c LENGTH 10,
q3 TYPE c LENGTH 10.
SELECTION-SCREEN END OF SCREEN 200.
SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,
TAB (20) button1 USER-COMMAND push1,
TAB (20) button2 USER-COMMAND push2,
END OF BLOCK mytab.
INITIALIZATION.
button1 = 'Selection Screen 1'.
button2 = 'Selection Screen 2'.
mytab-prog = sy-repid.
mytab-dynnr = 100.
mytab-activetab = 'PUSH1'.
AT SELECTION-SCREEN.
CASE sy-dynnr.
WHEN 1000.
CASE sy-ucomm.
WHEN 'PUSH1'.
mytab-dynnr = 100.
WHEN 'PUSH2'.
mytab-dynnr = 200.
WHEN OTHERS.
ENDCASE.
ENDCASE. -
Multiple selection screen is blank in screen personas SP2..
Hi,
When i click on multiple selection button, in the next pop-up screen getting blank data.
Unable to enter the values to execute the transaction.
Please suggest..
Regards,
GovindHi Tamas,
We tried to apply the related notes which you have mentioned in the previous post.
But, still not solved. Those notes are not able to apply in my system.
Can you please suggest any other solution..???
Regards,
Govind. -
Why the multiple selection can't work in sub screen
hi experts:
when i try to use the sub-screen in the report,why the multiple selection function(SO_BCTXT) can't work normally in screen 1095:
the coding as below.will reward points if solve this issue
the main program in Subscreen:
PROCESS BEFORE OUTPUT.
module status_1005.
CALL SUBSCREEN area INCLUDING sy-repid lv_tab_number.
PROCESS AFTER INPUT.
MODULE cancel AT EXIT-COMMAND.
CALL SUBSCREEN area.
MODULE user_command_1005.
module user_command_1005 input.
my_ok = ok_code.
clear ok_code.
case my_ok.
when 'TAB1'.
mytabstrip-activetab = my_ok .
lv_tab_number = 1095.
when 'TAB2'.
mytabstrip-activetab = my_ok .
lv_tab_number = 1096.
when 'CRET' or 'ONLI'.
perform get_bc_set
using
so_chanb[]
changing
<fs_bcsetfield> .
leave to screen 0.
endcase.
endmodule.
in the screen 1095:
PROCESS BEFORE OUTPUT.
MODULE %_INIT_PBO_J.
MODULE %_PBO_REPORT.
MODULE %_PF_STATUS.
MODULE %_SO_BCTXT.
MODULE %_END_OF_PBO.
PROCESS AFTER INPUT.
MODULE %_INIT_PAI_J.
CHAIN.
FIELD SO_BCTXT-LOW.
FIELD SO_BCTXT-HIGH.
MODULE %_SO_BCTXT.
ENDCHAIN.
FIELD !INCBCTY1 MODULE %_INCBCTY1 .
FIELD !INCBCTY2 MODULE %_INCBCTY2 .
FIELD !INCBCTY3 MODULE %_INCBCTY3 .
FIELD !INCBACT MODULE %_INCBACT .
FIELD !INCBINAC MODULE %_INCBINAC .
FIELD !INCLMAND MODULE %_INCLMAND .
FIELD !INCLOPTI MODULE %_INCLOPTI .
CHAIN.
FIELD SO_BCTXT-LOW.
FIELD SO_BCTXT-HIGH.
FIELD INCBCTY1 .
FIELD INCBCTY2 .
FIELD INCBCTY3 .
FIELD INCBACT .
FIELD INCBINAC .
FIELD INCLMAND .
FIELD INCLOPTI .
MODULE %_BLOCK_1095001.
ENDCHAIN.
CHAIN.
FIELD SO_BCTXT-LOW.
FIELD SO_BCTXT-HIGH.
FIELD INCBCTY1 .
FIELD INCBCTY2 .
FIELD INCBCTY3 .
FIELD INCBACT .
FIELD INCBINAC .
FIELD INCLMAND .
FIELD INCLOPTI .
MODULE %_END_OF_SCREEN.
MODULE %_OK_CODE_1000.
ENDCHAIN.
in the main report
selection-screen begin of screen 1095 as subscreen.
enquire Data
data l_text type as4text.
selection-screen begin of block b1 with frame title text-024.
select-options :
so_bctxt for l_text .
selection-screen skip 1 .
parameters:
incbcty1 type c as checkbox default abap_true ,
incbcty2 type c as checkbox default abap_true ,
incbcty3 type c as checkbox default abap_true .
selection-screen skip 1 .
parameters:
incbact type c as checkbox default abap_true ,
incbinac type c as checkbox default abap_true .
selection-screen skip 1 .
parameters:
inclmand type c as checkbox default abap_true ,
inclopti type c as checkbox default abap_true .
selection-screen end of block b1.
selection-screen end of screen 1095 .Hiii
In main program you have dclared subscreen area.
now First of all you have to declare a selection screen in your main program
selection-screen begin of screen 1005 as subscreen.
SELECT-OPTIONS s_bukrs1 for v_bukrs. "whatever you want in selection screen
selection-screen end of screen 1005.
IN PBO of your main screen (not in 1005) write
call subscreen SUB1 including sy-repid '1005'.
where SUB1 is your subscreen area name. And remember don't touch PBO or PAI of your 1005 screen, otherwise it will give you error. Yuo can just put text in layout of 1005 screen. but don't disturb other things.
Maybe you are looking for
-
I really don't know computers. I have been working here now for three months and it is just me who works here so I can't ask anyone. It was working fine until all of a sudden when i press get mail i get: please enter a password for user ...... on ser
-
I have 4 iPads and one apple Id. Two the devices record clash of clans and dragonvale individually and the other two are tied to the other two. Drives my kids nuts. How do I fix this?
-
Any help or advice would be greatly appreciated Yesterday my internal Western Digital hard drive became corrupt some how. I turned on my MacBook Pro - Snow Leopard 10.6.6 to find it stuck on the boot up screen with the Apple Logo I searched on variou
-
hello anyone i have a late 2011 macbook pro that i purchsed second hand it already had lion installed i wanted to install mavericks which I tried a four digit pin code came up thus locking my mac I took it to the geeksquad they wiped my harddrive and
-
Account email changed but will not allow use
I changed my account email and veryfied it. Now, it says I have not verified it, but when I click yes for instructions it says I have verified it. HELP!!!!