Skip to Content
0
Former Member
May 12, 2008 at 01:51 PM

it's urgent - - - Real time Problem

58 Views

hi experts,

i am working on aging report. its a interactive report.

now wht i want is that document type DR should also get totalled in the base report

but this report is not doing so.

please help me out that how can i include dr in the aging also.

attaching u the code for the base report

&----


*& Report ZAGING1

*&

&----


*&

*&

&----


REPORT zage_ver1 NO STANDARD PAGE HEADING LINE-SIZE 250.

TABLES : bseg, kna1 ,bsad, bsid, vbrk.

SELECT-OPTIONS: s_kunnr FOR kna1-kunnr OBLIGATORY.

PARAMETERS : key_date TYPE bldat OBLIGATORY.

PARAMETERS : ccode TYPE bukrs OBLIGATORY.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 01(30) text-001 FOR FIELD int1.

SELECTION-SCREEN POSITION POS_LOW.

PARAMETERS: int1(3) TYPE n DEFAULT '030'.

PARAMETERS: int2(3) TYPE n DEFAULT '060'.

PARAMETERS: int3(3) TYPE n DEFAULT '090'.

PARAMETERS: int4(3) TYPE n DEFAULT '120'.

PARAMETERS: int5(3) TYPE n DEFAULT '150'.

SELECTION-SCREEN END OF LINE.

DATA : onacc LIKE bsid-wrbtr.

TYPES: BEGIN OF cust,

kunnr TYPE kna1-kunnr,

adrnr TYPE kna1-adrnr,

name1 TYPE kna1-name1,

wrbtr TYPE bseg-wrbtr,

bzirk TYPE knvv-bzirk,

zterm TYPE knvv-zterm,

ztag1 TYPE t052-ztag1,

END OF cust.

TYPES: BEGIN OF invt,

kunnr TYPE kna1-kunnr,

kunrg TYPE kna1-kunnr,

wrbtr TYPE bseg-wrbtr,

invamt TYPE bseg-wrbtr,

name1 TYPE kna1-name1,

vbeln TYPE vbrk-vbeln,

belnr TYPE bseg-belnr,

END OF invt.

TYPES : BEGIN OF ytab,

kunnr TYPE bsid-kunnr,

wrbtr TYPE bsid-wrbtr,

sinv_amt TYPE bsid-wrbtr,

paid_amt TYPE bsid-wrbtr,

adj_amt TYPE bsid-wrbtr,

cncl_amt TYPE bsid-wrbtr,

baln_amt TYPE bsid-wrbtr,

onac_amt TYPE bsid-wrbtr,

ac_amt TYPE bsid-wrbtr,

age_amt TYPE bsid-wrbtr,

wrbtr_rvh TYPE bsid-wrbtr,

wrbtr_rvs TYPE bsid-wrbtr,

wrbtr_obh TYPE bsid-wrbtr,

wrbtr_obs TYPE bsid-wrbtr,

wrbtr_dg TYPE bsid-wrbtr,

wrbtr_dr TYPE bsid-wrbtr,

wrbtr_dzs TYPE bsid-wrbtr,

wrbtr_dzh TYPE bsid-wrbtr,

wrbtr_sas TYPE bsid-wrbtr,

wrbtr_sah TYPE bsid-wrbtr,

wrbtr_abs TYPE bsid-wrbtr,

wrbtr_abh TYPE bsid-wrbtr,

baln1 TYPE bsid-wrbtr,

baln2 TYPE bsid-wrbtr,

baln3 TYPE bsid-wrbtr,

baln4 TYPE bsid-wrbtr,

baln5 TYPE bsid-wrbtr,

baln6 TYPE bsid-wrbtr,

blart TYPE bsid-blart,

vbeln TYPE bsid-vbeln,

fkdat TYPE vbrk-fkdat,

belnr TYPE bsid-belnr,

rebzg TYPE bsid-rebzg,

shkzg TYPE bsid-shkzg,

zuonr TYPE bsid-zuonr,

od_days(4) TYPE n,

END OF ytab.

TYPES : BEGIN OF ftab,

kunnr TYPE bsid-kunnr,

name1 TYPE kna1-name1,

  • WRBTR TYPE BSID-WRBTR,

sinv_amt TYPE bsid-wrbtr,

paid_amt TYPE bsid-wrbtr,

adj_amt TYPE bsid-wrbtr,

cncl_amt TYPE bsid-wrbtr,

baln_amt TYPE bsid-wrbtr,

ac_amt TYPE bsid-wrbtr,

onac_amt TYPE bsid-wrbtr,

outs_amt TYPE bsid-wrbtr,

age_amt TYPE bsid-wrbtr,

wrbtr_rvh TYPE bsid-wrbtr,

wrbtr_rvs TYPE bsid-wrbtr,

wrbtr_obh TYPE bsid-wrbtr,

