Customer Receivbls Aging

Hi All
Where to find a query for customer aging like below
Project No
Transaction No
AR Invoice Date
AR inv Doc no
Purchase order no
Purchase order date
AR invoic grand totl amount
<0-30days
<31-60 days
<61-90 days
<91-120 days
>120+ Days
>180 Days
Unadjusted amount
Net Receivables
Please help

Hi
i am running this
Declare @date1 As Date
Set @date1= '2011-08-03 00:00:00.000'
SELECT T1.CardCode, T1.CardName, T1.CreditLine, T0.RefDate, T0.Ref1 'Document Number',
     CASE  WHEN T0.TransType=13 THEN 'Invoice'
          WHEN T0.TransType=14 THEN 'Credit Note'
          WHEN T0.TransType=30 THEN 'Journal'
          WHEN T0.TransType=24 THEN 'Receipt'
          END AS 'Document Type',
     T0.DueDate, (T0.Debit- T0.Credit) 'Balance'
     ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,@date1)<=-1),0) 'Future'
     ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,@date1)>=0 and DateDiff(day, T0.DueDate,@date1)<=30),0) 'Current'
     ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,@date1)>30 and DateDiff(day, T0.DueDate,@date1)<=60),0) '31-60 Days'
     ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,@date1)>60 and DateDiff(day, T0.DueDate,@date1)<=90),0) '61-90 Days'
     ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,@date1)>90 and DateDiff(day, T0.DueDate,@date1)<=120),0) '91-120 Days'
     ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,@date1)>=121),0) '121+ Days'
FROM JDT1 T0 INNER JOIN OCRD T1 ON T0.ShortName = T1.CardCode
WHERE (T0.MthDate IS NULL OR T0.MthDate > @date1) AND T0.RefDate <= @date1 AND T1.CardType = 'C'
ORDER BY T1.CardCode, T0.DueDate, T0.Ref1
But can not understand what balance is coming. If i make Incoming payment (partial) for one doc, it is not coming at all.
The balances what are coming under 0-30, 31-60 etc are they the remaining bl to be paid by customer?
then for one open invoice if i do one incoimg partial payment why is it not coming with rest pending amount?
and how can i add more columns like mentioned above?
please help

