Application Development 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: 

problem in performance of code

Former Member
0 Kudos

Hi,

I had deveoped a code in which out put is coming fine,but i check dat in the debug mode at line where i am appending lines of ITAB2 to ITAB3 it is showing 35,300 records where as before appending it the ITAB2 contains 39 records and ITAB3 contains 33 records.

I had defnied the format of ITAB2 n ITAB3 same so that appending of lines can be done.

i dont know it is happening?

plzz provide me guidelines for the solution of it.

here is the code:-

LOOP AT ITBKPF.

CLEAR ITAB2.

READ TABLE ITAB2

WITH KEY BUKRS = ITBKPF-BUKRS

BELNR = ITBKPF-BELNR

GJAHR = ITBKPF-GJAHR.

CLEAR ITAB3.

READ TABLE ITAB3

WITH KEY BUKRS = ITBKPF-BUKRS

BELNR = ITBKPF-BELNR

GJAHR = ITBKPF-GJAHR. .

READ TABLE ITDEMO

WITH KEY BELNR = ITBKPF-AWKEY(10).

APPEND LINES OF ITAB2 TO ITAB3.

ITFINAL-LFBNR = ITDEMO-LFBNR.

ITFINAL-BUKRS = ITBKPF-BUKRS.

ITFINAL-BELNR = ITBKPF-BELNR.

ITFINAL-GJAHR = ITBKPF-GJAHR.

23 REPLIES 23

Former Member
0 Kudos

use read statement by binary search that will improve the performance.

Regards

Anbu

former_member156446
Active Contributor
0 Kudos

sort the tables with the fields which you read as key in read table statement and use binary search addition.. it will reduce to half the time..

0 Kudos

hi,

if i am using the binary search in the read table statements the data of ITAB3 get lost in the FINAL ITAB but when i revoe that it displays the data.

Former Member
0 Kudos

Hi,

you want to put the content of itab 2 to itab3 . so you need to put a check i.e. after read statement and then use append statement i.e. check sy-subrc after read statement if it is 0 then only do append.

0 Kudos

hi,

i had done it as u said by adding it but still it is giving 34,243 records in the itab3.

plzz help me how to solve this problem ?

Edited by: abaper2008 on Jun 6, 2008 12:49 PM

former_member194613
Active Contributor
0 Kudos

your coding is incomplete, the endloop is missing!

If the endloop comes further down, then it is non-sense coding, as you add each step all lines of itab2 to itab3.

You should define workareas, seems that you get confused between tables and headerlines. I guess you want to

the headerline itab2 to itab3.

Use binary search and sort outside of the loop.

And tell us where the loop ends, it is unclear why you need the read tables. And check the sy-subrc, before you try to

add something.

Siegfried

0 Kudos

hi,

here's d code,and the bold is dere where i am facing the problem i.e. whne i append lines of ITAB2 to ITAB3 it takes 32,234 records but in reality in ITAB2 there are 39 records,ITFINAL contains 45 records which is displaying the coreect data.

But why ITAB3 conatins 32,234 records in it.

it might hit th eperformance of the report.

TABLES: RSEG.

***********DECLARATION OF TABLES*************

************TABLE BKPF - ACCOUNTING HEADER ***********

DATA: BEGIN OF ITBKPF OCCURS 0,

BUKRS LIKE BKPF-BUKRS,

BELNR LIKE BKPF-BELNR,

GJAHR LIKE BKPF-GJAHR,

AWKEY LIKE BKPF-AWKEY,

BUDAT LIKE BKPF-BUDAT,

XBLNR LIKE BKPF-XBLNR,

AWTYP LIKE BKPF-AWTYP,

END OF ITBKPF.

*********TABLE BSIK - ACCOUNTING OPEN ITEMS********

DATA: BEGIN OF ITAB2 OCCURS 0,

LFBNR LIKE RSEG-LFBNR,

BUKRS LIKE BSIK-BUKRS,

GJAHR LIKE BSIK-GJAHR,

BELNR LIKE BSIK-BELNR,

AWKEY LIKE BKPF-AWKEY,

WRBTR LIKE BSIK-WRBTR,

LIFNR LIKE BSIK-LIFNR,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

END OF ITAB2.

