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

How to do validation for screen fields?

Former Member
0 Likes
885

Hi All,

Pls tell how to do validation of screen fields, explain with example?

Thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
671

Hi,

try like this...

In the screen flow logic.....


process after input.
 loop at itab.
 field itab-carrid module check on request.
 endloop.
 module user_command_0100.

in the program code..

module check input.
  data : carid like spfli-carrid.
  if not itab-carrid is initial.
    select single carrid
                  from zspfli
                  into carid
                  where carrid = itab-carrid.
    if not sy-subrc is initial.
      message 'carrid does not exist' type 'E'.
    endif.
      endif.
endmodule.                 " check  INPUT

Regards,

Satish Reddy..

2 REPLIES 2
Read only

former_member206439
Contributor
0 Likes
671

Hi

see this sample example

the bold letters will explain you how can we validate the screen elements.

REPORT ZNNR_REPORT NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).

******DATA DECLARATIONS**********

DATA : BEGIN OF IT_PLANT OCCURS 0,

MATNR LIKE MARA-MATNR,

WERKS LIKE MARC-WERKS,

PSTAT LIKE MARC-PSTAT,

EKGRP LIKE MARC-EKGRP,

END OF IT_PLANT.

DATA : BEGIN OF IT_PONO OCCURS 0,

EBELN LIKE EKKO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

WERKS LIKE EKPO-WERKS,

LGORT LIKE EKPO-LGORT,

END OF IT_PONO.

TABLES EKKO.

********END OF DATA DECLARATIONS*********

********SELECTION SCREEN DESIGN ***********

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

PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.

SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.

SELECTION-SCREEN END OF BLOCK B1.

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

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X'.

SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : R2 RADIOBUTTON GROUP G1.

SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B2.

******END OF SELECTION SCREEN DESIGN****************

*********INITIALIZATION OF SELECTION SCREEN ELEMENTS.*****

INITIALIZATION.

P_WERKS = '1000'.

S_EBELN-LOW = '4500016926'.

S_EBELN-OPTION = 'EQ'.

S_EBELN-SIGN = 'I'.

APPEND S_EBELN.

CLEAR S_EBELN.

************END OF INITIALIZATION***********************

***********SCREEN MODIFICATIONS*******************

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

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

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

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

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

********END OF SCREEN MODIFICATIONS*****************

****************SCREEN VALIDATIONS ******************

at selection-screen.

*SELECT SINGLE **

FROM EKKO

INTO EKKO

WHERE EBELN IN S_EBELN.

IF SY-SUBRC <> 0.

SET CURSOR FIELD 'S_EBELN-LOW'.

MESSAGE E999 WITH TEXT-005.

ENDIF.

*********end of screen validation******************

Read only

Former Member
0 Likes
672

Hi,

try like this...

In the screen flow logic.....


process after input.
 loop at itab.
 field itab-carrid module check on request.
 endloop.
 module user_command_0100.

in the program code..

module check input.
  data : carid like spfli-carrid.
  if not itab-carrid is initial.
    select single carrid
                  from zspfli
                  into carid
                  where carrid = itab-carrid.
    if not sy-subrc is initial.
      message 'carrid does not exist' type 'E'.
    endif.
      endif.
endmodule.                 " check  INPUT

Regards,

Satish Reddy..