Skip to Content
0
Former Member
Feb 11, 2011 at 07:30 AM

Balance Confirmation Report for multiple vendors

50 Views

Hi all,

I have developed report in FI which gives details about opening balance,fiscal year, document number, posting date and amount in the output.In selection screen I am passing single values of fiscal year(GJAHR), vendor(LIFNR) and company code(BUKLRS). This report is working fine for single vendor but now I need to change it for multiple vendors. I tried but not getting desired result in the output.

Following is code for single vendor in selection screen.

SORT t_bsikbsak BY bukrs belnr gjahr buzei.

LOOP AT t_bsikbsak.

t_pre_bal-netpr = t_bsikbsak-dmbtr.

t_pre_bal-sgtxt = 'Opening Balance'.

IF t_bsikbsak-shkzg EQ 'H'.

t_pre_bal-netpr = t_pre_bal-netpr * -1.

ENDIF.

COLLECT t_pre_bal.

ENDLOOP.

LOOP AT t_pre_bal.

itab-netpr = t_pre_bal-netpr.

itab-sgtxt = t_pre_bal-sgtxt.

APPEND itab.

ENDLOOP.

SORT t_bseg BY bukrs belnr gjahr buzei.

CLEAR itab.

LOOP AT t_bseg.

ON CHANGE OF t_bseg-bukrs OR t_bseg-belnr OR t_bseg-gjahr.

READ TABLE t_bkpf WITH KEY bukrs = t_bseg-bukrs

belnr = t_bseg-belnr

gjahr = t_bseg-gjahr.

IF sy-subrc IS INITIAL.

itab-budat = t_bkpf-budat.

itab-belnr = t_bkpf-belnr.

itab-gjahr = t_bkpf-gjahr.

ENDIF.

ENDON.

IF t_bseg-koart = 'K' AND t_bseg-lifnr = s_lifnr.

itab-sgtxt = t_bseg-sgtxt.

  • READ TABLE t_bsak WITH KEY bukrs = t_bseg-bukrs

  • belnr = t_bseg-belnr

  • gjahr = t_bseg-gjahr.

IF t_bseg-shkzg EQ 'H'.

t_bseg-dmbtr = t_bseg-dmbtr * -1.

ENDIF.

itab-netpr = itab-netpr + t_bseg-dmbtr.

ELSEIF t_bseg-hkont = '0044100040'. " G/L for INTEREST EXPENSES

itab-inamt = t_bseg-dmbtr.

ELSEIF t_bseg-hkont = '0012300060'. " G/L for TDS ON INTEREST

itab-tdamt = t_bseg-dmbtr.

ENDIF.

AT END OF bukrs.

append_flag = 'X'.

ENDAT.

AT END OF belnr.

append_flag = 'X'.

ENDAT.

AT END OF gjahr.

append_flag = 'X'.

ENDAT.

IF append_flag = 'X'.

APPEND itab.

CLEAR itab.

CLEAR : append_flag.

ENDIF.

ENDLOOP.

  • Closing Balance

LOOP AT itab.

t_temp-netpr = itab-netpr.

t_temp-sgtxt = 'Closing Balance'.

COLLECT t_temp.

ENDLOOP.

CLEAR itab.

LOOP AT t_temp.

itab-netpr = t_temp-netpr.

itab-sgtxt = 'Closing Balance'.

APPEND itab.

ENDLOOP.

Kindly provide some input how to do it for multiple vendors in same code otherwise provide some suggestions for new code.

Thanks in Advance.waiting for response.

Thanks & Regards,

Harshada Patil