Application Development 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: 

Modify Selection screen

Former Member
0 Kudos

HI,

On my selection screen.

I have two parameters

Param1 , Obligatory

Param2

and then two radio buttons

rad1

rad2

My requirement is if i select one radio button param 1 is mandatory

and if i select radiobutton 2 then param1 is not required.it should be grayed out.

When i tried to modify the screen in at selection-screen output

when ever i am selecting second radio button on the selection sreen i am getting a message asking for input for param 1..

How to avoid automatic checks on selection screen.

Thanks

Kiran

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

Please find the below code.

tables: sscrfields.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS : p_app RADIOBUTTON GROUP rb default 'X' user-command UC,

p_desk RADIOBUTTON GROUP rb.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.

parameters: param1(20),

param2(20) .

SELECTION-SCREEN END OF BLOCK b2.

at selection-screen output.

if p_desk eq 'X'.

loop at screen.

if screen-name = 'PARAM1'.

screen-input = '0'.

modify screen.

endif.

endloop.

endif.

at selection-screen.

if p_app eq 'X' and param1 is initial.

loop at screen.

if screen-name = 'PARAM1'.

screen-input = '1'.

modify screen.

endif.

endloop.

message 'enter the c' type 'E'.

endif.

Regards,

Suresh.

8 REPLIES 8

Former Member
0 Kudos

Hi,

Remove the OBLIGATORY addition and do the checking for the field yourself in the code.

Regards,

Rajvansh.

Former Member
0 Kudos

Donot make the selection parameter Param1 mandatory in the selection screen using keyword Obligatory.

Instead of this in 'at selection screen' event check the content of Param1 if 1st radio button is checked. And then if it is initial then display error message.

Former Member
0 Kudos

Hi Kiran ,

My requirement is if i select one radio button param 1 is mandatory .. As per your statement , when you select R1 ( radio button1 ) , then only the PARAM1 is mandatory.

So you can try this..

instead of Param1 , Obligatory, try Param1 .

Loop at screen and make your requirement feasible.

Regards,

Chitra

Former Member
0 Kudos

Remo obligatory for parm 1 ...(If its obligatory you should give some input to that and click on secon radio button ...)

I am giving one same code....

&----


*& Report ZSELECTION_SCREEN_MADHU

*&

&----


*&

*&

&----


REPORT ZSELECTION_SCREEN_MADHU NO STANDARD PAGE HEADING MESSAGE-ID ZTREE..

*&----


**& Report ZMADDY

*&----


  • REPORT ZMADDY NO STANDARD PAGE HEADING MESSAGE-ID ZTREE.

TABLES: MARA,MARC,VBAK ,MAKT,SSCRFIELDS.

  • DATA: BEGIN OF ITAB OCCURS 0 ,

  • SSCRFIELDS-FUNCTXT_01,

  • END OF ITAB.

SELECTION-SCREEN: FUNCTION KEY 1.

SELECTION-SCREEN: FUNCTION KEY 2.

  • SELECTION

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

SELECTION-SCREEN: SKIP 1.

SELECT-OPTIONS: S_MATNR FOR MARA-MATNR DEFAULT 'siva' NO-EXTENSION MODIF ID S2.

"MATCHCODE OBJECT Zmobj.

SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN DEFAULT 'maddy' MODIF ID S1.

PARAMETER: P_WERKS LIKE MARC-WERKS MODIF ID S2.

PARAMETER: P_MAKTX LIKE MAKT-MAKTX MODIF ID S1.

SELECTION-SCREEN: SKIP 1.

SELECTION-SCREEN: END OF BLOCK B1.

*********radio buttons************

SELECTION-SCREEN COMMENT /1(50) comm1 MODIF ID mg1.

SELECTION-SCREEN ULINE /1(25).

*SELECTION-SCREEN SKIP.

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

SELECTION-SCREEN: BEGIN OF LINE.

PARAMETER: R1 RADIOBUTTON GROUP G2 DEFAULT 'X' USER-COMMAND UC1.

