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

usingread statement

Former Member
0 Likes
785

hi all,

i have a problem using read table statement can anybody help me on this issue,

i am using READ TABLE APPENDKOMV WITH KEY KNUMV = IT_HEADER-KNUMV KPOSN = IT_ITEM-EBELP ( KSCHL = 'JIPS' OR KSCHL = 'JIP5' ) BINARY SEARCH.

here APPENDKOMV is my internal table but how can i pass it with key checking kschl should be equal to jips or jip5 .

7 REPLIES 7
Read only

Former Member
0 Likes
749

Hi,

You can not use OR AND in the <b>read statement</b>.

Instead you can use <b>loop and endloop</b> statement.

Use this way.

loop at APPENDKOMV where KNUMV = IT_HEADER-KNUMV and

KPOSN = IT_ITEM-EBELP and

( KSCHL = 'JIPS' OR KSCHL = 'JIP5' ).

  • do what ever you want here

endloop.

Read only

0 Likes
749

LOOP AT it_ITEM.

WA_TABIX = SY-TABIX.

READ TABLE APPENDKOMV WITH KEY KNUMV = IT_HEADER-KNUMV KPOSN = IT_ITEM-EBELP KSCHL = 'JIPS' OR KSCHL = 'JIP5' BINARY SEARCH.

IF SY-SUBRC = 0.

IT_ITEM-VAT = APPENDKOMV-KWERT.

MODIFY IT_ITEM INDEX WA_TABIX TRANSPORTING VAT.

ENDIF.

AT LAST.

SUM.

VAT = IT_ITEM-VAT.

CONDENSE:VAT.

ENDAT.

ENDLOOP.

THIS IS MY CODE I WANT TO USE FOR BOTH KSCHL READ STATEMENT.

Read only

0 Likes
749

Hi Abinash,

Try using this.

LOOP AT it_ITEM.

WA_TABIX = SY-TABIX.

<b>READ TABLE APPENDKOMV WITH KEY KNUMV = IT_HEADER-KNUMV KPOSN = IT_ITEM-EBELP BINARY SEARCH.

IF KSCHL = 'JIPS' OR KSCHL = 'JIP5'.</b>IT_ITEM-VAT = APPENDKOMV-KWERT.

MODIFY IT_ITEM INDEX WA_TABIX TRANSPORTING VAT.

ENDIF.

AT LAST.

SUM.

VAT = IT_ITEM-VAT.

CONDENSE:VAT.

ENDAT.

ENDLOOP.

Reward if Useful.

Regards,

Chitra

Read only

abdulazeez12
Active Contributor
0 Likes
749

READ TABLE APPENDKOMV WITH KEY KNUMV = IT_HEADER-KNUMV

KPOSN = IT_ITEM-EBELP

KSCHL = 'JIPS' .

<do your processing here>.

if sy-subrc fails.

READ TABLE APPENDKOMV WITH KEY KNUMV = IT_HEADER-KNUMV

KPOSN = IT_ITEM-EBELP

KSCHL = 'JIP5' .

<do processing here>

Hope it may be useful..

Cheers

Read only

varma_narayana
Active Contributor
0 Likes
749

Hi Abhinash..

READ TABLE statement can read only a single record of ITAB at a time. So it will not allow the OR Operation .

In that case we have to use the same statement 2 times as below.

Try this way....

READ TABLE APPENDKOMV WITH KEY

KNUMV = IT_HEADER-KNUMV

KPOSN = IT_ITEM-EBELP

KSCHL = 'JIPS' BINARY SEARCH.

if sy-subrc = 0.

<<process>>

endif.

READ TABLE APPENDKOMV WITH KEY

KNUMV = IT_HEADER-KNUMV

KPOSN = IT_ITEM-EBELP

KSCHL = 'JIP5' BINARY SEARCH.

if sy-subrc = 0.

<<process>>

endif.

<b>reward if Helpful.</b>

Read only

former_member480923
Active Contributor
0 Likes
749

Change ur code as follows

LOOP AT APPENDKOMV WHERE KNUMV = IT_HEADER-KNUMV 
                                            AND  KPOSN = IT_ITEM-EBELP 
                                           AND   ( KSCHL = 'JIPS' OR 
                                                       KSCHL = 'JIP5' ) .
EXIT.

ENDLOOP.

IF SY-SUBRC = 0.
....
ENDIF.

Hope That Helps

Anirban M.

Read only

Former Member
0 Likes
749

READ TABLE APPENDKOMV WITH KEY KNUMV = IT_HEADER-KNUMV KPOSN = IT_ITEM-EBELP KSCHL = 'JIPS' BINARY SEARCH.

IF SY-SUBRC = 0.

IT_ITEM-VAT = APPENDKOMV-KWERT.

MODIFY IT_ITEM INDEX WA_TABIX TRANSPORTING VAT.

ENDIF.

READ TABLE APPENDKOMV WITH KEY KNUMV = IT_HEADER-KNUMV KPOSN = IT_ITEM-EBELP KSCHL = 'JIP5' BINARY SEARCH.

IF SY-SUBRC = 0.

IT_ITEM-VAT = APPENDKOMV-KWERT.

MODIFY IT_ITEM INDEX WA_TABIX TRANSPORTING VAT.

ENDIF.

READ TABLE APPENDKOMV WITH KEY KNUMV = IT_HEADER-KNUMV KPOSN = IT_ITEM-EBELP KSCHL = 'JIPC' BINARY SEARCH.

IF SY-SUBRC = 0.

IT_ITEM-VAT = APPENDKOMV-KWERT.

MODIFY IT_ITEM INDEX WA_TABIX TRANSPORTING VAT.

ENDIF.

READ TABLE APPENDKOMV WITH KEY KNUMV = IT_HEADER-KNUMV KPOSN = IT_ITEM-EBELP KSCHL = 'JIPL' BINARY SEARCH.

IF SY-SUBRC = 0.

IT_ITEM-VAT = APPENDKOMV-KWERT.

MODIFY IT_ITEM INDEX WA_TABIX TRANSPORTING VAT.

ENDIF.