‎2007 Dec 09 7:54 AM
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.
‎2007 Dec 09 8:09 AM
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