Customer open items table
hi all,
what is the table for customer open items?
thanks,
Viren.
Hi,
All the Customer Open items are stored in BSID table.
When those open items gets cleared then they are moved to BSAD table. Also corresponeding entries goes to table BKPF & BSEG with all the accounting document details.
Also for GL & Vendor Open items are in BSIS & BSIK respectively and GL & Vendor Cleared items are in BSAS & BSAK respectively.
Similar Messages
-
Dear All,
Can someone tell me the table name for customer open items. Please also send me the list of FI tables.
Regards
Sureshrefer to
http://www.sap-img.com
table name is BSID
hope this helps
pushkaraj
Message was edited by:
pushkaraj kulkarni
Message was edited by:
pushkaraj kulkarni -
Hi,what is table name where we can see customer open items
BR.AJHi,.
I am not sure of the table name..
U may use this transaction code to find the open items of a customer... S_ALR_87012173
See if this is of any help to you...
FAGL_S_RFDEPL00_LIST1
POINTS PLZ
Cheers
Raghu -
Z report logic- Customer open item analysis
Dear Experts
Our client is using S_ALR_87012178 report for customer open items due analysis.
Now,here they also need sales group wise & division wise split up. Sales group from SO, not CMR, since a single/same customer may have different sales groups for different SOs.
I tried.. but no other report..satisfying this..
So, decided to go ahead with a new Z Development , wherein I plan to call in the program to our customized prgram/report & then to code it, so that sales group & divison are reflected to the corresponding customers.
Now, the challenge is, most (infact all) of the std credit management reports are customer master based, but this requirement (sales group & division) is transaction 9from SO) based.
Now, how do we write the logic/join the tables for me to write FSpec, so as to develop a Z Report.
Anticipating your guidance/suggestions/help.
Good day...
Rgds
Sumanth.Gururajhi,
this is to inform you that,
take the program with RFDOPR10 copy the same program under the name of Z report.
add these fields in selection screen and keep them mandatory on the selection screen & take logic from these tables and fields
1. Sales Group - VBAK-VKGRP
2. Division - VBAK-SPART
take the program with RFDOPR10 copy the same program under the name of Z report.
i think so you cannot capture the total functionality of RFDOPR10 which is the extract of plenty of tables.
finally if it is exectued then entire effort goes invain.
so my suggestion is catch hold of ABAPER and follow the above.
note : if sales group wise and division analysis is coming in the same report then it is very to populate the data from the Z report.
first confirm that.
if it is coming then go ahead with Z reprot itself
balajia -
Function module for customer open item aging report
Hi all,
Please let me know the FM for customer open item aging or which FM is used in tcode S_ALR_87012178 to get the age wise open item of customer.
Thanks in advance
Regards
Puneet<b><u>Part4</u></b><br />
<br />
<pre class="jive-pre"><code class="jive-code jive-java"><font color="red">"&----</font>
<font color="red">"*& Form process_data</font>
<font color="red">"&----</font>
FORM PROCESS_DATA .
DATA : L_TOTAL_TMP(15). <font color="red">" LIKE BSID-DMBTR. </font>
CLEAR : L_TOTAL,LPD_TOTALS.
<font color="red">"* As per Customer accumulate the amount.</font>
<font color="red">"* For overdue items.</font>
CLEAR : L_TOTAL_TMP.
LOOP AT L_OPENDUE_LT.
CONDENSE L_OPENDUE_LT-DMBTR NO-GAPS.
L_TOTAL_TMP = L_TOTAL_TMP + L_OPENDUE_LT-DMBTR.
AT END OF KUNNR.
LPD_TOTALS-KUNNR = L_OPENDUE_LT-KUNNR.
LPD_TOTALS-LPD_TOTAL = L_TOTAL_TMP.
APPEND LPD_TOTALS.
CLEAR : L_TOTAL_TMP.
ENDAT.
ENDLOOP.
CLEAR : L_TOTAL,LOA_TOTALS.
<font color="red">"* As per Customer accumulate the amount.</font>
<font color="red">"* For Open Items.</font>
CLEAR : L_TOTAL_TMP.
LOOP AT L_OPENDUE_LE.
CONDENSE L_OPENDUE_LE-DMBTR NO-GAPS.
L_TOTAL_TMP = L_TOTAL_TMP + L_OPENDUE_LE-DMBTR.
AT END OF KUNNR.
LOA_TOTALS-KUNNR = L_OPENDUE_LE-KUNNR.
LOA_TOTALS-LOA_TOTAL = L_TOTAL_TMP.
APPEND LOA_TOTALS.
CLEAR : L_TOTAL_TMP.
ENDAT.
ENDLOOP.
<font color="red">"* Get ageing data based slabs, and duedate.</font>
PERFORM AGEING_DATA.
LOOP AT L_BSID.
<font color="red">"* Move the data to final internal table.</font>
MOVE L_BSID-KUNNR TO FINAL_DATA-KUNNR.
MOVE L_LANDX TO FINAL_DATA-LANDX.
MOVE L_PSTLZ TO FINAL_DATA-PSTLZ.
MOVE L_NAME TO FINAL_DATA-NAME1.
MOVE L_PHONE TO FINAL_DATA-PHONE.
MOVE L_SORTL TO FINAL_DATA-SORTL.
MOVE L_BSID-ZTERM TO FINAL_DATA-ZTERM.
MOVE L_BUSAB TO FINAL_DATA-BUSAB.
READ TABLE LPD_TOTALS WITH KEY KUNNR = L_BSID-KUNNR.
IF SY-SUBRC EQ 0.
MOVE LPD_TOTALS-LPD_TOTAL TO FINAL_DATA-LPD_TOTAL.
ENDIF.
READ TABLE LOA_TOTALS WITH KEY KUNNR = L_BSID-KUNNR.
IF SY-SUBRC EQ 0.
MOVE LOA_TOTALS-LOA_TOTAL TO FINAL_DATA-LOA_TOTAL.
ENDIF.
READ TABLE AGE_DATA WITH KEY KUNNR = L_BSID-KUNNR.
IF SY-SUBRC EQ 0.
MOVE AGE_DATA-CURAMT TO FINAL_DATA-CURAMT.
MOVE AGE_DATA-AMT1 TO FINAL_DATA-AMT1.
MOVE AGE_DATA-AMT2 TO FINAL_DATA-AMT2.
MOVE AGE_DATA-AMT3 TO FINAL_DATA-AMT3.
MOVE AGE_DATA-AMT4 TO FINAL_DATA-AMT4.
MOVE AGE_DATA-AMT5 TO FINAL_DATA-AMT5.
MOVE AGE_DATA-AMT6 TO FINAL_DATA-AMT6.
ENDIF.
ENDIF.
APPEND FINAL_DATA.
CLEAR: FINAL_DATA.
ENDLOOP.
ENDFORM. <font color="red">" process_data</font>
</code></pre> -
Hi All,
I have to make a report in FI, which should show the below given Customer open Invoice details for a given customer in selection screen.
Invoice No | Invoice date | Invoice Amount | Payment | Balance | Currency |
1. I have selected all open item details (BELNR, BUDAT, WRBTR, WAERS ) from BSID for the given customer.
2. Selected the cleared items from BSAD for the above accounting documents..and updated the BSAD-WRBTR in payment column.
When there is no payment made against a Invoice its coming up, but when there is partial/ full payment made as this is no more open item this invoice number not coming up in the report.. Hope I have explianed my problem clearly..
Please suggest me how should I finish this report. Thanks in advances..its very urgent..
Regards
Jaker.Hi,
See the attached report for the Customer AR's (Open Items) and write accrodingly.
report zf_rept_debtor_ageing
no standard page heading
message-id fb
line-count 65
line-size 230.
Purpose : This ABAP program will fetch the Account Receivables for
a Customer for the given period and display the due days.
tables: t001, " Company Codes
t005, " Countries
skb1, " GL Master
kna1. " Customer Master
Internal Tables
Internal table for BSID (Open Items) data
data: begin of it_bsid occurs 0,
kunnr like bsid-kunnr, " Customer Number
gjahr like bsid-gjahr, " Fiscal Year
belnr like bsid-belnr, " Acc.Document
buzei like bsid-buzei, " Item
budat like bsid-budat, " Posting Date
shkzg like bsid-shkzg, " Dr/Cr Indicator
dmbtr like bsid-dmbtr, " Amount(Local Curr)
wrbtr like bsid-wrbtr, " Amount(Doc Curr)
dmbe2 like bsid-dmbe2, " Amount(USD)
waers like bsid-waers, " Currency
zterm like bsid-zterm, " Payment Terms
vbeln like bsid-vbeln, " Billing Doc
zfbdt like bsid-zfbdt, " Baseline Date
zbd1t like bsid-zbd1t, " No of days
hkont like bsid-hkont, " GL Account
name1 like kna1-name1, " Customer Name
land1 like kna1-land1, " Country
end of it_bsid.
Internal table for BSAD (Closed Items) data
data: begin of it_bsad occurs 0,
kunnr like bsad-kunnr, " Customer Number
gjahr like bsad-gjahr, " Fiscal Year
belnr like bsad-belnr, " Acc.Document
buzei like bsad-buzei, " Item
budat like bsad-budat, " Posting Date
shkzg like bsad-shkzg, " Dr/Cr Indicator
dmbtr like bsad-dmbtr, " Amount(Local Curr)
wrbtr like bsid-wrbtr, " Amount(Doc Curr)
dmbe2 like bsad-dmbe2, " Amount(USD)
waers like bsad-waers, " Currency
zterm like bsid-zterm, " Payment Terms
vbeln like bsid-vbeln, " Billing Doc
zfbdt like bsid-zfbdt, " Baseline Date
zbd1t like bsid-zbd1t, " No of days
hkont like bsid-hkont, " GL Account
name1 like kna1-name1, " Customer Name
land1 like kna1-land1, " Country
end of it_bsad.
Internal table for Report Output
data: begin of it_report occurs 0,
kunnr like bsid-kunnr, " Customer Number
belnr like bsid-belnr, " Acc.Document
name1 like kna1-name1, " Customer Name
land1 like kna1-land1, " Country
shkzg like bsid-shkzg, " Dr/Cr Indicator
budat like bsid-budat, " Posting Date
dmbtr like bsid-dmbtr, " Amount(Local Curr)
wrbtr like bsid-wrbtr, " Amount(Doc Curr)
dmbe2 like bsid-dmbe2, " Amount(USD)
waers like bsid-waers, " Currency
due_amnt like bsid-dmbtr, " Amount(Over Due)
d_amnt1 like bsid-dmbtr, " Amount(0-30 Future Due)
d_amnt2 like bsid-dmbtr, " Amount(31-60 Future Due)
d_amnt3 like bsid-dmbtr, " Amount(61-90 Future Due)
d_amnt4 like bsid-dmbtr, " Amount(91-120 Future Due)
d_amnt5 like bsid-dmbtr, " Amount(more than 120)
due_date like bsid-budat, " Due date
zterm like bsid-zterm, " Payment Terms
vbeln like bsid-vbeln, " Billing Doc
end of it_report.
Declaration of Data and Variables
data: v_days type i, " Difference days
v_waers like t001-waers, " Co.Code Currency
v_sum1 like bsid-dmbtr, " Totals 1
v_sum2 like bsid-dmbtr, " Totals 2
v_sum3 like bsid-dmbtr, " Totals 3
v_sum4 like bsid-dmbtr, " Totals 4
v_sum5 like bsid-dmbtr, " Totals 5
v_sum6 like bsid-dmbtr, " Totals 6
v_sum7 like bsid-dmbtr, " Totals 7
v_sum8 like bsid-dmbe2. " Totals 8
Constants
constants: c_doc_waers(3) value 'USD',
c_mitkz type c value 'D'.
Selection Screen
selection-screen : begin of block b1 with frame title text-001.
parameters: p_bukrs like t001-bukrs obligatory. " Company Code
select-options:s_kunnr for kna1-kunnr, " Customer Number
s_land1 for t005-land1, " Country
s_hkont for skb1-saknr. " G/L Account
parameters: p_date like sy-datum obligatory. " Report Date
selection-screen: end of block b1.
selection-screen : begin of block b2 with frame title text-002.
selection-screen begin of line.
selection-screen comment 2(30) text-003 for field p_rb1.
parameters: p_rb1 radiobutton group rb.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 2(30) text-004 for field p_rb2.
parameters: p_rb2 radiobutton group rb.
selection-screen end of line.
selection-screen: end of block b2.
selection-screen : begin of block b4 with frame.
selection-screen begin of line.
selection-screen comment 2(29) text-038 for field p_chk1.
parameters: p_chk1 as checkbox.
selection-screen end of line.
selection-screen: end of block b4.
selection-screen : begin of block b3 with frame title text-030.
selection-screen begin of line.
selection-screen comment 2(30) text-031 for field p_rb3.
parameters: p_rb3 radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 2(30) text-032 for field p_rb4.
parameters: p_rb4 radiobutton group rb1.
selection-screen end of line.
selection-screen: end of block b3.
*********Initialization**********************************************
initialization.
At Selection Screen
at selection-screen.
Checking for the input values of selection screen.
perform screen_check.
Top-Of-Page
top-of-page.
if p_rb3 = 'X'.
if p_chk1 = 'X'.
Write the Column Headings for detailed report(in Doc Currency)
perform col_heading2.
else.
Write the Column Headings for detailed report
perform col_heading.
endif.
else.
Write the Column Headings for summary report
perform col_heading1.
endif.
Start-Of-Selection
start-of-selection.
Get the Customer Open Items from BSID
perform get_open_data.
Get the Customer Closed Items from BSAD
perform get_close_data.
Get the data from BSID,BSAD and KNA1 into one int.table
perform process_data.
End-Of-Selection
end-of-selection.
if it_report[] is initial.
write : 'No Documents found'(005).
else.
if p_rb3 = 'X'.
Write the Detailed Report
perform write_report.
else.
Write the Summary Report
perform write_report1.
endif.
endif.
At Line-Selection
at line-selection.
When double clicked on BELNR leave to transaction FB03
perform line_sel.
*& Form SCREEN_CHECK
Checking for the input values of selection screen
form screen_check.
Validation of Company Code
clear t001.
if not p_bukrs is initial.
select bukrs from t001 up to 1 rows
into t001-bukrs
where bukrs = p_bukrs.
endselect.
if sy-subrc ne 0.
message e000 with 'Invalid Company Code'(006).
endif.
endif.
Validation of Customer Number
clear kna1.
if not s_kunnr is initial.
select kunnr from kna1 up to 1 rows
into kna1-kunnr
where kunnr in s_kunnr.
endselect.
if sy-subrc ne 0.
message e000 with 'Invalid Customer Number'(007).
endif.
endif.
Validation of Country
clear t005.
if not s_land1 is initial.
select land1 from t005 up to 1 rows
into t005-land1
where land1 in s_land1.
endselect.
if sy-subrc ne 0.
message e000 with 'Invalid Country'(036).
endif.
endif.
Validation of GL Account
clear skb1.
if not s_hkont is initial.
select saknr from skb1 up to 1 rows
into skb1-saknr
where saknr in s_hkont and
mitkz = c_mitkz.
endselect.
if sy-subrc ne 0.
message e000 with 'Invalid GL Reconciliation Account'(037).
endif.
endif.
endform. " SCREEN_CHECK
*& Form COL_HEADING
Write the Column Headings for detailed report
form col_heading.
skip .
write: /88 'DEBTOR AGEING REPORT AS AT:'(019) centered,
116 p_date centered, 198 sy-pagno.
skip .
write: /2 'CoCode:'(016),13(4) p_bukrs color 3.
if not s_kunnr is initial.
if not s_kunnr-high is initial.
write: 20 'Customer:'(041),33 s_kunnr-low color 3,
'-', s_kunnr-high color 3.
else.
write: 20 'Customer:'(041),33 s_kunnr-low color 3.
endif.
endif.
if not s_land1 is initial.
if not s_land1-high is initial.
write: /2 'Country:'(042),13(4) s_land1-low color 3,
'-', s_land1-high color 3.
else.
write: /2 'Country:'(042),13(4) s_land1-low color 3.
endif.
if not s_hkont is initial.
if not s_hkont-high is initial.
write: 20 'GL Account:'(043),33 s_hkont-low color 3,
'-', s_hkont-high color 3.
else.
write: 20 'GL Account:'(043),33 s_hkont-low color 3.
endif.
endif.
else.
if not s_hkont is initial.
if not s_hkont-high is initial.
write: /2 'GL Account:'(043),14 s_hkont-low color 3,
'-', s_hkont-high color 3.
else.
write: /2 'GL Account:'(043),14 s_hkont-low color 3.
endif.
endif.
endif.
write: 183 'Run Date:'(029), sy-datum.
format color col_heading.
write at /1(203) sy-uline .
write: / sy-vline, 2(10) 'Customer'(008) centered,
12 sy-vline, 13(30) 'Customer Name'(009),
43 sy-vline, 44(3) 'Cty'(014) centered,
47 sy-vline, 48(15) 'Amount'(013) right-justified,
63 sy-vline, 64(4) 'Curr'(011) centered,
68 sy-vline, 69(15) 'Overdue'(012) centered,
84 sy-vline, 85(15) '0 - 30 Days'(010) centered,
100 sy-vline,101(15) '31 - 60 Days'(028) centered,
116 sy-vline,117(15) '61 - 90 Days'(021) centered,
132 sy-vline,133(15) '91 - 120 Days'(022) centered,
148 sy-vline,149(15) 'Above 120 Days'(023) centered,
164 sy-vline,165(10) 'Due Date'(024) centered,
175 sy-vline,176(5) 'PayT'(025) centered,
181 sy-vline,182(10) 'Bill.Doc.'(026) centered,
192 sy-vline,193(10) 'Doc.No.'(027) centered,
203 sy-vline.
write at /1(203) sy-uline.
format color off.
endform. " COL_HEADING
*& Form COL_HEADING1
Write the Column Headings for summary report
form col_heading1.
skip .
write: /54 'DEBTOR AGEING REPORT (SUMMARY) AS AT:'(033) centered,
92 p_date centered, 158 sy-pagno.
skip .
write: /2 'CoCode:'(016), 13(4) p_bukrs color 3.
if not s_kunnr is initial.
if not s_kunnr-high is initial.
write: 20 'Customer:'(041),33 s_kunnr-low color 3,
'-', s_kunnr-high color 3.
else.
write: 20 'Customer:'(041),33 s_kunnr-low color 3.
endif.
endif.
if not s_land1 is initial.
if not s_land1-high is initial.
write: /2 'Country:'(042),13(4) s_land1-low color 3,
'-', s_land1-high color 3.
else.
write: /2 'Country:'(042),13(4) s_land1-low color 3.
endif.
if not s_hkont is initial.
if not s_hkont-high is initial.
write: 20 'GL Account:'(043),33 s_hkont-low color 3,
'-', s_hkont-high color 3.
else.
write: 20 'GL Account:'(043),33 s_hkont-low color 3.
endif.
endif.
else.
if not s_hkont is initial.
if not s_hkont-high is initial.
write: /2 'GL Account:'(043),14 s_hkont-low color 3,
'-', s_hkont-high color 3.
else.
write: /2 'GL Account:'(043),14 s_hkont-low color 3.
endif.
endif.
endif.
write: 144 'Run Date:'(029), sy-datum.
format color col_heading.
write at /1(164) sy-uline .
write: / sy-vline, 2(10) 'Customer'(008) centered,
12 sy-vline, 13(30) 'Customer Name'(009),
43 sy-vline, 44(3) 'Cty'(014) centered,
47 sy-vline, 48(15) 'Amount'(013) right-justified,
63 sy-vline, 64(4) 'Curr'(011) centered,
68 sy-vline, 69(15) 'Overdue'(012) centered,
84 sy-vline, 85(15) '0 - 30 Days'(010) centered,
100 sy-vline,101(15) '31 - 60 Days'(028) centered,
116 sy-vline,117(15) '61 - 90 Days'(021) centered,
132 sy-vline,133(15) '91 - 120 Days'(022) centered,
148 sy-vline,149(15) 'Above 120 Days'(023) centered,
164 sy-vline.
write at /1(164) sy-uline.
format color off.
endform. " COL_HEADING1
*& Form COL_HEADING2
Write the Column Headings for summary report(in Doc Curr)
form col_heading2.
skip .
write: /99 'DEBTOR AGEING REPORT AS AT:'(019) centered,
127 p_date centered, 220 sy-pagno.
skip .
write: /2 'CoCode:'(016),13(4) p_bukrs color 3.
if not s_kunnr is initial.
if not s_kunnr-high is initial.
write: 20 'Customer:'(041),33 s_kunnr-low color 3,
'-', s_kunnr-high color 3.
else.
write: 20 'Customer:'(041),33 s_kunnr-low color 3.
endif.
endif.
if not s_land1 is initial.
if not s_land1-high is initial.
write: /2 'Country:'(042),13(4) s_land1-low color 3,
'-', s_land1-high color 3.
else.
write: /2 'Country:'(042),13(4) s_land1-low color 3.
endif.
if not s_hkont is initial.
if not s_hkont-high is initial.
write: 20 'GL Account:'(043),33 s_hkont-low color 3,
'-', s_hkont-high color 3.
else.
write: 20 'GL Account:'(043),33 s_hkont-low color 3.
endif.
endif.
else.
if not s_hkont is initial.
if not s_hkont-high is initial.
write: /2 'GL Account:'(043),14 s_hkont-low color 3,
'-', s_hkont-high color 3.
else.
write: /2 'GL Account:'(043),14 s_hkont-low color 3.
endif.
endif.
endif.
write: 204 'Run Date:'(029), sy-datum.
format color col_heading.
write at /1(225) sy-uline .
write: / sy-vline, 2(10) 'Customer'(008) centered,
12 sy-vline, 13(30) 'Customer Name'(009),
43 sy-vline, 44(3) 'Cty'(014) centered,
47 sy-vline, 48(15) 'Amount'(013) right-justified,
63 sy-vline, 64(4) 'Curr'(011) centered,
68 sy-vline, 69(15) 'Overdue'(012) centered,
84 sy-vline, 85(15) '0 - 30 Days'(010) centered,
100 sy-vline,101(15) '31 - 60 Days'(028) centered,
116 sy-vline,117(15) '61 - 90 Days'(021) centered,
132 sy-vline,133(15) '91 - 120 Days'(022) centered,
148 sy-vline,149(15) 'Above 120 Days'(023) centered,
164 sy-vline,165(10) 'Due Date'(024) centered,
175 sy-vline,176(5) 'PayT'(025) centered,
181 sy-vline,182(10) 'Bill.Doc.'(026) centered,
192 sy-vline,193(10) 'Doc.No.'(027) centered,
203 sy-vline,204(16) 'Amount(Doc.Curr)'(039),
220 sy-vline,221(4) 'Curr'(040),
225 sy-vline.
write at /1(225) sy-uline.
format color off.
endform. " COL_HEADING2
*& Form GET_OPEN_DATA
Get the Customer Open Items from BSID
form get_open_data.
select a~kunnr " Customer Number
a~gjahr " Fiscal Year
a~belnr " Acc.Document
a~buzei " Item
a~budat " Posting Date
a~shkzg " Dr/Cr Indicator
a~dmbtr " Amount(Local Curr)
a~wrbtr " Amount(Doc Curr)
a~dmbe2 " Amount(USD)
a~waers " Currency
a~zterm " Payment Terms
a~vbeln " Billing Doc
a~zfbdt " Baseline Date
a~zbd1t " No of days
a~hkont " GL account
b~name1 " Customer Name
b~land1 " Country
into table it_bsid
from bsid as a join kna1 as b
on akunnr = bkunnr
where a~bukrs = p_bukrs and
a~kunnr in s_kunnr and
a~hkont in s_hkont and
b~land1 in s_land1 and
a~budat le p_date.
sort it_bsid by kunnr gjahr belnr buzei budat.
endform. " GET_OPEN_DATA
*& Form GET_CLOSE_DATA
Get the Customer closed Items from BSID
form get_close_data.
select a~kunnr " Customer Number
a~gjahr " Fiscal Year
a~belnr " Acc.Document
a~buzei " Item
a~budat " Posting Date
a~shkzg " Dr/Cr Indicator
a~dmbtr " Amount(Local Curr)
a~wrbtr " Amount(Doc Curr)
a~dmbe2 " Amount(USD)
a~waers " Currency
a~zterm " Payment Terms
a~vbeln " Billing Doc
a~zfbdt " Baseline Date
a~zbd1t " No of days
a~hkont " GL account
b~name1 " Customer Name
b~land1 " Country
into table it_bsad
from bsad as a join kna1 as b
on akunnr = bkunnr
where a~bukrs = p_bukrs and
a~kunnr in s_kunnr and
a~hkont in s_hkont and
b~land1 in s_land1 and
a~augdt > p_date and
a~budat le p_date.
sort it_bsad by kunnr gjahr belnr buzei budat.
endform. " GET_CLOSE_DATA
*& Form PROCESS_DATA
Get the data from BSID,BSAD and KNA1 into one int.table
form process_data.
*Move the data from BSID to final output int table
loop at it_bsid.
move-corresponding it_bsid to it_report.
it_report-due_date = it_bsid-zfbdt + it_bsid-zbd1t.
append it_report.
clear it_report.
endloop.
*Move the data from BSAD to final output int table
loop at it_bsad.
move-corresponding it_bsad to it_report.
it_report-due_date = it_bsad-zfbdt + it_bsad-zbd1t.
append it_report.
clear it_report.
endloop.
sort it_report by kunnr belnr.
loop at it_report.
if it_report-shkzg = 'H'. " Credit
it_report-dmbtr = it_report-dmbtr * -1.
it_report-dmbe2 = it_report-dmbe2 * -1.
endif.
v_days = it_report-due_date - p_date.
For Company Code Currency
if p_rb1 = 'X'.
if v_days le 0.
it_report-due_amnt = it_report-dmbtr.
elseif v_days between 1 and 30.
it_report-d_amnt1 = it_report-dmbtr.
elseif v_days between 31 and 60.
it_report-d_amnt2 = it_report-dmbtr.
elseif v_days between 61 and 90.
it_report-d_amnt3 = it_report-dmbtr.
elseif v_days between 91 and 120.
it_report-d_amnt4 = it_report-dmbtr.
elseif v_days > 120.
it_report-d_amnt5 = it_report-dmbtr.
endif.
For Group Currency
else.
if v_days le 0.
it_report-due_amnt = it_report-dmbe2.
elseif v_days between 1 and 30.
it_report-d_amnt1 = it_report-dmbe2.
elseif v_days between 31 and 60.
it_report-d_amnt2 = it_report-dmbe2.
elseif v_days between 61 and 90.
it_report-d_amnt3 = it_report-dmbe2.
elseif v_days between 91 and 120.
it_report-d_amnt4 = it_report-dmbe2.
elseif v_days > 120.
it_report-d_amnt5 = it_report-dmbe2.
endif.
endif.
modify it_report index sy-tabix.
endloop.
endform. " PROCESS_DATA
*& Form WRITE_REPORT
Write the Detailed Report Output
form write_report.
clear: v_sum1,v_sum2,v_sum3,v_sum4,v_waers,
v_sum5,v_sum6,v_sum7,v_sum8.
loop at it_report.
at new kunnr.
read table it_report index sy-tabix.
write: / sy-vline, 2(10) it_report-kunnr,
12 sy-vline, 13(30) it_report-name1,
43 sy-vline, 44(3) it_report-land1,
47 sy-vline.
endat.
if p_rb1 = 'X'.
select single waers from t001
into v_waers where bukrs = p_bukrs.
write: 1 sy-vline, 12 sy-vline,
43 sy-vline,
47 sy-vline,
48(15) it_report-dmbtr currency it_report-waers,
63 sy-vline, 64(4) v_waers,
68 sy-vline.
else.
write: 1 sy-vline, 12 sy-vline,
43 sy-vline,
47 sy-vline,
48(15) it_report-dmbe2 currency it_report-waers,
63 sy-vline,64(4) c_doc_waers,
68 sy-vline.
endif.
write: 69(15) it_report-due_amnt currency it_report-waers,
84 sy-vline,
85(15) it_report-d_amnt1 currency it_report-waers,
100 sy-vline,
101(15) it_report-d_amnt2 currency it_report-waers,
116 sy-vline,
117(15) it_report-d_amnt3 currency it_report-waers,
132 sy-vline,
133(15) it_report-d_amnt4 currency it_report-waers,
148 sy-vline,
149(15) it_report-d_amnt5 currency it_report-waers,
164 sy-vline,165(10) it_report-due_date,
175 sy-vline,176(5) it_report-zterm,
181 sy-vline,182(10) it_report-vbeln,
192 sy-vline,193(10) it_report-belnr,
203 sy-vline.
if p_chk1 = 'X'.
write: 204(16) it_report-wrbtr currency it_report-waers,
220 sy-vline, 221(4) it_report-waers,
225 sy-vline.
endif.
new-line.
Totals for end of each Customer
at end of kunnr.
if p_chk1 = 'X'.
write at /1(225) sy-uline.
else.
write at /1(203) sy-uline.
endif.
sum.
format color 4.
if p_rb1 = 'X'.
write: /1 sy-vline, 2 'Total:'(015),
12 sy-vline,
13(10) it_report-kunnr,
43 sy-vline,47 sy-vline,
48(15) it_report-dmbtr currency it_report-waers,
63 sy-vline, 64(3) v_waers,
68 sy-vline,
69(15) it_report-due_amnt currency it_report-waers,
84 sy-vline,
85(15) it_report-d_amnt1 currency it_report-waers,
100 sy-vline,
101(15) it_report-d_amnt2 currency it_report-waers,
116 sy-vline,
117(15) it_report-d_amnt3 currency it_report-waers,
132 sy-vline,
133(15) it_report-d_amnt4 currency it_report-waers,
148 sy-vline,
149(15) it_report-d_amnt5 currency it_report-waers,
164 sy-vline, 175 sy-vline,
181 sy-vline, 192 sy-vline,
203 sy-vline.
if p_chk1 = 'X'.
write: 220 sy-vline, 225 sy-vline.
endif.
else.
write: /1 sy-vline, 2 'Total:'(015),
12 sy-vline,
13(10) it_report-kunnr,
43 sy-vline,
47 sy-vline,
48(15) it_report-dmbe2 currency it_report-waers,
63 sy-vline, 64(3) c_doc_waers,
68 sy-vline,
69(15) it_report-due_amnt currency it_report-waers,
84 sy-vline,
85(15) it_report-d_amnt1 currency it_report-waers,
100 sy-vline,
101(15) it_report-d_amnt2 currency it_report-waers,
116 sy-vline,
117(15) it_report-d_amnt3 currency it_report-waers,
132 sy-vline,
133(15) it_report-d_amnt4 currency it_report-waers,
148 sy-vline,
149(15) it_report-d_amnt5 currency it_report-waers,
164 sy-vline, 175 sy-vline,
181 sy-vline, 192 sy-vline,
203 sy-vline.
if p_chk1 = 'X'.
write: 220 sy-vline, 225 sy-vline.
endif.
endif.
format color off.
if p_chk1 = 'X'.
write at /1(225) sy-uline.
else.
write at /1(203) sy-uline.
endif.
endat.
v_sum1 = v_sum1 + it_report-dmbtr.
v_sum2 = v_sum2 + it_report-due_amnt.
v_sum3 = v_sum3 + it_report-d_amnt1.
v_sum4 = v_sum4 + it_report-d_amnt2.
v_sum5 = v_sum5 + it_report-d_amnt3.
v_sum6 = v_sum6 + it_report-d_amnt4.
v_sum7 = v_sum7 + it_report-d_amnt5.
v_sum8 = v_sum8 + it_report-dmbe2.
Hiding the Acc doc no for interactic screen.
hide it_report-belnr.
hide it_report-budat.
clear:it_report-belnr, it_report-budat.
endloop.
Grand Totals for all customers
format color 3.
write: /1 sy-vline, 2 'Gr.Total'(034),
12 sy-vline,13 'As At:'(035),p_date,
43 sy-vline,
47 sy-vline.
For Company Code Currency
if p_rb1 = 'X'.
write: 48(15) v_sum1 currency it_report-waers,
63 sy-vline, 64(4) v_waers,
68 sy-vline.
For Group Currency (USD)
else.
write: 48(15) v_sum8 currency it_report-waers,
63 sy-vline, 64(3) c_doc_waers,
68 sy-vline.
endif.
write: 69(15) v_sum2 currency it_report-waers,
84 sy-vline,
85(15) v_sum3 currency it_report-waers,
100 sy-vline,
101(15) v_sum4 currency it_report-waers,
116 sy-vline,
117(15) v_sum5 currency it_report-waers,
132 sy-vline,
133(15) v_sum6 currency it_report-waers,
148 sy-vline,
149(15) v_sum7 currency it_report-waers,
164 sy-vline, 175 sy-vline,
181 sy-vline, 192 sy-vline,
203 sy-vline.
if p_chk1 = 'X'.
write: 220 sy-vline, 225 sy-vline.
endif.
format color off.
if p_chk1 = 'X'.
write at /1(225) sy-uline.
else.
write at /1(203) sy-uline.
endif.
endform. " WRITE_REPORT
*& Form WRITE_REPORT1
Write the Summary Report Output
form write_report1.
clear: v_sum1,v_sum2,v_sum3,v_sum4,v_waers,
v_sum5,v_sum6,v_sum7,v_sum8.
loop at it_report.
at new kunnr.
read table it_report index sy-tabix.
write: / sy-vline, 2(10) it_report-kunnr,
12 sy-vline, 13(30) it_report-name1,
43 sy-vline, 44(3) it_report-land1,
47 sy-vline.
endat.
at end of kunnr.
sum.
if p_rb1 = 'X'.
select single waers from t001
into v_waers where bukrs = p_bukrs.
write: 1 sy-vline, 12 sy-vline,
43 sy-vline, 47 sy-vline,
48(15) it_report-dmbtr currency it_report-waers,
63 sy-vline, 64(4) v_waers,
68 sy-vline,
69(15) it_report-due_amnt currency it_report-waers,
84 sy-vline,
85(15) it_report-d_amnt1 currency it_report-waers,
100 sy-vline,
101(15) it_report-d_amnt2 currency it_report-waers,
116 sy-vline,
117(15) it_report-d_amnt3 currency it_report-waers,
132 sy-vline,
133(15) it_report-d_amnt4 currency it_report-waers,
148 sy-vline,
149(15) it_report-d_amnt5 currency it_report-waers,
164 sy-vline.
else.
write: 1 sy-vline, 12 sy-vline,
43 sy-vline, 47 sy-vline,
48(15) it_report-dmbe2 currency it_report-waers,
63 sy-vline, 64(4) c_doc_waers,
68 sy-vline,
69(15) it_report-due_amnt currency it_report-waers,
84 sy-vline,
85(15) it_report-d_amnt1 currency it_report-waers,
100 sy-vline,
101(15) it_report-d_amnt2 currency it_report-waers,
116 sy-vline,
117(15) it_report-d_amnt3 currency it_report-waers,
132 sy-vline,
133(15) it_report-d_amnt4 currency it_report-waers,
148 sy-vline,
149(15) it_report-d_amnt5 currency it_report-waers,
164 sy-vline.
endif.
write at /1(164) sy-uline.
endat.
Totals
v_sum1 = v_sum1 + it_report-dmbtr.
v_sum2 = v_sum2 + it_report-due_amnt.
v_sum3 = v_sum3 + it_report-d_amnt1.
v_sum4 = v_sum4 + it_report-d_amnt2.
v_sum5 = v_sum5 + it_report-d_amnt3.
v_sum6 = v_sum6 + it_report-d_amnt4.
v_sum7 = v_sum7 + it_report-d_amnt5.
v_sum8 = v_sum8 + it_report-dmbe2.
Hiding the Acc doc no for interactic screen.
hide it_report-belnr.
hide it_report-budat.
clear: it_report-belnr,
it_report-budat.
endloop.
Calculation of Grand Totals
format color 3.
write: /1 sy-vline, 2 'Gr.Total'(034),
12 sy-vline,13 'As At:'(035),p_date,
43 sy-vline,
47 sy-vline.
For Company Code Currency
if p_rb1 = 'X'.
write: 48(15) v_sum1 currency it_report-waers,
63 sy-vline, 64(4) v_waers,
68 sy-vline.
For Group Currency (USD)
else.
write: 48(15) v_sum8 currency it_report-waers,
63 sy-vline, 64(3) c_doc_waers,
68 sy-vline.
endif.
write: 69(15) v_sum2 currency it_report-waers,
84 sy-vline,
85(15) v_sum3 currency it_report-waers,
100 sy-vline,
101(15) v_sum4 currency it_report-waers,
116 sy-vline,
117(15) v_sum5 currency it_report-waers,
132 sy-vline,
133(15) v_sum6 currency it_report-waers,
148 sy-vline,
149(15) v_sum7 currency it_report-waers,
164 sy-vline.
format color off.
write at /1(164) sy-uline.
endform. " WRITE_REPORT1
*& Form LINE_SEL
When double clicked on BELNR leave to transaction FB03
form line_sel.
data: lv_field(20),
lv_value(10),
lv_date(10),
lv_gjahr like bsad-gjahr.
get cursor field lv_field value lv_value.
if lv_field = 'IT_REPORT-BELNR'.
if not lv_value is initial.
read current line field value it_report-budat into lv_date.
lv_gjahr = lv_date+6(4).
set parameter id 'BUK' field p_bukrs.
set parameter id 'GJR' field lv_gjahr.
set parameter id 'BLN' field lv_value.
call transaction 'FB03' and skip first screen.
endif.
endif.
endform. " LINE_SEL
Regards,
Anji -
HI all,
In Which table could I get the customer open items up to some date...?Hi
Customer open items are stored in BSID
Customer cleared items are stored in BSAD
Regards
Venkat -
Customer Open Item clearing Line Layout
Hi
the user uses F-32 for customer open item clearing and the following are the fields are available in the line layout.
Assignment, reference, Doc no, doc type,posting period, doc date, posting date,gross amt, cash discount, cash Discount %.
Along with above fields, our business user wants to view the "document header text" in the line layout.
How to bring the "Document Header text " in the clearing line layout.
Pl advise,
VenkatHi,
you follow these steps to display "Document Header text " in F-32 :
<b>1-</b> go to : SPRO>Financial Accounting>AR & AP>Business transactions>Openm item clearing>Make settings for open item processing>Choose selection fields.
2- select "D" as "account type"
3- click on "insert after"
4- enter SGTXT in the "field name"
5- you will show "SGTXT" and "Text" in the list of fields, click on <b>save</b>
6- then go to F-32 and go to Menu>settings>change line layout
7- then go to Menu>Edit>Choose
8- then click on "insert after" above
9- in the list you will find "text" as field, so choose it
10- Save that (check customer or/and vendor)
11- then click Save and return to the table of F-32, you will find Text in the displaying fields
hope this helps
assign points if useful
let me know
regards -
Hi,
can anybody help.....
customer open item credit and debit amount I need single internal table...Hi
Take a look at the code might get some help
select kunnr
land1
name1
name2
ort01 from kna1 into table it_kna1
where kunnr in so_kunnr.
if it_kna1 is not initial.
select bukrs
kunnr
umskz
zuonr
augdt
augbl
gjahr
belnr
buzei
budat
bldat
blart
shkzg
gsber
mwskz
dmbtr
wrbtr from bsid appending corresponding fields of table it_cust
for all entries in it_kna1
where bukrs = 'RS01'
and kunnr = it_kna1-kunnr
and budat in so_budat
and blart in blart.
endif
loop at it_cust into lw_cust.
read table it_kna1 into lw_kna1 with key kunnr = lw_cust-kunnr.
if sy-subrc = 0.
lw_final-kunnr = lw_cust-kunnr.
lw_final-name1 = lw_kna1-name1.
lw_final-name2 = lw_kna1-name2.
lw_final-ort01 = lw_kna1-ort01.
if lw_cust-shkzg = 'H'.
lw_final-dmbtr_h = lw_cust-dmbtr.
else.
lw_final-dmbtr_s = lw_cust-dmbtr.
endif.
collect lw_final into it_final.
clear: lw_final, lw_cust, lw_bsis.
endif.
endloop..
regards
Nilesh -
Few queries about foreign revaluation for vendor/customer open items
I am trying the transaction F.05 for the first time for vendor & customer open items in foreign currency. I have a few queries:-
1. The ouput contains 2 exchange rates. One is picked from the transaction header. My query is from where is the other rate being picked up. In my current system, I could make out that exch rate in transaction header is being picked automatically from table OB08....however I am unable to deduce the source of the 2nd exch rate.
2. What is the significance of "balance sheet preparation valuation". Earlier in test runs, only "new difference" was getting populated. However the user wanted to see "old diff" also. So while doing some trial run in test client, I checked the "bal sheet prep valu" and posted.....after this run, I am getting values in "old diffe" and "new diff" also. And the posted amount is the difference of the two. What is the significance and ideal way?
3. Should the entry be reversed if I am revaluating at year end? Why I am asking is because in some threads I read that revaluation at year is not to be reversed....
Thanks,
SM1. To find out difference latest date(Key Date for OI Overview) will be taken by comparing with document posted dated. Based on that system shows diffrences
2. The items are valued using the exchange rate valid at the key date. The
difference determined in local currency is output and posted. The
valuation can also be done for parallel local currencies and according to
different valuation approaches (HGB, GAAP).
The result of the valuation is required for the creation of the financial
statements. You should therefore carry out the valuation before the
grouping of receivables and payables with program SAPF101. The valuation
difference is then noted in the document. Use the valuation areas to
calculate a different valuation method, or to save the result for further
processing activities.
3. we need to reverse entries . -
BAPI or FM or Class for Customer open items CLEAR (F-32)
Hi Everyone,
Is there any BAPI or FM to CLEAR customer open items (F-32).
Thanks,
NKHi,
For clearing open items you can use BAPI_ACC_DOCUMENT_POST.
but need to write extra code in BTE
check this function module SAMPLE_INTERFACE_RWBAPI01.
need to update below four fields of table accit.
REBZG (document no against u want to clear)
REBZJ (fiscal year)
REBZZ (line item)
REBZT
to update these field use BTE.
Thanks,
Avadhut. -
Error while clearing Customer open items
Hi,
When I am trying to clear the Customer open items via F-30 I am getting following error -
+Profit center 9000/SEA001 does not exist for 08.04.2011
Message no. KM026
Diagnosis
The desired profit center SEA001 is not in the master data table for the specified date.
Procedure
Check your entry.
Note: The profit center is usually derived from the original account assignment object (cost center, order, and so on) or other information (such as the material number).
If necessary, create the desired profit center for the appropriate time
frame.+
First of all SEA001 is not a Profit Center. It's a material. Correct PC is attached to this material SEA001 and I also checked the validity period of the PC and it's OK.
Can someone please advice how to nail down this issue?
Thanks,
SanjayFound the reason.
Actually there was a substitution to fill the PC from XREF3 for document splitting and SD module was passing the material in XREF3 hence the system was thowing the error.
Gaurav - thanks for your input. Your reply pointed out towards substitution.
Infact thanks everyone for the inputs.
Regards,
Sanjay -
Hello!
Can anybody help to find a way how to clear customer open items when there is no reference number in use for customer. In electronic bank statemen there is only billing document number in TXT field. How to configure "Make Global Settings for Electronic Bank Statement" and "Define Search String for Electronic Bank Statement" for that purpose.
With all the best,
MerlinHello,
IMG => Financial Accounting => Bank Accounting => Business Transactions => Payment Transactions => Electronic Bank Statement => Make Global Settings for Electronic Bank Statement
Give your chart of Accounts
1. Create your account symbols
Create freely definable account symbols. Make sure that you are able to identify them when you are configuring in future steps.
2. Assigning Accounts to Account Symbols
Here you need to assign the account symbols to GL Accounts or you need to use masking logic. You must have designed your accounts in such a way that the end digits will work for posting the entries to FI. Account Modifier you use as + and use your local currency, if you do not have any foreign currency postings.
3. Create Posting Rules
Create freely definable posting rules.
4. Define Posting Rules (This is the most important configuration for your FI Postings / Clearings)
a) For all the payments you need to create the entries for posting area 1
b) For all the receipt you need to create the entries for posting area 1 and 2
c) Use the document type DZ in case if you want to clear the items. Use Posting type 8. If the invoice number is there in the reference field of bank statement, automatically the same will be selected by the system and cleared.
d) If you want just only entries to be posted use posting type 1.
e) If you want to clear the check, then use the posting type 4.
f) Configure according to the entries to be posted.
g) If you are going for clearing something the offsetting debit / offsetting credit (as the case may be) need not be given.
5. Create Transaction Type
Create freely definable Transaction Type
Select the transaction type and assign the external transactions to your posting rules.
For outgoing check use 13 as Interpretation Algorithm and 1 as the processing type.
Remaining all case use 1 (Standard algorithm) and 5 as the processing type.
Please also go through the below mentioned note in case if you are required to use further available interpretation algorithms or processing types.
6. Assign Bank Accounts to Transaction Types:
You need enter the Bank Key / Bank Account / Transaction type here.
You can get the the bank key and bank account details from table T012K (Go to SE16)
Further supplementary notes may be useful to you:
There are different programs to upload electronic bank statement.
FF.5 or FF_5.
I think your case Multicash format you are using.
You need have three files in FF.5 and two files in FF_5
You can prepare a Z program in order to truncate the electronic bank statement into two or three part files and save them on the application server.
1. Take all the external codes list from bank.
2. Take any available documentation from the Bank describing the relevance of the external codes.
3. Make sure that your Chart of Accounts (Bank Accounts) last digits logic is appropriate to meet the requirements.
4. Based on this decide the Account Symbols that are required to be created.
5. Make sure that the masking rules are configured properly.
6. Decide the posting rules that needs to be created.
7. Link up your external symbols provided by the bank with Posting rules and give proper algorithms for posting and clearing logic.
6. Concentrate on the posting areas to be posted while uploading the bank statement.
Further explanation would help you to understand the functionality when uploaded the electronic bank statement.
Main purpose of uploading the bank statement into SAP is to make your Bank Main Account and physical bank statement balance in sync.
You do not have any traditional Bank Reconciliation Statement (BRS) report in SAP.
SAP is normally you maintain bank main account and bank sub account. Whenever you make a payment through F-53 or F-58 or F110, the entry would be:
Vendor Account Dr
To Bank Sub Account
The ending digits of the sub-account would be important in configuring the masking rule. Based on this masking rule when you upload the bank statement the entry the system would pass is:
Bank Sub Account Dr
To Bank Main Account
It depends on the configuration, either the sub account will be cleared by the system automatically or you need to run F.13 to clear the sub accounts.
At the time of receipts, you have different accounting entries unlike payments. It needs to post to two posting areas. 1. GL Accounting 2. Sub-Ledger Accounting
The entries would system itself pass is:
Bank Main Account Dr
To Bank Sub Account
Bank Sub Account Dr
To Cutomer account.
Clearing logic mentioned for your posting rules and the alogrithm used for your external bank symbols will also play pivotal role in clearing the accounts.
Ideally you will use
FF67 / FF.5 / FF_5 for uploading manual or electronic bank statement
FEBA / FEBA_BANK_STATEMENT is used for furthe rprocessing.
GO THROUGH SAP NOTE 48854
Please go through SAP Note. 48854. You will get an idea regarding the functionality of the algorithms.
Though this note is in relevant to GB specific, you will find this very useful.
description follows below regarding the normal procedure for maintaining table T028G. Due to the different bank codes and posting rules, pre-Customizing is not possible at this point.
The following processing types are available - unless stated otherwise, you should use the interpretation algorithm: '000 - No interpretation' in each case.
1. '00': There is no processing. The entry line is ignored.
2. '01': A validation is made whether an entry exists for the transferred check number in the check table (PAYR). The check number and payment document number are transferred for further processing. Interpretation algorithm: outgoing check processing '011'-'013'; the update in the check file is via the interpretation algorithm.
3. '02': Transfer of the ending balance to the electronic bank statement
4. '03': Transfer of the opening balance to the electronic bank statement
5. '04': Clearing via the allocation number which is delivered with the bank statement. No interpretation algorithm.
6. '05': Clearing of BACS payments or BACS bank collection. The reference text field is first read to ascertain whether it involves payments initiated by users or bank collection via BACS. Providing it does involve a cash transaction initiated by the user, the payment document numbers concerned are determined via the reference number and transferred as a reference to further processing. Interpretation algorithm: '000 - No interpretation' or '019 - Reference number DME'.
Note
To differentiate between the two procedures in table T028G, you have to maintain two separate entries.
Example: the bank uses bank code '62' for cash receipts and for BACS bank collection.
Ext. Transaction +/- sign Posting rule Int. Algorithm Processing type 62 + GB62 001 5
62 SAPBACS + GB63 000 5
7. '06': Bank costs or interest revenues
Recommended interpretation algorithm: '000 - No interpretation'
8. '07': Total amount of cash disbursements
9. '08': Total amount of cash receipts
10. '09': Items not paid
Recommended interpretation algorithm: '000 - No interpretation'
Regards,
Ravi -
hi experts
Table name for Open Items data.
Thanks
Keshavp.
Search SDNHi,
All the Customer Open items are stored in BSID table.
When those open items gets cleared then they are moved to BSAD table. Also corresponeding entries goes to table BKPF & BSEG with all the accounting document details.
Also for GL & Vendor Open items are in BSIS & BSIK respectively and GL & Vendor Cleared items are in BSAS & BSAK respectively. -
Clear_document FM not working to clear customer open item.
Hi Experts,
1) I need to develop a report to clear the customer open items, the report has to display whether the Customer open items cleared or not?
As we do f-30 transaction to clear documents.
I have developed the report in this ways but its not clearing.
a) First I have posted the document through 'BAPI_ACC_DOCUMENT_POST
I have filled the document in the below way. The Bapi returning OBJ_KEY value also.
LOOP AT it_data INTO wa_data.
****Fill DOCUMENTHEADER
wa_docmentheader-doc_type = 'DA'. "doc type
wa_docmentheader-doc_date = wa_data-bldat. "doc. date
wa_docmentheader-pstng_date = wa_data-budat. "posting date
wa_docmentheader-comp_code = wa_data-bukrs. "company code
wa_docmentheader-ref_doc_no = wa_data-belnr. "Reference
wa_docmentheader-header_txt = wa_data-bktxt . "Header Text
wa_docmentheader-username = sy-uname. "user name
****Fill ACCOUNTGL Table
wa_gl-itemno_acc = l_no.
wa_gl-gl_account = 2909509----" which i marked in the screen second red color(ACCount).
wa_gl-alloc_nmbr = wa_data-xref2.
APPEND wa_gl TO it_gl.
CLEAR wa_gl.
****Fill ACCOUNTRECEIVABLE
wa_receivable-itemno_acc = l_no + 1.
wa_receivable-customer = wa_data-kunnr.
wa_receivable-gl_account = wa_data-saknr.
wa_receivable-alloc_nmbr = wa_data-xref2.
APPEND wa_receivable TO it_receivable.
CLEAR wa_receivable.
****Fill CURRENCYAMOUNT
wa_currencyamount-itemno_acc = l_no.
wa_currencyamount-currency = wa_data-waers.
wa_currencyamount-amt_doccur = wa_data-dmbtr.
APPEND wa_currencyamount TO it_currencyamount.
CLEAR wa_currencyamount.
wa_currencyamount-itemno_acc = l_no + 1.
wa_currencyamount-currency = wa_data-waers.
wa_currencyamount-amt_doccur = wa_data-dmbtr.
wa_currencyamount-amt_doccur = wa_currencyamount-amt_doccur * -1.
APPEND wa_currencyamount TO it_currencyamount.
CLEAR wa_currencyamount.
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader
= wa_docmentheader
IMPORTING
OBJ_TYPE
=
obj_key
= lv_obj_key
OBJ_SYS
=
TABLES
accountgl
= it_gl
accountreceivable = it_receivable
ACCOUNTPAYABLE
=
ACCOUNTTAX
=
currencyamount
= it_currencyamount
return
= it_return.
EXTENSION2
=
endloop.
2) After posting the document am using Clear_document to clear the document
am filling the Clear_Document in the below way.
1. a)get belnr, bukrs, gjahr & buzei from bsid table for invoice and append to T_AUSZ1
b)T_AUSZ1-BUKRS, 'A', OBJ_KEY+0(10)(which you get from BAPI_ACC_DOCUMENT_POST bapi), posting date, posting date year pass it to T_AUSZ2-BUKRS, T_AUSZ2-AKTIO, T_AUSZ2-AUGBL, T_AUSZ2-AUGDT & T_AUSZ2-AUGGJ and append it.
2. a)get BELNR, BUKRS, GJAHR, BLART & BUDAT from bkpf where awkey = OBJ_KEY(which you get from BAPI_ACC_DOCUMENT_POST bapi)
b) get belnr, bukrs, gjahr & buzei from bsid table where BELNR EQ bkpf-BELNR AND
ZUONR EQbkpf-BELNR AND
BLART EQ bkpf-BLART AND
GJAHR EQ bkpf-GJAHR AND
BUDAT EQ bkpf-BUDAT
and append to T_AUSZ1
c) T_AUSZ1-BUKRS, 'A', OBJ_KEY+0(10)(which you get from BAPI_ACC_DOCUMENT_POST bapi), posting date, posting date year pass it to T_AUSZ2-BUKRS, T_AUSZ2-AKTIO, T_AUSZ2-AUGBL, T_AUSZ2-AUGDT & T_AUSZ2-AUGGJ and append it.
delete duplicates from T_AUSZ2.
3) but am not able to clear the document using Clear_document Function Module
4)I am able to post the document through BAPI_ACC_DCUMENT_POST
5)Please tell me how to clear the document.Hi Sunny,
Please see the following :
1. Down Payment Received (2500 INR.) F-29
2. Customer Invoice Posted (2500 INR.) FB70
3. Clear Down Payment (2500 INR) F-39
4. Now Run Automatic Clearing (F.13)
And then check the Customer line item report in FBL5N. It will clear both line items.
Hope this helps.
Kind Regards,
Prakash Kumar
Maybe you are looking for
-
Hi all Scenario: when i make a sales order of a particular item, and PGi it, it should hit a particular G/L account and when i take the same material in return, it should hit the other G/L account. i know it has to be configured in VKOA but i need a
-
Sync iPhone 4S - Moving from XP to Windows 7 or 8
I'm currently running iTunes on an old and decrepit tower desktop running Windows XP, syncing both my iPod (80gb Gen 5 Classic I think) and iPhone on it. I also have a newer laptop running Windows 7 Home Premium, with iTunes installed and kept up to
-
TOC links fail when using book function for interactive pdf output
I have a large print publication consisting of multiple files using the Indesign book function. I have created a Table of Contents in the first document (there are multiple files in this book), but when I save to interactive pdf to create a digital
-
5.5 not publishing to MP4
Captivate 5.5 not publishing well to MP4. Works fine in SWF. When we pulish to MP4 the first frame text animations seem to freeze, second frame through the end works fine.
-
Can't see reply button my youtube
hello for some reason i cannot see the submit button when trying to reply to a comment on youtube. i've disabled adblock and reset the zoom however it does not seem to work. here is a screenshot: http://i55.tinypic.com/noilgx.png