wrbtr_obs TYPE bsid-wrbtr,

wrbtr_dg TYPE bsid-wrbtr,

wrbtr_dr TYPE bsid-wrbtr,

wrbtr_dzs TYPE bsid-wrbtr,

wrbtr_dzh TYPE bsid-wrbtr,

wrbtr_sas TYPE bsid-wrbtr,

wrbtr_sah TYPE bsid-wrbtr,

wrbtr_abs TYPE bsid-wrbtr,

wrbtr_abh TYPE bsid-wrbtr,

baln1 TYPE bsid-wrbtr,

baln2 TYPE bsid-wrbtr,

baln3 TYPE bsid-wrbtr,

baln4 TYPE bsid-wrbtr,

baln5 TYPE bsid-wrbtr,

baln6 TYPE bsid-wrbtr,

blart TYPE bsid-blart,

vbeln TYPE bsid-vbeln,

belnr TYPE bsid-belnr,

rebzg TYPE bsid-rebzg,

shkzg TYPE bsid-shkzg,

bzirk TYPE knvv-bzirk,

zterm TYPE knvv-zterm,

ztag1 TYPE t052-ztag1,

zuonr TYPE bsid-zuonr,

od_days(4) TYPE n,

sno(3) TYPE n,

END OF ftab.

data : wrbtr_note like bsid-wrbtr.

DATA : BEGIN OF itab1 OCCURS 0,

hkont LIKE bsid-hkont, " General Ledger Account

kunnr LIKE bsid-kunnr, " Customer Number 1

dmbtr LIKE bsid-dmbtr, " Amount

shkzg LIKE bsid-shkzg, " Debit/Credit Indication

budat LIKE bsid-budat, " Posting date

kostl LIKE bsid-kostl, " Cost center

opnbl LIKE bsid-dmbtr, " Opening Balance Amount

clsbl LIKE bsid-dmbtr, " Closing balnce Amount

vbeln LIKE bsid-vbeln,

blart LIKE bsid-blart,

wrbtr LIKE bsid-wrbtr,

bukrs LIKE bsid-bukrs,

belnr LIKE bsid-belnr,

xblnr LIKE bsid-xblnr,

abc LIKE bsid-wrbtr,

aaa LIKE bsid-wrbtr,

sgtxt LIKE bsid-sgtxt,

bcd LIKE bsid-wrbtr,

bbb LIKE bsid-wrbtr,

flag TYPE c,

flag1(3) TYPE c,

flag2(15) TYPE c,

bldat like bsid-bldat,

END OF itab1.

DATA : BEGIN OF itab2 OCCURS 0,

hkont LIKE bsid-hkont, " General Ledger Account

kunnr LIKE bsid-kunnr, " Customer Number 1

  • txt50 LIKE skat-txt50, " GL A/C TEXT

dmbtr LIKE bsid-dmbtr, " Amount

shkzg LIKE bsid-shkzg, " Debit/Credit Indication

budat LIKE bsid-budat, " Posting date

kostl LIKE bsid-kostl, " Cost center

opnbl LIKE bsid-dmbtr, " Opening Balance Amount

clsbl LIKE bsid-dmbtr, " Closing balnce Amount

vbeln LIKE bsid-vbeln,

blart LIKE bsid-blart,

wrbtr LIKE bsid-wrbtr,

bukrs LIKE bsid-bukrs,

belnr LIKE bsid-belnr,

xblnr LIKE bsid-xblnr,

sgtxt LIKE bsid-sgtxt,

abc LIKE bsid-wrbtr,

aaa LIKE bsid-wrbtr,

bcd LIKE bsid-wrbtr,

bbb LIKE bsid-wrbtr,

flag TYPE c,

flag1(3) TYPE c,

flag2(15) TYPE c,

bldat like bsid-bldat,

END OF itab2.

DATA : BEGIN OF itab3 OCCURS 0,

hkont LIKE bsid-hkont, " General Ledger Account

kunnr LIKE bsid-kunnr, " Customer Number 1

  • txt50 LIKE skat-txt50, " GL A/C TEXT

dmbtr LIKE bsid-dmbtr, " Amount

shkzg LIKE bsid-shkzg, " Debit/Credit Indication

budat LIKE bsid-budat, " Posting date

kostl LIKE bsid-kostl, " Cost center

opnbl LIKE bsid-dmbtr, " Opening Balance Amount

clsbl LIKE bsid-dmbtr, " Closing balnce Amount

vbeln LIKE bsid-vbeln,

blart LIKE bsid-blart,

wrbtr LIKE bsid-wrbtr,

bukrs LIKE bsid-bukrs,

belnr LIKE bsid-belnr,

xblnr LIKE bsid-xblnr,

abc LIKE bsid-wrbtr,

aaa LIKE bsid-wrbtr,

