‎2007 Apr 30 5:53 AM
Hi Friends,
In my selection-screen, i am using four radibuttons(RTGS, NEFT, BC, CC) and using two parameter(P_BRANCH, P_LOC).
if i select BC or CC then the branch is enable otherwise it is disabled.
my problem is, when I select the radio button BC or CC then i want the branch code is obligatory(mandatory) . the coding is given below.
SELECTION-SCREEN BEGIN OF BLOCK A03 WITH FRAME TITLE TEXT-003.
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN: COMMENT (10) TEXT-006 FOR FIELD RTGS.
PARAMETERS RTGS RADIOBUTTON GROUP TT user-command USR DEFAULT 'X'.
SELECTION-SCREEN end OF LINE .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN: COMMENT (10) TEXT-007 FOR FIELD NEFT.
PARAMETERS: NEFT RADIOBUTTON GROUP TT.
SELECTION-SCREEN end OF LINE .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN: COMMENT (10) TEXT-005 FOR FIELD BC.
PARAMETERS: BC RADIOBUTTON GROUP TT .
SELECTION-SCREEN: COMMENT 15(19) TEXT-009 FOR FIELD P_LOC.
PARAMETERS: P_LOC like ZFI_ABN_LOC." MODIF ID M2.
SELECTION-SCREEN end OF LINE .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN: COMMENT (10) TEXT-004 FOR FIELD CC.
PARAMETERS: CC RADIOBUTTON GROUP TT .
SELECTION-SCREEN: COMMENT 15(19) TEXT-008 FOR FIELD P_BRANCH.
PARAMETERS: P_BRANCH like T001-LAND1 OBLIGATORY.
SELECTION-SCREEN: COMMENT (20) TEXT-011 FOR FIELD P_MODE.
PARAMETERS: P_MODE LIKE BKPF-BLART.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK A03.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF ( RTGS EQ 'X' OR NEFT EQ 'X').
if screen-name eq 'P_BRANCH'.
CLEAR P_BRANCH. .
SCREEN-INPUT = 0 .
MODIFY SCREEN.
C_FLAG = 'X'.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
IF cc ne 'X' .
if screen-name eq 'P_MODE'.
CLEAR P_MODE .
SCREEN-INPUT = 0 .
MODIFY SCREEN.
C_FLAG = 'X'.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
if screen-name eq 'P_LOC'.
IF BC NE 'X' ."AND SCREEN-GROUP1 = 'M2'.
clear P_LOC.
SCREEN-INPUT = 0.
MODIFY SCREEN.
endif.
endif.
ENDLOOP.
AT SELECTION-SCREEN.
LOOP AT SCREEN.
IF ( RTGS EQ 'X' OR NEFT EQ 'X').
if screen-name eq 'P_BRANCH'.
CLEAR P_BRANCH.
SCREEN-INPUT = 0.
MODIFY SCREEN.
C_FLAG = 'X'.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
IF ( cc = 'X').
if screen-name eq 'P_MODE'.
CLEAR P_MODE .
SCREEN-INPUT = 0 .
MODIFY SCREEN.
C_FLAG = 'X'.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
if screen-name eq 'P_LOC'.
IF BC NE 'X'." AND SCREEN-GROUP1 = 'M2'.
CLEAR P_LOC.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
Thanks & Regards,
vallamuthu.M
‎2007 Apr 30 6:06 AM
Hi Vallamuthu,
Go through this program u can understand.
REPORT YREPVALIDATION .
TABLES: KNA1,VBAK.
DATA : BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
ERDAT LIKE VBAK-ERDAT,
NETWR LIKE VBAK-NETWR,
END OF ITAB.
DATA : VAL TYPE I VALUE 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : CUST LIKE KNA1-KUNNR.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS : SALES LIKE VBAK-VKORG MODIF ID RAF,
DCH LIKE VBAK-VTWEG MODIF ID RAF.
SELECTION-SCREEN END OF BLOCK B2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'RAF'.
IF VAL = 1.
SCREEN-INPUT = 0.
SCREEN-INVISIBLE = 1.
MODIFY SCREEN.
ELSE.
VAL = 2.
*SCREEN-INPUT = 1.
SCREEN-INVISIBLE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN ON CUST.
SELECT SINGLE * FROM KNA1 WHERE KUNNR = CUST.
IF SY-SUBRC <> 0.
MESSAGE E000(0) WITH 'ENTER CURRECT INPUT'.
EXIT.
ELSE.
VAL = 2.
ENDIF.
START-OF-SELECTION.
SELECT VBELN ERDAT NETWR FROM VBAK INTO TABLE ITAB WHERE KUNNR =
CUST OR VKORG = SALES OR VTWEG = DCH .
LOOP AT ITAB.
WRITE : / ITAB-VBELN, ITAB-ERDAT, ITAB-NETWR.
ENDLOOP.
********Rewards some points.
Rgds,
P.Naganjana Reddy
‎2007 Apr 30 11:11 AM
Hi ,
use below logic
AT SELECTION-SCREEN.
IF ( RTGS EQ 'X' OR NEFT EQ 'X').
if p_branch is initial.
message i000 'enter branch'.
endif.
ENDIF.
Regards
Amole
‎2007 Apr 30 1:06 PM
Hi Vallamuthu
Try this,
TABLES: KNA1,VBAK.
DATA : BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
ERDAT LIKE VBAK-ERDAT,
NETWR LIKE VBAK-NETWR,
END OF ITAB.
DATA : VAL TYPE I VALUE 1.
SELECTION-SCREEN BEGIN OF BLOCK A03 WITH FRAME TITLE TEXT-003.
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN: COMMENT (10) TEXT-006 FOR FIELD RTGS.
PARAMETERS RTGS RADIOBUTTON GROUP TT user-command USR DEFAULT 'X'.
SELECTION-SCREEN end OF LINE .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN: COMMENT (10) TEXT-007 FOR FIELD NEFT.
PARAMETERS: NEFT RADIOBUTTON GROUP TT.
SELECTION-SCREEN end OF LINE .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN: COMMENT (10) TEXT-005 FOR FIELD BC.
PARAMETERS: BC RADIOBUTTON GROUP TT .
SELECTION-SCREEN: COMMENT 15(19) TEXT-009 FOR FIELD P_LOC.
PARAMETERS: P_LOC like ZFI_ABN_LOC." MODIF ID M2.
SELECTION-SCREEN end OF LINE .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN: COMMENT (10) TEXT-004 FOR FIELD CC.
PARAMETERS: CC RADIOBUTTON GROUP TT .
SELECTION-SCREEN: COMMENT 15(19) TEXT-008 FOR FIELD P_BRANCH.
PARAMETERS: P_BRANCH like T001-LAND1 OBLIGATORY.
SELECTION-SCREEN: COMMENT (20) TEXT-011 FOR FIELD P_MODE.
PARAMETERS: P_MODE LIKE BKPF-BLART.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK A03.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
if screen-name eq 'P_BRANCH'.
IF ( RTGS eq 'X' OR NEFT eq 'X').
P_BRANCH = ' '. "----> not space but Alt+255
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
if cc eq 'X' or BC eq 'X'.
screen-input = '1'.
MODIFY SCREEN.
if P_BRANCH eq ' ' .
message E001(Error_message_here).----->create msg class and error msg
if the above error msg dosn't work try
message I001(Error_message_here).
endif.
ENDIF.
ENDIF.
ENDLOOP.
Reward if helpful,
Regards,
Sooness
end-of-SELECTION.
‎2007 Apr 30 1:08 PM