**********TABLE BSAK - ACCOUNTING CLEAR ITEMS*******

DATA: BEGIN OF ITAB3 OCCURS 0,

LFBNR LIKE RSEG-LFBNR,

BUKRS LIKE BSAK-BUKRS,

GJAHR LIKE BSAK-GJAHR,

BELNR LIKE BSAK-BELNR,

AWKEY LIKE BKPF-AWKEY,

WRBTR LIKE BSIK-WRBTR,

LIFNR LIKE BSIK-LIFNR,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

END OF ITAB3.

DATA: BEGIN OF ITDEMO OCCURS 0,

BELNR LIKE RSEG-BELNR,

GJAHR LIKE RSEG-GJAHR,

LFBNR LIKE RSEG-LFBNR,

XBLNR LIKE RSEG-XBLNR,

END OF ITDEMO.

*****FINAL TABLE TO GATHER N DISPLAY OUTPUT*****

DATA: BEGIN OF ITFINAL OCCURS 0,

LFBNR LIKE RSEG-LFBNR,

BUKRS LIKE BKPF-BUKRS,

GJAHR LIKE BKPF-GJAHR,

BELNR LIKE BKPF-BELNR,

AWKEY LIKE BKPF-AWKEY,

WRBTR LIKE BSIK-WRBTR,

LIFNR LIKE BSIK-LIFNR,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

END OF ITFINAL.

**********END OF DECLARATIONS*************

SELECT-OPTIONS: P_LFBNR FOR RSEG-LFBNR.

*************FETCHING OF THE DATA*************

START-OF-SELECTION.

    • BKPF*

SELECT BUKRS BELNR GJAHR AWKEY BUDAT XBLNR AWTYP

FROM BKPF

INTO (ITBKPF-BUKRS,ITBKPF-BELNR,ITBKPF-GJAHR,

ITBKPF-AWKEY,ITBKPF-BUDAT,ITBKPF-XBLNR,ITBKPF-AWTYP)

WHERE AWTYP EQ 'MKPF' OR AWTYP EQ 'RMRP'.

      • MKPF*

************BEGIN OF TRY CODE FOR A MATERIAL DOCUMENT************

ITDEMO-BELNR = ITBKPF-AWKEY(10).

ITDEMO-GJAHR = ITBKPF-AWKEY+10(4).

ITDEMO-XBLNR = ITBKPF-XBLNR.

SELECT LFBNR FROM RSEG INTO

(ITDEMO-LFBNR) WHERE

BELNR EQ ITBKPF-AWKEY(10) AND

GJAHR EQ ITBKPF-AWKEY+10(4) AND

XBLNR EQ ITBKPF-XBLNR AND LFBNR > 0.

CHECK SY-SUBRC EQ 0 AND ITDEMO-LFBNR IN P_LFBNR.

************END OF TRY CODE FOR A MATERIAL DOCUMENT***************

ITAB2-BUKRS = ITBKPF-BUKRS.

ITAB2-GJAHR = ITBKPF-GJAHR.

ITAB2-BELNR = ITBKPF-BELNR.

ITAB3-BUKRS = ITBKPF-BUKRS.

ITAB3-GJAHR = ITBKPF-GJAHR.

ITAB3-BELNR = ITBKPF-BELNR.

      • BSIK*

SELECT WRBTR LIFNR FROM BSIK

INTO (ITAB2-WRBTR, ITAB2-LIFNR)

WHERE BUKRS EQ ITBKPF-BUKRS

AND GJAHR EQ ITBKPF-GJAHR

AND BELNR EQ ITBKPF-BELNR.

APPEND ITAB2.

EXIT.

ENDSELECT.

        • BSAK*

SELECT WRBTR LIFNR AUGBL AUGDT

FROM BSAK

INTO (ITAB3-WRBTR,ITAB3-LIFNR,ITAB3-AUGBL,ITAB3-AUGDT)

WHERE BUKRS EQ ITBKPF-BUKRS

AND GJAHR EQ ITBKPF-GJAHR

AND BELNR EQ ITBKPF-BELNR.

APPEND ITAB3.

EXIT.

ENDSELECT.

APPEND ITDEMO.

EXIT.

ENDSELECT.

APPEND ITBKPF.

ENDSELECT.

    • Fields Found?*