bcd LIKE bsid-wrbtr,

bbb LIKE bsid-wrbtr,

flag TYPE c,

flag1(3) TYPE c,

flag2(15) TYPE c,

sgtxt LIKE bsid-sgtxt,

bldat like bsid-bldat,

END OF itab3.

DATA : BEGIN OF itab4 OCCURS 0,

hkont LIKE bsid-hkont, " General Ledger Account

kunnr LIKE bsid-kunnr, " Customer Number 1

  • txt50 LIKE skat-txt50, " GL A/C TEXT

dmbtr LIKE bsid-dmbtr, " Amount

shkzg LIKE bsid-shkzg, " Debit/Credit Indication

budat LIKE bsid-budat, " Posting date

kostl LIKE bsid-kostl, " Cost center

opnbl LIKE bsid-dmbtr, " Opening Balance Amount

clsbl LIKE bsid-dmbtr, " Closing balnce Amount

vbeln LIKE bsid-vbeln,

blart LIKE bsid-blart,

wrbtr LIKE bsid-wrbtr,

bukrs LIKE bsid-bukrs,

belnr LIKE bsid-belnr,

xblnr LIKE bsid-xblnr,

aaa LIKE bsid-wrbtr,

abc LIKE bsid-wrbtr,

bbb LIKE bsid-wrbtr,

bcd LIKE bsid-wrbtr,

flag TYPE c,

flag1(3) TYPE c,

flag2(15) TYPE c,

sgtxt LIKE bsid-sgtxt,

bldat like bsid-bldat,

END OF itab4.

DATA : BEGIN OF itab5 OCCURS 0,

hkont LIKE bsid-hkont, " General Ledger Account

kunnr LIKE bsid-kunnr, " Customer Number 1

  • txt50 LIKE skat-txt50, " GL A/C TEXT

dmbtr LIKE bsid-dmbtr, " Amount

shkzg LIKE bsid-shkzg, " Debit/Credit Indication

budat LIKE bsid-budat, " Posting date

kostl LIKE bsid-kostl, " Cost center

opnbl LIKE bsid-dmbtr, " Opening Balance Amount

clsbl LIKE bsid-dmbtr, " Closing balnce Amount

vbeln LIKE bsid-vbeln,

blart LIKE bsid-blart,

wrbtr LIKE bsid-wrbtr,

bukrs LIKE bsid-bukrs,

belnr LIKE bsid-belnr,

xblnr LIKE bsid-xblnr,

abc LIKE bsid-wrbtr,

aaa LIKE bsid-wrbtr,

bcd LIKE bsid-wrbtr,

bbb LIKE bsid-wrbtr,

flag TYPE c,

flag1(3) TYPE c,

flag2(15) TYPE c,

sgtxt LIKE bsid-sgtxt,

bldat like bsid-bldat,

END OF itab5.

DATA : BEGIN OF itab6 OCCURS 0,

hkont LIKE bsid-hkont, " General Ledger Account

kunnr LIKE bsid-kunnr, " Customer Number 1

  • txt50 LIKE skat-txt50, " GL A/C TEXT

dmbtr LIKE bsid-dmbtr, " Amount

shkzg LIKE bsid-shkzg, " Debit/Credit Indication

budat LIKE bsid-budat, " Posting date

kostl LIKE bsid-kostl, " Cost center

opnbl LIKE bsid-dmbtr, " Opening Balance Amount

clsbl LIKE bsid-dmbtr, " Closing balnce Amount

vbeln LIKE bsid-vbeln,

blart LIKE bsid-blart,

wrbtr LIKE bsid-wrbtr,

bukrs LIKE bsid-bukrs,

belnr LIKE bsid-belnr,

xblnr LIKE bsid-xblnr,

sgtxt LIKE bsid-sgtxt,

bldat like bsid-bldat,

abc LIKE bsid-wrbtr,

aaa LIKE bsid-wrbtr,

bcd LIKE bsid-wrbtr,

bbb LIKE bsid-wrbtr,

flag TYPE c,

flag1(3) TYPE c,

flag2(15) TYPE c,

END OF itab6.

data : dr_deduct like bsid-wrbtr.

DATA : BEGIN OF itab7 OCCURS 0,

hkont LIKE bsid-hkont, " General Ledger Account

kunnr LIKE bsid-kunnr, " Customer Number 1

  • txt50 LIKE skat-txt50, " GL A/C TEXT

dmbtr LIKE bsid-dmbtr, " Amount

shkzg LIKE bsid-shkzg, " Debit/Credit Indication

budat LIKE bsid-budat, " Posting date

kostl LIKE bsid-kostl, " Cost center

opnbl LIKE bsid-dmbtr, " Opening Balance Amount

clsbl LIKE bsid-dmbtr, " Closing balnce Amount

vbeln LIKE bsid-vbeln,

blart LIKE bsid-blart,

