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: obligatory problem

vallamuthu_madheswaran2
Active Contributor
0 Likes
584

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

4 REPLIES 4
Read only

Former Member
0 Likes
505

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

Read only

Former Member
0 Likes
505

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

Read only

dev_parbutteea
Active Contributor
0 Likes
505

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.

Read only

dev_parbutteea
Active Contributor
0 Likes
505

if P_BRANCH eq '  ' .----> also not space but Alt+255