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

Problem with Selection Screen

Former Member
0 Likes
729

Hi everyone,

Im facing a problem in selection-screen.

My selection screen contains

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETER: P_DATUM LIKE SY-DATUM OBLIGATORY DEFAULT SY-DATUM.

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.

*SELECTION-SCREEN SKIP.

SELECTION-SCREEN COMMENT /1(15) TEXT-005.

SELECTION-SCREEN COMMENT 25(15) TEXT-006.

SELECTION-SCREEN COMMENT 49(24) TEXT-007.

SELECTION-SCREEN COMMENT 77(10) TEXT-008.

*SELECTION-SCREEN ULINE /1(10).

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E1.

PARAMETER: P_E1(5) DEFAULT '2.25'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M1.

PARAMETER: P_M1(5) DEFAULT '6.50'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_STAFF.

PARAMETER: P_STAFF(5) DEFAULT '2.25'.

SELECTION-SCREEN COMMENT 77(6) FOR FIELD P_GET.

PARAMETER: P_GET(5) DEFAULT '1.30'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E2.

PARAMETER: P_E2(5) DEFAULT '2.50'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M2.

PARAMETER: P_M2(5) DEFAULT '7.50'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_WORK.

PARAMETER: P_WORK(5) DEFAULT '2.25'.

SELECTION-SCREEN COMMENT 77(6) FOR FIELD P_DHT.

PARAMETER: P_DHT(5) DEFAULT '0.70'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E3.

PARAMETER: P_E3(5) DEFAULT '3.00'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M3.

PARAMETER: P_M3(5) DEFAULT '10.00'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_DET.

PARAMETER: P_DET(5) DEFAULT '1.00'.

SELECTION-SCREEN COMMENT 77(15) TEXT-076.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E4.

PARAMETER: P_E4(5) DEFAULT '3.50'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M4.

PARAMETER: P_M4(5) DEFAULT '13.00'.

SELECTION-SCREEN COMMENT 49(20) TEXT-009.

SELECTION-SCREEN COMMENT 77(6) FOR FIELD P_TEMP.

PARAMETER: P_TEMP(5) DEFAULT '0.70'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E5.

PARAMETER: P_E5(5) DEFAULT '4.00'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M5.

PARAMETER: P_M5(5) DEFAULT '18.00'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_CT.

PARAMETER: P_CT(5) DEFAULT '4.50'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E6.

PARAMETER: P_E6(5) DEFAULT '5.00'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M6.

PARAMETER: P_M6(5) DEFAULT '24.00'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_CX.

PARAMETER: P_CX(5) DEFAULT '2.50'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E7.

PARAMETER: P_E7(5) DEFAULT '6.00'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M7.

PARAMETER: P_M7(5) DEFAULT '36.00'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_CU.

PARAMETER: P_CU(5) DEFAULT '1.00'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B2.

My reqirement is, if

P_DATUM < 01042006

Then i have to display BLOCK B2 where the default values

will be some other values.

How to face this problem?

Its urgent.

thanks in advance

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
694

hi

use event AT SELECTION-SCREEN OUTPUT.

under this event, write the IF condition.

for example:


IF P_DATE < 01042006.
P_AB = '889'.
P_BB = '990'
ENDIF.

thx

pavan

4 REPLIES 4
Read only

Former Member
0 Likes
694

check the data for parameter in at selection-screen.

and set the value

at selection-screen output.

regards

shiba dutta

Read only

Former Member
0 Likes
695

hi

use event AT SELECTION-SCREEN OUTPUT.

under this event, write the IF condition.

for example:


IF P_DATE < 01042006.
P_AB = '889'.
P_BB = '990'
ENDIF.

thx

pavan

Read only

Former Member
0 Likes
694

SEE BELOW CODE,it wil work and change ur condition and value of p_datum as per ur needs..the code is working fine just copy and paste it..

and reward me points -

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETER: P_DATUM LIKE SY-DATUM OBLIGATORY modif id ABC DEFAULT SY-DATUM .

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.

