Segment/ Business unit in the customer ageing
hi Friends,
Am using the cube 0FIAR_C03 for getting the customer ageing report, In this report customer is askinig for the Segment(BU), also to be added. But i dont find tat in the query. now wat is the possibilty for the same.
Thanks
Karthik
Customer Name
BU Name
Currency
0-30
31-60
91-180
181-360
> 360
total
ABC Inc
Payer
USD
$ 100.00
$ 100.00
$ 100.00
$ 100.00
$ 100.00
$ 500.00
KK Inc
Hospital
USD
$ 110.00
$ 110.00
$ 110.00
$ 110.00
$ 110.00
$ 550.00
DCG Ltd
Physician
INR
90.00
90.00
90.00
90.00
90.00
450.00
LLC
IT
INR
80.00
80.00
80.00
80.00
80.00
400.00
HHH Inc
SS
GBP
£ 75.00
£ 75.00
£ 75.00
£ 75.00
£ 75.00
£ 375.00
total
USD
$ 210.00
$ 210.00
$ 210.00
$ 210.00
$ 210.00
$ 1,050.00
INR
170.00
170.00
170.00
170.00
170.00
850.00
GBP
£ 75.00
£ 75.00
£ 75.00
£ 75.00
£ 75.00
£ 375.00
Karthikeyan,
I think Segment(BU) is a attribute of Customer. Make it Navigational and use.
Srini
Similar Messages
-
Customer Ageing analysis by segment
Hi,
The customer ageing report does not give an ageing by segment. Though the standard line item display of the Customer reconcilidation accounts in the NEW GL does contain the paramters for the ageing, unable to find or create a report using the Report Painter that has the Segment as a characteristic.
Can somebody help with this?
Thanks
John MampillyJust a quick pointer.... Try this: S_ALR_87012167
This is AR information system and has due date analyais by evaluation views. If you not using this report, you might need to generate the evaluation views first. If you get this message, No evaluations exist. See long text, click on long text and it gives the procedure to generate the evaluations.
We are using it in our company for different views - Due date analysis by different views, similarly DSO etc.
Hope it helps.
Thanks.
Rahul -
Page Composer EL to access the Business Unit
Hi,
Is it possible to access the Business Unit of the currently logged in user using Expression Language in the Page Composer? If yes, then what is the expression?
Thanks,
SujoyHi Sujoy
There is no universal way to access Business Unit for all pages. If it's shown on the page then you should be able to find its Value property in page composer. Also some
pages expose this via a backing bean attribute, again possibly used in a condition associated with a field on the page - something you'd have to go looking for in page composer.
I am trying to get new ER 20865654 processed with the request to show commonly useful data points to customization users. If you could kindly provide details on your customer use-case it would help promote this feature.
Kind regards
Richard
FA Developer Relations -
Error count based on business unit and Vehicle type
Hi,
i have a custom error idoc table which contains idoc no, business unit, vehicle type and error message.
Now here my requirement is to display the total count(Error count) of each message based on business unit and
Vehicle type and display it in the output list as shown below. what is the best way to achieve this as there will be number(atleast 6) of error messages available for a business unit based on vehicle type and there are around 15 business units overall for which i should display the error count.
buisness unit| Vehicle Type | Status | Error message | Error count
71320 WT10 51 Organizational channel missing 10
WT10 51 SMC Missing | 15
72000 WT20 51 Creation of vehicle not possible| 12
WT20 51 Status change not requested | 10
regards,
ManiHi,
Assign business unit level read access to your entity for which you have written the Report.
Assign the respective business unit to the user, in your case assign business unit Partner to user Partner
and business unit Manager to user Manager
Also use filtered view in your report if it is SSRS report.
Regards
Ayaz -
Derive business unit from billing doc
Hi all,
I am trying to derive the business unit (VBRK-BZIRK) from the billing document instead of the customer master data.
For that purpose, I added the charachteristic "billing document" (WWBD) and then I create a derivation rule of type 'table lookup' with the following parameters:
source:
VBRK VBELN Billing Document = CO-PA WWBD Billing Document
Assignment of table fields to target fields:
VBRK BZIRK Business Unit = CO-PA BZIRK Business Unit
on the condition tab I added the range of sales organizations for which this derivation needsto be active:
CO-PA VKORG Sales Organization >= 6000
CO-PA VKORG Sales Organization <= 8000
When I test it in KEDR by entering, customer, sales org, billing document, is is working OK, but when I do an actual by creating a billing document, the derivation is not working.
Does anyone know why this derivation is not working?
And also, is there a way to analyze the actual derivation (not the test run in KEDR)?
Thanks,
Yoel.Hi Ajay,
I finally got some ABAP help and was able to add an entry in table TKEZU using view V_TKEZU:
Char. BTran Table Field Name
WWBD KEDR KOMK BELNR
Now, when I try to create the derivation rule with type table lookup I face another problem: in the 'source fields' section I
am required to enter the operating concern (TKEZU-ERKRS), the field name (TKEZU-MERKMAL) and the business transaction (TKEZU-VRGNG), but when I enter the parameters (i.e. TKEZU-ERKRS=US10, TKEZU-MERKMAL=WWBD
and TKEZU-VRGNG=KEDR) I get an error "Enter a valid source field. The field US10 is not a permitted source field" (message no. K/018).
When I try to select values from the list (F4), I can only select out
of the carachteristic names available in the system.
Why am I not getting on the drop down list the real values for the table fields?
Thanks,
Yoel. -
Question about customer aging report
Greetings,
One of our Business One consultants needs the information from the customer aging report under the financials\accounting\aging section of Business One. I am trying to help him do this but I do not know how to find the query or stored procedure that is executed to produce this report. Does anyone know the answer to this or maybe know how I can find out what query is executed?
Thanks.As you know there is two ways of generating customer recevieable report:
1. By Journal Entry
2. By Sales Documents
I can not find a stored procedure also, but after analyze SBO-application queries it uses this query:
SBO query to get customer with balance
SELECT T0.CardCode, T0.CardName, T0.Balance, T0.BalanceFC, T0.BalanceSys, T0.Currency, T0.DunTerm, T1.MonthDays, T1.YearDays, T1.YearlyRate, T1.MaxLevel FROM [dbo].[OCRD] T0 LEFT OUTER JOIN [dbo].[ODUT] T1 ON T1.TermCode = T0.DunTerm WHERE T0.CardType = N'C' AND (((T0.Currency = N'NOK' OR T0.Currency = N'##' ) AND T0.Balance <> 0 ) OR (T0.Currency <> N'NOK' AND T0.Currency <> N'##' AND T0.BalanceFC <> 0 )) ORDER BY T0.CardCode
Then send CardCode variable to this query that retreives selected customer:
SELECT T0.BatchNum, T0.TransId, T0.TransType, T0.CreatedBy, T1.RefDate, T1.DueDate, T1.LineMemo, T0.Ref1, T1.Credit, T1.Debit, T1.FCCredit, T1.FCDebit, T1.SYSCred, T1.SYSDeb, T1.SourceLine, T1.Ref1, T1.Account FROM [dbo].[OJDT] T0 INNER JOIN [dbo].[JDT1] T1 ON T1.TransId = T0.TransId WHERE T1.ShortName = N'10001' AND T1.IntrnMatch = 0 ORDER BY T1.DueDate
Antoher easy way is ot create a query like this
(ref.SAP Note 740241 - User Report for days over duedate on AR Invoice):
SELECT T0.CardCode, T0.CardName, T0.DocDueDate, Convert(numeric, GetDate()) - convert(numeric, T0.DocDueDate ) as 'Days After DueDate', T0.DocTotal, T0.PaidToDate, (T0.DocTotal - T0.PaidToDate) as 'Debt' FROM OINV T0 WHERE T0.DocStatus = 'O' and Convert (char, T0.DocDueDate, 103) <= convert(char, GetDate(),103) FOR BROWSE
Hope this helps
Brgs,
Geir -
Customer Aging Report Query (without invoices offset by incoming payment)
Hi All Experts,
May I know is there any field from JDT1 mention which invoices is already offset by the Incoming payment or AR Credit note? Because I do not want those invoices that already offset by incoming payment appear at the Customer Aging Report. Meaning, the data appear in the Customer Aging Report is only show those invoices that yet to pay by the customer. Kindly give some advise on it. Thanks a lot.
Thanks and regards,
Angie NgHi David,
Thanks for your suggestion. I have try it, but all of my JDT1.IntrnMatch is in 0 value. Meaning in my situation it is none of any reconcilliation making. But from my SBO window, i manage to see that actually this incoming payment is pay for which invoices. Problem is it is difficult for me to do the possiblity logic that might be happen in my Customer Aging Report Query. Please give some advise that how to show only those invoices yet to pay? The current query will show all the data no matter the invoices or credit memo has been offset.
select OCRD.cardcode 'Supplier Code',OCRD.cardname 'Name',sysdeb 'Debit GBP',syscred 'Credit GBP',
case JDT1.transtype
when '13' then 'INV'
when '14' then 'AR CN'
when '24' then 'INCOMING'
else 'Other'
end 'Type',
Ref1,
fccurrency 'BP Currency',
CONVERT(VARCHAR(10), refdate, 103)'Posting Date' ,
CONVERT(VARCHAR(10), duedate, 103) 'Due Date',
CONVERT(VARCHAR(10), taxdate, 103) 'Doc Date' ,
CASE
when (DATEDIFF(dd,refdate,current_timestamp))+1 < 31
then
case
when syscred <> 0 then syscred * - 1
else sysdeb
end
end "0-30 days",
case when ((datediff(dd,refdate,current_timestamp))+1 > 30
and (datediff(dd,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,refdate,current_timestamp))+1 > 60
and (datediff(dd,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,refdate,current_timestamp))+1 > 90
then
case
when syscred= 0 then sysdeb
when sysdeb= 0 then syscred * - 1
end
end "90 + days"
from JDT1,OCRD where JDT1.shortname = OCRD.cardcode and cardtype = 'c' and intrnmatch = '0'
ORDER BY OCRD.CARDCODE, taxdate -
Customer aging with hierarchies
Hello,
We are looking for a way to see the customer aging of open items by highest entry in the customer hierarchy.
With S_ALR_870121789 we are pretty close to what is expected but the highest level in this report is the payer. Hierarchy is not taken care for. Our payers all belong to a hierarchy in some point.
eg:
Hier Knot1.
- Payer1
- Payer2
Hier Knot1.1
-Payer3
In this case we would expect to see one line for Hier Knot1. with the sum of Payer 1 to 3.
Is that possible with SAP standard Report in Release 4.6C?
If there are other ways to have similar information I'd be happy to hear them, tooThanks,
problem is that hier knots are not being displayed in the report. Cant use a subtotal. Its not an ALV list just an ordinary text report
regards, Andreas -
Customer Ageing - Report Painter
Hi,
Can any tell whether we can achieve the customized reports for the customer ageing (Txn: S_ALR_870121276) through report painter. If so can i get any help for the steps to be followed /material regarding this.
Regards,
Nagendra Prasad.JThis is one aging report.. have a look at it and see if its useful.
This displays cusomer and vendor aging report.
Award points if useful.
REPORT zgar_ic_custvend_aging NO STANDARD PAGE HEADING
LINE-SIZE 192
MESSAGE-ID zz
LINE-COUNT 65.
Data declaration *
TABLES: bsik, "Secondary Index for Vendors
t880, "Global Company Data
t001s, "Accounting Clerks
t001. "Company Codes
Internal table declaration. *
*Store data from vendor tables (BSIK, BSAK).
DATA: BEGIN OF g_t_venddata OCCURS 0,
bukrs LIKE bsak-bukrs, "Company code
lifnr LIKE bsak-lifnr, "Vendor number
gjahr LIKE bsak-gjahr, "Fiscal year
zuonr LIKE bsak-zuonr, "Assignment number
shkzg LIKE bsak-shkzg, "Debit/credit indicator
dmbtr LIKE bsak-dmbtr, "Amount in local currency
dmbe2 LIKE bsak-dmbe2, "Amount in global currency
belnr LIKE bsak-belnr, "Document number
augdt LIKE bsak-augdt, "Clearing date
augbl LIKE bsak-augbl, "Doc. no. of clearing document
budat LIKE bsak-budat, "Posting date
hkont LIKE bsak-hkont, "GL account
waers LIKE bsak-waers, "Currency key
xblnr LIKE bsak-xblnr, "Document number
acctp TYPE c, "Account type. D or K
name1 LIKE kna1-name1, "Comp nmae
END OF g_t_venddata.
*Store data from customer tables (BSID, BSAD).
DATA: BEGIN OF g_t_custdata OCCURS 0,
kunnr LIKE bsad-kunnr, "Customer Number
bukrs LIKE bsad-bukrs, "Company Code
gjahr LIKE bsad-gjahr, "Fiscal year
augdt LIKE bsad-augdt, "clearing date
zuonr LIKE bsad-zuonr, "Assignment number
belnr LIKE bsad-belnr, "acct doc no
name1 LIKE lfa1-name1, "name from cust master
budat LIKE bsad-budat, "posting date
bldat LIKE bsad-bldat, "document date
xblnr LIKE bsad-xblnr, "document number
shkzg LIKE bsad-shkzg, "debit/credit indicator
dmbtr LIKE bsad-dmbtr, "local currency
dmbe2 LIKE bsad-dmbe2, "Group currency
waers LIKE bsad-waers, "Currency key
hkont LIKE bsad-hkont, "GL account
acctp TYPE c, "Account type D/K
END OF g_t_custdata.
*Store data according to age category.
DATA: BEGIN OF g_t_maintab OCCURS 0,
bukrs LIKE bsad-bukrs, "Company Code
tpart(10) TYPE c, "Trading partner
acctp TYPE c, "Account type D/K
gjahr LIKE bsad-gjahr, "Fiscal year
augdt LIKE bsad-augdt, "clearing date
zuonr LIKE bsad-zuonr, "Assignment number
belnr LIKE bsad-belnr, "acct doc no
name1 LIKE lfa1-name1, "name from cust master
budat LIKE bsad-budat, "posting date
bldat LIKE bsad-bldat, "document date
xblnr LIKE bsad-xblnr, "document number
shkzg LIKE bsad-shkzg, "debit/credit indicator
dmbtr LIKE bsad-dmbtr, "local currency
hkont LIKE bsad-hkont, "GL account
bktxt LIKE bkpf-bktxt, "Document header text
butxt LIKE t001-butxt, "company name
waers LIKE bsad-waers, "Currency key
balamt TYPE dmbtr, "balance amount
amount1 TYPE dmbtr, "Amount for category 1
amount2 TYPE dmbtr, "Amount for category 2
amount3 TYPE dmbtr, "Amount for category 3
amount4 TYPE dmbtr, "Amount for category 4
END OF g_t_maintab.
*Store all the vendor numbers
DATA: BEGIN OF g_t_vend OCCURS 5000,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
END OF g_t_vend.
*Store all the customer numbers
DATA: BEGIN OF g_t_cust OCCURS 5000,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
END OF g_t_cust.
*Range to store trading partner numbers.
RANGES : r_tpart FOR lfa1-lifnr.
Variables to maintain open items count
DATA: g_open_items TYPE i,
g_open_items1 TYPE i,
g_open_items2 TYPE i,
g_open_items3 TYPE i,
g_open_items4 TYPE i.
*Header texts (For report header)
DATA: g_headertext1(50),
g_headertext2(16).
Selection screen declaration. *
SELECT-OPTIONS p_ccode FOR bsik-bukrs OBLIGATORY. "Company code
SELECT-OPTIONS p_tpartv FOR t880-rcomp. "Trading partner
SELECT-OPTIONS p_clerk FOR t001s-busab. "Accounting clerk
SELECT-OPTIONS p_pdate FOR sy-datum. "Posting date
PARAMETERS p_adate LIKE sy-datum DEFAULT sy-datum. "Age as of date
*GL Account codes
SELECT-OPTIONS p_glacc FOR bsik-hkont DEFAULT '48200000' TO '48299999'
OBLIGATORY.
*Data Column range (Age range)
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK age_range WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) text-002.
SELECTION-SCREEN POSITION 33.
PARAMETERS p_range1(4) TYPE c DEFAULT '30' OBLIGATORY.
SELECTION-SCREEN POSITION 43.
PARAMETERS p_range2(4) TYPE c DEFAULT '60' OBLIGATORY.
SELECTION-SCREEN POSITION 53.
PARAMETERS p_range3(4) TYPE c DEFAULT '90' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK age_range.
*Reporting Currency
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK crr_sel WITH FRAME TITLE text-003.
PARAMETERS: p_local RADIOBUTTON GROUP cgrp DEFAULT 'X',
p_grpcrr RADIOBUTTON GROUP cgrp.
SELECTION-SCREEN END OF BLOCK crr_sel.
*Type of report
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK rep_sel WITH FRAME TITLE text-004.
PARAMETERS: p_detrep RADIOBUTTON GROUP rgrp DEFAULT 'X',
p_sumrep RADIOBUTTON GROUP rgrp.
SELECTION-SCREEN END OF BLOCK rep_sel.
Top-Of-Page *
TOP-OF-PAGE.
IF p_detrep = 'X'.
Write report header for detailed report.
PERFORM f8000_write_comp_header
USING g_t_maintab-bukrs
g_t_maintab-waers
g_t_maintab-butxt
text-t02
g_headertext1.
ELSE.
Write report header for summary report.
PERFORM f8000_write_comp_header
USING '0000'
g_t_maintab-waers
text-t05
g_headertext1
g_headertext2.
ENDIF.
*Eject
Line selection event *
AT LINE-SELECTION.
IF p_detrep = 'X'.
SET PARAMETER ID 'BLN' FIELD g_t_maintab-belnr.
SET PARAMETER ID 'BUK' FIELD g_t_maintab-bukrs.
SET PARAMETER ID 'GJR' FIELD g_t_maintab-gjahr.
IF NOT g_t_maintab-belnr IS INITIAL.
Call transaction FB03 to display line item details.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e999 WITH text-e01.
ENDIF.
Clear belnr.
MOVE space TO g_t_maintab-belnr.
ENDIF.
*Eject
Main processing of program starts here *
START-OF-SELECTION.
Pad zeroes to the trading partner range to make it 10 chars
PERFORM f0100_prepare_tradingpartners.
Fetch data from customer and vendor tables.
PERFORM f1000_fetch_data.
Prepare data. Assign sign to amount, separate line items into 4 age
categories
PERFORM f2000_prepare_data.
End of selection.
END-OF-SELECTION.
Write reports
IF NOT g_t_maintab[] IS INITIAL.
IF p_detrep = 'X'.
PERFORM f4000_write_detailed_rep.
ELSE.
PERFORM f5000_write_summary_rep.
ENDIF.
ELSE.
MESSAGE i999 WITH text-e02 text-e03.
ENDIF.
*Eject
*& Form f0100_prepare_tradingpartners
Subroutine for preparing trading partner numbers. Pad extra
zeros to make trading partner field size 10.
FORM f0100_prepare_tradingpartners.
LOOP AT p_tpartv.
MOVE-CORRESPONDING p_tpartv TO r_tpart.
IF NOT r_tpart-low IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = r_tpart-low
IMPORTING
output = r_tpart-low.
ENDIF.
IF NOT r_tpart-high IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = r_tpart-high
IMPORTING
output = r_tpart-high.
ENDIF.
APPEND r_tpart.
ENDLOOP.
ENDFORM. " f0100_prepare_tradingpartners
*Eject
*& Form f1000_fetch_data
This subroutine is used to fetch data from customer (BSID and
BSAD) and vendor (BSIK and BSAK) tables.
FORM f1000_fetch_data.
*Get vendor data.
PERFORM f1100_fetch_vend_data.
*Get customer data.
PERFORM f1200_fetch_cust_data.
ENDFORM. " f1000_fetch_data
*Eject
*& Form f1100_fetch_vend_data
This subroutine is used to get data from BSIK and BSAK
tables. First all vendors are selected then all line items are
retrieved from BSIK and BSAK tables.
FORM f1100_fetch_vend_data.
PERFORM f9000_progress_indicator USING text-m01.
*Select all vendors.
SELECT h~lifnr
h~name1
INTO TABLE g_t_vend
FROM lfa1 AS h
JOIN lfb1 AS c
ON h~lifnr = c~lifnr
WHERE h~lifnr IN r_tpart
AND c~bukrs IN p_ccode
AND c~busab IN p_clerk.
IF NOT g_t_vend[] IS INITIAL.
PERFORM f9000_progress_indicator USING text-m01.
Select open line items.
SELECT bukrs "company
lifnr "vendor number
augdt "clearing date
augbl "docno for clearing doc
zuonr "allocation number
gjahr "fiscal year
belnr "acct doc no
buzei "line item within doc
budat "posting date
waers "Currency key
xblnr "document number
shkzg "debit, credit indicator
dmbtr "local currency
hkont "gl acct
dmbe2 "group currency
FROM bsik
INTO CORRESPONDING FIELDS OF TABLE g_t_venddata
FOR ALL ENTRIES IN g_t_vend
WHERE bukrs IN p_ccode "company code
AND lifnr = g_t_vend-lifnr "trading partner
AND budat IN p_pdate "Posting date
AND budat <= p_adate
AND hkont IN p_glacc "gl acct
PERFORM f9000_progress_indicator USING text-m04.
Select cleared line items.
SELECT bukrs "company
lifnr "vendor number
augdt "clearing date
augbl "docno for clearing doc
zuonr "allocation number
gjahr "fiscal year
belnr "acct doc no
buzei "line item within doc
budat "posting date
waers "Currency key
xblnr "document number
shkzg "debit, credit indicator
dmbtr "local currency
hkont "gl acct
dmbe2 "group currency
FROM bsak
APPENDING CORRESPONDING FIELDS OF TABLE g_t_venddata
FOR ALL ENTRIES IN g_t_vend
WHERE bukrs IN p_ccode "Company code
AND lifnr = g_t_vend-lifnr "Selected vendors
AND augdt > p_adate
AND budat IN p_pdate "Posting date
AND budat <= p_adate
AND hkont IN p_glacc "GL acct
ENDIF.
IF NOT g_t_venddata[] IS INITIAL.
*Set Account type flag for vendors -- 'K'.
SORT g_t_venddata BY bukrs lifnr.
SORT g_t_vend BY lifnr.
g_t_venddata-acctp = text-k01.
MODIFY g_t_venddata TRANSPORTING acctp WHERE acctp = ' '.
Add vendor names.
LOOP AT g_t_venddata WHERE name1 = ' '.
READ TABLE g_t_vend
WITH KEY lifnr = g_t_venddata-lifnr BINARY SEARCH.
IF sy-subrc = 0.
g_t_venddata-name1 = g_t_vend-name1.
MODIFY g_t_venddata TRANSPORTING name1 WHERE lifnr =
g_t_venddata-lifnr.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " f1100_fetch_vend_data
*Eject
*& Form f1200_fetch_cust_data
This function module is used to get data from BSID and BSAD
tables. First all customers are selected then all line items
are retrieved from BSIK and BSAK tables.
FORM f1200_fetch_cust_data.
PERFORM f9000_progress_indicator USING text-m06.
*Select all customers.
SELECT h~kunnr
h~name1
INTO TABLE g_t_cust
FROM kna1 AS h
JOIN knb1 AS c
ON h~kunnr = c~kunnr
WHERE h~kunnr IN r_tpart
AND c~bukrs IN p_ccode
AND c~busab IN p_clerk.
IF NOT g_t_cust[] IS INITIAL.
PERFORM f9000_progress_indicator USING text-m06.
*Fetch customer open items.
SELECT bukrs "company
kunnr "customer number
augdt "clearing date
augbl "docno for clearing doc
zuonr "allocation number
gjahr "fiscal year
belnr "acct doc no
buzei "line item within doc
budat "posting date
waers "Currency key
xblnr "document number
shkzg "debit, credit indicator
dmbtr "local currency
hkont "gl acct
dmbe2 "group currency
FROM bsid
INTO CORRESPONDING FIELDS OF TABLE g_t_custdata
FOR ALL ENTRIES IN g_t_cust
WHERE bukrs IN p_ccode "company code
AND kunnr = g_t_cust-kunnr "Selected customer
AND budat IN p_pdate "Posting date
AND budat <= p_adate
AND hkont IN p_glacc "GL acct
PERFORM f9000_progress_indicator USING text-m07.
Select Customer cleared line items.
SELECT bukrs "company
kunnr "customer number
augdt "clearing date
augbl "docno for clearing doc
zuonr "allocation number
gjahr "fiscal year
belnr "acct doc no
buzei "line item within doc
budat "posting date
waers "Currency key
xblnr "document number
shkzg "debit, credit indicator
dmbtr "local currency
hkont "gl acct
dmbe2 "group currency
FROM bsad
APPENDING CORRESPONDING FIELDS OF TABLE g_t_custdata
FOR ALL ENTRIES IN g_t_cust
WHERE bukrs IN p_ccode "company code
AND kunnr = g_t_cust-kunnr "Selected customer
AND augdt > p_adate
AND budat IN p_pdate "Posting date
AND budat <= p_adate
AND hkont IN p_glacc "GL acct
ENDIF.
IF NOT g_t_custdata[] IS INITIAL.
*Set account type for customers -- 'D'.
SORT g_t_custdata BY bukrs kunnr.
SORT g_t_cust BY kunnr.
g_t_custdata-acctp = text-d01.
MODIFY g_t_custdata TRANSPORTING acctp WHERE acctp = ' '.
Add customer names.
LOOP AT g_t_custdata WHERE name1 = ' '.
READ TABLE g_t_cust
WITH KEY kunnr = g_t_custdata-kunnr BINARY SEARCH.
IF sy-subrc = 0.
g_t_custdata-name1 = g_t_cust-name1.
MODIFY g_t_custdata TRANSPORTING name1 WHERE kunnr =
g_t_custdata-kunnr.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " f1200_fetch_cust_data
*Eject
*& Form f2000_Prepare_data
This function module is used to format data according to report
1. Fetch local or global amount value according to user
parametrs.
2. Sign is assigned to each amount
3. Line items are categorized according to the aging category
4. Populate document header text.
5. Populate company names.
FORM f2000_prepare_data.
DATA : l_amount TYPE dmbtr,
l_age_of_item TYPE p,
l_as_of_age TYPE d,
l_posting_date TYPE d,
l_time TYPE t,
l_count TYPE sy-tabix.
DATA: BEGIN OF l_t_doc_txt OCCURS 0,
bukrs TYPE bkpf-bukrs,
belnr TYPE bkpf-belnr,
bktxt LIKE bkpf-bktxt,
END OF l_t_doc_txt.
DATA: BEGIN OF l_t_curr_txt OCCURS 0,
bukrs LIKE t001-bukrs,
waers LIKE t001-waers,
butxt LIKE t001-butxt,
END OF l_t_curr_txt.
PERFORM f9000_progress_indicator USING text-m03.
l_as_of_age = p_adate.
MOVE text-t01 TO l_time.
*Prepare G_T_MAINTAB, 1. Populate vendor data.
LOOP AT g_t_venddata.
CLEAR: g_t_maintab, l_amount, l_age_of_item, l_posting_date.
MOVE-CORRESPONDING g_t_venddata TO g_t_maintab.
g_t_maintab-tpart = g_t_venddata-lifnr.
Check for currency selected by the user.
IF p_local = 'X'.
l_amount = g_t_venddata-dmbtr.
ELSE.
l_amount = g_t_venddata-dmbe2.
ENDIF.
Check for type of transaction. Debit or Credit.
IF g_t_venddata-shkzg = 'H'.
l_amount = l_amount * -1.
ENDIF.
MOVE g_t_venddata-budat TO l_posting_date.
Assign amount value to appropriate aging category.
Calculate age of line item
CALL FUNCTION '/SDF/CMO_DATETIME_DIFFERENCE'
EXPORTING
date1 = l_posting_date
time1 = l_time
date2 = l_as_of_age
time2 = l_time
IMPORTING
datediff = l_age_of_item
EXCEPTIONS
invalid_datetime = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF l_age_of_item <= p_range1. "Range1
g_t_maintab-amount1 = l_amount.
ELSE.
IF l_age_of_item > p_range1 AND l_age_of_item <= p_range2."Range2
g_t_maintab-amount2 = l_amount.
ELSE.
IF l_age_of_item > p_range2
AND l_age_of_item <= p_range3. "Range3
g_t_maintab-amount3 = l_amount.
ELSE. "Range4
g_t_maintab-amount4 = l_amount.
ENDIF.
ENDIF.
ENDIF.
Assign balance amounts.
g_t_maintab-balamt = l_amount.
Add record to main internal table
APPEND g_t_maintab.
ENDLOOP.
*Prepare G_T_MAINTAB, 2. Populate customer data.
LOOP AT g_t_custdata.
CLEAR: g_t_maintab, l_amount, l_age_of_item, l_posting_date.
MOVE-CORRESPONDING g_t_custdata TO g_t_maintab.
g_t_maintab-tpart = g_t_custdata-kunnr.
Check for currency selected by the user.
IF p_local = 'X'.
l_amount = g_t_custdata-dmbtr.
ELSE.
l_amount = g_t_custdata-dmbe2.
ENDIF.
Check for type of transaction. Debit or Credit.
IF g_t_custdata-shkzg = 'H'.
l_amount = l_amount * -1.
ENDIF.
MOVE g_t_custdata-budat TO l_posting_date.
Assign amount value to appropriate aging category.
Calculate age of line item
CALL FUNCTION '/SDF/CMO_DATETIME_DIFFERENCE'
EXPORTING
date1 = l_posting_date
time1 = l_time
date2 = l_as_of_age
time2 = l_time
IMPORTING
datediff = l_age_of_item
EXCEPTIONS
invalid_datetime = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF l_age_of_item <= p_range1. "Range1
g_t_maintab-amount1 = l_amount.
ELSE.
IF l_age_of_item > p_range1 AND l_age_of_item <= p_range2."Range2
g_t_maintab-amount2 = l_amount.
ELSE.
IF l_age_of_item > p_range2
AND l_age_of_item <= p_range3. "Range3
g_t_maintab-amount3 = l_amount.
ELSE. "Range4
g_t_maintab-amount4 = l_amount.
ENDIF.
ENDIF.
ENDIF.
Assign balance amounts.
g_t_maintab-balamt = l_amount.
APPEND g_t_maintab.
ENDLOOP.
IF NOT g_t_maintab[] IS INITIAL.
SORT g_t_maintab BY bukrs belnr.
SELECT bukrs belnr bktxt FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE l_t_doc_txt
FOR ALL ENTRIES IN g_t_maintab
WHERE bukrs = g_t_maintab-bukrs AND
belnr = g_t_maintab-belnr AND
gjahr = g_t_maintab-gjahr.
SELECT bukrs butxt waers FROM t001
INTO CORRESPONDING FIELDS OF TABLE l_t_curr_txt
WHERE bukrs IN p_ccode.
SORT l_t_doc_txt BY bukrs belnr.
SORT l_t_curr_txt BY bukrs.
Add Document header texts
LOOP AT g_t_maintab.
l_count = sy-tabix.
READ TABLE l_t_doc_txt
WITH KEY bukrs = g_t_maintab-bukrs belnr = g_t_maintab-belnr
BINARY SEARCH.
IF sy-subrc = 0.
g_t_maintab-bktxt = l_t_doc_txt-bktxt.
MODIFY g_t_maintab INDEX l_count TRANSPORTING bktxt.
ENDIF.
CLEAR l_t_doc_txt-bktxt.
ENDLOOP.
PERFORM f9000_progress_indicator USING text-m03.
Update company name and currency field.
LOOP AT g_t_maintab WHERE butxt = ' ' OR waers = ' '.
READ TABLE l_t_curr_txt
WITH KEY bukrs = g_t_maintab-bukrs BINARY SEARCH.
IF sy-subrc = 0.
g_t_maintab-butxt = l_t_curr_txt-butxt.
g_t_maintab-waers = l_t_curr_txt-waers.
MODIFY g_t_maintab TRANSPORTING butxt waers
WHERE bukrs = g_t_maintab-bukrs.
ENDIF.
CLEAR: l_t_curr_txt-butxt, l_t_curr_txt-waers.
ENDLOOP.
ENDIF. "IF NOT g_t_maintab[] IS INITIAL
ENDFORM. " f2000_Prepare_data
*Eject
*& Form f4000_write_detailed_rep
This subroutine is used to write detailed report.
FORM f4000_write_detailed_rep.
DATA l_t_maintab LIKE g_t_maintab.
Variables for summary amount of each account type of a trading pair
DATA: l_tpart_acc1 TYPE dmbtr,
l_tpart_acc2 TYPE dmbtr,
l_tpart_acc3 TYPE dmbtr,
l_tpart_acc4 TYPE dmbtr,
l_tpart_acc_bal TYPE dmbtr.
Variables for summary amount of each trading pair
DATA: l_tpart1 TYPE dmbtr,
l_tpart2 TYPE dmbtr,
l_tpart3 TYPE dmbtr,
l_tpart4 TYPE dmbtr,
l_tpart_bal TYPE dmbtr.
SET TITLEBAR 'DETAILED_REPORT'.
Prepare header texts for report header.
CONCATENATE p_adate4(2) '/' p_adate6(2) '/' p_adate+0(4) INTO
g_headertext1.
CONCATENATE text-h20 g_headertext1
INTO g_headertext1 SEPARATED BY space.
SORT g_t_maintab BY bukrs tpart acctp.
*Start detailed report.
FORMAT INTENSIFIED OFF.
LOOP AT g_t_maintab.
l_t_maintab = g_t_maintab.
*At new company code write page header
AT NEW bukrs.
g_t_maintab = l_t_maintab.
NEW-PAGE.
ENDAT.
*Write line item records.
WRITE:/2 l_t_maintab-tpart, "Trading partner
14 l_t_maintab-acctp, "Account type
17 l_t_maintab-belnr, "Document number
35 l_t_maintab-budat, "posting date
47 l_t_maintab-xblnr, "Reference doc. number
65 l_t_maintab-bktxt, "Doc header text.
92 l_t_maintab-balamt, "balance amount
114 l_t_maintab-amount1, "Amount cat 1
136 l_t_maintab-amount2, "Amount cat 2
158 l_t_maintab-amount3, "Amount cat 3
180 l_t_maintab-amount4. "Amount cat 4
g_t_maintab-bukrs = l_t_maintab-bukrs.
g_t_maintab-gjahr = l_t_maintab-gjahr.
g_t_maintab-belnr = l_t_maintab-belnr.
Hide values so that these can be used on line selection event.
HIDE: g_t_maintab-bukrs, g_t_maintab-gjahr, g_t_maintab-belnr.
Calculate amounts for account summary.
l_tpart_acc1 = l_tpart_acc1 + l_t_maintab-amount1.
l_tpart_acc2 = l_tpart_acc2 + l_t_maintab-amount2.
l_tpart_acc3 = l_tpart_acc3 + l_t_maintab-amount3.
l_tpart_acc4 = l_tpart_acc4 + l_t_maintab-amount4.
l_tpart_acc_bal = l_tpart_acc_bal + l_t_maintab-balamt.
Calculate amounts for trading partner summary.
l_tpart1 = l_tpart1 + l_t_maintab-amount1.
l_tpart2 = l_tpart2 + l_t_maintab-amount2.
l_tpart3 = l_tpart3 + l_t_maintab-amount3.
l_tpart4 = l_tpart4 + l_t_maintab-amount4.
l_tpart_bal = l_tpart_bal + l_t_maintab-balamt.
*At end of one account type write summary for account type.
AT END OF acctp.
g_t_maintab = l_t_maintab.
PERFORM f8100_write_acctype_summary
USING l_tpart_acc1 l_tpart_acc2 l_tpart_acc3 l_tpart_acc4
l_tpart_acc_bal l_t_maintab-acctp l_t_maintab-tpart
l_t_maintab-name1.
CLEAR: l_tpart_acc1, l_tpart_acc2, l_tpart_acc3, l_tpart_acc4,
l_tpart_acc_bal.
ENDAT.
At end of trading pair, write trading partner summary.
AT END OF tpart.
g_t_maintab = l_t_maintab.
PERFORM f8200_write_tradingpair_summar
USING l_tpart1 l_tpart2 l_tpart3 l_tpart4 l_tpart_bal
l_t_maintab-tpart l_t_maintab-name1.
CLEAR: l_tpart1, l_tpart2, l_tpart3, l_tpart4, l_tpart_bal.
ENDAT.
ENDLOOP.
ENDFORM. " f4000_write_detailed_rep
*Eject
*& Form f5000_write_summary_rep
Subroutine to write summary report.
FORM f5000_write_summary_rep.
*Counters for trading partner
DATA: l_count_tpart TYPE i, "Counter for trading pairs.
l_count_tpart1 TYPE i, "Trading partner in age cat 1
l_count_tpart2 TYPE i, "Trading partner in age cat 2
l_count_tpart3 TYPE i, "Trading partner in age cat 3
l_count_tpart4 TYPE i. "Trading partner in age cat 4
Flag for trading partner count.
DATA: l_flag_tpart1 TYPE c, "Flag for Trading partner in age cat 1
l_flag_tpart2 TYPE c, "Flag for Trading partner in age cat 2
l_flag_tpart3 TYPE c, "Flag for Trading partner in age cat 3
l_flag_tpart4 TYPE c. "Flag for Trading partner in age cat 4
Variables to store sum of all line items for a company code.
DATA: l_comp_amt_bal TYPE dmbtr,
l_comp_amt1 TYPE dmbtr,
l_comp_amt2 TYPE dmbtr,
l_comp_amt3 TYPE dmbtr,
l_comp_amt4 TYPE dmbtr.
Internal table to store sum of amounts for all the companies selected.
DATA: BEGIN OF l_t_compall_amt OCCURS 0,
waers LIKE bsad-waers, "Currency key
balamt TYPE dmbtr, "Total balance amount
amount1 TYPE dmbtr, "Amount for category 1
amount2 TYPE dmbtr, "Amount for category 2
amount3 TYPE dmbtr, "Amount for category 3
amount4 TYPE dmbtr, "Amount for category 4
END OF l_t_compall_amt.
DATA: l_tpart_amt_bal TYPE dmbtr,
l_tpart_amt1 TYPE dmbtr,
l_tpart_amt2 TYPE dmbtr,
l_tpart_amt3 TYPE dmbtr,
l_tpart_amt4 TYPE dmbtr.
DATA l_currtxt(11).
DATA l_t_maintab LIKE g_t_maintab.
Prepare header texts for report header.
CONCATENATE p_adate4(2) '/' p_adate6(2) '/' p_adate+0(4) INTO
g_headertext2.
CONCATENATE text-t04 p_glacc-low text-h06 p_glacc-high
INTO g_headertext1 SEPARATED BY space.
CONCATENATE text-t03 g_headertext2 INTO g_headertext2 SEPARATED BY
space.
SET TITLEBAR 'SUMMARY_REPORT'.
SORT g_t_maintab BY bukrs tpart acctp.
DESCRIBE TABLE g_t_maintab LINES l_count_tpart. "***
FORMAT INTENSIFIED OFF.
CLEAR: l_flag_tpart1, l_flag_tpart2, l_flag_tpart3, l_flag_tpart4.
CLEAR: l_tpart_amt_bal,
l_tpart_amt1,
l_tpart_amt2,
l_tpart_amt3,
l_tpart_amt4.
CLEAR: l_comp_amt_bal,
l_comp_amt1,
l_comp_amt2,
l_comp_amt3,
l_comp_amt4.
Write summary report.
LOOP AT g_t_maintab.
l_t_maintab = g_t_maintab.
Maintain open items count
g_open_items = g_open_items + 1.
IF l_t_maintab-amount1 <> 0.
g_open_items1 = g_open_items1 + 1.
ELSEIF l_t_maintab-amount2 <> 0.
g_open_items2 = g_open_items2 + 1.
ELSEIF l_t_maintab-amount3 <> 0.
g_open_items3 = g_open_items3 + 1.
ELSEIF l_t_maintab-amount4 <> 0.
g_open_items4 = g_open_items4 + 1.
ENDIF.
*Calculate amounts for trading partners and maintain trading partner
*count.
l_tpart_amt_bal = l_tpart_amt_bal + l_t_maintab-balamt.
IF g_t_maintab-amount1 <> 0.
l_tpart_amt1 = l_tpart_amt1 + l_t_maintab-amount1.
Increase count according to flag.
IF l_flag_tpart1 IS INITIAL.
l_count_tpart1 = l_count_tpart1 + 1.
l_flag_tpart1 = 'X'.
ENDIF.
ELSEIF g_t_maintab-amount2 <> 0.
l_tpart_amt2 = l_tpart_amt2 + l_t_maintab-amount2.
Increase count according to flag.
IF l_flag_tpart2 IS INITIAL.
l_count_tpart2 = l_count_tpart2 + 1.
l_flag_tpart2 = 'X'.
ENDIF.
ELSEIF g_t_maintab-amount3 <> 0.
l_tpart_amt3 = l_tpart_amt3 + l_t_maintab-amount3.
Increase count according to flag.
IF l_flag_tpart3 IS INITIAL.
l_count_tpart3 = l_count_tpart3 + 1.
l_flag_tpart3 = 'X'.
ENDIF.
ELSEIF g_t_maintab-amount4 <> 0.
l_tpart_amt4 = l_tpart_amt4 + l_t_maintab-amount4.
Increase count according to flag.
IF l_flag_tpart4 IS INITIAL.
l_count_tpart4 = l_count_tpart4 + 1.
l_flag_tpart4 = 'X'.
ENDIF.
ENDIF. "g_t_maintab-amount1 <> 0
Calculate total of amount for all companies
Separate totals into different rows for different local currency.
IF p_local = 'X'.
READ TABLE l_t_compall_amt WITH KEY waers = l_t_maintab-waers.
ELSE.
READ TABLE l_t_compall_amt INDEX 1.
ENDIF.
IF sy-subrc = 0.
l_t_compall_amt-balamt = l_t_compall_amt-balamt +
l_t_maintab-balamt.
l_t_compall_amt-amount1 = l_t_compall_amt-amount1 +
l_t_maintab-amount1.
l_t_compall_amt-amount2 = l_t_compall_amt-amount2 +
l_t_maintab-amount2.
l_t_compall_amt-amount3 = l_t_compall_amt-amount3 +
l_t_maintab-amount3.
l_t_compall_amt-amount4 = l_t_compall_amt-amount4 +
l_t_maintab-amount4.
MODIFY l_t_compall_amt FROM l_t_compall_amt INDEX sy-tabix.
ELSE.
MOVE-CORRESPONDING l_t_maintab TO l_t_compall_amt.
IF NOT p_local = 'X'.
MOVE 'GRP' TO l_t_maintab-waers.
ENDIF.
APPEND l_t_compall_amt.
ENDIF.
Calculate total amount for current company.
l_comp_amt_bal = l_comp_amt_bal + l_t_maintab-balamt.
l_comp_amt1 = l_comp_amt1 + l_t_maintab-amount1.
l_comp_amt2 = l_comp_amt2 + l_t_maintab-amount2.
l_comp_amt3 = l_comp_amt3 + l_t_maintab-amount3.
l_comp_amt4 = l_comp_amt4 + l_t_maintab-amount4.
IF p_local = 'X'.
CONCATENATE text-h04 l_t_maintab-waers
INTO l_currtxt SEPARATED BY space.
ELSE.
MOVE text-h05 TO l_currtxt.
ENDIF.
Write subtotal for each trading partner.
AT END OF tpart.
l_count_tpart = l_count_tpart + 1.
Write the summary lines
WRITE:/2 l_t_maintab-bukrs,
10 l_t_maintab-tpart,
42 l_tpart_amt_bal,
64 l_currtxt,
87 l_tpart_amt1,
109 l_tpart_amt2,
131 l_tpart_amt3,
153 l_tpart_amt4.
CLEAR: l_tpart_amt_bal,
l_tpart_amt1,
l_tpart_amt2,
l_tpart_amt3,
l_tpart_amt4.
CLEAR: l_flag_tpart1, l_flag_tpart2, l_flag_tpart3, l_flag_tpart4.
ENDAT.
Write subtotal for each company code.
AT END OF bukrs.
PERFORM f8300_write_comp_summ USING l_comp_amt_bal
l_comp_amt1
l_comp_amt2
l_comp_amt3
l_comp_amt4
l_t_maintab-bukrs
l_t_maintab-butxt
l_t_maintab-waers.
CLEAR: l_comp_amt_bal,
l_comp_amt1,
l_comp_amt2,
l_comp_amt3,
l_comp_amt4.
ENDAT.
ENDLOOP.
-
System (AGE3) 'Customer Aging Report' does not print BP Ref. No.
Hi Experts!
I have a question about the PLD for the Customer Aging Report (AGE3 = Collection Report). This system print layout does not print the BP Ref. No. in that field.
And when I went into the PLD, that field (and the other repetitive fields) are text fields. How do I get the BP Ref. No. to print in the field?
Any help would be greatly appreciated.
MarliHi Marli,
If the PLD is of System report , then you have to heck that in ocrd table what is the field name of BP ref no. and try to convert that text field into database field and give the ref of ocrd BP ref no.
However the chnces of working fine for the above sol. is very low as we will not prefer to change the system report.
You should go for QLD or Crystal report for that .
Rgds,
Premraj -
Opening Balance in Customer Aging report
Hi Gurus,
I am making the Customer aging report am facing a problem in the calculation of 'opening balance'.
If the opening balance has to done by using routines how to do it.
I am using the 0FI_AR_4 datasource.
I am getting Debit amount , Credit amount , and Balance. They can be seen in R/3 in the
Tcode: FD10N.
the balance must be calculated with the previous balance.
How to write the routine / what logic must be used . If you have the code please paste it
here or send to: [email protected]
regards
Edited by: man man on Jan 16, 2008 11:04 AMHi,
I am making a report for the Customer Aging.
using the keyfigures 'Debit'(Collections), 'Credit'(Sales), 'Balance'
and the characteristics 'G/L Account', 'Customer'.
I want all the above infoobjects in the report.
regards,
man -
Reconciled transactions appearing in customer aging report
Hi all,
I have 2 Invoices amount to 2000 rs say 1000 rs each.I received a payment of 1900 rs i.e a 100 rs less for the 2 invoices.My accountant has recorded this in the following manner that he has selected both the invoices and an "On account" payment of -100, so the entire transaction got balanced.As a result both the invoices are closed as well.
Now my question is ....can we treat this a reconclied trasaction or an Un-reconciled trasaction.Will these both invoices appear in the customer aging report if we select "display reconciled trasactions" option.
Regards & Advance thanks,
MobinWhich SAP B1 Version and Patch is under use at your end ?
There were issues in SAP B1 regarding reconcilliations in versions prior to 2007 series.
Samir Gandhi -
Hi sap guru's
In the customer age report, i have given specific parameters for profitcenter for ex. 1000 to 1010 but when i ran this report exists 1000 to 1010 proitcenter along with dummy profit center. If we give proper specification for the profit center then it should not display the report of dummy profit center.
please let me know hoe it solve the same.
Thanks in advance
venuHi sridevi,
thanks for response.
i hope you have not understand my point. actually in Standard Customer age report have so many parameters like profit center, fiscal year, date and etc.,
So, i have give parameters for profit center 1000 & 1001 so, the report should display only these profit centers report only but now along with these details this standard program displaying dummy profit center details also.
if we give specifications for profit center then that specifications report only should generate and should not come other (Dummy proficenter) report.
Please let me know how to solve the same.
venu -
AR Customer Aging - Calculations
Hi
I wanted to customize the customer aging report in AR,
i was using the ORACLE API to calculate the aging, the API does not take care of the receipts, and reverse amout,
I ended up in defining a new query for calcuating the receipts and reversal amount, i could not make it 100% success as there was complex conditions ...
does the oracle provide any API to calcuate the receipts and reversal amount...
pls do let me know if any..
Regards
YramHello.
This query will show you the customer open receivable transactions:
select c.customer_name,
decode(ps.class, 'PMT', 'Payment', 'INV', 'Invoice', 'DM', 'Debit Memo', 'CM', 'Credit Memo') Type,
ps.trx_number,
ps.trx_date "Inv Date",
ps.due_date "Due Date",
ps.acctd_amount_due_remaining "Amount Remaining"
from ar_payment_schedules_all ps,
ra_customers c
where c.customer_id = ps.customer_id
and ps.status = 'OP'
and ps.org_id = &orgID
and c.customer_number = &CustNumber
Octavio -
Hai expert
How Show the customer the aging 0-30, sales, sum (customer aging 0-30 + sales) = totaly
ThxHi siauling,
If you need the Customer Aging(30 Days) Report.
Try this,
->> Financials.
->> Accounting.
->> Aging.
->> Customer Receivable Aging.
->> Open the Customer Receivable Aging Window and Select the (FROM - TO) Customer Code.
->> Put the Aging Date and Select the Interval of Days then put the 30 days.
Else,
If you need other different details of Customer Aging Report.
Try to Create Query Report.
Regards,
Madhan.
Maybe you are looking for
-
How to create a stored procedure in a dynamic schema
Hi, I want to create a stored procedure in a dynamic shcema (schema name will be known at run time). Can any one guide me on this. I tried using define var1=schema1; and then in create or replace procedure &var1.porcName( ) but it is not working Than
-
Email reply from ATT regarding IPhone upgrades
I finally got a long email back from ATT. Most of it was the same rhetoric thats in their fine print. Here is part of the email from the man who emailed me back. Does that mean we are basically screwed? I went on my account info to check pricing for
-
Upload table with a flat file Once - without program
Hello, I know that it is possible to upload a Z table from a flat file. (without program) I do not have a problem with this table. I manage a maintenance view (SM30) and I can thus enter one by one a recording in this table and to put it in an trans
-
I was trying to install the flight demo and get to the point where I need to generate flight data. According to the menu, there should be an menu path to execute the program (Exchange Infrastructure->Demo Examples-> Settings: Generate Flight Data), h
-
Reinstalling elements 6 & premiere 4
My computer crashed & now I am rebuilding my various software & trying to reinstall both the Photoshop elements 6 & premiere 4 from my original installation cd's. after a seeminly install I get an error message that the installation was interrupted