wrbtr LIKE bsid-wrbtr,

bukrs LIKE bsid-bukrs,

belnr LIKE bsid-belnr,

xblnr LIKE bsid-xblnr,

sgtxt LIKE bsid-sgtxt,

bldat like bsid-bldat,

END OF itab7.

DATA : BEGIN OF itab8 OCCURS 0,

hkont LIKE bsid-hkont, " General Ledger Account

kunnr LIKE bsid-kunnr, " Customer Number 1

  • txt50 LIKE skat-txt50, " GL A/C TEXT

dmbtr LIKE bsid-dmbtr, " Amount

shkzg LIKE bsid-shkzg, " Debit/Credit Indication

budat LIKE bsid-budat, " Posting date

kostl LIKE bsid-kostl, " Cost center

opnbl LIKE bsid-dmbtr, " Opening Balance Amount

clsbl LIKE bsid-dmbtr, " Closing balnce Amount

vbeln LIKE bsid-vbeln,

blart LIKE bsid-blart,

wrbtr LIKE bsid-wrbtr,

bukrs LIKE bsid-bukrs,

belnr LIKE bsid-belnr,

xblnr LIKE bsid-xblnr,

abc LIKE bsid-wrbtr,

aaa LIKE bsid-wrbtr,

bcd LIKE bsid-wrbtr,

bbb LIKE bsid-wrbtr,

flag TYPE c,

flag1(3) TYPE c,

flag2(15) TYPE c,

sgtxt LIKE bsid-sgtxt,

bldat like bsid-bldat,

END OF itab8.

DATA : wa_ctab TYPE cust.

DATA : wa_btab TYPE invt.

DATA : wa_bsid TYPE bsid.

DATA : wai_bsid TYPE ytab.

DATA : wac_bsid TYPE ytab. " CREDIT - INVOICE

DATA : wad_bsid TYPE ytab. " DEBIT - PAYMENT

DATA : wao_bsid TYPE ytab. " ON ACCOUNT

DATA : wa_itab TYPE ftab.

DATA : ctab TYPE cust OCCURS 0.

DATA : btab TYPE invt OCCURS 0.

DATA : it_bsid TYPE bsid OCCURS 0.

DATA : iti_bsid TYPE ytab OCCURS 0. " CANCELLED INVOICES

DATA : itc_bsid TYPE ytab OCCURS 0. " CREDIT - INVOICE

DATA : itd_bsid TYPE ytab OCCURS 0. " DEBIT - PAYMENT

DATA : ito_bsid TYPE ytab OCCURS 0. " ON ACCOUNT

DATA : itab TYPE ftab OCCURS 0 with header line. " OUTPUT

DATA : inv_amt LIKE bseg-wrbtr.

DATA : paid_amt LIKE bseg-wrbtr.

DATA : cncl_amt LIKE bseg-wrbtr.

DATA : adj_amt LIKE bseg-wrbtr.

DATA : billing_date LIKE sy-datum.

DATA : overdue_date LIKE sy-datum.

DATA : overdue_days LIKE rfposx-verzn.

DATA : credit_days(4) TYPE n.

DATA : int1s(3) TYPE n VALUE 0,

int1e(3) TYPE n VALUE 0,

int2s(3) TYPE n VALUE 0,

int2e(3) TYPE n VALUE 0,

int3s(3) TYPE n VALUE 0,

int3e(3) TYPE n VALUE 0,

int4s(3) TYPE n VALUE 0,

int4e(3) TYPE n VALUE 0,

int5s(3) TYPE n VALUE 0,

int5e(3) TYPE n VALUE 0,

int TYPE i,

slno(5) TYPE n VALUE 0.

CLEAR : inv_amt, ctab, btab, wa_itab, wac_bsid, wad_bsid, wao_bsid.

REFRESH : ctab, btab,itab, itc_bsid, itd_bsid, ito_bsid.

START-OF-SELECTION.

SELECT kunnr name1 adrnr FROM kna1 INTO CORRESPONDING FIELDS OF wa_ctab WHERE kunnr IN s_kunnr.

SELECT SINGLE bzirk zterm FROM knvv INTO (wa_ctab-bzirk, wa_ctab-zterm) WHERE kunnr = wa_ctab-kunnr.

SELECT SINGLE ztag1 FROM t052 INTO wa_ctab-ztag1 WHERE zterm = wa_ctab-zterm.

  • WRITE : /5 WA_CTAB-KUNNR COLOR 5, WA_CTAB-NAME1 COLOR 5.

APPEND wa_ctab TO ctab.

ENDSELECT.

SELECT * FROM bsid INTO TABLE it_bsid FOR ALL ENTRIES IN ctab WHERE kunnr = ctab-kunnr

AND budat =< key_date

  • AND gjahr = fyear

AND bukrs = ccode.