*SELECTION-SCREEN SKIP.

SELECTION-SCREEN COMMENT /1(15) TEXT-005.

SELECTION-SCREEN COMMENT 25(15) TEXT-006.

SELECTION-SCREEN COMMENT 49(24) TEXT-007.

SELECTION-SCREEN COMMENT 77(10) TEXT-008.

*SELECTION-SCREEN ULINE /1(10).

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E1.

PARAMETER: P_E1(5) DEFAULT '2.25'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M1.

PARAMETER: P_M1(5) DEFAULT '6.50'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_STAFF.

PARAMETER: P_STAFF(5) DEFAULT '2.25'.

SELECTION-SCREEN COMMENT 77(6) FOR FIELD P_GET.

PARAMETER: P_GET(5) DEFAULT '1.30'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E2.

PARAMETER: P_E2(5) DEFAULT '2.50'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M2.

PARAMETER: P_M2(5) DEFAULT '7.50'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_WORK.

PARAMETER: P_WORK(5) DEFAULT '2.25'.

SELECTION-SCREEN COMMENT 77(6) FOR FIELD P_DHT.

PARAMETER: P_DHT(5) DEFAULT '0.70'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E3.

PARAMETER: P_E3(5) DEFAULT '3.00'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M3.

PARAMETER: P_M3(5) DEFAULT '10.00'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_DET.

PARAMETER: P_DET(5) DEFAULT '1.00'.

SELECTION-SCREEN COMMENT 77(15) TEXT-076.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E4.

PARAMETER: P_E4(5) DEFAULT '3.50'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M4.

PARAMETER: P_M4(5) DEFAULT '13.00'.

SELECTION-SCREEN COMMENT 49(20) TEXT-009.

SELECTION-SCREEN COMMENT 77(6) FOR FIELD P_TEMP.

PARAMETER: P_TEMP(5) DEFAULT '0.70'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E5.

PARAMETER: P_E5(5) DEFAULT '4.00'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M5.

PARAMETER: P_M5(5) DEFAULT '18.00'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_CT.

PARAMETER: P_CT(5) DEFAULT '4.50'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E6.

PARAMETER: P_E6(5) DEFAULT '5.00'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M6.

PARAMETER: P_M6(5) DEFAULT '24.00'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_CX.

PARAMETER: P_CX(5) DEFAULT '2.50'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(6) FOR FIELD P_E7.

PARAMETER: P_E7(5) DEFAULT '6.00'.

SELECTION-SCREEN COMMENT 25(6) FOR FIELD P_M7.

PARAMETER: P_M7(5) DEFAULT '36.00'.

SELECTION-SCREEN COMMENT 49(10) FOR FIELD P_CU.

PARAMETER: P_CU(5) DEFAULT '1.00'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B2.

INITIALIZATION.

P_DATUM = SY-DATUM - 1 .

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN .

IF P_DATUM NE SY-DATUM.

IF SCREEN-GROUP1 NE 'ABC'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

ENDIF.

ENDIF.

ENDLOOP.

Read only

Former Member
0 Likes
694

Hi Stanley,

Have a look at this example. Try using the same logic.

The elements of block b2 are assigned to the modification group bl2. A checkbox show_all allows the user to select whether or not these elements are displayed. The display is changed immediately, as selecting the checkbox triggers the event AT SELECTION-SCREEN. The function code is not required. Instead, the content of show_all is evaluated during PBO.

PARAMETERS show_all AS CHECKBOX USER-COMMAND flag.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.

PARAMETERS: p1(10) TYPE c,

p2(10) TYPE c,

p3(10) TYPE c.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.

PARAMETERS: p4(10) TYPE c MODIF ID bl2,

p5(10) TYPE c MODIF ID bl2,

p6(10) TYPE c MODIF ID bl2.

SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF show_all <> 'X' AND

screen-group1 = 'BL2'.

screen-active = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

Thanks

Elan