12-24-2007 12:32 PM
hi experts,
s_rzzps for zupi5a-rzzps_posid obligatory no intervals."wbs element.
This is the field i need to do validation but with conditions
conditions are:
They r 2 types of wbs element one is starting with ' T ' and another is Starting with ' C ' .so when wbs element starts with T just pass the value but when the first letter of it is ' C'
goto table PRPS and check the field USR00. If this field is blank then rise the error message.even when the wbs element is other than this 2 letters we need to pass the error message
please help me i need this urgently.
Thanks & Regards,
Ramya
12-24-2007 12:53 PM
Hi,
data:v_rzzps like zupi5a-rzzps_posid .
select-options: s_rzzps for zupi5a-rzzps_posid obligatory no intervals."wbs element.
AT SELECTION-SCREEN ON s_rzzps.
LOOP AT s_rzzps.
IF s_rzzps-low+0(1) = 'C'.
SELECT SINGLE usr00 INTO v_usr00
FROM prps WHERE usr00 = sy-uname.
IF v_usr00 IS INITIAL AND sy-subrc NE 0.
MESSAGE e999(zmde) WITH text-017 s_rzzps-low.
ENDIF.
*
ELSEIF s_rzzps-low+0(1) NE 'T'.
MESSAGE e999(zmde) WITH text-017 s_rzzps-low.
ENDIF.
ENDLOOP.
Same way you do for s_rzzps-HIGH also by putting in loop.
Regds
Parvathi
Please reward points if helpful..
Edited by: Siva Parvathi on Dec 24, 2007 1:54 PM
12-24-2007 12:38 PM
Hi Ramya
Here you go ...
At selection-screen on s_rzzps.
Loop at s_rzzps.
case s_rzzps-low(1).
when 'T'. " Do Nothing
When 'C'.
select USR00
from PRPS
into l_v_USR00
where PSPNR = s_rzzps-low.
if sy-subrc <> 0.
message e000(rp) with 'Option not valid'.
else.
if l_v_usr00 is initial.
message e000(rp) with 'Option not valid'.
endif.
endif.
When Others.
message e000(rp) with 'Option not valid'.
endcase
case s_rzzps-high(1).
when 'T'. " Do Nothing
When 'C'.
select USR00
from PRPS
into l_v_USR00
where PSPNR = s_rzzps-high.
if sy-subrc <> 0.
message e000(rp) with 'Option not valid'.
else.
if l_v_usr00 is initial.
message e000(rp) with 'Option not valid'.
endif.
endif.
When Others.
message e000(rp) with 'Option not valid'.
endcase
endloop.
~ Ranganath
PS : Reward points for all useful answers !
Edited by: Ranganath Ramesh on Dec 24, 2007 1:39 PM
12-24-2007 12:39 PM
Hi,
You can do as below :
declare a varible as .
data : char type c.
If you wnat to validate in the selection screen do as below:
if not s_rzzps[] is initial.
char = so_rzzps-low .
if char = 'T'.
Just pass the value.
elseif char = 'C'.
get the values from PRSP checking field USR00.
else.
message 'Input correct WBS element' type 'E'.
endif.
Similarly do for so_rzzps-high also.
Thanks,
Sriram Ponna.
12-24-2007 12:51 PM
hi,
s_rzzps for zupi5a-rzzps_posid obligatory no intervals, "WBS Element
i didn't get ur idea. seelct options is with no intervals
can u please explain me along with the code.please its very urgent.and the error message should rise when the letter is other than T & C
12-24-2007 12:55 PM
Hi ramya
The code mentioned would address all options even when it is not 'C' or 'T'.
Even though it's mentioned as no-intervals, user will have choice by clicking on additional selections he can give a range.
~ Ranganath
12-24-2007 1:56 PM
Hi,
You the below code to do the validation.
Hi,
You can do as below :
declare a varible as .
data : char type c.
If you wnat to validate in the selection screen do as below:
if not s_rzzps[] is initial.
char = so_rzzps-low .
if char = 'T'.
Just pass the value as per your requirement.
elseif char = 'C'.
get the values from PRSP checking field USR00.
else.
message 'Input correct WBS element' type 'E'.
endif.
Thanks,
Sriram Ponna.
12-24-2007 12:53 PM
Hi,
data:v_rzzps like zupi5a-rzzps_posid .
select-options: s_rzzps for zupi5a-rzzps_posid obligatory no intervals."wbs element.
AT SELECTION-SCREEN ON s_rzzps.
LOOP AT s_rzzps.
IF s_rzzps-low+0(1) = 'C'.
SELECT SINGLE usr00 INTO v_usr00
FROM prps WHERE usr00 = sy-uname.
IF v_usr00 IS INITIAL AND sy-subrc NE 0.
MESSAGE e999(zmde) WITH text-017 s_rzzps-low.
ENDIF.
*
ELSEIF s_rzzps-low+0(1) NE 'T'.
MESSAGE e999(zmde) WITH text-017 s_rzzps-low.
ENDIF.
ENDLOOP.
Same way you do for s_rzzps-HIGH also by putting in loop.
Regds
Parvathi
Please reward points if helpful..
Edited by: Siva Parvathi on Dec 24, 2007 1:54 PM
12-24-2007 2:57 PM
hi siva parvathi,
thanks for ur logic i have made some changes and its working fine now. but i have doubt in my program select-options is with no intervalsso there is no to to field(high).so i validated only for the from field (low).there will be multiple options choice so do i need to validate even for the s_rzzps-high. please suggest me .
s_rzzps for zupi5a-rzzps_posid obligatory no intervals,
at selection-screen on s_rzzps.
data v_usr00 like PRPS-USR00.
loop at s_rzzps.
*if s_rzzps-low0(1) = 'T'.*+
*Elseif s_rzzps-low0(1) = 'C'.*+
Select single usr00 into v_usr00
from PRPS where POSID = s_rzzps-low.
if v_usr00 is initial." and sy-subrc NE 0.
MESSAGE e013 .
endif.
endif.
endloop.
please any one can suggest me.
Thanks & Regards
Ramya.
12-24-2007 3:52 PM
Hi Ramya,
You have to use loop at s_rzzps-low.
endloop.
no need to use for s_rzzps-high ( you dont have high option to enter) .
Because all the values you enter thru extension (arrow mark operator) will be stored s_rzzps-low option only.
Loop at s_rzzps.
if s_rzzps-low...
Normal validation.........
endloop.
Otherwise if you are confusing with low high, you can one thing.just take 1 internal table with one column like s_rzzps-low and append all the values from s_rzzps-low to that internal table column and afterwards you can validation for that internal table .
Regds
Sivaparvathi
Please reward points if helpful
12-24-2007 4:09 PM