READ TABLE ITBKPF TRANSPORTING NO FIELDS INDEX 1.

IF sy-subrc NE 0.

MESSAGE i000(zmm1) WITH 'No documents found!'.

ENDIF.

    • Prepare Output*

LOOP AT ITBKPF.

CLEAR ITAB2.

READ TABLE ITAB2

WITH KEY BUKRS = ITBKPF-BUKRS

BELNR = ITBKPF-BELNR

GJAHR = ITBKPF-GJAHR.

    • CHECK sy-subrc EQ 0?*

CLEAR ITAB3.

READ TABLE ITAB3

WITH KEY BUKRS = ITBKPF-BUKRS

BELNR = ITBKPF-BELNR

GJAHR = ITBKPF-GJAHR. .

  • CHECK sy-subrc EQ 0?

READ TABLE ITDEMO

WITH KEY BELNR = ITBKPF-AWKEY(10).

  • CHECK sy-subrc EQ 0?

APPEND LINES OF ITAB2 TO ITAB3.

  • CHECK sy-subrc EQ 0?

ITFINAL-LFBNR = ITDEMO-LFBNR.

ITFINAL-BUKRS = ITBKPF-BUKRS.

ITFINAL-BELNR = ITBKPF-BELNR.

ITFINAL-GJAHR = ITBKPF-GJAHR.

ITFINAL-AWKEY = ITBKPF-AWKEY.

ITFINAL-WRBTR = ITAB3-WRBTR.

ITFINAL-LIFNR = ITAB3-LIFNR.

ITFINAL-AUGBL = ITAB3-AUGBL.

ITFINAL-AUGDT = ITAB3-AUGDT.

DELETE ITFINAL WHERE WRBTR = 0.

APPEND ITFINAL.

CLEAR ITFINAL.

ENDLOOP.

SORT ITFINAL BY AUGBL AUGDT .

****************************************

  • END-OF-SELECTION

****************************************

END-OF-SELECTION.

  • Output

LOOP AT ITFINAL.

WRITE: / ITFINAL-LFBNR,ITFINAL-BELNR, ITFINAL-GJAHR,ITFINAL-AWKEY, ITFINAL-WRBTR, ITFINAL-LIFNR,ITFINAL-AUGBL,ITFINAL-AUGDT.

ENDLOOP.

Former Member
0 Kudos

hi..

check the query,

SELECT BUKRS BELNR GJAHR AWKEY BUDAT XBLNR AWTYP

FROM BKPF

INTO (ITBKPF-BUKRS,ITBKPF-BELNR,ITBKPF-GJAHR,

ITBKPF-AWKEY,ITBKPF-BUDAT,ITBKPF-XBLNR,ITBKPF-AWTYP)

WHERE AWTYP EQ 'MKPF' OR AWTYP EQ 'RMRP'.

1.No date range(posting date or document date) in the query.

so fetches say n records,itbkpf executes n times and itab3 is appended n times

2.output is based on the table ITFINAL

3.improve performance by looping itab2 or 3 instead of itbkpf

and reading itbkpf inside the loop,using binary search

Regards,

Mukundan.R

0 Kudos

HI,

I feel the problem is with the ITBKPF ,can u show me the code where u have done the changes ...bcoz in ITFINAL is consisting of right data and ITAB2 conatins 39 records and it is taking the right records 5 records from the ITAB3 as i try d code single for the itab3.

show me the changes u had done.

0 Kudos

Hii..

I dont have code,

To improve performance

1.Instead of SELECT ..ENDSELECT,use FOR ALL ENTRIES

2.Give the Date range while selecting from BKPF

3.LOOP itab3 (or 2)

READ itab2 (or 3) and ITBKPF

inside the loop

4.make use of binary search while read....

Regards,

Mukundan

0 Kudos

hi,

this is the code i am currently using ,where i am getting 32,232 records in ITAB3 ,plzz help me out in solving it:-

TABLES: RSEG.

**********DECLARATION OF TABLES************

***********TABLE BKPF - ACCOUNTING HEADER **********

DATA: BEGIN OF ITBKPF OCCURS 0,

BUKRS LIKE BKPF-BUKRS,

BELNR LIKE BKPF-BELNR,

GJAHR LIKE BKPF-GJAHR,

