Skip to Content
0
Former Member
May 28, 2008 at 08:18 AM

Urgent: Problem in Output

19 Views

Hi,

I had the code in which the problem is that i am not able to fetch data from ITAB when there is loop on ITBKPF ,alohtough i am reading the data but still it is not coming.

plzz help me as it is a humble request to all.

here's d code:-

TABLES: BKPF,MKPF,BSAK.

DATA: BEGIN OF ITBKPF OCCURS 0,

BUKRS LIKE BKPF-BUKRS,

BELNR LIKE BKPF-BELNR,

GJAHR LIKE BKPF-GJAHR,

AWTYP LIKE BKPF-AWTYP,

AWKEY LIKE BKPF-AWKEY,

BUDAT LIKE BKPF-BUDAT,

END OF ITBKPF.

DATA: BEGIN OF ITMKPF OCCURS 0,

MBLNR LIKE MKPF-MBLNR,

MJAHR LIKE MKPF-MJAHR,

END OF ITMKPF.

DATA: BEGIN OF ITAB OCCURS 0,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

BELNR LIKE BSAK-BELNR,

WRBTR LIKE BSAK-WRBTR,

LIFNR LIKE BSAK-LIFNR,

BUKRS LIKE BSAK-BUKRS,

GJAHR LIKE BSAK-GJAHR,

END OF ITAB.

DATA: BEGIN OF ITFINAL OCCURS 0,

BUKRS LIKE BKPF-BUKRS,

BELNR LIKE BKPF-BELNR,

GJAHR LIKE BKPF-GJAHR,

AWTYP LIKE BKPF-AWTYP,

AWKEY LIKE BKPF-AWKEY,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

WRBTR LIKE BSAK-WRBTR,

LIFNR LIKE BSAK-LIFNR,

END OF ITFINAL.

SELECT-OPTIONS: P_BUKRS FOR BKPF-BUKRS,

P_GJAHR FOR BKPF-GJAHR.

SELECT ABUKRS ABELNR AGJAHR AAWTYP AAWKEY ABUDAT INTO TABLE ITBKPF FROM BKPF AS A

WHERE AAWTYP = 'MKPF' AND ABUKRS IN P_BUKRS AND A~GJAHR IN P_GJAHR.

IF NOT ITBKPF[] IS INITIAL.

SELECT AMBLNR AMJAHR INTO TABLE ITMKPF FROM MKPF AS A FOR ALL ENTRIES IN ITBKPF WHERE A~MBLNR = ITBKPF-AWKEY(10).

ENDIF.

SELECT AAUGBL AAUGDT ABELNR AWRBTR ALIFNR ABUKRS A~GJAHR FROM BSAK AS A INTO TABLE ITAB

FOR ALL ENTRIES IN ITBKPF

WHERE

A~BUKRS = ITBKPF-BUKRS.

SORT ITAB BY BELNR.

LOOP AT ITBKPF.

CLEAR ITMKPF.

READ TABLE ITMKPF

WITH KEY MBLNR = ITBKPF-AWKEY(10)

MJAHR = ITBKPF-AWKEY+10(4).

if sy-subrc = 0.

endif.

ITFINAL-BELNR = ITBKPF-BELNR.

ITFINAL-GJAHR = ITBKPF-GJAHR.

ITFINAL-AWKEY = ITBKPF-AWKEY.

READ TABLE ITAB

WITH KEY BELNR = ITBKPF-BELNR

GJAHR = ITBKPF-GJAHR

BUKRS = ITBKPF-BUKRS.

if sy-subrc = 0.

endif.

ITFINAL-AUGBL = ITAB-AUGBL.

ITFINAL-AUGDT = ITAB-AUGDT.

ITFINAL-WRBTR = ITAB-WRBTR.

ITFINAL-LIFNR = ITAB-LIFNR.

APPEND ITFINAL.

CLEAR ITFINAL.

ENDLOOP.

LOOP AT ITFINAL.

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

ENDLOOP.