Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

selection screen

madan_ullasa
Contributor
0 Likes
1,174

hi frnds,

my requirement, i have a selection screen with a select-option. After the user inputs the value in the select-options, i have to display a screen which shows some of the values which may not be correct. then the user will

go back to the selection screen to re-input the values..

any suggestions to do this elegently. Now im using some crude method. plz remember that, the displayed values will be more than 1, so i cant use a 'message'...

all answers assured points..

regards,

Madan...

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,148

hi madan...

what is the relation between displayed values after the selection screen and the user inputs..

11 REPLIES 11
Read only

Former Member
0 Likes
1,148

hi madan,

1. displayed values will be more than 1, so i cant use a 'message'...

Thats fine.

U can use

a) alv list display

b) simple write statement to show the information list

2. If some wrong value is there, then u can show

as above a,b.

Other wise u can process the rest of the logic.

regards,

amit m.

Read only

Former Member
0 Likes
1,149

hi madan...

what is the relation between displayed values after the selection screen and the user inputs..

Read only

0 Likes
1,148

If there are wrong values then, it will will be excluded from the select options.. as arun has mentioned, im using the list, but is there a better way doing it, like popping a small screen with the values..

Read only

0 Likes
1,148

Hi,

If U have any check table for the values entered on the

selection screen(I mean for the field) then U can write

a select.

Select Myfield from checktableforfield

into table it_tab

where myfield in s_myfield.

Now U can populate/show all these values which valid.

I think this should work.

Regards,

GSR.

Read only

0 Likes
1,148

Hi,

Try this code.It will work for all the select-options low value.Even though I am using message,it will show you all the invalid values at a strectch.

REPORT zzz_jaytest1 NO STANDARD PAGE HEADING message-id zhrt.

tables pa0001.

select-options s_pernr for pa0001-pernr.

data v1(100).

start-of-selection.

loop at s_pernr.

...check for invalid.If so,write the logic

concatenate v1 ',' s_pernr-low into v1.

endloop.

concatenate v1 ' not valid' into v1.

message i000 with v1.

leave list-processing.

Kindly reward points by clikcing the star on the left of reply,if it helps.

Read only

0 Likes
1,148

hi jayanthi,

im using the same logic as u have mentioned, but the control never goes to the list...

my code is sumting like this,

start-of-selection.

if itab[] is not initial.

loop at itab.

write:/ itab.

endloop.

call selection-screen 1000.

if if itab[] is initial.

call screen 9000.

endif.

the control goes to the itab and write statement, but b4 the list is displayed, screen 9000 is called.

regards,

madan..

Read only

0 Likes
1,148

Hi,

I understood from your code that,if itab is blank,you want screen 9000 to be called and if itab is not initial,you want to write something.

First thing I want to tell you,avoid using write statement.Write won't work here.

if not itab[] is initial.

...write the logic as I told before using concatenation and then print finally the message

leave list-processing."Control will go to selection screen

else.

call screen 9000.

endif.

Read only

Former Member
0 Likes
1,148

hi Madan,

i think you can use CALL SELECTION-SCREEn..

something like this..

tables : vbak.
data : it like table of vbak with header line.

SELECTION-SCREEN BEGIN OF SCREEN 500 TITLE title
AS WINDOW.
PARAMETERS name TYPE sy-uname.
SELECTION-SCREEN END OF SCREEN 500.

SELECTION-SCREEN BEGIN OF SCREEN 200 AS WINDOW.
SELECTION-SCREEN COMMENT /2(30) TEXT-100.
SELECTION-SCREEN END OF SCREEN 200.
select * into table it from vbak where vbeln between '0000004970' and
'0000004980'.

SELECTION-SCREEN BEGIN OF SCREEN 300 AS WINDOW.
selection-screen comment /2(15) com.
SELECTION-SCREEN END OF SCREEN 300.

*COM = 'Unauthorised User'.
loop at it.
  concatenate it-vbeln com  into com.
endloop.

title = 'Input name'.

CALL SELECTION-SCREEN '0500' STARTING AT 5 5.
CALL SELECTION-SCREEN '0300' STARTING AT 5 5.

write : / 'hi'.
CALL SELECTION-SCREEN '0500' STARTING AT 5 5.

it might work..

if it doesn't the best way will be to use an ALV ..

regards

satesh

Read only

Former Member
0 Likes
1,148

U can use FM

CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'

EXPORTING

ENDPOS_COL = 5

ENDPOS_ROW = 5

STARTPOS_COL = 1

STARTPOS_ROW = 1

TITLETEXT = 'Title'

  • IMPORTING

  • CHOISE =

TABLES

VALUETAB = vbeln

  • EXCEPTIONS

  • BREAK_OFF = 1

  • OTHERS = 2

Read only

Former Member
0 Likes
1,148

POPUP_TO_GET_VALUE: This function can be used in a program to return some value to user through a popup on the screen.

for more details check this site...

http://planetsap.com/Useful_function_modules.htm

Read only

Former Member
0 Likes
1,148

hI MADAN,

1. U want to show SMALL WINDOW ?

2. do like this :

3.

REPORT zbha_temp.

PARAMETERS : A TYPE C.

DATA : BEGIN OF itab OCCURS 0,

f(30) TYPE c,

END OF itab.

START-OF-SELECTION.

itab-f = 'AAA'.

APPEND itab.

itab-f = 'BBB'.

APPEND itab.

CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'

EXPORTING

endpos_col = 15

endpos_row = 15

startpos_col = 10

startpos_row = 10

titletext = 'Title'

  • IMPORTING

  • CHOISE =

TABLES

valuetab = itab

EXCEPTIONS

BREAK_OFF = 1

OTHERS = 2

.

REGARDS,

AMIT M.