AWKEY LIKE BKPF-AWKEY,

BUDAT LIKE BKPF-BUDAT,

XBLNR LIKE BKPF-XBLNR,

AWTYP LIKE BKPF-AWTYP,

END OF ITBKPF.

********TABLE BSIK - ACCOUNTING OPEN ITEMS*******

DATA: BEGIN OF ITAB2 OCCURS 0,

LFBNR LIKE RSEG-LFBNR,

BUKRS LIKE BSIK-BUKRS,

GJAHR LIKE BSIK-GJAHR,

BELNR LIKE BSIK-BELNR,

AWKEY LIKE BKPF-AWKEY,

WRBTR LIKE BSIK-WRBTR,

LIFNR LIKE BSIK-LIFNR,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

END OF ITAB2.

*********TABLE BSAK - ACCOUNTING CLEAR ITEMS******

DATA: BEGIN OF ITAB3 OCCURS 0,

LFBNR LIKE RSEG-LFBNR,

BUKRS LIKE BSAK-BUKRS,

GJAHR LIKE BSAK-GJAHR,

BELNR LIKE BSAK-BELNR,

AWKEY LIKE BKPF-AWKEY,

WRBTR LIKE BSIK-WRBTR,

LIFNR LIKE BSIK-LIFNR,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

END OF ITAB3.

*********TABLE BSIS - MIRO NOT PERFORMED*******

DATA: BEGIN OF ITAB4 OCCURS 0,

LFBNR LIKE RSEG-LFBNR,

BUKRS LIKE BSIS-BUKRS,

GJAHR LIKE BSIS-GJAHR,

BELNR LIKE BSIS-BELNR,

AWKEY LIKE BKPF-AWKEY,

WRBTR LIKE BSIK-WRBTR,

LIFNR LIKE BSIK-LIFNR,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

END OF ITAB4.

**********TABLE RSEG - FOR MATERIAL DOCUMENT********

DATA: BEGIN OF ITDEMO OCCURS 0,

BELNR LIKE RSEG-BELNR,

GJAHR LIKE RSEG-GJAHR,

LFBNR LIKE RSEG-LFBNR,

XBLNR LIKE RSEG-XBLNR,

END OF ITDEMO.

****FINAL TABLE TO GATHER N DISPLAY OUTPUT****

DATA: BEGIN OF ITFINAL OCCURS 0,

LFBNR LIKE RSEG-LFBNR,

BUKRS LIKE BKPF-BUKRS,

GJAHR LIKE BKPF-GJAHR,

BELNR LIKE BKPF-BELNR,

AWKEY LIKE BKPF-AWKEY,

WRBTR LIKE BSIK-WRBTR,

LIFNR LIKE BSIK-LIFNR,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

END OF ITFINAL.

*********END OF DECLARATIONS************

SELECT-OPTIONS: P_LFBNR FOR RSEG-LFBNR.

************FETCHING OF THE DATA************

START-OF-SELECTION.

  • BKPF

SELECT BUKRS BELNR GJAHR AWKEY BUDAT XBLNR AWTYP

FROM BKPF

INTO (ITBKPF-BUKRS,ITBKPF-BELNR,ITBKPF-GJAHR,

ITBKPF-AWKEY,ITBKPF-BUDAT,ITBKPF-XBLNR,ITBKPF-AWTYP)

WHERE AWTYP EQ 'MKPF' OR AWTYP EQ 'RMRP'.

    • MKPF

***********BEGIN OF TRY CODE FOR A MATERIAL DOCUMENT***********

ITDEMO-BELNR = ITBKPF-AWKEY(10).

ITDEMO-GJAHR = ITBKPF-AWKEY+10(4).

ITDEMO-XBLNR = ITBKPF-XBLNR.

SELECT LFBNR FROM RSEG INTO

(ITDEMO-LFBNR) WHERE

BELNR EQ ITBKPF-AWKEY(10) AND

GJAHR EQ ITBKPF-AWKEY+10(4) AND

XBLNR EQ ITBKPF-XBLNR AND LFBNR > 0.

CHECK SY-SUBRC EQ 0 AND ITDEMO-LFBNR IN P_LFBNR.

***********END OF TRY CODE FOR A MATERIAL DOCUMENT**************