Similar Messages

  • Customized Vendor Aging Report

    Dear Experts,
    We had developed a customized Vendor Aging Crystal Report as on Date for one of our customer which is similar to SAP's Vendor Liabilities Aging, just a minor change we have been done in our report for calculating the due date of AP Invoice only for the document type as Item, from AP Invoice document date to GRPO's posting date.
    So to build this report we had consider following transactions AP Invoice, AP Credit Memo, AP Down Payment Invoice, Outgoing Payment, Incoming Payment & Journal Entry and also we had concluded following scenario's:-
    AP Invoice based on GRPO
    Standalone AP Invoice's Item / Service.
    AP Invoice adjusted against AP Credit Memo.
    AP Invoice knocked off against Reconciliation.
    AP Credit Memo based on AP Invoice
    AP Credit Memo standalone Item /Service
    AP Credit Memo adjusted against Outgoing Payment
    AP Credit Memo knocked off against Reconciliation
    AP Down Payment Invoice - Open.
    Outgoing Payment - On Account
    Outgoing Payment - Against Transaction.
    Outgoing Payment - Direct Knocked off in Reconciliation.
    Incoming Payment - On Account
    Incoming Payment - Direct Knocked off in Reconciliation.
    Journal Entry - Adjusted and Unadjusted
    After considering all the possible scenario which do have impact with Vendor has been covered but still our report gets failed to tally with SAP Vendor Liabilities Aging Report on back dated date specially with reco happened transaction which get failed on comparison with Input parameter date against transaction date and reconciled date.
    Please refer the attachment contains Store Procedure of this report. We would highly appreciate and thankful if some one could help us in optimizing our store procedure which could get tallied with SAP Vendor Liabilities Aging Report.
    Many Thanks in Advance......
    Regards
    Krishna Kumar

    Hi,
    Not able to open attached file. Please check these threads:
    Vendor Aging Report SAP B1
    Customer Receivables Aging - Query
    Thanks & Regards,
    Nagarajan

  • Customer / Vendor Aging Report

    Hi,
    It´s important to consider the next filter or selection criteria for the reports:
    -. Customer and Vendor Aging Reports
    Filters:
    -. by Sales Employee (Customer Aging)
    -. by Buyer (Vendor Aging)
    regards

    Hello Humberto,
    New selection criteria of Sales Employee/Buyer is part of enhancements of Aging Reports in SAP Business One 8.8 release.
    When you generate the aging report in v8.8:
    u2022 You can group the report by customer or sales employee in the customer receivables aging report, and by vendor or buyer in the vendor liabilities aging report.
    u2022 You can specify more flexible time interval. For the time interval Days, 4 new fields are added for you to specify the duration.
    u2022 You can hide the Future Remit column on the report by choosing Ignore Future Remit.
    u2022 When the aging report has been generated, you can view multicustomer/multivendor detailed information in the aging report window. There is no need to double-click each customer/vendor row to view the details.
    Peter Dominik
    B1 Solution Management

  • Financials- Aging- Customer Receivables Aging

    Hi,
    I'm not able to export Customer receivables aging report to PDF with the option File->Export ->PDF.
    But, I'm able to export with the option, preview and exports as pdf.
    All other documents like PDF to Purchase order works fine. 
    This issue with Aging report is happening with 64 bit and works fine on 32 bit.
    Could you please help me
    Many Thanks,
    Vishwanath

    Hi,
    Do you receive any error message?
    Thanks & Regards,
    Nagarajan

  • Overdue amount in Customer Receivable Aging report

    Hi all!
    Got a question.
    In customer receivable aging report SAP Business One displays the relevant open receivables in columns representing the specifications you made in the Interval field in the selection criteria window. But how does it counts them? I've tried to pick all total from invoices,where between doc date and aging date 30 days passed. But it displays incorrect values. Is there any specific query for that?
    Please see screenshot attached for the values i need.

    Hi,
    Try with below query.But your selection criteria for date should be week.
    declare @Cust as nvarchar(20)
    Declare @FromDate Datetime
    Declare @ToDate Datetime
    declare @Group as nvarchar(20)
    set @cust = (select max(t0.cardcode) from OINV t0 where t0.cardcode = '[%0]')
    Set @FromDate = (Select min(t0.Docdate) from dbo.OINV t0 where t0.Docdate >='[%1]')
    Set @ToDate = (Select max(t0.Docdate) from dbo.OINV t0 where t0.Docdate <='[%2]')
    set @group = (select max(t2.groupname) from OCRG t2 where t2.groupname = '[%3]')
    SELECT [CustName] as CustName, [G] as CustGroup,[1] as W1, [2] as W2, [3] as W3, [4] as W4, [5] as W5, [6] as W6, [7] as W7, [8] as W8, [9] as W9, [10] as W10, [11] as W11, [12] as W12, [13] as W13, [14] as W14, [15] as W15, [16] as W16, [17] as W17, [18] as W18, [19] as W19, [20] as W20, [21] as W21, [22] as W22, [23] as W23, [24] as W24, [25] as W25, [26] as W26, [27] as W27, [28] as W28, [29] as W29, [30] as W30 , [31] as W31, [32] as W32, [33] as W33, [34] as W34, [35] as W35, [36] as W36, [37] as W37, [38] as W38, [39] as W39, [40] as W40, [41] as W41, [42] as W42, [43] as W43, [44] as W44, [45] as W45, [46] as W46, [47] asW47, [48] as W48, [49] as W49, [50] as W50, [51] as W51, [52] as W52
    from
    (SELECT T0.[CardName] as CustName, sum(T0.[DocTotal]) as Total, datepart(ww,T0.[DocDate]) as week, t2.groupname as G FROM OINV T0 left JOIN OCRD T1 ON T0.CardCode = T1.CardCode left JOIN OCRG T2 ON T1.GroupCode = T2.GroupCode WHERE year(T0.[DocDate]) = 2013 and T0.[CardCode] = @Cust and T0.[DocStatus] ='o' and T0.[DocDate] between @fromdate and @todate and t2.groupname = @group GROUP BY T0.[CardName],T0.[DocDate],t2.groupname
    union all
    (SELECT T0.[CardName] as CustName, -sum(T0.[DocTotal]) as Total, datepart(ww,T0.[DocDate]) as week,t2.groupname as G from ORIN T0 left JOIN OCRD T1 ON T0.CardCode = T1.CardCode left JOIN OCRG T2 ON T1.GroupCode = T2.GroupCode WHERE year(T0.[DocDate]) = 2013 and T0.[CardCode] = @Cust and T0.[DocStatus] ='o' and T0.[DocDate] between @fromdate and @todate and t2.groupname = @group GROUP BY T0.[CardName],T0.[DocDate],t2.groupname )) S
    Pivot
    (sum(S.total) For WEEK IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12], [13], [14],[15],[16],[17],[18],[19],[20],[21], [22], [23], [24], [25], [26], [27], [28],[29], [30], [31], [32],[33],[34],[35],[36],[37],[38],[39],[40], [41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52])) P
    Thanks & Regards,
    Nagarajan

  • SAP Business One 8.8 - Customer Receivables Ageing Report

    Hi All,
    We have one client on ramp up for SAP Business One 8.8. They love the new version and the feedback has been exceptional. I have one issue with the customer receivables ageing report. Once the results are displayed we are applying a filter on the report which does not seem to meet our expectations (Possible Bug?) We are trying to filter a particular ageing column only to display values if they are greater than 0 for that column. The filter partailly works since it displays the values greater than 0 but it also displays values where the column value = "Blank" thus not achieving the desired result! Does anybody know how to do this and if not should I log this on the SAP Messages Dashboard?
    I have also tried to use a condition where the column is not equal to blank but then again it displays customers who have a negative balance in that column! Once again not the desired result.
    Any help / feedback will be much appreciated!
    Thanks
    Andre Pienaar

    Hi,
    Please check by selecting any amount appearing in the list in the column you are filtering in the "Greater than". After selcting the value update the same to be zero and then filter the results.
    Check if it bring the desired results.
    Also, if not, please update us with the patch you are checking in order to test.
    Kind Regards,
    Jitin
    SAP Business One Forum Team

  • Customer Receivables Aging Crystal Report

    Hi,
    We're about to move up to Business One 8.8 and creating crystal reports that we require, with the help of the SAP sample report pack.
    We need a Customer Receivables Aging Report but the one that is in this pack makes use of PLD_ITEMS field, which is making it really difficult for me to move things around. What tables and joins will I need to create this in crystal getting the data directly from the database ?
    Thanks

    Hi,
    Welcome you to the forum. For this report, many tables are needed. Core tables are OJDT and JDT1.
    You may check within forum to find many queries for this regarding.
    Thanks,
    Gordon

  • SAP B1 crystal report: Customer Receivable Aging report

    Hi All, I want to write a Customer Receivable Aging report  in crystal report. I was using query to union open AR crdit memo and AR invoice.   but, I foggot to add incomming payment ORCT.   I really have trouble to get Customer Receivable Aging report . Can anyone help me? thanks    Is that I did in wrong direction? 
    SELECT OINV.DocEntry,OINV.DocNum,OINV.ObjType,OINV.CardCode,OCRD.CntctPrsn,OCRD.fax,OINV.NumAtCard,OINV.Address,OCTG.PymntGroup
           ,OINV.CardName,OINV.DocDate,OINV.DocDueDate,OINV.DocCur,OINV.DocTotalFC,
           OINV.DocTotal, (OINV.DocTotal-OINV.PaidToDate) as AmountAUD
      FROM SAPLIVE.dbo.OINV OINV join SAPLIVE.dbo.OCTG OCTG
      On OINV.GroupNum=OCTG.GroupNum 
             join SAPLIVE.dbo.OCRD OCRD
             On OINV.CardCode=OCRD.CardCode
      WHERE OINV.CANCELED='N' AND OINV.DocStatus='O' AND (OINV.DocTotal-OINV.PaidToDate)>0
    union
    SELECT ORIN.DocEntry,ORIN.DocNum,ORIN.ObjType,ORIN.CardCode,OCRD.CntctPrsn,OCRD.fax,ORIN.NumAtCard,ORIN.Address,OCTG.PymntGroup
           ,ORIN.CardName,ORIN.DocDate,ORIN.DocDueDate,ORIN.DocCur,ORIN.DocTotalFC,
           ORIN.DocTotal,(ORIN.DocTotal-ORIN.PaidToDate)as AmountAUD
      FROM SAPLIVE.dbo.ORIN ORIN join SAPLIVE.dbo.OCTG OCTG
      On ORIN.GroupNum=OCTG.GroupNum
       join SAPLIVE.dbo.OCRD OCRD
             On ORIN.CardCode=OCRD.CardCode
      WHERE ORIN.CANCELED='N' AND ORIN.DocStatus='O' AND (ORIN.DocTotal-ORIN.PaidToDate)

    Hello Julian - maybe you can start with the JDT1 table which contains all of the General Ledger Journal Entries...
    Hope this helps...
    Regards - Zal
    --F-BP AR Aging Report Detail Ver 1 ZP 2011 04 16
    --DESCRIPTION:  SQL uses General Ledger Detail to create an Aging Report which shows
    actual invoices, credit memos, and payments by reference date in the JDT1 table.
    --AUTHOR(s):
    --Version 1 Zal Parchem 16 April 2011
    SELECT
    T1.CardCode AS 'Cust Num',
    T1.CardName AS 'Cust Name',
    T0.SysDeb AS 'Debit Amt',
    T0.SysCred * -1 AS 'Credit Amt',
    CASE
    WHEN T0.TransType = 13 THEN 'AR Invoice'
    WHEN T0.TransType = 14 THEN 'AR Cred Memo'
    WHEN T0.TransType = 24 THEN 'Payment'
    ELSE 'Other'
    END AS 'Trans Type',
    T0.Ref1 AS 'Reference',
    FcCurrency AS '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 AS '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 AS '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 AS '61 to 90 days',
    CASE
    WHEN (DATEDIFF(DD,RefDate,Current_Timestamp)) +1 > 90
    AND (DATEDIFF(DD,RefDate,Current_Timestamp)) +1 < 121 THEN
    CASE
    WHEN SysCred < > 0 THEN SysCred * -1
    ELSE SysDeb
    END
    END AS '90 to 120 Days',
    CASE
    WHEN (DATEDIFF(DD,RefDate,Current_Timestamp)) +1 > 120
    THEN
    CASE
    WHEN SysCred != 0 THEN SysCred * -1
    ELSE SysDeb
    END
    END AS '120 Plus Days'
    FROM JDT1 T0
    INNER JOIN OCRD T1
    ON T0.ShortName = T1.CardCode
    AND T1.CardType = 'C'
    WHERE
    T0.IntrnMatch = '0'
    AND T0.BalDueDeb !=  T0.BalDueCred
    ORDER BY
    T1.CardCode,
    T0.TaxDate
    FOR BROWSE

  • Multi-Currency Customer Receivables Aging Query

    Hello Everyone,
    SAP B1 2005 SP 01 PL 42
    We cannot produce customer statements for multi-currency accounts (CND & USD) through the Customer Receivables Aging report.  The report converts all FC to LC which is not useful to the customer.
    The statement must show the open invoices in USD and open invoices in CND so that the customer can pay in the appropriate currency.
    We are attempting to create a query to solve this issue and assign a PLD to execute the calculations, but cannot see the best way to execute the task.
    The customer account balance (displaying only unreconciled tans.) would be the most reliable data set (form 809), but it is not available as a table in the query manager.  Any other table suggestions?
    We would like to avoid building the query from scratch (collecting all open invoices, credits, payments etc...) to avoid error.  We would also like to avoid exporting the data as this is very time consuming.  Any suggestions?
    Thanks in advance,
    Tamara

    We have found it better to set up two customers where different currencies are transacted - one in each currency. That way you can produce a statement in each currency.
    I know it's not a perfect solution, but a good work around?
    The only way to get the data you need would be to use OJDT and JDT1 tables, but you would need to join to the reconciliation table as well (OITR?) to get open transactions.

  • Accounts Receivable Report: Customer Wise Ageing Analysis report -FI module

    Hi Gurus,
                 Can anyone help me in providing standard report(source code) or already done sample report(source code) for Accounts Receivable Report: Customer Wise Ageing AnalysisThis is in FI Module. Though it is FI Module we need to fetch details related to Sales Module, and the days should be <0     30     60     90     120     180     365     >365     
    It is urgent I need to deliver this report by this week end.
    Please help me . Waiting for your reply.
    Points Rewarded for help rendered and I would personally send a good gift if you can help me
    Yours Truly,
    Rajiv Christopher.
    Edited by: Rajiv Christopher on Apr 2, 2008 11:33 AM

    Hi,
    i am attaching aging report.
    see if this is useful to you.
    REPORT ZFUS0102 MESSAGE-ID OA
                    LINE-SIZE 270.
    Title:      GR/IR AGING REPORT
    Date:       January 2001
    TABLES: DISVARIANT, EKPO.
    TYPE-POOLS: SLIS.
    Tables
    TABLES:
      BSIS,
      EKKO.
    working table
    DATA:  BEGIN OF RTAB OCCURS 0,
             HKONT   LIKE BSIS-HKONT,
             ZUONR   LIKE BSIS-ZUONR,
             BUDAT   LIKE BSIS-BUDAT,
             SHKZG   LIKE BSIS-SHKZG,
             DMBTR   LIKE BSIS-DMBTR,
             PRCTR   LIKE BSIS-PRCTR,
          END OF RTAB.
    DATA: BEGIN OF WTAB OCCURS 0,
             ZUONR(2) TYPE N,
             PRCTR   LIKE BSIS-PRCTR,
             DAYS(4)  TYPE P,
             DMBTR   LIKE BSIS-DMBTR,
          END OF WTAB.
    DATA: BEGIN OF PTAB OCCURS 0,
             ZUONR(2),
             PRCTR   LIKE BSIS-PRCTR,
             AMT30   LIKE BSIS-WRBTR,
             AMT60   LIKE BSIS-WRBTR,
             AMTPL   LIKE BSIS-WRBTR,
             TOTAL   LIKE BSIS-WRBTR,
          END OF PTAB.
    PARAMETERS:  COMPANY LIKE BSIS-BUKRS OBLIGATORY,
                 ACCT    LIKE BSIS-HKONT OBLIGATORY,
                 DATE    LIKE SY-DATUM OBLIGATORY.
    SELECT-OPTIONS: S_EKORG FOR EKKO-EKORG.
    PARAMETERS: P_VARI LIKE DISVARIANT-REPORT.
    DATA: WS-AMT30 LIKE BSIS-WRBTR.
    DATA: WS-AMT60 LIKE BSIS-WRBTR.
    DATA: WS-AMTPL LIKE BSIS-WRBTR.
    DATA: TITLE(21) VALUE 'GR/IR Aging Report'.
    DATA: LIN TYPE I.
    DATA: GX_VARIANT LIKE DISVARIANT,
          G_VARIANT LIKE DISVARIANT.
    DATA:  LAYOUT   TYPE SLIS_LAYOUT_ALV,
           L_F      TYPE SLIS_T_FIELDCAT_ALV   WITH HEADER LINE,
           GROUP    TYPE SLIS_T_SP_GROUP_ALV   WITH HEADER LINE,
           COLOR    TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.
    DATA:  LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
           LS_LINE TYPE SLIS_LISTHEADER,
           T_EVENTS   TYPE SLIS_T_EVENT.
    CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
    INITIALIZATION.
      PERFORM EVENTTAB_AUFBAUEN USING T_EVENTS[].
      PERFORM VARIANT_INIT.
    Get default variant
      GX_VARIANT = G_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                I_SAVE     = 'A'
           CHANGING
                CS_VARIANT = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND  = 2.
      IF SY-SUBRC = 0.
        P_VARI = GX_VARIANT-VARIANT.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
      PERFORM VARIANT_INPUTHELP_F14.
    START-OF-SELECTION.
      LS_LINE-TYP  = 'S'.
      WRITE SY-DATUM TO LS_LINE-INFO DD/MM/YY.
      WRITE SY-UZEIT TO LS_LINE-INFO+10.
      WRITE SY-UNAME TO LS_LINE-INFO+20.
      WRITE TITLE    TO LS_LINE-INFO+30.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
      PERFORM FIELDS.
      IF NOT P_VARI IS INITIAL.
        PERFORM PAI_OF_SELECTION_SCREEN.
      ELSE.
        CALL FUNCTION 'REUSE_ALV_VARIANT_SELECT'
             EXPORTING
                  I_DIALOG            = ' '
                  I_USER_SPECIFIC     = 'A'
                  I_DEFAULT           = ' '
            I_TABNAME_HEADER    =
            I_TABNAME_ITEM      =
                  IT_DEFAULT_FIELDCAT = L_F[]
                  I_LAYOUT            = LAYOUT
             IMPORTING
            E_EXIT              =
                  ET_FIELDCAT         = L_F[]
            ET_SORT             =
            ET_FILTER           =
             CHANGING
                  CS_VARIANT          = DISVARIANT
             EXCEPTIONS
                  WRONG_INPUT         = 1
                  FC_NOT_COMPLETE     = 2
                  NOT_FOUND           = 3
                  PROGRAM_ERROR       = 4
                  OTHERS              = 5.
      ENDIF.
    Decide which tables to access.
      PERFORM MAIN_SELECT.
      MOVE TITLE  TO LAYOUT-WINDOW_TITLEBAR.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
           EXPORTING
                I_CALLBACK_PROGRAM      = 'ZFUS0102'
                I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
                IS_LAYOUT               = LAYOUT
                IT_FIELDCAT             = L_F[]
                IT_SPECIAL_GROUPS       = GROUP[]
                I_SAVE                  = 'A'
                IS_VARIANT              = G_VARIANT
                IT_EVENTS               = T_EVENTS
           TABLES
                T_OUTTAB                = PTAB
           EXCEPTIONS
                PROGRAM_ERROR           = 1
                OTHERS                  = 2.
          FORM FIELDS                                                   *
    FORM FIELDS.
      L_F-FIELDNAME     = 'ZUONR'.
      L_F-OUTPUTLEN     = 6.
      L_F-SELTEXT_L     = 'SERIES'.
      L_F-REPTEXT_DDIC  = 'SERIES'.
      L_F-REF_TABNAME   = 'PTAB'.
      L_F-SP_GROUP      = 'A'.
      APPEND L_F. CLEAR L_F.
      L_F-FIELDNAME     = 'PRCTR'.
      L_F-OUTPUTLEN     = 10.
      L_F-SELTEXT_L     = 'PROFIT CTR.'.
      L_F-REPTEXT_DDIC  = 'PROFIT CTR.'.
      L_F-REF_TABNAME   = 'PTAB'.
      L_F-SP_GROUP      = 'A'.
      APPEND L_F. CLEAR L_F.
      L_F-FIELDNAME     = 'AMT30'.
      L_F-SELTEXT_L     = '30 DAYS'.
      L_F-REPTEXT_DDIC  = '30 DAYS'.
      L_F-REF_TABNAME   = 'PTAB'.
      L_F-SP_GROUP      = 'A'.
      L_F-REF_TABNAME   = 'BSIS'.
      L_F-REF_FIELDNAME = 'WRBTR'.
      L_F-DO_SUM        = 'X'.
      APPEND L_F. CLEAR L_F.
      L_F-FIELDNAME     = 'AMT60'.
      L_F-SELTEXT_L     = '60 DAYS'.
      L_F-REPTEXT_DDIC  = '60 DAYS'.
      L_F-REF_TABNAME   = 'PTAB'.
      L_F-SP_GROUP      = 'A'.
      L_F-REF_TABNAME   = 'BSIS'.
      L_F-REF_FIELDNAME = 'WRBTR'.
      L_F-DO_SUM        = 'X'.
      APPEND L_F. CLEAR L_F.
      L_F-FIELDNAME     = 'AMTPL'.
      L_F-SELTEXT_L     = '60+ DAYS'.
      L_F-REPTEXT_DDIC  = '60+ DAYS'.
      L_F-REF_TABNAME   = 'PTAB'.
      L_F-SP_GROUP      = 'A'.
      L_F-REF_TABNAME   = 'BSIS'.
      L_F-REF_FIELDNAME = 'WRBTR'.
      L_F-DO_SUM        = 'X'.
      APPEND L_F. CLEAR L_F.
      L_F-FIELDNAME     = 'TOTAL'.
      L_F-SELTEXT_L     = 'TOTAL'.
      L_F-REPTEXT_DDIC  = 'TOTAL'.
      L_F-REF_TABNAME   = 'PTAB'.
      L_F-SP_GROUP      = 'A'.
      L_F-REF_TABNAME   = 'BSIS'.
      L_F-REF_FIELDNAME = 'WRBTR'.
      L_F-DO_SUM        = 'X'.
      APPEND L_F. CLEAR L_F.
    ENDFORM.
          FORM MAIN_SELECT                                              *
    FORM MAIN_SELECT.
      SELECT HKONT ZUONR BUDAT SHKZG DMBTR PRCTR
           INTO TABLE RTAB
           FROM BSIS
           WHERE BUKRS = COMPANY
           AND   HKONT = ACCT.
      IF SY-SUBRC = 0.
        SORT RTAB.
        PERFORM PROCESS_RTAB.
        PERFORM PROCESS_WTAB.
      ENDIF.
    ENDFORM.                    " MAIN SELECT
          FORM VARIANT_INPUTHELP_F14                                    *
    FORM VARIANT_INPUTHELP_F14.
      DATA:  G_EXIT(1) TYPE C.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                IS_VARIANT          = G_VARIANT
                I_SAVE              = 'A'  " g_save
              it_default_fieldcat =
           IMPORTING
                E_EXIT              = G_EXIT
                ES_VARIANT          = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND = 2.
      IF SY-SUBRC = 2.
        MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        IF G_EXIT = SPACE.
          P_VARI = GX_VARIANT-VARIANT.
        ENDIF.
      ENDIF.
    ENDFORM.
          FORM USER_COMMAND                                             *
    -->  UCOMM                                                         *
    -->  SELFIELD                                                      *
    FORM USER_COMMAND USING UCOMM LIKE SY-UCOMM SELFIELD TYPE
    SLIS_SELFIELD.
      IF UCOMM EQ '&IC1'.
        IF SELFIELD-TABINDEX <= 0.
          MESSAGE S108.
          EXIT.
        ENDIF.
      IF SELFIELD-SEL_TAB_FIELD CS 'LIFNR'.
        SET PARAMETER ID 'LIF' FIELD SELFIELD-VALUE.
        CALL TRANSACTION 'XK02'.
      ELSE.
        IF SELFIELD-SEL_TAB_FIELD CS 'VEND'.
          SET PARAMETER ID 'LIF' FIELD SELFIELD-VALUE.
          CALL TRANSACTION 'FBL1'.
        ENDIF.
      ENDIF.
        CLEAR SY-UCOMM. CLEAR UCOMM.
      ENDIF.
    ENDFORM.
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                IT_LIST_COMMENTARY = LT_TOP_OF_PAGE.
    ENDFORM.
          FORM EVENTTAB_AUFBAUEN                                        *
    -->  P_T_EVENTS                                                    *
    FORM EVENTTAB_AUFBAUEN USING P_T_EVENTS TYPE SLIS_T_EVENT.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                I_LIST_TYPE = 0
           IMPORTING
                ET_EVENTS   = P_T_EVENTS.
      READ TABLE P_T_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                                                     INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO P_T_EVENTS.
      ENDIF.
    ENDFORM.                               " EVENTTAB_AUFBAUEN
          FORM PAI_OF_SELECTION_SCREEN                                  *
    FORM PAI_OF_SELECTION_SCREEN.
      IF NOT P_VARI IS INITIAL.
        MOVE G_VARIANT TO GX_VARIANT.
        MOVE P_VARI TO GX_VARIANT-VARIANT.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
             EXPORTING
                  I_SAVE     = 'A'  " g_save
             CHANGING
                  CS_VARIANT = GX_VARIANT.
        G_VARIANT = GX_VARIANT.
      ELSE.
        PERFORM VARIANT_INIT.
      ENDIF.
    ENDFORM.                               " PAI_OF_SELECTION_SCREEN
          FORM VARIANT_INIT                                             *
    FORM VARIANT_INIT.
      CLEAR G_VARIANT.
      G_VARIANT-REPORT = 'ZFUS0102'.
    ENDFORM.                               " VARIANT_INIT
    *&      Form  PROCESS_RTAB
          text
    -->  p1        text
    <--  p2        text
    FORM PROCESS_RTAB.
      DATA TLNS TYPE I.
      DESCRIBE TABLE S_EKORG LINES TLNS.
      LOOP AT RTAB.
        IF TLNS GT 0.
          SELECT SINGLE EKORG FROM EKKO INTO EKKO-EKORG
            WHERE EBELN = RTAB-ZUONR(10).
          CHECK EKKO-EKORG IN S_EKORG.
        ENDIF.
        IF NOT RTAB-BUDAT > DATE.
          MOVE RTAB-ZUONR(2) TO WTAB-ZUONR.
          COMPUTE WTAB-DAYS = DATE - RTAB-BUDAT.
          IF RTAB-SHKZG = 'H'.
            WTAB-DMBTR = RTAB-DMBTR * -1.
          ELSE.
            WTAB-DMBTR = RTAB-DMBTR * 1.
          ENDIF.
          MOVE RTAB-PRCTR TO WTAB-PRCTR.
          APPEND WTAB.
        ENDIF.
      ENDLOOP.
      FREE RTAB.
    ENDFORM.                    " PROCESS_RTAB
    *&      Form  PROCESS_WTAB
          text
    -->  p1        text
    <--  p2        text
    FORM PROCESS_WTAB.
      SORT WTAB BY ZUONR PRCTR DAYS.
      LOOP AT WTAB.
        PTAB-ZUONR = WTAB-ZUONR.
        PTAB-PRCTR = WTAB-PRCTR.
        AT END OF DAYS.
          SUM.
          IF WTAB-DAYS > 60.
            WS-AMTPL = WS-AMTPL + WTAB-DMBTR.
          ELSE.
            IF WTAB-DAYS > 30.
              WS-AMT60 = WS-AMT60 + WTAB-DMBTR.
            ELSE.
              WS-AMT30 = WS-AMT30 + WTAB-DMBTR.
            ENDIF.
          ENDIF.
        ENDAT.
        AT END OF PRCTR.
          PTAB-AMTPL = WS-AMTPL.
          PTAB-AMT30 = WS-AMT30.
          PTAB-AMT60 = WS-AMT60.
          COMPUTE PTAB-TOTAL = PTAB-AMTPL + PTAB-AMT30 + PTAB-AMT60.
          APPEND PTAB.
          WS-AMTPL = 0.
          WS-AMT30 = 0.
          WS-AMT60 = 0.
        ENDAT.
      ENDLOOP.
      SORT PTAB BY ZUONR PRCTR.
    ENDFORM.                    " PROCESS_WTAB
    regards,
    Sindhu

  • How to get exact Ageing Date In "Customer Receivable Ageing" report?

    Need query   that  give the exact aging date instead of date/month range  in customer receivable ageing.Pls Help

    Hi,
    Please note, just added for 52 days. if you want more days, just add.
    declare @Cust as nvarchar(20)
    Declare @FromDate Datetime
    Declare @ToDate Datetime
    declare @Group as nvarchar(20)
    set @cust = (select max(t0.cardcode) from OINV t0 where t0.cardcode = '[%0]')
    Set @FromDate = (Select min(t0.Docdate) from dbo.OINV t0 where t0.Docdate >='[%1]')
    Set @ToDate = (Select max(t0.Docdate) from dbo.OINV t0 where t0.Docdate <='[%2]')
    set @group = (select max(t2.groupname) from OCRG t2 where t2.groupname = '[%3]')
    SELECT [CustName] as CustName, [G] as CustGroup, [1] as '1', [2] as '2', [3] as '3', [4] as '4', [5] as '5', [6] as '6', [7] as '7', [8] as '8', [9] as '9', [10] as '10', [11] as '11', [12] as '12', [13] as '13', [14] as '14', [15] as '15', [16] as '16', [17] as '17', [18] as '18', [19] as '19', [20] as '20', [21] as '21', [22] as '22', [23] as '23', [24] as '24', [25] as '25', [26] as '26', [27] as '27', [28] as '28', [29] as '29', [30] as '30' , [31] as '31', [32] as '32', [33] as '33', [34] as '34', [35] as '35', [36] as '36', [37] as '37', [38] as '38', [39] as '39', [40] as '40', [41] as '41', [42] as '42', [43] as '43', [44] as '44', [45] as '45', [46] as '46', [47] as '47', [48] as '48', [49] as '49', [50] as '50', [51] as '51', [52] as '52'
    from
    (SELECT T0.[CardName] as CustName, sum(T0.[DocTotal]) as Total, datepart(dd,T0.[DocDate]) as DAYS, t2.groupname as G  FROM OINV T0   left JOIN OCRD T1 ON T0.CardCode = T1.CardCode left JOIN OCRG T2 ON T1.GroupCode = T2.GroupCode   WHERE year(T0.[DocDate]) = 2013 and T0.[CardCode] = @Cust and  T0.[DocStatus]  ='o' and T0.[DocDate] between @fromdate and @todate and t2.groupname = @group GROUP BY T0.[CardName],T0.[DocDate],t2.groupname
    union all
    (SELECT T0.[CardName] as CustName, -sum(T0.[DocTotal]) as Total, datepart(dd,T0.[DocDate]) as DAYS,t2.groupname as G  from ORIN T0  left JOIN OCRD T1 ON T0.CardCode = T1.CardCode left JOIN OCRG T2 ON T1.GroupCode = T2.GroupCode   WHERE year(T0.[DocDate]) = 2013 and T0.[CardCode] = @Cust and  T0.[DocStatus]  ='o' and T0.[DocDate] between @fromdate and @todate and t2.groupname = @group  GROUP BY T0.[CardName],T0.[DocDate],t2.groupname )) S
    Pivot
    (sum(S.total) For DAYS IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12], [13], [14],[15],[16],[17],[18],[19],[20],[21], [22], [23], [24], [25], [26], [27], [28],[29], [30], [31], [32],[33],[34],[35],[36],[37],[38],[39],[40], [41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52])) P
    Hope helpful.
    Thanks & Regards,
    Nagarajan

  • POSTING DATE RANGE INCLUDED IN CUSTOMER RECEIVABLE AGEING REPORT PLD

    Dear All,
    Please can you tell me how to print the posting date range selected in the parameter selection for Customer Receivable Ageing Report PLD.
    Thanks
    Gary

    Dear Rahul,
    I know that but it is really painful to develop the whole report in crystal where it is available in SAP itself. Imagine just for one requirement i will have to build the whole report in crystal. I think SAP should give flexibility to change the hard coded reports.
    Regards,
    Gary

  • Add Doc. Date to "Customer Receivables Ageing" report

    Hi!
    Let me know if you can in the PLD layout called "Business Partners Aging (Details) (System)" show instead of the Posting Date the Doc. Date.
    Thanks!

    Hi,
    Please check Note No. : 1260740.
    Extracts from the Note :
    Symptom
    How to print Posting date, Document date or Due date of the documents on Detailed Receivable Ageing Report.
    Cause
    Consulting
    Solution
    In 2005 A version this is not possible to print Posting date, Due date or Document date on Detailed Receivable Ageing Report. However this can be printed in 2007 A Version.
    To do this please follows the below steps:
    1. Open the customer receivable ageing report as follow:
    Reports -> Financials-> Accounting-> Ageing-> Customer Receivable Ageing
    2. Run the report.
    3. In the 'Customer Receivable Aging' window you can Age by Due date/Posting date/Document date. Here select any date (that you want to display) e.g. Document date for ageing.
    5. Take the print preview.
    6. Select the option "Detailed Receivable Ageing Report" from the print options.
    7. Click on Ok.
    You will see that Document date of all the documents will be printed.
    Check if it helps.
    Kind Regards,
    Jitin
    SAP Business One Forum Team

  • Add column to "Customer Receivables Ageing" report

    Hi all!
    I would need to add a new column via SDK to the matrix in the SAP report "Reports Business Partner -> Ageing -> Customer Receivables Aging". I also want to populate this column with SDK after the report was loaded.
    Does anyone have any suggestions??
    Thanks

    Hi.......
    I guess this is not possible to insert an extra column to the SAP Standard report.
    I would suggest you to develop your own report so that it will be easy to insert desired columns.....
    Regards,
    Rahul

  • Customer receivables ageing report - Crystal Parameters

    I want to create a customer receivables ageing report (Customer statement report - one page per customer) using crystal reports 2008. See image below.
    I need to know which parameters must be created in Crystal to receive the neccesary information for creating this report. See circled fields in screenshot below.
    Can some please point me in the right direction for starting of this report in Crystal.

    Hi Vishal,
    SAP always recommends to go with the ageing report by journal postings in the old versions. What happens there is that there are 2 separate reconciliation engines at work, one at document level which supports partial reconciliation & one at journal entry level, which only supports full reconciliation. Please have a look at this YEC presentation:
    https://psd.sap-ag.de/PEC/calendar/html/recording.php?hck=ee2c7bfa07c3f6523f8846e14428985172efeb4545d14ed4757dfc29be3732557a8abf7a1e89fc7e357cd90b6c39b9123e5cf0f6c4b1ab283171b31ede9ba278
    One of the most significant changes in version 2007 & 8.8 is that these reconciliation engines are now unified in that partial reconciliation is also fully supported on journal entry level.
    You will find a lot of info on this landing page:
    English: http://service.sap.com/~sapidb/011000358700000380562007E
    I would highly recommend you upgrade to 2007, it is much, much more advanced than 2005.
    All the best,
    Kerstin

