AP aging?
I have been asked to try and create a AP aging report. I have an AR Aging one complete. I did also try and change the tables around to get nothing but AP, but AR keeps coming into it.. Do any of you experts have a general starting query that I can use or knowledge on this to guide me to the right area? I am kinda of lost on how to retrieve some of the information from SAP that will fill in the blanks that the report needs. Here is what they are asking for:
Vendor
Project
Open AP not due
Open AP Due
Down payments Done
Still to be paid
Then aged by month (Jan,Feb,March,etc...)
Please, any help on this would be greatly appreciated.
Thanks
THANK YOU Gordon for replying......
Here is what I am using for my AR that I changed to try and get AP from:
SELECT
OCRD.CardCode AS 'Customer Code', OCRD.CardName AS 'Customer Name',
OCRD.DebPayAcct AS 'Customer Control #',
CASE l.transtype WHEN '13' THEN 'AR Invoice' WHEN '14' THEN 'AR Credit Memo' WHEN '15' THEN 'Delivery Note' WHEN '18' THEN 'AP Invoice' WHEN
'19' THEN 'AP Credit Memo' WHEN '20' THEN 'Goods Reciept PO' WHEN '202' THEN 'Production Order' WHEN '24' THEN 'Incoming Payment' WHEN '25'
THEN 'Deposit' WHEN '30' THEN 'Journal Entry' WHEN '46' THEN 'Outgoing Payments' WHEN '58' THEN 'Stock Taking' WHEN '-3' THEN 'Profilt / Loss'
WHEN '60' THEN 'Issue for Production' WHEN '69' THEN 'Landed Costs' ELSE 'Other' END AS 'Doc Type', j.BaseRef AS 'Doc #',
CASE OPCH.DocStatus WHEN 'C' THEN 'CLOSED' WHEN 'O' THEN 'OPEN' ELSE CASE ORPC.DocStatus WHEN 'C' THEN 'CLOSED' WHEN 'O' THEN 'OPEN'
ELSE ' ' END END AS [Doc Status], l.TransId AS [Jrnl Entry #], CONVERT(VARCHAR(10), l.TaxDate, 101) AS 'Doc Date', CONVERT(VARCHAR(10),
l.DueDate, 101) AS 'Due Date', OPCH.NumAtCard AS 'BPs Ref. No.', CASE WHEN (OPCH.DocStatus = 'O') THEN (OPCH.DocTotal - OPCH.PaidToDate)
ELSE CASE WHEN (ORPC.DocStatus = 'O') THEN (ORPC.DocTotal - ORPC.PaidToDate) * - 1 ELSE CASE WHEN (l.Transtype = '24')
THEN (ORCT.NoDocSum * - 1) ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit) ELSE '0' END END END END AS 'Open Balance Due',
DATEDIFF(dd, l.DueDate, CURRENT_TIMESTAMP) AS 'Days Due', CASE WHEN (DATEDIFF(dd, l.DueDate, CURRENT_TIMESTAMP))
<= 0 THEN CASE WHEN (l.TransType = '14') THEN (ORPC.DocTotal - ORPC.PaidToDate) * - 1 ELSE CASE WHEN (l.TransType = '24')
THEN (ORCT.NoDocSum * - 1) ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit) ELSE CASE WHEN (OPCH.DocStatus = 'O')
THEN OPCH.DocTotal - OPCH.PaidToDate ELSE '0' END END END END END AS [Current], CASE WHEN ((datediff(dd, l.DueDate, CURRENT_TIMESTAMP))
>= 1 AND (datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) < 31) THEN CASE WHEN (l.TransType = '14') THEN (ORPC.DocTotal - ORPC.PaidToDate)
* - 1 ELSE CASE WHEN (l.TransType = '24') THEN (ORCT.NoDocSum * - 1) ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit)
ELSE CASE WHEN (OPCH.DocStatus = 'O') THEN (OPCH.DocTotal - OPCH.PaidToDate) ELSE '0' END END END END END AS [1 to 30 days],
CASE WHEN ((datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) > 30 AND (datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) < 61)
THEN CASE WHEN (l.TransType = '14') THEN (ORPC.DocTotal - ORPC.PaidToDate) * - 1 ELSE CASE WHEN (l.TransType = '24')
THEN (ORCT.NoDocSum * - 1) ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit) ELSE CASE WHEN (OPCH.DocStatus = 'O')
THEN (OPCH.DocTotal - OPCH.PaidToDate) ELSE '0' END END END END END AS [31 to 60 days], CASE WHEN ((datediff(dd, l.DueDate,
CURRENT_TIMESTAMP)) > 60 AND (datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) < 91) THEN CASE WHEN (l.TransType = '14')
THEN (ORPC.DocTotal - ORPC.PaidToDate) * - 1 ELSE CASE WHEN (l.TransType = '24') THEN (ORCT.NoDocSum * - 1)
ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit) ELSE CASE WHEN (OPCH.DocStatus = 'O') THEN (OPCH.DocTotal - OPCH.PaidToDate)
ELSE '0' END END END END END AS [61 to 90 days], CASE WHEN ((datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) > 90 AND (datediff(dd, l.DueDate,
CURRENT_TIMESTAMP)) < 121) THEN CASE WHEN (l.TransType = '14') THEN (ORPC.DocTotal - ORPC.PaidToDate)
* - 1 ELSE CASE WHEN (l.TransType = '24') THEN (ORCT.NoDocSum * - 1) ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit)
ELSE CASE WHEN (OPCH.DocStatus = 'O') THEN (OPCH.DocTotal - OPCH.PaidToDate) ELSE '0' END END END END END AS [91 to 120 days],
CASE WHEN ((datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) > 120 AND (datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) < 181)
THEN CASE WHEN (l.TransType = '14') THEN (ORPC.DocTotal - ORPC.PaidToDate) * - 1 ELSE CASE WHEN (l.TransType = '24')
THEN (ORCT.NoDocSum * - 1) ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit) ELSE CASE WHEN (OPCH.DocStatus = 'O')
THEN (OPCH.DocTotal - OPCH.PaidToDate) ELSE '0' END END END END END AS [121 to 180 days], CASE WHEN ((datediff(dd, l.DueDate,
CURRENT_TIMESTAMP)) > 180 AND (datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) < 366) THEN CASE WHEN (l.TransType = '14')
THEN (ORPC.DocTotal - ORPC.PaidToDate) * - 1 ELSE CASE WHEN (l.TransType = '24') THEN (ORCT.NoDocSum * - 1)
ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit) ELSE CASE WHEN (OPCH.DocStatus = 'O') THEN (OPCH.DocTotal - OPCH.PaidToDate)
ELSE '0' END END END END END AS [181 to 1 Year], CASE WHEN ((datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) > 365 AND (datediff(dd, l.DueDate,
CURRENT_TIMESTAMP)) < 545) THEN CASE WHEN (l.TransType = '14') THEN (ORPC.DocTotal - ORPC.PaidToDate)
* - 1 ELSE CASE WHEN (l.TransType = '24') THEN (ORCT.NoDocSum * - 1) ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit)
ELSE CASE WHEN (OPCH.DocStatus = 'O') THEN (OPCH.DocTotal - OPCH.PaidToDate) ELSE '0' END END END END END AS [1 Year to 1.5 Years],
CASE WHEN ((datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) > 544 AND (datediff(dd, l.DueDate, CURRENT_TIMESTAMP)) < 731)
THEN CASE WHEN (l.TransType = '14') THEN (ORPC.DocTotal - ORPC.PaidToDate) * - 1 ELSE CASE WHEN (l.TransType = '24')
THEN (ORCT.NoDocSum * - 1) ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit) ELSE CASE WHEN (OPCH.DocStatus = 'O')
THEN (OPCH.DocTotal - OPCH.PaidToDate) ELSE '0' END END END END END AS [1.5 Years to 2 Years], CASE WHEN (DATEDIFF(dd, l.DueDate,
CURRENT_TIMESTAMP)) > 730 THEN CASE WHEN (l.TransType = '14') THEN (ORPC.DocTotal - ORPC.PaidToDate)
* - 1 ELSE CASE WHEN (l.TransType = '24') THEN (ORCT.NoDocSum * - 1) ELSE CASE WHEN (l.Transtype = '30') THEN (l.Debit - l.Credit)
ELSE CASE WHEN (OPCH.DocStatus = 'O') THEN (OPCH.DocTotal - OPCH.PaidToDate) ELSE '0' END END END END END AS [2 Years and Greater],
CASE l.transtype WHEN '13' THEN
(SELECT Comments
FROM OPCH
WHERE OPCH.Transid = j.Transid) ELSE '-' END AS [Invoice Remarks]
FROM JDT1 AS l INNER JOIN
OJDT AS j ON j.TransId = l.TransId INNER JOIN
OCRD ON l.ShortName = OCRD.CardCode LEFT OUTER JOIN
ORCT ON l.TransId = ORCT.TransId LEFT OUTER JOIN
ORPC ON l.TransId = ORPC.TransId LEFT OUTER JOIN
OPCH ON l.TransId = OPCH.TransId
WHERE (OCRD.CardType = 'c') AND (l.BalScDeb <> l.BalScCred) AND (OCRD.Balance <> 0)
ORDER BY l.TaxDate
Similar Messages
-
Need a report on open order aging. The open order means not delivered or partially delivered. Further with days range since its open or not fully delievered i.e. > 15 days or 15-30 days and so on.
The standard transactions Va05 and VL10c can provide the list but dont provide any aging info.
Kindly help in this.
thanks
anuDear Anu
1. First in VA05 you can use Variants and get the report as desired by you,create one variant and use Filter along with greater then, less then (all are in selection option icon)
This way you can create three variants.
But limitation is dates has to be manually changed in variants each time.
2. Try this Tcodes
S_ALR_87014387 Display Document Flow
S_ALR_87014392 Display Document Flow
This reports will give you document flow run report with ticking checkbox for sales order,delivery and goods isse then after getting the list expand all (Shift+F12)
you will get the quantities for sales order, and what is delivered and what is issued.
3. As such if you want exactly the report you can take help of ABAP to create the ALV
4. Report or create Queries in SQVI , or else create MCSI report
Regards
Jitesh -
Hi All
i am trying to get a legitimate vendor Aging report from within SAP
The 2 reports that I am currently looking at are:
S_ALR_87012085 - Vendor Payment History with OI Sorted List
S_ALR_87012084 - Open Items - Vendor Due Date Forecast
But both these do not bring out the output the way i want it - and i tried changing the output control and it still doesnt bring out the report as i want it - I want a report like the S_ALR_87012178 for customers, with output control 1, 6 and a 0 - which gives me a logical list of the aged customers.
Is there one like this for vendors too? Any suggestions?
Thank you
RukshanaHi Ruksaana,
You can customize the vendor report to show the items overdue per vendor by using the following steps
1. Create a form using T Code - FKI4
In this form ( two-axis structure) provide the details for each column as per your Client requirement - Due from 0 - 30 days
etc. You can create a column (using formula method) at the end by adding the previous columns, this will give you total
amount of overdue items for each vendor
2. Create a report using T Code - FKI1
Based on the Form created in the above step. Make additional selections based on client requirements like document type,
company code, account type, currency etc. Execute the report.
The following link will give provides detail steps for the creation of the aforementioned form and report.
Re: AR aging report (summary by customer)
Hope this helps.
- Sadha. -
Vendor ageing report(urgent)
in vendor ageing report i am getting the data for the vendors with open item only means those vendors who have to pay depending on the parameter date which we r passing
in selection screen.
but i want all those records with cleared item also depending on that date.
means suppose there r 2 vendors
1.sanjeev-he has to pay 1000 but he has paid 500 and left
with 500 due.
2. amit -he has to pay 1000 and he had not paid anything till now.
so when i am executing my report it is showing only
sanjeev 500
amit 1000
but i need
sanjeev 1000
amit 1000
to be displayed but as sanjeev has already paid 500
so it is not showing the output as above.
so how it could be achievedhi sanjeev,
anver here.
do like this.
if has_paid < has_to_pay.
write has_to_pay.
endif.
rgds
anver -
Hi All,
I need to develop an Aging report for open invoice, there is no indication for open invoice or close invoice since we are using customise DS and DS from third party system. only one key flag we have is clearing date. so kindly let me know how to write the logic for this requirement.. can I use Customer exit for this? I have an Idea to do like
first logic is
*If Clearing date = blank than invoice is = open (by using of this logic we can get all open invoice).
second logic
total number of invoice = current date - document date.
but I do not know how to implement this logic in BEx hnece kinnly advice me whether this logic can be work or suggest with different solution ples..
Regards,hi,
You can check few default PO reports wid proper paramater in it
or
Can check table EKBE
or
Check PO history in the PO doc
Or
Check the ME80FN
Regards
Priyanka.P -
Hi,
I am running aging T-code S_ALR_87012178 as on 10/31/2007 for a Recon Account and getting balance of 100000.
Now how should I tally that this balance is correct. If I run FBL3N and FS10N I get balance of 125000. So I cannot tally because the aging balance has only open items whereelse other two has open and cleared items
Is there any way to tally aging report with FBL3N or FS10N. I am running recon account as on 10/31/2007.
Thanks,
JRHi JR,
Both the report and the FBL3N can be run as at a particular date. If you are executing S_ALR_87012178 with "Open items at key date" as 31.10.07, execute FBL3n also with "Open item" date as 31.10.07.
Rgds
Nadini -
Currency Translation on Key Date for AR Aging
Need your valuable advice!
I have created an AR Aging query including both Open and Cleared Items based on 0FIAR_C03_Q0005 standard query. However the requirement is to do currency translation to Group Currency (USD) on Key Date. This Key date is defaulted to today but the user can change this to go back in time and pull all the ARs as of that back dated key date.
I was planning to create a currency translation type on M rate based on the Key Date Variable in RSCUR. However I am confused on which variable to base this currency translation. I have several key date variables in my query such as 0P_KEYD2 (based on Posting Date), 0P_KEYDT (based on Net Due Date) and 0P_KEYD3 (based on Clearing Date).
Which Key Date Variable should I use in 'Time Reference from Variable' field in RSCUR? Would it be one of the 3 mentioned above or something else and why?
Appreciate your valuable advice.
Thanks,
AlHi,
Yes I do want to use the Key date from the variable screen and I am using the standard 0FIAR_C03_Q005 with slight modification including currency translation.
As I mentioned in my original post I have several key date variables in this query such as 0P_KEYD2 (based on Posting Date), 0P_KEYDT (based on Net Due Date) and 0P_KEYD3 (based on Clearing Date). My question is which one should I use if I want to base it on the specific key date variable from the variable screen? I need the specific Key Date variable technical name.
Thanks,
Al -
WIP : Work Order Aging report
Hello,
Is there any standard program given by Oracle on WIP as 'Work Order Aging report' ?
I guess not.
If its not, then is there any other program related to WIP Aging exists in Oracle?
Thanks in advance.Hi,
Can you please make Ship To also as Primary Business Purpose?
Regards
Raghavender K -
hi I am developing a aging report for which I am getting fields from the tables EKPO and EKKO based on
s_gjahr FOR bsid-gjahr OBLIGATORY. "Document Fiscal year
p_date TYPE vbak-aedat OBLIGATORY, "A/P Open items
p_bukrs TYPE t001-bukrs OBLIGATORY. "Company
s_ekorg FOR mepo1222-ekorg OBLIGATORY, "Purchasing Organization
s_ekgrp FOR mepo1222-ekgrp, "Purchasing group
s_zterm FOR bseg-zterm, "Terms
s_ebeln FOR bseg-ebeln, "Purchase order
s_hkont FOR bseg-hkont, "Reconciliation Account.
s_blart FOR invfo-blart OBLIGATORY, "Document type
s_date FOR bseg-zfbdt NO-DISPLAY.
SELECT * FROM ekko INTO TABLE tbl_ekko WHERE bukrs = p_bukrs
AND zterm IN s_zterm
AND ekorg IN s_ekorg
AND ekgrp IN s_ekgrp.
IF tbl_ekko[] IS NOT INITIAL.
SELECT * FROM ekpo INTO TABLE tbl_ekpo FOR ALL ENTRIES IN tbl_ekko
WHERE ebeln = tbl_ekko-ebeln
AND bukrs = p_bukrs
AND repos = 'X'
AND werks IN s_werks. "additonal.
ENDIF.
Now my problem is I need to combine the data I have selected from EKKO with a table which has EBELN, I found BSIK but that doesnt have the EBELN field filled.
Can you tell me some table other than BSEG ( performace issue ) which I can use to select my entries with Inner join... only BSIK has BLART not BSEG..
I will definitely award points for all the helpful answersHi
U need to read the EKBE table here you should fine the FI invoices linked to PO
Max -
This report has been extended from an existing query that has been posted on this forum.
This report is an aging report for ALL trasnactions, both open and closed.
Is it possible to modify this query to report on OPEN / unreconciled trasnactions only?
select T0.shortname,T2.cardcode 'Customer Code',T2.cardname 'Name',T2.U_BU, T2.U_DEPT, sysdeb 'Debit Amount',syscred 'Credit Amount',
case T0.transtype
when '13' then 'INV'
when '14' then 'AR CN'
when '24' then 'INCOMING'
else 'Other'
end 'Type',
T1.BaseRef'Trans #',
case T0.transtype
when '13' then
(Select Comments from OINV where OINV.Transid=T1.Transid)
else '-'
end 'Inv.Rem.',
(Select SeriesName From NNM1 Where Series=T1.DocSeries and ObjectCode=T0.TransType)'Series',
T0.Ref1,
fccurrency 'BP Currency',
CONVERT(VARCHAR(10), T0.refdate, 103)'Posting Date' ,
CONVERT(VARCHAR(10), T0.duedate, 103) 'Due Date',
CONVERT(VARCHAR(10), T0.taxdate, 103) 'Doc Date' ,
CASE
when (DATEDIFF(dd,T0.refdate,current_timestamp))+1 < 31
then
case
when syscred <> 0 then syscred * - 1
else sysdeb
end
end "0-30 days",
case when ((datediff(dd,T0.refdate,current_timestamp))+1 > 30
and (datediff(dd,T0.refdate,current_timestamp))+1< 61)
then
case
when syscred <> 0 then syscred * - 1
else sysdeb
end
end "31 to 60 days",
case when ((datediff(dd,T0.refdate,current_timestamp))+1 > 60
and (datediff(dd,T0.refdate,current_timestamp))+1< 91)
then
case
when syscred <> 0 then syscred * - 1
else sysdeb
end
end "61 to 90 days",
CASE
when (DATEDIFF(dd,T0.refdate,current_timestamp))+1 > 90
then
case
when syscred= 0 then sysdeb
when sysdeb= 0 then syscred * - 1
end
end "90 + days"
from JDT1 T0
Inner Join OJDT T1 On T1.TransId=T0.TransId
left outer join
OCRD T2 ON T2.cardcode =T0.shortname where
T2.cardtype = 'c' and T0.intrnmatch = '0' and
T2.U_Bu = %0and T2.U_Dept = %1
ORDER BY T2.CARDCODE, T0.taxdate
Thanks in advanced LisaThanks for the feedback Jule - I have changed the query as is as below
Unfortunately, the query is still reporting ALL transactions not just unreconciled transations.
Would be grateful for any assistance.
Cheers Lisa
select T0.shortname,T2.cardcode 'Customer Code',T2.cardname 'Name',T2.U_BU, T2.U_DEPT, balscdeb 'Debit Amount',balsccred 'Credit Amount',
case T0.transtype
when '13' then 'INV'
when '14' then 'AR CN'
when '24' then 'INCOMING'
else 'Other'
end 'Type',
T1.BaseRef'Trans #',
case T0.transtype
when '13' then
(Select Comments from OINV where OINV.Transid=T1.Transid)
else '-'
end 'Inv.Rem.',
(Select SeriesName From NNM1 Where Series=T1.DocSeries and ObjectCode=T0.TransType)'Series',
T0.Ref1,
fccurrency 'BP Currency',
CONVERT(VARCHAR(10), T0.refdate, 103)'Posting Date' ,
CONVERT(VARCHAR(10), T0.duedate, 103) 'Due Date',
CONVERT(VARCHAR(10), T0.taxdate, 103) 'Doc Date' ,
CASE
when (DATEDIFF(dd,T0.refdate,current_timestamp))+1 < 31
then
case
when balsccred <> 0 then balsccred * - 1
else balscdeb
end
end "0-30 days",
case when ((datediff(dd,T0.refdate,current_timestamp))+1 > 30
and (datediff(dd,T0.refdate,current_timestamp))+1< 61)
then
case
when balsccred <> 0 then balsccred * - 1
else balscdeb
end
end "31 to 60 days",
case when ((datediff(dd,T0.refdate,current_timestamp))+1 > 60
and (datediff(dd,T0.refdate,current_timestamp))+1< 91)
then
case
when balsccred <> 0 then balsccred * - 1
else balscdeb
end
end "61 to 90 days",
CASE
when (DATEDIFF(dd,T0.refdate,current_timestamp))+1 > 90
then
case
when balsccred= 0 then balscdeb
when balscdeb= 0 then balsccred * - 1
end
end "90 + days"
from JDT1 T0
Inner Join OJDT T1 On T1.TransId=T0.TransId
left outer join
OCRD T2 ON T2.cardcode =T0.shortname where
T2.cardtype = 'c' and
T2.U_Bu = [%0]and T2.U_Dept = [%1]
ORDER BY T2.CARDCODE, T0.taxdate -
Dear All,
Is there any report avl which gives PO aging means that the PO has been completed within these days in which GR and IR completed or not.
RegardsHi,
Hope Purchasing documents by material report with transaction code ME2M and Mandatory input of value "EINT" in the scope of list feild and Input of value "WE107" in selection parameters feild apart from your other inputs should solve the issue.
or
Use ME80Fn..general Purchasing Analysis
Thanks
Prashanth -
Hi,
I'm new member of this forum. I have a questions.
I want to create a report that utilizes the functionality of GR/IR aging. I want to ask you, for those who ever build GR/IR aging report, what kind of field I can use to trigger the starting counter of GR/IR aging? like GR date maybe, and what kind of indicator I can use to stop the calculation of GR/IR aging, such as date of posting on BSEG may be (it just my opinion)...
Thank you.
Regards,
ArifHi,
I don't think it can be acheieved in std report, better use below tables as epr your logic to develop a Zreport.
EKKO
EKPO
EKBE
MSEG
MKPF
BSEG
BKPF
And also check the Logic of std reports MC50 , MC46 and MB5B -
Zreport on ageing & GR/IR report
I have 1 zreport called ZAGEING.
user have following query on this
"Attached for reference is the GR/IR Report that I need help with.
For example GR 5000021442 on PO 4502027464 has had a 102 movement which should reverse this GR therefore shouldn'd show on report.
This seems to have happened through out this report that GR and IR have not cleared.
Also is there anyway that I can run this report showing the GR that we see when viewing PO with transaction ME23N."Reports have column as
Company Code / Business Area/ Vendor / PO No. / PO Item / GR/IR Document / Item / year / ageing >60/ageing >90 / ageing >120 / Total Value
GR 5000021442 is under column GR/IR Document .
I am not getting clients requirement.
Where I can see GR/IR Document . I am not able to see it in tcode MR11SHOW.
Can we we gr ir document in Purchase order history of purchase order.
Edited by: KiranCG on Jan 3, 2012 10:37 AMHi,
The user requirement is simple in this report.
Normally a PO will have toget posted with a GR and a IR document whih is called as invoie report.At the same time , a PO will have a delivery date upon which the goods need tobe delivered tothe PO plant and once the goods are deliveered an invoice will be sent for IR.Also PO will have a PO creation date.
Here what you need to ask the user is about the ageing .Like the age should be based upon the Delivery date of the PO or the PO creation date. Bases upon this date you cancalulate the GR document aging or IR document aging.
In eah PO there will be a tab called POhistory ,where inyou can see the GR and IR doument and if any GR/IR clearing is done , the learing doument too. The related table is EKBE where in you canview all the transactions happened for the PO.
MSEG, rbkp , bseg ETC tables are useful in idenntifying the fields. you can write the logic for aging,This is a simple report straight you can ask to code.
Please comeup back with your requiremjent fully so that correct guidance will be given.
Regards, -
Dunning Letter Design & Aging report
Hello Experts,
I have a few doubts in B1 Sales AR -> Dunning and Aging Reports.
1. How do we incorporate our own letter format for dunning letters? I looked for PLD's, but nothing was available in the print preview screen.
2. When we execute Customer Receivables Aging report, what is the significance of the column "Future Remit"? In our B1 instance, the receivables that are due 60 or 90 days from current date are not appearing in their respective columns.
Please advise on how to proceed
With Regards,
PS: We are running B1 2005-B / MS-SQL 2005Hi Kaatss,
You should be able to find the Dunning letter formats by clicking on the layout designer button and then from the windows selecting the dunning letter formats from the 'Choose Document Type'. They go by the ID of DUN0... DUN09.
As for the columns the 60 and 90 columns show the invoices (values) that are overdue by 60 and 90 days respectively.
The Future Remit column shows invoices that are still within the due date. So if you raise two invoice with 60 and 90 day payment terms, but they are still within their due date, their values will appear in the future remit column.
I hope this helps. I use 2005A so I hope there are no differences.
Damian -
Dunning Letter on Receivables Aging SAP B1 2007
You run the customer receivables aging report and double click a row on receivables aging report window. You highlight one row, there is no letter checkbox compare to SAP 2005 A. There is no Dunning Letter PLD as well. Therefore dunning letter report cannot be previewed.
Does this letter checkbox and dunning letter PLD is not available in SAP 2007 A?
Thanks,
Kay ChongHi,
the document [Changed Features as of Release 2007 |https://websmp101.sap-ag.de/~sapidb/011000358700000281062007E.pdf]says the following:
Dunning in Aging Report
Application Path: Financials u2192 Financial Reports u2192 Accounting u2192 Aging u2192 Customer Receivables Aging u2192 Customer Receivables Aging u2013 Details window
Availability: All countries
Used for: indicating the dunning level linked to the document/transaction and creating a dunning letter if required.
Availability in
SAP B1 2007 A or B Functionality changed?
New installations N/A No
Upgrading customers All countries No
So this functionality is only available for databases upgraded from an older release.
Regards,
Marcus -
FAST enabled MView takes ages to refresh
Hi All,
I have a materlialized view which is based on a single fact table ( OAS_BALANCE_UNIONED 11,445,156 rows) and a bunch of dimension tables each containing limited number of rows (a typical start schema).
The conditioins to make the mview fast refreshable have been met so the mview created successfully with the FAST option.
The mview then worked just fine after than and had been refreshing FAST (6 minutes) for the whole day till other mviews started to refresh in the same time. Some of those mviews read from some of the base tables of the mview in question. Since then, the mivew has started to take ages (3 hours) to refresh. There is surely something wrong because the COMPLETE refresh was faster than that.
Later, I stopped all the refresh jobs of the other mviews. Yet, the FAST mview still has the same problem of taking ages to refresh.
When I monitored the session that refreshes the mview, I noticed in the "Long Ops" that
most of the time is spent on a step named as "Hash Join" (it appears in the Message column). Hash join occurrs because of the outer join.
Why my FAST mview suddenly started to take so long time to refresh?
How can I make my FAST mivew really refresh fast?
Technical Details are below:
OS: Windows 2003 32-bit
DB version: Oracle 10g R1 ( 10.1.0.2.0 )
CREATE MATERIALIZED VIEW FACT_BAL_MV
BUILD DEFERRED
REFRESH FAST ON DEMAND
WITH PRIMARY KEY
AS
SELECT B.cmpcode BAL_KEY,
B.CMPCODE,
B.YR,
B.PERIOD,
B.BALCODE,
B.CURCODE,
B.REPBASIS,
TO_NUMBER (B.YR || LPAD (B.PERIOD, 2, 0)) DIM_PERIOD_MV,
D_CMP.DIM_KEY DIM_COMPANY,
D_CUR.DIM_KEY DIM_CURRENCY,
D_EL_1.DIM_KEY DIM_EL_1,
D_EL_2.DIM_KEY DIM_EL_2,
D_EL_3.DIM_KEY DIM_EL_3,
D_EL_4.DIM_KEY DIM_EL_4,
GRP_1_P_EL.DIM_KEY DIM_GRP_1_P_EL,
D_GRP_1_B_EL.DIM_KEY DIM_GRP_1_B_EL,
D_GRP_1_K_EL.DIM_KEY DIM_GRP_1_K_EL,
D_GRP_2_D_EL.DIM_KEY DIM_GRP_2_D_EL,
D_GRP_3_E_EL.DIM_KEY D_GRP_3_E_EL,
B.ROWID X_OB_ROWID,
D_CMP.ROWID X_CMP_ROWID,
D_CUR.ROWID X_CUR_ROWID,
D_EL_1.ROWID X_EL_1_ROWID,
D_EL_2.ROWID X_EL_2_ROWID,
D_EL_3.ROWID X_EL_3_ROWID,
D_EL_4.ROWID X_EL_4_ROWID,
GRP_1_P_EL.ROWID X_GRP_1_P_EL_ROWID,
GRP_1_P.ROWID X_GRP_1_P_ROWID,
D_GRP_1_B_EL.ROWID X_GRP_1_B_EL_ROWID,
D_GRP_1_B.ROWID X_GRP_1_B_ROWID,
D_GRP_1_K_EL.ROWID X_GRP_1_K_EL_ROWID,
D_GRP_1_K.ROWID X_GRP_1_K_ROWID,
D_GRP_2_D_EL.ROWID X_GRP_2_D_EL_ROWID,
D_GRP_2_D.ROWID X_GRP_2_D_ROWID,
D_GRP_3_E_EL.ROWID X_GRP_3_E_EL_ROWID,
D_GRP_3_E.ROWID X_GRP_3_E_ROWID
FROM CLVE_STAGING.OAS_BALANCE_UNIONED B,
FINANCE.DW_DIM_COMPANY D_CMP,
FINANCE.DW_DIM_CURRENCY D_CUR,
FINANCE.DW_DIM_EL_1 D_EL_1,
FINANCE.DW_DIM_EL_2 D_EL_2,
FINANCE.DW_DIM_EL_3 D_EL_3,
FINANCE.DW_DIM_EL_4 D_EL_4,
FINANCE.DW_DIM_GRP_1_P_EL GRP_1_P_EL,
FINANCE.DW_DIM_GRP_1_P GRP_1_P,
FINANCE.DW_DIM_GRP_1_B_EL D_GRP_1_B_EL,
FINANCE.DW_DIM_GRP_1_B D_GRP_1_B,
FINANCE.DW_DIM_GRP_1_K_EL D_GRP_1_K_EL,
FINANCE.DW_DIM_GRP_1_K D_GRP_1_K,
FINANCE.DW_DIM_GRP_2_D_EL D_GRP_2_D_EL,
FINANCE.DW_DIM_GRP_2_D D_GRP_2_D,
FINANCE.DW_DIM_GRP_3_E_EL D_GRP_3_E_EL,
FINANCE.DW_DIM_GRP_3_E D_GRP_3_E
WHERE B.CMPCODE = D_CMP.CODE
AND (B.CMPCODE = D_CUR.CMPCODE(+) AND B.CURCODE = D_CUR.CODE(+))
AND (B.CMPCODE = D_EL_1.CMPCODE(+) AND B.EL1 = D_EL_1.EL_CODE(+))
AND (B.CMPCODE = D_EL_2.CMPCODE(+) AND B.EL2 = D_EL_2.EL_CODE(+))
AND (B.CMPCODE = D_EL_3.CMPCODE(+) AND B.EL3 = D_EL_3.EL_CODE(+))
AND (B.CMPCODE = D_EL_4.CMPCODE(+) AND B.EL3 = D_EL_4.EL_CODE(+))
AND (GRP_1_P_EL.CMPCODE = GRP_1_P.CMPCODE(+)
AND GRP_1_P_EL.GRP_CODE = GRP_1_P.GRP_CODE(+))
AND (B.CMPCODE = GRP_1_P_EL.CMPCODE(+)
AND B.EL1 = GRP_1_P_EL.EL_CODE(+))
AND (D_GRP_1_B_EL.CMPCODE = D_GRP_1_B.CMPCODE(+)
AND D_GRP_1_B_EL.GRP_CODE = D_GRP_1_B.GRP_CODE(+))
AND (B.CMPCODE = D_GRP_1_B_EL.CMPCODE(+)
AND B.EL1 = D_GRP_1_B_EL.EL_CODE(+))
AND (D_GRP_1_K_EL.CMPCODE = D_GRP_1_K.CMPCODE(+)
AND D_GRP_1_K_EL.GRP_CODE = D_GRP_1_K.GRP_CODE(+))
AND (B.CMPCODE = D_GRP_1_K_EL.CMPCODE(+)
AND B.EL1 = D_GRP_1_K_EL.EL_CODE(+))
AND (D_GRP_2_D_EL.CMPCODE = D_GRP_2_D.CMPCODE(+)
AND D_GRP_2_D_EL.GRP_CODE = D_GRP_2_D.GRP_CODE(+))
AND (B.CMPCODE = D_GRP_2_D_EL.CMPCODE(+)
AND B.EL2 = D_GRP_2_D_EL.EL_CODE(+))
AND (D_GRP_3_E_EL.CMPCODE = D_GRP_3_E.CMPCODE(+)
AND D_GRP_3_E_EL.GRP_CODE = D_GRP_3_E.GRP_CODE(+))
AND (B.CMPCODE = D_GRP_3_E_EL.CMPCODE(+)
AND B.EL3 = D_GRP_3_E_EL.EL_CODE(+));
CREATE INDEX FINANCE.DW_FACT_BAL_MV_INX
ON FACT_BAL_MV (X_OB_ROWID);
SQL> select count(X_OB_ROWID) from FACT_BAL_MV ;
COUNT(X_OB_ROWID)
11444816
Elapsed: 00:00:27.85
SQL> select bytes/1024/1024/1024 GB from
user_segments where segment_name='FACT_BAL_MV';
GB
4.4296875search id: redcorollaHard to say why the refresh is now slow. Possibilties include
* system resources implemented by the fast refresh
* something changed on the query making the background query run slowly
Look at the query first. 18 tables, with almost every join an outer join. Some of the tables appear more than once in the query.
Get an executioion plan to see how the query is being executed.
Maybe you are looking for
-
How to monitor load on my database server ?
Hi Experts, Could anybody please suggest me a way to monitor the load on my database server? What perfmon counters should I monitor on daily basis and confirm that load on the server is increasing day by day [or] by week by week [or] every month. Als
-
Delete Pic. in IPhoto - will they stay in my" I Disc"
Heard when you delete pics in I Photo 4, you will also delete them wherever they are on your computer. Is this true? What about my "I Disc" and Homepage? Any hints how to dust delete from Library only?
-
Changing default Java launch parameters
Hi, I experienced the "unsufficient memory" error several times and found the -X java launch parameters. The default settings are : -Xms 1048576 bytes -Xmx 67108864 bytes and the minimum size to launch java is 262144 bytes I tried to change these par
-
How can I reinstall 24.6 & keep Thunderbird from updating with 31
Thunderbird 31 screws up my e-mail addresses. The background in the header turns all blue & when I enter names, most appear in red ink. It does not call up the addresses from my address book using my abbreviated letters as 24.6 did & it substitutes n
-
Help! Need to recover lost hard drive data after creating a partition!
So, I'm the world's biggest idiot, and I was trying to reformat my hard drive so that I could bring the documents from my Mac to my PC. All of the docs were perfectly organized in folders and subfolders a long time ago, and once that had been done, I