Incorrect Aging Formula for B1 Std Report - Customer Receivable Aging

For some reason we have to recreate this report using Crystal, and we realize that aging formula for 90-120 & 120+ was difference from what std report shown. It was because of the aging formula in SAP not consistent with it's column header; for the 90-120 using (age >=90 and <120) and for the 120+ using (age >=120).
Is it a correct behavior or just another inconsistency in B1 ? We use B1 2007A  PL45

The formula is correct.  120+ could include 120.
Otherwise, 120 will be out of the report scope.
Thanks,
Gordon

Similar Messages

  • 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

  • Variable for Document Date in Customer Receivable Aging

    Hi all,
    This is regarding u201CCustomer Receivable Aging u2013 Detailsu201D in SBOne.
    In the print layout, I found 3 types of date in system variables i.e.
    1) system variable 184 = Due Date
    2) system variable 185 = Posting Date
    3) system variable 187 = The is vary by u201Cage byu201D Date (either document date, posting  date or due date)
    Regardless the date chosen for aging, we would like to display both Invoice (Document) Date and Due Date permanently on the layout.
    Does anyone know what is the system variable for invoice/document date in this layout. Thanks for help in advance.
    Regards,
    Eric Tan

    Sorry this is no right answer. I had test it variable 65 doesn't work.
    I found that the System variable 187 will be either document date, posting date or due date based on the aging date selection in Receivable Details Aging Report
    Any other advise.How to check the all the variable in Receivable Detals Aging Report.
    Thanks.

  • Customer receivables Aging report was changed

    When try to generate the SAP Standard Report Customer Receivables Aging, supprised to see that the column has been changed. The first column was the Future Remit, second column is the 0-30 aging, third column is Customer name. I chcek if the Form settings was enable but it was not active.
    How i can bring back its original layout not the print layout but its original layout when generating this report?

    Hi,
    I think you misunderstood my questions due to wordings. Sorry about that.
    I actually wanted to know, if the Aging Report is opened in multiple instance and then the issue is happening or when the first instance of the report is opened the issue appears?
    If it happens when you open first instance itself, then you need to open a support ticket.
    If it happens when multiple instance in single logon are run, then you can refer to Note No. :  1306926.
    Kind Regards,
    Jitin
    SAP Business One Forum Team

  • Report DETAILED RECEIVABLES AGING REPORT

    the client Arquicentro load report Customer Receivable Aging by Sales Employees
    they generate report DETAILED RECEIVABLES AGING REPORT but this report
    doesn´t show details documents with POSTING DATE
    The client has request that scales to support this improvement
    Dear Martha,
    The reported functionality does not exist in the present releases of SAP Business One, as you have already mentioned.
    As explained in note 1028874 regards missing Functionality, in case the missing functionality is regarding a legal compliance issue, please use the attached template to complete your request and send it back with this message.
    In all other cases (i.e. non-legal issues), like the case you described, we would like to ask you to post your requirement in our SAP Business One Product Development Collaboration forum and not via m essage (please kindly close the message if you have opened one for a non-legal requirement): /community
    For more information please go to that note.
    Kind Regards,
    Paulo Calado
    Senior Support Consultant
    SAP Product Support for SAP Business One

    Hello,
    This report is one of the hard coded PLD that do not allow you to add UDF.
    Thanks,
    Gordon

  • Query for Customer Receivables Aging Report

    What is the query to the Customer Receivables Aging Report? I cannot seem to reproduce the same results that SAP has in my Crystal Report.
    Thanks

    To reproduce it by query would not be an easy job.  Crystal Report is a better tool for report.
    Thanks,
    Gordon

  • 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

  • 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

  • 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

  • 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

  • Customer Receivables Ageing Report

    Hi experts,
    Our SAP version is 2005B PL 43.
    The Customer receivable Ageing Report has two tabs- By Journal entries tab and By sales Documents tab.
    1. We find that all Payments, Credit notes and Invoices appear in the Customer Ageing Report By Journal Postings.
    This happens in case where an invoice has been partly paid alongwith few other invoices which have been fully paid which we are unable to knock off, limitation in this version of SAP.As a result the Incoming payment and The Invoices both are seen as open in the Ageing Report - By jounal Postings whereas the Ageing Report by Sales Documents shows the net values.
    There are cases where if an incoming payment is cancelled, the cancelled entry is not knocked off,again a limitation in this version,as a result the Ageing Report by Jounal postings shows both the wrong payment received as well as the cancelled entry.This does not appear in the Ageing Report by Sales documents.
    2. The customer Statement Report if printed from the Customer Receivable Ageing Report - By Jounal Postings displays the payment entries alongwith the Credit notes and Invoices, which is very difficult for the customer to understand.
    Instead can we use the Ageing Report by Sales Documents to print the Customer Statement Report?
    3. Lastly The Ageing Report by Journal Postings can match the Ageing Report by Sales documents only if partly paid invoices, advance payments and cancelled payments are knocked off.
    We are currently not planning to upgrade to 2007B as we are waiting for the 8.8 version which will be rolled out in end of Dec, as informed to us by the SAP regional office.
    Our question is which settings will give us the correct Ageing for a customer?
    Regards,

    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

  • Customer Receivables Aging Report doesn't show correct data

    Hi Experts,
    I have some problem when executing Customer Receivables Aging Report.
    I'm using 8.8 PL14.
    (It should be bug this is very strange ...)
    I can't get same result even if I run it continuosly when I selected option "group by Customer" .
    Total amount of balance due is change each time because of BP shown in the report is change.
    I also got the message " Data is not available, modify selection criteria and re-enter" even though I never change selection.
    During executing this report, no Invoice and JE and banking data were input.
    Please advice if you know about this error or having something information.
    Thanks,
    Kaori Shirasuna

    Hi,
    The latest patch level available for B1 8.8 is PL16. it will be released on week Oct 25-29, 2010. You may directly upgrade to this latest patch level to solve the issue. If you want to try using query SQL to generate the aging report, there are some threads discussion about the query. You may search it in the SBO reporting and printing forum.
    JimM

Maybe you are looking for

  • Exchange Global Address List search not showing name or email

    I have an iPhone and iPad connected to a Microsoft Exchange server at work. When I search the GAL for a person in the company, the results are shown as the Company only (data coming from the 'Company' field on the Exchange server) instead of the cont

  • Oracle 9i on Suse 8.2 Professional: INSTALLED!

    Thanks for all the posted hints. I would not have gotten the 9i database running without them. As mentioned on this board the web site at http://www.puschitz.com/InstallingOracle9i.shtml is great even though it is aimed at RedHat users, and I am runn

  • VOCAL EFFECT QUESTION

    Can anyone help me figure out how to get the effect used on that e-40 featuring t-pain "u and dat" song? It's the electronic sounding effect on t-pain's voice while he's singing. I think Cher andd a bunch of other artists have used it before. I'd rea

  • Urgent!! Nokia Lumia 730 Problem - Music pauses au...

    hi,      I got my lumia 730 about 5 days back, from then on my music pauses automatically and also i am unable to update my playlist with any new songs. Problems:- 1. Music pauses automatically. 2. Unable to update and save my playlist with any new s

  • Need help with jre-1_5_0_04 windows i586 use windows 98 first edition HELP

    HI, this is my first post here so please bear with me while I try to explain the problems I seem to be having here . I hope that someone here can assist me with these issues as well??? I am using the windows98 first edition, and I wanted to use the l