SORT it_bsid BY kunnr.

LOOP AT IT_BSID INTO WA_BSID.

IF WA_BSID-BLART = 'RV' AND WA_BSID-SHKZG = 'S' OR

WA_BSID-BLART = 'OB' AND WA_BSID-SHKZG = 'S' or

wa_bsid-blart = 'DR'.

WAC_BSID-KUNNR = WA_BSID-KUNNR.

WAC_BSID-BLART = WA_BSID-BLART.

WAC_BSID-VBELN = WA_BSID-VBELN.

WAC_BSID-BELNR = WA_BSID-BELNR.

WAC_BSID-REBZG = WA_BSID-REBZG.

WAC_BSID-WRBTR = WA_BSID-WRBTR.

WAC_BSID-ZUONR = WA_BSID-ZUONR.

WAC_BSID-SHKZG = WA_BSID-SHKZG.

IF WAC_BSID-VBELN IS NOT INITIAL.

SELECT SINGLE FKDAT FROM VBRK INTO WAC_BSID-FKDAT WHERE VBELN = WAC_BSID-VBELN.

ELSEIF WAC_BSID-VBELN IS INITIAL.

IF WAC_BSID-BELNR IS NOT INITIAL.

SELECT SINGLE BuDAT FROM BSID INTO WAC_BSID-FKDAT WHERE BELNR = WAC_BSID-BELNR.

ENDIF.

ENDIF.

  • WAC_BSID = WA_BSID.

APPEND WAC_BSID TO ITC_BSID.

  • ELSEIF WA_BSID-BLART = 'DZ' AND WA_BSID-VBELN <> ' '.

ELSEIF WA_BSID-BLART = 'DZ' .

  • WAD_BSID = WA_BSID.

WAD_BSID-KUNNR = WA_BSID-KUNNR.

WAD_BSID-BLART = WA_BSID-BLART.

WAD_BSID-VBELN = WA_BSID-VBELN.

WAD_BSID-BELNR = WA_BSID-BELNR.

WAD_BSID-REBZG = WA_BSID-REBZG.

WAD_BSID-WRBTR = WA_BSID-WRBTR.

WAD_BSID-ZUONR = WA_BSID-ZUONR.

WAD_BSID-SHKZG = WA_BSID-SHKZG.

APPEND WAD_BSID TO ITD_BSID.

ELSEIF WA_BSID-BLART = 'RV' AND WA_BSID-SHKZG = 'H' AND WA_BSID-ZUONR <> ' '.

WAI_BSID-KUNNR = WA_BSID-KUNNR.

WAI_BSID-BLART = WA_BSID-BLART.

WAI_BSID-VBELN = WA_BSID-VBELN.

WAI_BSID-BELNR = WA_BSID-BELNR.

WAI_BSID-REBZG = WA_BSID-REBZG.

WAI_BSID-WRBTR = WA_BSID-WRBTR.

WAI_BSID-ZUONR = WA_BSID-ZUONR.

WAI_BSID-SHKZG = WA_BSID-SHKZG.

APPEND WAI_BSID TO ITI_BSID.

ENDIF.

MODIFY IT_BSID FROM WA_BSID.

ENDLOOP.

CLEAR : WAC_BSID.

LOOP AT ITC_BSID INTO WAC_BSID.

CLEAR : WAD_BSID, INV_AMT, PAID_AMT, CNCL_AMT, ADJ_AMT.

IF WAC_BSID-BLART = 'RV' AND WAC_BSID-SHKZG = 'S'.

WAC_BSID-SINV_AMT = WAC_BSID-WRBTR.

INV_AMT = WAC_BSID-SINV_AMT.

  • READ TABLE ITD_BSID INTO WAD_BSID WITH KEY KUNNR = WAC_BSID-KUNNR VBELN = WAC_BSID-VBELN.

LOOP AT ITD_BSID INTO WAD_BSID WHERE KUNNR = WAC_BSID-KUNNR AND VBELN = WAC_BSID-VBELN.

IF SY-SUBRC = 0.

  • WAC_BSID-PAID_AMT = WAD_BSID-WRBTR.

PAID_AMT = PAID_AMT + WAD_BSID-WRBTR.

ENDIF.

ENDLOOP.

IF PAID_AMT IS NOT INITIAL.

  • WAC_BSID-BALN_AMT = WAC_BSID-SINV_AMT - WAC_BSID-PAID_AMT.

WAC_BSID-PAID_AMT = PAID_AMT.

WAC_BSID-BALN_AMT = WAC_BSID-SINV_AMT - PAID_AMT.

WAC_BSID-AGE_AMT = WAC_BSID-BALN_AMT.

ELSE.

WAC_BSID-PAID_AMT = 0.

WAC_BSID-BALN_AMT = WAC_BSID-SINV_AMT.

WAC_BSID-AGE_AMT = WAC_BSID-BALN_AMT.

