‎2008 Oct 22 7:47 AM
Hi all,
I have a requirement where in I have to provide radio buttons to select between two selection screens blocks.
The requirement is something like this:-
selection screen begin of block A1 with frame title text-001.
parameters: p_temp type c.
selection screen end of block A1.
selection screen begin of block B2 with frame title text-002.
parameters: p_key type c.
selection screen end of block B2.
Now, what i need to do is to provide radio buttons to both selection screen blocks A1 and B2. If radio button for block A1 is selected then the parameter p_key in block B2 should be displayed as disabled. Now, if the user chooses radio button for block B2 then the parameter p_temp in block A1 should be disabled for input.
In either case, the radiobuttons should be available all the time to change between the selection screens.
What i need is actually radio buttons for selection screen blocks and not within the selection screen. Those radio buttons must appear by the side of the selection screen block name.
Please help me... Much appreciated...
‎2008 Oct 22 7:48 AM
Hi ,
write the logic at
AT selection-screen output.
loop at screen.
logic here.....
endloop.
Regards,
Bharani
‎2008 Oct 22 7:52 AM
Hi,
Create a third selection screen block. In this block create two radio buttons.
Rad1 and rad2.
then using If condition If first radion buttons is checked disable second selection screen box
and if second radion buttons is checked disable first bolck.
Hope it will work.
Thanks
Rajesh Kumar
‎2008 Oct 22 8:10 AM
Hi,
See this code....
PARAMETERS: rd1 TYPE c RADIOBUTTON GROUP rd DEFAULT 'X' USER-COMMAND rd,
rd2 TYPE c RADIOBUTTON GROUP rd.
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001 .
PARAMETERS: p_temp TYPE c MODIF ID 1.
SELECTION-SCREEN END OF BLOCK a1.
SELECTION-SCREEN BEGIN OF BLOCK a2 WITH FRAME TITLE text-001.
PARAMETERS: p_key TYPE c MODIF ID 2.
SELECTION-SCREEN END OF BLOCK a2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF rd1 EQ 'X'.
IF screen-group1 = '1'.
screen-input = 1.
ELSEIF screen-group1 = '2'.
screen-input = 0.
ENDIF.
ENDIF.
IF rd2 EQ 'X'.
IF screen-group1 = '2'.
screen-input = 1.
ELSEIF screen-group1 = '1'.
screen-input = 0.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Edited by: Sukriti Saha on Oct 22, 2008 12:41 PM
Edited by: Sukriti Saha on Oct 22, 2008 12:45 PM
Edited by: Sukriti Saha on Oct 22, 2008 12:49 PM
‎2008 Oct 22 8:13 AM
Hi
Check the following code include a modif for the Radio button also then you get your requirement.
REPORT ZTARAK_REPORT_COM_ASSIN1 .
TABLES: ZTARAK_PO,ZTARAK_PGI,ZTARAK_BATCH.
DATA: BEGIN OF ITAB_PO OCCURS 0,
EBELN LIKE ZTARAK_PO-EBELN,
EBELP LIKE ZTARAK_PO-EBELP,
AEDAT LIKE ZTARAK_PO-AEDAT,
LIFNR LIKE ZTARAK_PO-LIFNR,
RESWK LIKE ZTARAK_PO-RESWK,
MATNR LIKE ZTARAK_PO-MATNR,
WERKS LIKE ZTARAK_PO-WERKS,
LGORT LIKE ZTARAK_PO-LGORT,
MATKL LIKE ZTARAK_PO-MATKL,
MENGE LIKE ZTARAK_PO-MENGE,
MEINS LIKE ZTARAK_PO-MEINS,
ELIKZ LIKE ZTARAK_PO-ELIKZ,
PSTYP LIKE ZTARAK_PO-PSTYP,
CHARG LIKE ZTARAK_PO-CHARG,
END OF ITAB_PO.
DATA: BEGIN OF ITAB_BAT OCCURS 0,
CHARG LIKE ZTARAK_BATCH-CHARG,
MENGE LIKE ZTARAK_BATCH-MENGE,
END OF ITAB_BAT.
DATA: V_FLAGE LIKE ZTARAK_PGI-MENGE.
DATA: V_FLAGE1 LIKE ZTARAK_PGI-MENGE.
DATA: BEGIN OF ITAB_PGI OCCURS 0,
MBLNR LIKE ZTARAK_PGI-MBLNR,
MJAHR LIKE ZTARAK_PGI-MJAHR,
EBELN LIKE ZTARAK_PGI-EBELN,
EBELP LIKE ZTARAK_PGI-EBELP,
BWART LIKE ZTARAK_PGI-BWART,
MENGE LIKE ZTARAK_PGI-MENGE,
MEINS LIKE ZTARAK_PGI-MEINS,
WERKS LIKE ZTARAK_PGI-WERKS,
CHARG LIKE ZTARAK_PGI-CHARG,
MENGEP LIKE ZTARAK_PGI-MENGE,
MENGEB LIKE ZTARAK_PGI-MENGE,
REM_PO LIKE ZTARAK_PGI-MENGE,
REM_BAT LIKE ZTARAK_PGI-MENGE,
END OF ITAB_PGI.
DATA: V1 TYPE STRING.
SELECTION-SCREEN: BEGIN OF BLOCK B0 WITH FRAME TITLE TEXT-001.
PARAMETERS : RB1 RADIOBUTTON GROUP GP1 DEFAULT 'X' USER-COMMAND ABC,
RB2 RADIOBUTTON GROUP GP1,
RB3 RADIOBUTTON GROUP GP1,
RB4 RADIOBUTTON GROUP GP1.
SELECTION-SCREEN END OF BLOCK B0.
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.
PARAMETERS : P_EBELN LIKE ZTARAK_PO-EBELN MODIF ID B1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-003.
PARAMETERS :P1_EBELN LIKE ZTARAK_PO-EBELN MODIF ID B2,
P1_EBELP LIKE ZTARAK_PO-EBELP MODIF ID B2.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN: BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-001.
PARAMETERS : P_MBLNR LIKE ZTARAK_PGI-MBLNR MODIF ID B3 .
SELECTION-SCREEN END OF BLOCK B3.
SELECTION-SCREEN: BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-001.
PARAMETERS :P2_EBELN LIKE ZTARAK_PO-EBELN MODIF ID B4,
P2_EBELP LIKE ZTARAK_PO-EBELP MODIF ID B4,
P_CHARG LIKE ZTARAK_PO-CHARG MODIF ID B4.
SELECTION-SCREEN END OF BLOCK B4.
INITIALIZATION.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN .
IF RB1 = 'X' .
IF SCREEN-GROUP1 = 'B1'.
SCREEN-ACTIVE = 1 .
ELSEIF SCREEN-GROUP1 = 'B2' OR
SCREEN-GROUP1 = 'B3' OR
SCREEN-GROUP1 = 'B4'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF RB2 = 'X' .
IF SCREEN-GROUP1 = 'B2'.
SCREEN-ACTIVE = 1 .
ELSEIF SCREEN-GROUP1 = 'B1' OR
SCREEN-GROUP1 = 'B3' OR
SCREEN-GROUP1 = 'B4'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF RB3 = 'X' .
IF SCREEN-GROUP1 = 'B3'.
SCREEN-ACTIVE = 1 .
ELSEIF SCREEN-GROUP1 = 'B2' OR
SCREEN-GROUP1 = 'B1' OR
SCREEN-GROUP1 = 'B4'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF RB4 = 'X' .
IF SCREEN-GROUP1 = 'B4'.
SCREEN-ACTIVE = 1 .
ELSEIF SCREEN-GROUP1 = 'B1' OR
SCREEN-GROUP1 = 'B2' OR
SCREEN-GROUP1 = 'B3'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
‎2008 Nov 10 11:25 AM
Hi
How did you solve this problem. Even i have the same issue.
‎2019 Dec 21 6:08 AM