Maybe you are looking for

  • CCM  Upload CSV2.0 file to Supplier Catalog fails if using " ' , ;

    Hello all, We're unable to up-load supplier catalogs using CSV2.0 format when text fields in the file contain any of the following characters:  comma, semi-colon, apostrophe, quote (, ; ‘ “). While we can get around this by excluding these characters

  • Expression In SSRS 2008

    Hi... I am stuck with expression in SSRS. am writing this in expession : =IIF(Parameters!Month.Value = "1",  MonthName(Parameters!Month.Value + 11),    MonthName(Parameters!Month.Value) when i run this expression and value  =  1 (mean true) then it r

  • Third party sales invoice

    hi all, Happy new year. In third party invoice am getting " Tax code VN in procedure TAXSG is invalid". what is the solutions for this rgds Girish

  • I pod 160gb 5th generation-problem with sync

    I have bought my I pod classis 5th ngeneration two months ago. It was working fine until one day when i connected it to itunes, it started to synchronize music and after a couple of minutes I got message that i pod cannot be synced because an unknown

  • How do I uninstall Firefox silently from Windows 8?

    Hi I'm trying to deploy Firefox 26.0 silently using the -ms switch. This is working perfectly for Windows 7 and Windows 8 When I try to uninstall silently using the /S switch, it doesn't do anything at all. How should I perform a silent uninstall?