ENDIF.

LOOP AT ITI_BSID INTO WAI_BSID WHERE KUNNR = WAC_BSID-KUNNR AND ZUONR = WAC_BSID-VBELN.

  • IF SY-SUBRC = 0.

  • WAC_BSID-PAID_AMT = WAD_BSID-WRBTR.

CNCL_AMT = CNCL_AMT + WAI_BSID-WRBTR.

  • ENDIF.

ENDLOOP.

IF CNCL_AMT IS NOT INITIAL.

  • WAC_BSID-BALN_AMT = WAC_BSID-SINV_AMT - WAC_BSID-PAID_AMT.

WAC_BSID-CNCL_AMT = CNCL_AMT.

WAC_BSID-BALN_AMT = WAC_BSID-BALN_AMT - CNCL_AMT.

WAC_BSID-AGE_AMT = WAC_BSID-BALN_AMT.

ELSE.

WAC_BSID-BALN_AMT = WAC_BSID-BALN_AMT.

WAC_BSID-AGE_AMT = WAC_BSID-BALN_AMT.

ENDIF.

ELSEIF WAC_BSID-BLART = 'OB' AND WAC_BSID-SHKZG = 'S'.

IF WAC_BSID-ZUONR <> ' '.

LOOP AT ITD_BSID INTO WAD_BSID WHERE KUNNR = WAC_BSID-KUNNR AND VBELN = ' ' AND ZUONR = WAC_BSID-ZUONR.

IF SY-SUBRC = 0.

ADJ_AMT = ADJ_AMT + WAD_BSID-WRBTR.

ENDIF.

ENDLOOP.

WAC_BSID-ADJ_AMT = ADJ_AMT.

WAC_BSID-BALN_AMT = WAC_BSID-WRBTR - ADJ_AMT.

WAC_BSID-AGE_AMT = WAC_BSID-BALN_AMT.

ELSEIF WAC_BSID-ZUONR = ' '.

WAC_BSID-BALN_AMT = WAC_BSID-WRBTR.

WAC_BSID-AGE_AMT = WAC_BSID-BALN_AMT.

ENDIF.

ENDIF.

PERFORM AGING_CALCULATION.

WA_ITAB-KUNNR = WAC_BSID-KUNNR.

WA_ITAB-SINV_AMT = WAC_BSID-SINV_AMT.

WA_ITAB-PAID_AMT = WAC_BSID-PAID_AMT.

WA_ITAB-CNCL_AMT = WAC_BSID-CNCL_AMT.

WA_ITAB-BALN_AMT = WAC_BSID-BALN_AMT.

  • WA_ITAB-OD_DAYS = WAC_BSID-OD_DAYS.

WA_ITAB-BALN1 = WAC_BSID-BALN1.

WA_ITAB-BALN2 = WAC_BSID-BALN2.

WA_ITAB-BALN3 = WAC_BSID-BALN3.

WA_ITAB-BALN4 = WAC_BSID-BALN4.

WA_ITAB-BALN5 = WAC_BSID-BALN5.

WA_ITAB-BALN6 = WAC_BSID-BALN6.

COLLECT WA_ITAB INTO ITAB.

MODIFY ITC_BSID FROM WAC_BSID.

  • COLLECT WAC_BSID.

ENDLOOP.

CLEAR : WA_ITAB, WA_CTAB.

LOOP AT CTAB INTO WA_CTAB.

CLEAR : WAO_BSID.

LOOP AT IT_BSID INTO WA_BSID WHERE KUNNR = WA_CTAB-KUNNR.

.

IF WA_BSID-BLART = 'RV' OR

WA_BSID-BLART = 'OB' OR

WA_BSID-BLART = 'DG' OR

WA_BSID-BLART = 'DR' OR

WA_BSID-BLART = 'DZ' OR

WA_BSID-BLART = 'SA' OR

WA_BSID-BLART = 'AB'.

WAO_BSID-KUNNR = WA_BSID-KUNNR.

WAO_BSID-BLART = WA_BSID-BLART.

WAO_BSID-VBELN = WA_BSID-VBELN.

WAO_BSID-BELNR = WA_BSID-BELNR.

WAO_BSID-REBZG = WA_BSID-REBZG.

WAO_BSID-WRBTR = WA_BSID-WRBTR.

WAO_BSID-SHKZG = WA_BSID-SHKZG.

WAO_BSID-ZUONR = WA_BSID-ZUONR.

WAO_BSID-SHKZG = WA_BSID-SHKZG.

APPEND WAO_BSID TO ITO_BSID.

ENDIF.

ENDLOOP.

CLEAR : WAO_BSID.

LOOP AT ITO_BSID INTO WAO_BSID WHERE KUNNR = WA_CTAB-KUNNR.

