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

IF condition logic

Former Member
0 Likes
908

I am using the below logic

IF ( ut_bseg-koart <> 'K'

AND ut_bseg-buzid <> 'T' )

Now I need to expand this logic to (1200000000 - 1299999999 OR 1600000000 - 1699999999 )

means

IF ( ut_bseg-belnr >= c_code_1200000000

AND ut_bseg-belnr <= c_code_1299999999 )

OR ( ut_bseg-belnr >= c_code_1600000000

AND ut_bseg-belnr <= c_code_1699999999 )

How can I add the above two -

I mean

IF ( ut_bseg-koart <> 'K'

AND ut_bseg-buzid <> 'T' )

and also if belnr falls in the range of (1200000000 - 1299999999 OR 1600000000 - 1699999999 )

PLEASE HELPME .

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
881

IF (( ut_bseg-belnr >= c_code_1200000000

AND ut_bseg-belnr <= c_code_1299999999 )

OR ( ut_bseg-belnr >= c_code_1600000000

AND ut_bseg-belnr <= c_code_1699999999 ))

AND ut_bseg-koart <> 'K'

AND ut_bseg-buzid <> 'T' .

7 REPLIES 7
Read only

Former Member
0 Likes
881

Hi Sam,

Instead of a single if condtn u can use this....

IF ( ut_bseg-koart <> 'K' AND ut_bseg-buzid <> 'T' ).

IF ( ut_bseg-belnr >= c_code_1200000000

AND ut_bseg-belnr <= c_code_1299999999 )

OR ( ut_bseg-belnr >= c_code_1600000000

AND ut_bseg-belnr <= c_code_1699999999 ).

endif.

endif.

Read only

former_member582701
Contributor
0 Likes
881

IF ut_bseg-koart <> 'K' AND

ut_bseg-buzid <> 'T' AND

( ut_bseg -belnr IN (1200000000, 1299999999) OR

ut_bseg -belnr IN (1600000000, 1699999999) ).

ENDIF.

regards

Read only

Former Member
0 Likes
882

IF (( ut_bseg-belnr >= c_code_1200000000

AND ut_bseg-belnr <= c_code_1299999999 )

OR ( ut_bseg-belnr >= c_code_1600000000

AND ut_bseg-belnr <= c_code_1699999999 ))

AND ut_bseg-koart <> 'K'

AND ut_bseg-buzid <> 'T' .

Read only

Former Member
0 Likes
881

Hi,

Try with this :

IF ( ut_bseg-koart <> 'K' AND ut_bseg-buzid <> 'T' ).

IF (( ut_bseg-belnr >= c_code_1200000000 AND ut_bseg-belnr <= c_code_1299999999 ) OR ( ut_bseg-belnr >= c_code_1600000000

AND ut_bseg-belnr <= c_code_1699999999 )).

...

ENDIF.

ENDIF.

Regards,

Bhaskar

Read only

Former Member
0 Likes
881

IF ( ut_bseg-koart <> 'K'

AND ut_bseg-buzid <> 'T' )

iF ( ut_bseg-belnr BT c_code_1200000000

AND 1299999999 )

OR ( ut_bseg-belnr BT c_code_1600000000

AND 1699999999 )

Read only

Former Member
0 Likes
881

IF ( ut_bseg-koart <> 'K'

AND ut_bseg-buzid <> 'T' )

iF ( ut_bseg-belnr BT c_code_1200000000

AND 1299999999 )

OR ( ut_bseg-belnr BT c_code_1600000000

AND 1699999999 ).

ENDIF.

ENDIF.

Read only

Former Member
0 Likes
881

How about this?


DATA: r_belnr LIKE RANGE OF bkpf-belnr.

r_belnr-low    = c_code_1200000000.
r_belnr-option = 'BT'.
r_belnr-sign   = 'I'.
r_belnr-high   = c_code_1299999999.
APPEND r_belnr.

r_belnr-low    = c_code_1600000000.
r_belnr-high   = c_code_1699999999.
APPEND r_belnr.

IF ut_bseg-koart NE 'K' AND
   ut_bseg-buzid NE 'T' AND
   belnr         IN r_belnr.

ENDIF.