ITAB2-BUKRS = ITBKPF-BUKRS.

ITAB2-GJAHR = ITBKPF-GJAHR.

ITAB2-BELNR = ITBKPF-BELNR.

ITAB3-BUKRS = ITBKPF-BUKRS.

ITAB3-GJAHR = ITBKPF-GJAHR.

ITAB3-BELNR = ITBKPF-BELNR.

    • BSIK

SELECT WRBTR LIFNR FROM BSIK

INTO (ITAB2-WRBTR, ITAB2-LIFNR)

WHERE BUKRS EQ ITBKPF-BUKRS

AND GJAHR EQ ITBKPF-GJAHR

AND BELNR EQ ITBKPF-BELNR.

APPEND ITAB2.

EXIT.

ENDSELECT.

      • BSAK

SELECT WRBTR LIFNR AUGBL AUGDT

FROM BSAK

INTO (ITAB3-WRBTR,ITAB3-LIFNR,ITAB3-AUGBL,ITAB3-AUGDT)

WHERE BUKRS EQ ITBKPF-BUKRS

AND GJAHR EQ ITBKPF-GJAHR

AND BELNR EQ ITBKPF-BELNR.

APPEND ITAB3.

EXIT.

ENDSELECT.

          • BSIS

  • SELECT WRBTR XREF3 FROM BSIS

  • INTO (ITAB1-WRBTR, ITAB1-XREF3)

  • WHERE BUKRS EQ ITBKPF-BUKRS

  • AND GJAHR EQ ITBKPF-GJAHR

  • AND BELNR EQ ITBKPF-BELNR.

  • APPEND ITAB1.

  • EXIT.

  • ENDSELECT.

  • CHECK sy-subrc EQ 0?

APPEND ITDEMO.

EXIT.

ENDSELECT.

APPEND ITBKPF.

ENDSELECT.

  • Fields Found?

READ TABLE ITBKPF TRANSPORTING NO FIELDS INDEX 1.

IF sy-subrc NE 0.

MESSAGE i000(zmm1) WITH 'No documents found!'.

ENDIF.

  • Prepare Output

LOOP AT ITBKPF.

CLEAR ITAB2.

READ TABLE ITAB2

WITH KEY BUKRS = ITBKPF-BUKRS

BELNR = ITBKPF-BELNR

GJAHR = ITBKPF-GJAHR." BINARY SEARCH..

  • CHECK sy-subrc EQ 0?

CLEAR ITAB3.

READ TABLE ITAB3

WITH KEY BUKRS = ITBKPF-BUKRS

BELNR = ITBKPF-BELNR

GJAHR = ITBKPF-GJAHR." BINARY SEARCH. .

  • CHECK sy-subrc EQ 0?

READ TABLE ITDEMO

WITH KEY BELNR = ITBKPF-AWKEY(10).

  • CHECK sy-subrc EQ 0?

APPEND LINES OF ITAB2 TO ITAB3.

  • CHECK sy-subrc EQ 0?

ITFINAL-LFBNR = ITDEMO-LFBNR.

ITFINAL-BUKRS = ITBKPF-BUKRS.

ITFINAL-BELNR = ITBKPF-BELNR.

ITFINAL-GJAHR = ITBKPF-GJAHR.

ITFINAL-AWKEY = ITBKPF-AWKEY.

ITFINAL-WRBTR = ITAB3-WRBTR.

ITFINAL-LIFNR = ITAB3-LIFNR.

ITFINAL-AUGBL = ITAB3-AUGBL.

ITFINAL-AUGDT = ITAB3-AUGDT.

DELETE ITFINAL WHERE WRBTR = 0.

APPEND ITFINAL.

CLEAR ITFINAL.

ENDLOOP.

SORT ITFINAL BY AUGBL AUGDT .

****************************************

  • END-OF-SELECTION

****************************************

END-OF-SELECTION.

  • Output

  • WRITE: /' OPEN ITEMS -> PAYMENTS ARE NOT DONE'.

ULINE.

WRITE: / 'MAT.DOC. A/C DOC. YEAR REF.KEY AMOUNT VENDOR CLR.DOC. CLR.DATE' .

ULINE.

LOOP AT ITFINAL.