IF WAO_BSID-BLART = 'OB' AND WAO_BSID-SHKZG = 'H'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT - WAO_BSID-WRBTR.

WAO_BSID-WRBTR_OBH = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'OB' AND WAO_BSID-SHKZG = 'S'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT - WAO_BSID-WRBTR.

WAO_BSID-WRBTR_OBS = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'DG'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT - WAO_BSID-WRBTR.

WAO_BSID-WRBTR_DG = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'DR'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT + WAO_BSID-WRBTR.

WAO_BSID-WRBTR_DR = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'DZ' AND WAO_BSID-SHKZG = 'H'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT - WAO_BSID-WRBTR.

WAO_BSID-WRBTR_DZH = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'DZ' AND WAO_BSID-SHKZG = 'S'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT - WAO_BSID-WRBTR.

WAO_BSID-WRBTR_DZS = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'SA' AND WAO_BSID-SHKZG = 'S'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT + WAO_BSID-WRBTR.

WAO_BSID-WRBTR_SAS = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'SA' AND WAO_BSID-SHKZG = 'H'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT - WAO_BSID-WRBTR.

WAO_BSID-WRBTR_SAH = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'AB' AND WAO_BSID-SHKZG = 'S'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT + WAO_BSID-WRBTR.

WAO_BSID-WRBTR_ABS = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'AB' AND WAO_BSID-SHKZG = 'H'.

  • WAO_BSID-ONAC_AMT = WAO_BSID-ONAC_AMT - WAO_BSID-WRBTR.

WAO_BSID-WRBTR_ABH = WAO_BSID-WRBTR.

  • ELSEIF WAO_BSID-BLART = 'RV' AND WAO_BSID-SHKZG = 'H' AND WAO_BSID-ZUONR = ' '.

ELSEIF WAO_BSID-BLART = 'RV' AND WAO_BSID-SHKZG = 'H'.

WAO_BSID-WRBTR_RVH = WAO_BSID-WRBTR.

ELSEIF WAO_BSID-BLART = 'RV' AND WAO_BSID-SHKZG = 'S'.

WAO_BSID-WRBTR_RVS = WAO_BSID-WRBTR.

ENDIF.

WA_ITAB-KUNNR = WAO_BSID-KUNNR.

WA_ITAB-WRBTR_DG = WAO_BSID-WRBTR_DG.

WA_ITAB-WRBTR_DR = WAO_BSID-WRBTR_DR.

WA_ITAB-WRBTR_DZS = WAO_BSID-WRBTR_DZS.

WA_ITAB-WRBTR_DZH = WAO_BSID-WRBTR_DZH.

WA_ITAB-WRBTR_OBH = WAO_BSID-WRBTR_OBH.

WA_ITAB-WRBTR_OBS = WAO_BSID-WRBTR_OBS.

WA_ITAB-WRBTR_SAH = WAO_BSID-WRBTR_SAH.

WA_ITAB-WRBTR_SAS = WAO_BSID-WRBTR_SAS.

WA_ITAB-WRBTR_RVH = WAO_BSID-WRBTR_RVH.

WA_ITAB-WRBTR_RVS = WAO_BSID-WRBTR_RVS.

WA_ITAB-WRBTR_ABH = WAO_BSID-WRBTR_ABH.

WA_ITAB-WRBTR_ABS = WAO_BSID-WRBTR_ABS.

  • WA_ITAB-AC_AMT = WAO_BSID-AC_AMT.

COLLECT WA_ITAB INTO ITAB.

MODIFY ITO_BSID FROM WAO_BSID.

ENDLOOP.

ENDLOOP.

CLEAR : SLNO.

clear : wa_itab.

SORT ITAB BY KUNNR.

LOOP AT ITAB INTO WA_ITAB.

SLNO = SLNO + 1.

WA_ITAB-SNO = SLNO.

READ TABLE CTAB INTO WA_CTAB WITH KEY KUNNR = WA_ITAB-KUNNR.

WA_ITAB-NAME1 = WA_CTAB-NAME1.

WA_ITAB-BZIRK = WA_CTAB-BZIRK.

WA_ITAB-ZTAG1 = WA_CTAB-ZTAG1.

WA_ITAB-AC_AMT = WA_ITAB-WRBTR_SAS

- WA_ITAB-WRBTR_SAH

- WA_ITAB-WRBTR_OBH

+ WA_ITAB-WRBTR_OBS

+ WA_ITAB-WRBTR_RVS

- WA_ITAB-WRBTR_RVH

- WA_ITAB-WRBTR_ABH

+ WA_ITAB-WRBTR_ABS

- WA_ITAB-WRBTR_DG

+ WA_ITAB-WRBTR_DR

- WA_ITAB-WRBTR_DZH

+ WA_ITAB-WRBTR_DZS.

*WRITE : / WA_ITAB-WRBTR_DR.

data : aaaa type p decimals 2,

