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