‎2006 Oct 31 4:20 PM
I need to check
it_bseg-mwskz is in between ( 'C0','C1', 'C2', 'C3', ...'C9' )
or it_bseg-mwskz is in between ( 'E0','E1', 'E2', 'E3', ...'E9' )
or it_bseg-mwskz = 'MP'.
then set flag as true....
how to write this sytax
‎2006 Oct 31 4:22 PM
hI
if ( it_bseg-mwskz between 'C0' AND 'C9' ) OR
( it_bseg-mwskz between 'E0' AND 'E9' )
or it_bseg-mwskz = 'MP'.
‎2006 Oct 31 4:24 PM
Hi,
Try this..
IF ( IT_BSEG-MWSKZ BETWEEN 'C0' AND 'C9' )
OR
( IT_BSEG-MWSKZ BETWEEN 'E1' AND 'E9' )
OR
( IT_BSEG-MWSKZ = 'MP' ).
FLAG = 'X'.
ENDIF.
THanks,
Naren
‎2006 Oct 31 4:28 PM
You could use a range....
tables: bseg.
ranges: r_mwskz1 for bseg-mwskz.
ranges: r_mwskz2 for bseg-mwskz.
ranges: r_mwskz3 for bseg-mwskz.
r_mwskz1-sign = 'I'.
r_mwskz1-option = 'BT'.
r_mwskz1-low = 'C0'.
r_mwskz1-high = 'C9'.
append r_mwskz1.
r_mwskz2-sign = 'I'.
r_mwskz2-option = 'BT'.
r_mwskz2-low = 'E0'.
r_mwskz2-high = 'E9'.
append r_mwskz2.
r_mwskz3-sign = 'I'.
r_mwskz3-option = 'EQ'.
r_mwskz3-low = 'MP'.
append r_mwskz3.
if it_bseg-mwskz in r_mwskz1
or it_bseg-mwskz in r_mwskz2
or it_bseg-mwskz in r_mwskz3.
endif.Regards,
Rich Heilman
‎2006 Oct 31 4:28 PM
Hi
write the following code
ranges: r_mwskz for bseg-mwskz ocuurs 5,
r_mwskz1 for bseg-mwskz occurs 5 .
r_mwskz-sign = 'I'.
r_mwskz-option = 'EQ'.
r_mwskz-low = 'C0'.
append r_mwskz.
r_mwskz-sign = 'I'.
r_mwskz-option = 'EQ'.
r_mwskz-low = 'C1'.
append r_mwskz.
r_mwskz-sign = 'I'.
r_mwskz-option = 'EQ'.
r_mwskz-low = 'C2'.
append r_mwskz.
r_mwskz-sign = 'I'.
r_mwskz-option = 'EQ'.
r_mwskz-low = 'C3'.
append r_mwskz.
r_mwskz1-sign = 'I'.
r_mwskz1-option = 'EQ'.
r_mwskz1-low = 'E0'.
append r_mwskz1.
r_mwskz1-sign = 'I'.
r_mwskz1-option = 'EQ'.
r_mwskz1-low = 'E1'.
append r_mwskz1.
r_mwskz1-sign = 'I'.
r_mwskz1-option = 'EQ'.
r_mwskz1-low = 'E2'.
append r_mwskz1.
r_mwskz1-sign = 'I'.
r_mwskz1-option = 'EQ'.
r_mwskz1-low = 'E3'.
append r_mwskz1.
select mwskz from bseg into corresponding fields of itab where mwskz in r_mwskz OR
mwskz1 in r_mwskz1 OR
mwskz = 'MP'.
if sy-subrc = 0.
flag = 1.
endif.
endselect.
reward points if helpful
Regs
Manas Ranjan Panda
‎2006 Oct 31 4:30 PM
Hi ,
Use IN Operator.
it_bseg-mwskz IN('C0','C1', 'C2', 'C3', ...'C9')
or it_bseg-mwskz IN ('E0','E1', 'E2', 'E3', ...'E9').
Cheers
‎2006 Oct 31 5:52 PM
Hi,
ABAP IN operator works only with ABAP ranges or range tables.
<pre>
data:
lr_mskz type range oif mwskz.
perform append_range using:
'ICP' 'C+' '' changing lr_mskz,
'ICP' 'E+' '' changing lr_mskz,
'IEQ' 'MP' '' changing lr_mskz.
This works if all C and E MWSKZ are cobined with letter
and digit, it fails if there is like 'AA' or 'CX'
In that case you must 'IEQ' all of them.
if it_bseg-mwskz in lr_mwskz.
set flag or what else
endif.
...
&----
*& Form append_range
&----
append selection range for any range type (c) Clemen Li
----
FORM append_range USING p_signopt TYPE c
p_low TYPE any
p_high TYPE any
CHANGING pt_range TYPE table.
FIELD-SYMBOLS:
<range> TYPE ANY,
<sign> TYPE ANY,
<option> TYPE ANY,
<low> TYPE ANY,
<high> TYPE ANY.
DATA:
l_ref TYPE REF TO data.
CREATE DATA l_ref LIKE LINE OF pt_range.
ASSIGN l_ref->* TO <range>.
CHECK sy-subrc = 0.
ASSIGN COMPONENT 'SIGN' OF STRUCTURE <range> TO <sign>.
CHECK sy-subrc = 0.
ASSIGN COMPONENT 'OPTION' OF STRUCTURE <range> TO <option>.
CHECK sy-subrc = 0.
ASSIGN COMPONENT 'LOW' OF STRUCTURE <range> TO <low>.
CHECK sy-subrc = 0.
ASSIGN COMPONENT 'HIGH' OF STRUCTURE <range> TO <high>.
CHECK sy-subrc = 0.
<sign> = p_signopt(1).
<option> = p_signopt+1(2).
<low> = p_low.
<high> = p_high.
APPEND <range> TO pt_range.
ENDFORM. " append_range
</pre>
Regards,
Clemens