Skip to Content
0
Former Member
May 28, 2008 at 12:53 PM

Output not coming correct

45 Views

Hi,

I had developed this code and after all modifications and alterations in it ,i am pasting here bcoz it is still giving the problem that the values of ITAB does not contain the correct data as it keep on repeating the same value for the data in ITFINAL.

Plzz go through this code and help me out as i tried whole day and still it is not coming right.

My job is online bcoz if it start displaying correct data then i have to make addition in other code also. plzz helpme out as help will be definately rewarded.

here's the code:-

TABLES: BKPF,MKPF,BSIK.

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,

BELNR LIKE BSIK-BELNR,

WRBTR LIKE BSIK-WRBTR,

LIFNR LIKE BSIK-LIFNR,

BUKRS LIKE BSIK-BUKRS,

GJAHR LIKE BSIK-GJAHR,

BUDAT LIKE BKPF-BUDAT,

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,

MBLNR LIKE MKPF-MBLNR,

MJAHR LIKE MKPF-MJAHR,

WRBTR LIKE BSIK-WRBTR,

LIFNR LIKE BSIK-LIFNR,

END OF ITFINAL.

*PARAMETERS: P_BUKRS LIKE BKPF-BUKRS,

  • P_GJAHR LIKE BKPF-GJAHR,

  • S_LIFNR LIKE BSIK-LIFNR.

SELECT-OPTIONS: P_BUKRS FOR BKPF-BUKRS,

P_GJAHR FOR BKPF-GJAHR,

S_LIFNR FOR BSIK-LIFNR.

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).

SELECT ABELNR AWRBTR ALIFNR ABUKRS AGJAHR BBUDAT FROM BSIK AS A

INNER JOIN BKPF AS B ON BBELNR = ABELNR

INTO TABLE ITAB

WHERE

A~LIFNR IN S_LIFNR.

ENDIF.

SORT ITAB BY BELNR.

LOOP AT ITBKPF.

CLEAR ITMKPF.

READ TABLE ITMKPF

WITH KEY MBLNR = ITBKPF-AWKEY+(10)

MJAHR = ITBKPF-AWKEY+10(4).

CHECK sy-subrc EQ 0.

ITFINAL-BELNR = ITBKPF-BELNR.

ITFINAL-GJAHR = ITBKPF-GJAHR.

ITFINAL-AWKEY = ITBKPF-AWKEY.

READ TABLE ITAB

WITH KEY BUKRS = ITBKPF-BUKRS.

CHECK sy-subrc EQ 0.

ITFINAL-WRBTR = ITAB-WRBTR.

ITFINAL-LIFNR = ITAB-LIFNR.

APPEND ITFINAL.

CLEAR ITFINAL.

ENDLOOP.

LOOP AT ITFINAL.

WRITE: / ITFINAL-BELNR , ITFINAL-GJAHR, ITFINAL-AWKEY+(10),ITFINAL-WRBTR ,ITFINAL-LIFNR .

ENDLOOP.