Skip to Content
0
Former Member
May 27, 2008 at 08:44 AM

Problem in making report

35 Views

Hi,

I am making a reprt in i have to make relationship of 3 tables:-

MKPF,BKPF and BSAK.

But i am confused that how to do that. i am able to make relation among BKPF and MKPF. but not able to make among the BSAK.

here's the code for it:-

TABLES: BKPF,MKPF.

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,

END OF ITBKPF.

DATA: BEGIN OF ITMKPF OCCURS 0,

MBLNR LIKE MKPF-MBLNR,

MJAHR LIKE MKPF-MJAHR,

END OF ITMKPF.

DATA: BEGIN OF ITBSAK OCCURS 0,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

BELNR LIKE BSAK-BELNR,

WRBTR LIKE BSAK-WRBTR,

LIFNR LIKE BSAK-LIFNR,

END OF ITBSAK.

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,

MBLNR LIKE MKPF-MBLNR,

MJAHR LIKE MKPF-MJAHR,

AUGBL LIKE BSAK-AUGBL,

AUGDT LIKE BSAK-AUGDT,

WRBTR LIKE BSAK-WRBTR,

LIFNR LIKE BSAK-LIFNR,

END OF ITFINAL.

PARAMETERS: P_BUKRS LIKE BKPF-BUKRS,

P_GJAHR LIKE BKPF-GJAHR.

SELECT ABUKRS ABELNR AGJAHR AAWTYP A~AWKEY INTO TABLE ITBKPF FROM BKPF AS A

WHERE ABUKRS = P_BUKRS AND AGJAHR = P_GJAHR AND A~AWTYP = 'MKPF'.

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.

LOOP AT ITBKPF.

READ TABLE ITMKPF WITH KEY MBLNR = ITBKPF-AWKEY(10)

MJAHR = ITBKPF-AWKEY+10(4).

IF SY-SUBRC EQ 0.

WRITE :/ ITBKPF-BELNR,ITMKPF-MBLNR,ITBKPF-GJAHR.

ENDIF.

ENDLOOP.

TELL ME HOW TO DO IT?