SELECTION-SCREEN : COMMENT 2(20) TEXT-021 FOR FIELD R1.

SELECTION-SCREEN: END OF LINE.

SELECTION-SCREEN: BEGIN OF LINE.

PARAMETER: R2 RADIOBUTTON GROUP G2.

SELECTION-SCREEN : COMMENT 2(10) TEXT-050 FOR FIELD R2 .

  • SELECTION-SCREEN :ULINE /1(10).

SELECTION-SCREEN: END OF LINE.

SELECTION-SCREEN: END OF BLOCK B2 .

INITIALIZATION.

MOVE 'HELP' TO SSCRFIELDS-FUNCTXT_01.

move 'Maddy' to sscrfields-functxt_02.

comm1 ='Select one Radio button'.

  • FUNCTXT_01 = 'HELP'.

AT SELECTION-SCREEN.

CASE SSCRFIELDS-UCOMM.

WHEN 'FC01'.

CALL SCREEN '101' STARTING AT 20 1

ENDING AT 90 25.

WHEN 'FC02'.

call SCREEN '102' starting at 20 1

ENDING AT 90 25.

WHEN OTHERS .

ENDCASE.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF R1 = 'X' AND SCREEN-GROUP1 = 'S2'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

IF R2 = 'X' AND SCREEN-GROUP1 = 'S1'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

&----


*& Module STATUS_0101 OUTPUT

&----


  • text

----


MODULE STATUS_0101 OUTPUT.

SET PF-STATUS 'STAT'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0101 OUTPUT

&----


*& Module USER_COMMAND_0101 INPUT

&----


  • text

----


MODULE USER_COMMAND_0101 INPUT.

CASE SY-UCOMM.

WHEN 'CONTINUE'.

SET SCREEN 0.

LEAVE TO SCREEN 0.

WHEN 'CANCEL'.

SET SCREEN 0.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_0101 INPUT

&----


*& Module back INPUT

&----


  • text

----


MODULE back INPUT.

SUBMIT ZSELECTION_SCREEN_MADHU via SELECTION-SCREEN.

ENDMODULE. " back INPUT

PLz give rewards

Former Member
0 Kudos

Hi,

try this way-

Parameters:param1 type mara-matnr,

param2 type marc-werks.

Parameters:p_rad1 radiobutton group gr1 user-command u1 default 'X',

p_rad2 radiobutton group gr1.

At selection-screen output.

if p_rad2 = 'X'.

Loop at screen.

if screen-name CS 'PARAM1'.

Screen-input = 0.

Modify screen.

Endif.

Endloop.

Endif.

At selection-screen.

if p_rad1 = 'X' and param1 is initial.

Message 'Fill mandatory field' type 'E'.

Endif.

Former Member
0 Kudos

Hi

SET PF-STATUS menu.

CASE sy-ucomm.

WHEN 'param1'.

LOOP AT SCREEN.

screen-input = '0'.

MODIFY SCREEN.

ENDLOOP.

when 'param2'.

LOOP AT SCREEN.

screen-output = '1'.

MODIFY SCREEN.

ENDLOOP. " Loop at screen.

ENDCASE. " Case sy-ucomm.

Regards,

Sravanthi

Former Member
0 Kudos

Hi,

Please find the below code.

tables: sscrfields.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS : p_app RADIOBUTTON GROUP rb default 'X' user-command UC,

p_desk RADIOBUTTON GROUP rb.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.

parameters: param1(20),

param2(20) .

SELECTION-SCREEN END OF BLOCK b2.

at selection-screen output.

if p_desk eq 'X'.

loop at screen.

if screen-name = 'PARAM1'.

screen-input = '0'.

modify screen.

endif.

endloop.

endif.

at selection-screen.

if p_app eq 'X' and param1 is initial.

loop at screen.

if screen-name = 'PARAM1'.

screen-input = '1'.

modify screen.

endif.

endloop.

message 'enter the c' type 'E'.

endif.

Regards,

Suresh.

Former Member
0 Kudos

Thanks