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

validation

Former Member
0 Likes
332

hi experts,

i want to know how i can i do validation for the following code

at selection-screen.

select from_period to_period from_acct to_acct ryear rbukrs rzzps_posid

from zfirestate_log

into corresponding fields of table t_data

where from_period eq s_rpmax-low

and to_period eq s_rpmax-high

and from_acct eq s_racct-low

and to_acct eq s_racct-high

and ryear eq p_ryear

and rbukrs eq p_rbukrs

and rzzps_posid in s_rzzps.

clear : s_var1,

s_var2,

s_var3,

s_var4,

s_var5.

clear : p_var1 ,

p_var2 ,

p_var3 .

*loop at s_rpmax.

if not t_data[] is initial.

loop at t_data.

if s_rpmax-low LE t_data-from_period.

Move 'YES' to p_var1.

else.

move 'NO' to P_Var1.

endif.

if s_rpmax-low LE t_data-to_period.

Move 'YES' to p_var2.

else.

move 'NO' to P_Var2.

endif.

if s_rpmax-high LT t_data-from_period.

Move 'YES' to p_var3.

else.

move 'NO' to P_Var3.

endif.

if p_var1 ne p_var2

or p_var2 ne p_var3

or p_var1 ne p_var3.

  • message e007.

move 'YES' to s_var1.

endif.

  • endloop.

  • endif.

*endloop.

*clear : p_var1 ,

  • p_var2 ,

  • p_var3 .

*

*loop at s_racct.

  • if not t_data[] is initial.

  • loop at t_data.

if s_racct-low LE t_data-from_acct.

Move 'YES' to p_var1.

else.

move 'NO' to P_Var1.

endif.

if s_racct-low LE t_data-to_acct.

Move 'YES' to p_var2.

else.

move 'NO' to P_Var2.

endif.

if s_racct-high LT t_data-from_acct.

Move 'YES' to p_var3.

else.

move 'NO' to P_Var3.

endif.

if p_var1 ne p_var2

or p_var2 ne p_var3

or p_var1 ne p_var3.

move 'YES' to s_var2.

endif.

  • endloop.

*

  • endif.

*

*endloop.

*if not t_data[] is initial.

  • loop at t_data.

IF p_rbukrs eq t_data-rbukrs.

move 'YES' to s_var3.

ENDIF.

IF p_ryear eq t_data-ryear.

move 'YES' to s_var4.

ENDIF.

IF s_rzzps-low eq t_data-rzzps_posid.

move 'YES' to s_var5.

ENDIF.

*endloop.

*endif.

if s_var1 ne s_var2

or s_var2 ne s_var3

or s_var3 ne s_var4

or s_var4 ne s_var5

or s_var1 ne s_var3

or s_var1 ne s_var4

or s_var1 ne s_var5

or s_var2 ne s_var4

or s_var2 ne s_var5

or s_var3 ne s_var5.

message e007.

endif.

endloop.

endif.

what i am trying to do here i am checking the records in my ztable zfirestate_log with the selection screen data. if iam entereing the same test data in selection screen then it should not allow me to proceed further because the data in the selection screen matches with the data in the ztable. but with above code i am not able to trigger the error message can i validate all five fields at atime in the at selection-screen event. please help me out. i am trying this optoin since yesterday suggest me some idea by modifying the code.

1 REPLY 1
Read only

Former Member
0 Likes
311

hi ramya bindi

At selection screen u have to validation for all fields separately.

At selection-screen on s_rpmax.

select single * from_period zfirestate_log into loc_variable 1 where from_period in s_rpmax.

if sy-subrc ne 0.

message 'Not successful' type E.

endif.

like the same u have to do for all.

definitely u ll get.

thanks and regards

karthik

**************************rewards points if useful