WRITE: / ITFINAL-LFBNR,ITFINAL-BELNR, ITFINAL-GJAHR,ITFINAL-AWKEY, ITFINAL-WRBTR, ITFINAL-LIFNR,ITFINAL-AUGBL,ITFINAL-AUGDT.

ENDLOOP.

0 Kudos

Hii.

Cud not under stand the logic.

Try this iy might serve the purpose

IF sy-subrc = 0.

APPEND LINES OF ITAB2 TO ITAB3.

ELSE.

CONTINUE.

ENDIF.

Regards,

0 Kudos

hi,

i had used the statement u had said it had reduced the records from 32,324 to 1,741 but i want to reduce it more.

i am assiging u points for it ,but if help me reducing it more ,i will definately reward it.

Edited by: abaper2008 on Jun 9, 2008 10:24 AM

Edited by: abaper2008 on Jun 9, 2008 11:35 AM

0 Kudos

Hi,

LOOP AT ITBKPF.

........

......

APPEND LINES OF ITAB2 TO ITAB3.

in the statement above, there is no need for you to append in the Loop. it is going to be the "same reords" append many times, till it comes out of the loop. If you are changing any values of ITAB2 , then it is fine.

Move the statement outside the loop.

Regards,

madhu

0 Kudos

hi,

can i send the code on email id ?

0 Kudos

HI,

jus put this APPEND statement outside the loop.

You have so many READ statements in LOOP-ENDLOOP.

if you are not going see sy-subrc after the READ, and not going to populate values based on the READ, please remove it.

this should help you.

regards,

madhu

0 Kudos

hi,

i had treid what u said when i check sy-subrc the itabs are getting filled but the final itab gets empty. what should i do?

0 Kudos

Hi,

LOOP AT ITBKPF.
  READ TABLE ITAB3 WITH KEY BUKRS = ITBKPF-BUKRS
                           BELNR = ITBKPF-BELNR
                           GJAHR = ITBKPF-GJAHR.
  IF SY-SUBRC = 0.
    ITFINAL-WRBTR = ITAB3-WRBTR.
    ITFINAL-LIFNR = ITAB3-LIFNR.
    ITFINAL-AUGBL = ITAB3-AUGBL.
    ITFINAL-AUGDT = ITAB3-AUGDT.
  ENDIF.

  READ TABLE ITDEMO  WITH KEY BELNR = ITBKPF-AWKEY(10).
  IF SY-SUBRC = 0.
    ITFINAL-LFBNR = ITDEMO-LFBNR.
  ENDIF.

  ITFINAL-BUKRS = ITBKPF-BUKRS.
  ITFINAL-BELNR = ITBKPF-BELNR.
  ITFINAL-GJAHR = ITBKPF-GJAHR.
  ITFINAL-AWKEY = ITBKPF-AWKEY.

  APPEND ITFINAL.
  CLEAR ITFINAL.
ENDLOOP.

DELETE ITFINAL WHERE WRBTR = 0.
SORT ITFINAL BY AUGBL AUGDT .

regards,

madhu

0 Kudos

hi madhu,

but i have to display the records from ITAB2 also which are going to be appended in ITAB3.

HOW SHOULD i do this?

0 Kudos

then use that

append lines of itab2...before the Loop statement which i gave above!!

if u want any fields from itab 2 particularly, read it in the loop, check for sy-subrc and then popualte.

regards,

madhu.

0 Kudos

HI MADHU,

It is shhowing the desierd data w/o appending the ITAB2 into ITAB3.

In debugg mode i am able to see that it is showing the apeend data into the ITFINAL. i.e. if there are 39 records and 5 records in ITAB3 and the thing which i want to show in ITFINAL i.e. 44 records it is showing. should i consider it a correct data?

0 Kudos

Hi,

itfinal will have as many records as itbkpf.

itab3 data is passed only if it satisfy the condition in the read statement. if you are appending the entries from itab2 to itab3 before loop at itbkpf, then it is right.

In your case, itab3 and itab3 are populated from itbkpf. so it should ideally pass all the records from itab2 and itab3. chk you code, if it not piopulating all the data!!!

hope u got it!!!

Former Member
0 Kudos

MY PROBLEM IS SOLVED AND I HAD ASSIGNED THE POINTS