bbbb type p decimals 2,

cccc type p decimals 2,

wrbtr_shkzg like bsid-shkzg.

SELECT shkzg wrbtr

FROM bsid

INTO (wrbtr_shkzg , wrbtr_note )

WHERE kunnr = wa_itab-kunnr

AND UMSKZ = 'G'.

if wrbtr_shkzg = 'S'.

aaaa = wrbtr_note + aaaa.

elseif wrbtr_shkzg = 'H'.

bbbb = wrbtr_note + bbbb.

endif.

endselect.

cccc = BBBB - AAAA.

wa_itab-outs_amt = wa_itab-ac_amt.

wa_itab-onac_amt = wa_itab-baln_amt - wa_itab-outs_amt.

onacc = wa_itab-onac_amt.

wa_itab-vbeln = wac_bsid-vbeln.

WRITE : / wa_itab-sno,

5 wa_itab-kunnr LEFT-JUSTIFIED HOTSPOT ON,

16 wa_itab-name1,

50 wa_itab-bzirk,

63 wa_itab-ztag1 RIGHT-JUSTIFIED,

69 CCCC LEFT-JUSTIFIED,

85 wa_itab-outs_amt,

105 wa_itab-baln1,

125 wa_itab-baln2,

145 wa_itab-baln3,

165 wa_itab-baln4,

185 wa_itab-baln5,

205 wa_itab-baln6,

225 wa_itab-onac_amt

.

MODIFY itab FROM wa_itab.

HIDE : wa_itab-kunnr , wa_itab-name1.

ENDLOOP.

WRITE : / sy-uline.

TOP-OF-PAGE.

WRITE : / 'SNo',

5 'C-Code',

16 'Customer Name',

50 'Region',

58 ' CR-DAYS',

72 'SEC.AMOUNT',

86 'Net O/S Amount',

107 '0 to', int1e, 'Days',

125 int2s, 'to', int2e, 'Days',

145 int3s, 'to', int3e, 'Days',

165 int4s, 'to', int4e, 'Days',

185 int5s, 'to', int5e, 'Days',

210 '>',int5e, 'Days',

230 'On Account',

/ sy-uline.

  • 'Invoice Amount',

  • 80 'Paid Amount',

  • 100 'Balance Amount',.

FORM aging_calculation.

CLEAR : billing_date, credit_days, wa_ctab.

DATA : shiftdays TYPE tb_days_to_pos.

CLEAR : shiftdays, overdue_days.

READ TABLE ctab INTO wa_ctab WITH KEY kunnr = wac_bsid-kunnr.

billing_date = wac_bsid-fkdat.

credit_days = wa_ctab-ztag1.

.

overdue_date = billing_date.

CALL FUNCTION 'FAGL_ITEM_OVERDUE_DAYS'

EXPORTING

key_date = key_date

  • PAY_DATE =

due_date = overdue_date

  • CLEAR_DATE =

IMPORTING

  • OVER_SKONTO1_DAYS =

overdue_days = overdue_days

.

wac_bsid-od_days = overdue_days.

IF int1 IS INITIAL.

int1s = 0.

int1e = 0.

ELSEIF int1 IS NOT INITIAL.

int1s = 0.

int1e = int1.

ENDIF.

IF int2 IS INITIAL.

int2s = 0.

int2e = 0.

ELSE.

int2s = int1 + 1.

int2e = int2.

ENDIF.

IF int3 IS INITIAL.

int3s = 0.

int3e = 0.

ELSE.

int3s = int2 + 1.

int3e = int3.

ENDIF.

IF int4 IS INITIAL.

int4s = 0.

int4e = 0.

ELSE.

int4s = int3 + 1.

int4e = int4.

ENDIF.

IF int5 IS INITIAL.

int5s = 0.

int5e = 0.

ELSE.

int5s = int4 + 1.

int5e = int5.

ENDIF.

IF wac_bsid-od_days BETWEEN int1s AND int1e.

wac_bsid-baln1 = wac_bsid-age_amt.

ELSEIF wac_bsid-od_days BETWEEN int2s AND int2e.

wac_bsid-baln2 = wac_bsid-age_amt.

ELSEIF wac_bsid-od_days BETWEEN int3s AND int3e.

wac_bsid-baln3 = wac_bsid-age_amt.

ELSEIF wac_bsid-od_days BETWEEN int4s AND int4e.

wac_bsid-baln4 = wac_bsid-age_amt.

ELSEIF wac_bsid-od_days BETWEEN int5s AND int5e.

wac_bsid-baln5 = wac_bsid-age_amt.

ELSEIF wac_bsid-od_days > int5e.

wac_bsid-baln6 = wac_bsid-age_amt.

ENDIF.

ENDFORM.

please tell me how can i include blart = dr in this report for that specific period in this report

every thing except this working fine

points will be awarded