Open amount

guys
i need to display the open amount for the customer billing document
see the below eg
condider An invoice worth 1000 USD then say we receive a payment for 800, the open amount is 200.
how can i get this open amount for customer billing documents

hi vamsi,
While posting the incoming payment, post it as residual payment so that the 800 will be shown as cleared item and the balance 200 will be shown as residual item.
and while cheking the balance u can go to FBL3N and check mark the open items up to requiered date and find the 200 in open items.
Regards
one

Similar Messages

  • Open amount of Invoices.

    Hi Experts:
    I am using 0FI_GL_14 to extract data for Invoice payments. My requirement is that I have to show Open amount for the invoices.
    For example:
    - Invoice Amount: $ 100
    - Already Paid: $ 40
    - Open Amt: $ 60
    Is there any combination of fields in 0FI_GL_14, that can bring me the open amount for the inovice (i.e. $60)..?
    Any light would be helpful.
    Kind regards,

    Instead of attempting to calculate Customer Balances in Accounts Receivable by calculating the General Ledger line items, you could instead use the 0FI_AR_20 DataSource which shows the total debit postings (invoices and debits for items such as unauthorized/unearned discounts) and total credit postings (payments and credit memos).
    This data could then be updated to the 0FIAR_C20 InfoCube and for reporting you could use standard content query 0FIAR_M20_Q0001 - Customer Balances.
    Since you're already using 0FI_GL_14, I'm assuming that your source environment is at a minimum ECC6 EHP3 and that the New GL Reporting has been configured.

  • Is there any function module which gives open invoices &open amount?

    Hello All,
    I want to use function module which gives open invoices with open amount.
    I know 'CUSTOMER_OPEN_ITEMS'  'BAPI_AR_ACC_GETOPENITEMS' function which gives open invoices but does not give open amount.
    Can anyone help me to find such function?

    From this BAPI ,
    BAPI_AR_ACC_GETOPENITEMS, You got amount for items in lc_amount field of lineitems table parameter.
    I hope, it will helpful to you.
    by
    Prasad GVK.

  • Close Open Amount on A/P Down Payment Invoice

    Hi,
    I have the following scenario:
    I have created an A/P down payment invoice for 1000$
    Create an Outgoing Payment for this A/P Down Payment Invoice for 1000$
    This payment is closing the A/P Down Payment invoice
    Create an A/P Invoice for 800$ - apply this amount from the A/P Down Payment invoice (updating Amount to draw to 800$). The A/P invoice will close.
    The issue is how to get the money back from the supplier closing also the open amount of 200$ from the AP Down Payment Invoice.
    I have tried to apply an A/P credit memo to the A/P Down Payment Invoice but the system does not display the open amount from Down Payment invoice.
    Another way I have tried to create a manual A/P Credit Memo to BP and manually closing the open amount on A/P Down Payment Invoice but the system would not allowed me to cancel or remove the open amount on the Down payment.
    Do you have any other ideas?
    I am working with SAP B1 2007 PL42.
    Thank you,
    Alex

    Hi Alex
    please create a message for SAP Business One Support with high priority and all the details.
    regards
    Rui Pereira
    SAP Business One Forums Team

  • Funds Precommitment - Open amount is not updated

    Dear colleagues,
    When we close Precommitment document, open amount in the Earmarked Funds document is not updated.
    We had a similar problem with Earmarked Funds document and FI document which is solved using note 1376800.
    Our component version is SAP ECC 6.0, release 600.
    Can anyone help me with this problem?
    Thanks and regards,
    Tomislav

    Hi Tomislav,
    What happens if you run a report FMN5N (transaction)? Does system notify of missing line?
    Regards,
    Eli

  • How to find open orders with amount and open deliveries?

    Hi All,
    I want to find out the open orders with open amount and open deliveries for a particular customer.
    We need this for credit check purpose.
    Kindly guide us for this.
    Regards,
    Satish.

    Hi,
    To find out open order:
    data: c_bef_pgi(1) TYPE c VALUE 'A',
    RANGES: rg_wbstk FOR vbuk-wbstk."range for wbstk
      rg_wbstk-sign = 'I'.
      rg_wbstk-option = 'EQ'.
      rg_wbstk-low = 'C'.
      APPEND rg_wbstk.
      rg_wbstk-low = 'A'.
      APPEND rg_wbstk.
    1.first put query on vbak table
    2.Put query on vbuk table as
          SELECT vbeln bestk lfstk gbstk FROM vbuk
                  INTO TABLE it_vbuk_open
                  FOR ALL ENTRIES IN it_vbak
                  WHERE vbeln = it_vbak-vbeln AND
                        bestk IN rg_wbstk AND
                        lfstk = c_bef_pgi.
    so this wil give u open orders.
    3. Then according to vbuk, get the details from vbap.
    To find open delivery
    1. First put query on vbak table
    2. Put query on vbfa as
      SELECT vbelv posnv vbeln posnn vbtyp_n vbtyp_v FROM vbfa
                 INTO TABLE it_vbfa
                 FOR ALL ENTRIES IN it_vbak
                 WHERE vbelv = it_vbak-vbeln AND
                       vbtyp_n = 'J' AND
                       vbtyp_v = 'C'.
    3.Then from VBfa,get the details from LIkp
    4.Then put entry on vbuk as
    *entries from vbuk
          SELECT vbeln wbstk fkstk gbstk FROM vbuk
                 INTO TABLE it_vbuk_del
                 FOR ALL ENTRIES IN it_likp
                 WHERE vbeln = it_likp-vbeln AND
                       wbstk IN rg_wbstk AND
                       fkstk = c_bef_pgi.
    Thanks & Regards,
    Anagha Deshmukh

  • Open Down Payment Amount

    Hi Everyone,
    I had a sales order which had a 50% down payment invoice created.  The down payment invoice was paid by the customer.  There were three different deliveries against the order as they were partial shipments.  This led to three different invoices.  Our customer did not apply the down payment to the first invoice by accident.  They then applied the down payment against the second and third invoices.  However, this has left a balance open on the down payment.  The last two invoices did not total the down payment amount. 
    The first invoice that was created without the down payment applied against it is still open.  However, I can't seem to apply the down payment to the invoice.  Our customer, in an attempt, to correct the general ledger, did a journal entry to correct the g/l portion.  However, when I look at the Down Payments to Draw window (I get to it by going to an invoice that had a down payment applied against it and pressing the ... button next to Total Down Payment) it still shows an open amount.  How do I apply this open amount so it no longer appears?  Is there anyway to apply this against the first invoice?  If not, how do I clear this out of there?
    I appreciate anybody's help.
    Thank you,
    Amanda Ramstack

    Hi Kerstin and Suda,
    Thank you for your responses as well.  I appreciate the help.
    I wasn't able to do an internal reconcilliation because the down payment amounts are not listed.  So, I tried the process Kerstin suggested in a test environment.  I have a few questions:
    - What should I do if this an applied amount against the existing A/R Invoice?
    - How does this affect sales history?  Will it appear as if the customer has bought these items twice instead of once? 
    My biggest concern is in regards to the applied payment.  How should I handle this? 
    Thank you again for your help.
    Amanda

  • Custom purchase requsitionto vendor open and cleared payment report

    dear all i develop report but i cant ableto show in that open amount and cleared amount of vender in that report so please see this report and feedback me for logic to show open and clear amount of vendor purchase orderwise or vendorwise
    report zpo_purchase_history no standard page heading message-id 00.
    TABLES : bsik, bsak, lfa1, lfb1, skb1, t001, bapifvdexp_vzzbepp.
    type-pools:slis,ICON.
    types :begin of ty_po,
            banfn type eban-banfn,
            "Purchase Requisition Number
            bnfpo type eban-bnfpo,
            "Item Number of Purchase Requisition
            ekgrp type eban-ekgrp,                 "Purchasing Group
            badat type eban-badat,
            "Requisition (Request) Date
            menge type eban-menge,
            KNTTP TYPE EBAN-KNTTP,
             PSTYP type eban-PSTYP,
            "Purchase Requisition Quantity
            meins type eban-meins,
            "Purchase Requisition Unit of Measure
            lifnr type ekko-lifnr,                 "Vendor Account Number
            bedat type ekko-bedat,                 "Purchasing Document Date
            ebeln type ekpo-ebeln,
            "Purchasing Document Number
            ebelp type ekpo-ebelp,
            "Item Number of Purchasing Document
            matkl type ekpo-matkl,                 "Material Group
            mtart type ekpo-mtart,                 "Material Type
            matnr type ekpo-matnr,                 "Material Number
            txz01 type ekpo-txz01,                 "Short Text
            menge1 type ekpo-menge,                "Purchase Order Quantity
            meins1 type ekpo-meins,
            "Purchase Order Unit of Measure
            balqty type ekpo-menge,                "Balance Quantity
            netpr type ekpo-netpr,
            "Net Price in Purchasing Document
            peinh type ekpo-peinh,                 "Price Unit
            mblnr type mseg-mblnr,
            "Number of Material Document
            zeile type mseg-zeile,                 "Item in Material Document
            menge2 type mseg-menge,                "GR Quantity
            meins2 type mseg-meins,                "GR Unit of Measure
            werks type mseg-werks,                 "Plant
            charg type mseg-charg,                 "Batch
            belnr type rbkp-belnr,
            "Document Number of an Invoice Document
            bldat type ekbe-bldat,                 "Document Date in Document
            belnr_b type rbkp-belnr,
            SHKZG type ekbe-SHKZG ,                "Debit/Credit Indicator
            DMBTR type   bsik-dmbtr,                "Amount in Local Currency
            DMBTR_C type   bsAk-dmbtr,                "Amount in Local Currency
            thick(10) type c,                      "Thickness
            width(10) type c,                      "Width
            length(10) type c,                     "Length
            grade(10) type c,                        "Grade
            BELNR_d type bseg-belnr,
            xblnr type bkpf-xblnr,
            awkey  type bkpf-awkey,
            RMWWR type rbkp-RMWWR,
            WMWST1 type rbkp-WMWST1,
            end of ty_po.
    types :begin of ty_ekko,
            ebeln type ekko-ebeln,
            lifnr type ekko-lifnr,
            bedat type ekko-bedat,
            end of ty_ekko.
    types:begin of ty_ekpo,
            ebeln type ekpo-ebeln,
            ebelp type ekpo-ebelp,
            matnr type ekpo-matnr,
            txz01 type ekpo-txz01,
            menge type ekpo-menge,
            meins type ekpo-meins,
            netpr type ekpo-netpr,
            peinh type ekpo-peinh,
            banfn type ekpo-banfn,
            bnfpo type ekpo-bnfpo,
            mtart type ekpo-mtart,
            end of ty_ekpo.
    types :begin of ty_eban,
            banfn type eban-banfn,
            bnfpo type eban-bnfpo,
            matnr type eban-matnr,
            menge type eban-menge,
            meins type eban-meins,
            end of ty_eban.
    types : begin of ty_ekbe,
             ebeln type ekbe-ebeln,
             ebelp type ekbe-ebelp,
             belnr type ekbe-belnr,
             bldat type ekbe-bldat,
             gjahr type ekbe-gjahr,
             buzei type ekbe-buzei,
             matnr type ekbe-matnr,
             DMBTR type ekbe-dmbtr,
             shkzg type ekbe-shkzg,
             end of ty_ekbe.
    types : begin of ty_mseg,
             mblnr type mseg-mblnr,
             mjahr type mseg-mjahr,
             zeile type mseg-zeile,
             menge type mseg-menge,
             meins type mseg-meins,
             ebeln type mseg-ebeln,
             ebelp type mseg-ebelp,
             matnr type mseg-matnr,
             werks type mseg-werks,
             charg type mseg-charg,
             end of ty_mseg.
    types : begin of ty_rbkp,
             belnr type rbkp-belnr,
             gjahr type rbkp-gjahr,
             bldat type rbkp-bldat,
             lifnr type rbkp-lifnr,
             ZUONR type rbkp-ZUONR,
             RMWWR type rbkp-RMWWR,
             WMWST1 type rbkp-WMWST1,
             end of ty_rbkp.
    types : begin of ty_bseg,
             bukrs type bseg-bukrs,
             belnr type bseg-belnr,
             gjahr type bseg-gjahr,
             buzei type bseg-buzei,
             valut type bseg-valut,
             wrbtr type bseg-wrbtr ,
             augbl type bseg-augbl,
             matnr type bseg-matnr,
             lifnr type bseg-lifnr,
             ebeln type bseg-ebeln,
             end of ty_bseg.
    types : begin of ty_rseg,
             belnr type rseg-belnr,
             gjahr type rseg-gjahr,
             ebeln type rseg-ebeln,
             ebelp type rseg-ebelp,
             matnr type rseg-matnr,
             bukrs type rseg-bukrs,
             end of ty_rseg.
    types : begin of ty_bsik,
             belnr type bsik-belnr,
              buzei type bsik-buzei,
             DMBTR type bsik-DMBTR,
             budat type bsik-budat,
             shkzg type bsik-shkzg,
             ebeln type bsik-ebeln,
             lifnr type bsik-lifnr,
             end of ty_bsik.
    types : begin of ty_bsak,
             belnr type bsak-belnr,
       lifnr type bsak-lifnr,
        ebeln type bsak-ebeln,
             DMBTR_C type bsak-DMBTR,
    ZUONR type bsak-ZUONR,
             end of ty_bsak.
    types: begin of ty_bkpf,
             BELNR type bkpf-belnr,
             xblnr type bkpf-xblnr,
             awkey  type bkpf-awkey,
           end of ty_bkpf.
    data: it_po type standard table of ty_po,
           it_ekko type standard table of ty_ekko,
           it_ekpo type standard table of ty_ekpo,
           it_eban type standard table of ty_eban,
           it_ekbe type standard table of ty_ekbe,
           it_mseg type standard table of ty_mseg,
           it_rbkp type standard table of ty_rbkp,
           it_rseg type standard table of ty_rseg,
           it_bseg type standard table of ty_bseg,
           it_bsik type STANDARD TABLE OF ty_bsik with header line,
           it_bsak type STANDARD TABLE OF ty_bsak,
           it_bkpf type standard table of ty_bkpf,
           wa_po type ty_po,
           wa_ekko type ty_ekko,
           wa_ekpo type ty_ekpo,
           wa_eban type ty_eban,
           wa_mseg type ty_mseg,
           wa_rbkp type ty_rbkp,
           wa_rseg type ty_rseg,
           wa_bseg type ty_bseg,
           wa_ekbe type ty_ekbe,
           wa_bsik type ty_bsik,
           wa_bsak type ty_bsak,
           wa_bkpf type ty_bkpf.
    data: it_fcat type slis_t_fieldcat_alv,
           it_lshead type slis_t_listheader,
           it_sort type slis_t_sortinfo_alv,
           wa_fcat type slis_fieldcat_alv,
           wa_lshead type slis_listheader,
           wa_layout type slis_layout_alv,
           wa_sort type slis_sortinfo_alv.
    data :it_cl_data like table of clobjdat,
           wa_cl_data like clobjdat.
    data: values(10) type n.
    data: value1(4) type N.
    data: c_matkl type ekpo-matkl,
           c_matnr type ekpo-matnr,
           c_ekgrp type eban-ekgrp,
           c_badat type eban-badat,
           c_index type sy-tabix,
           c_grmenge type mseg-erfmg,
           c_low(10) type c,
           c_high(10) type c,
           c_date type string,
           c_bukrs type ekko-bukrs,
           c_WERKS type eban-WERKS.
    data: gd_date(10).
    DATA: V_EVENTS TYPE SLIS_T_EVENT,
           WA_EVENT TYPE SLIS_ALV_EVENT.
    *********Selection screen variables*********
    selection-screen:begin of block b1 with frame title text-001.
    select-options: s_bukrs for c_bukrs DEFAULT  'bmp1',
                     s_WERKS for c_WERKS,
                     s_matnr for c_matnr DEFAULT 'rm-01',
                     s_matkl for c_matkl ,
                     s_badat for c_badat ,"obligatory,
                     s_ekgrp for c_ekgrp.
    parameters: ch_bal as checkbox.
    selection-screen:end of block b1.
    *initialization.
    * PERFORM EVENT_CALL.
    *  PERFORM POPULATE_EVENT.
    start-of-selection.
         PERFORM EVENT_CALL.
       PERFORM POPULATE_EVENT.
       perform getdata.
       perform setdata.
       perform fieldcat.
       perform display.
    *&      Form  GETDATA
    form getdata .
       select a~BANFN
              a~bnfpo
              a~ekgrp
              a~badat
              a~KNTTP
              a~PSTYP
              b~ebeln
              b~ebelp
              b~matkl
              b~matnr
              b~bukrs
              into corresponding fields of table it_po
              from eban as a inner join ekpo as b
              on a~banfn = b~banfn and
                 a~bnfpo = b~bnfpo AND
                 A~KNTTP = B~KNTTP and
                 a~PSTYP = b~PSTYP
              where  a~badat in s_badat and
                     a~ekgrp in s_ekgrp and
                     a~WERKS in s_WERKS and
                     b~matnr in s_matnr and
                     b~matkl in s_matkl and
                     b~bukrs in s_bukrs and
                     b~loekz <> 'L' and
                     a~loekz <> 'X'.
       if it_po[] is not initial.
         select ebeln
                ebelp
                matnr
                txz01
                menge
                meins
                netpr
                peinh
                banfn
                bnfpo
                mtart
                from ekpo into table it_ekpo
                for all entries in it_po
                where ebeln = it_po-ebeln and
                      ebelp = it_po-ebelp and
                      loekz <> 'L'.
         select banfn
                bnfpo
                matnr
                menge
                meins
                from eban into table it_eban
                for all entries in it_po
                where banfn = it_po-banfn and
                      bnfpo = it_po-bnfpo and
                      loekz <> 'X'.
         if it_ekpo[] is not initial.
           select ebeln
                  lifnr
                  bedat
                  from ekko into table it_ekko
                  for all entries in it_ekpo
                  where ebeln = it_ekpo-ebeln.
           select ebeln
                  ebelp
                  belnr
                  bldat
                  gjahr
                  buzei
                  matnr
                  DMBTR
                  shkzg
                  from ekbe into table it_ekbe
                  for all entries in it_ekpo
                  where ebeln = it_ekpo-ebeln and
                        ebelp = it_ekpo-ebelp .
    *if it_ekbe-shkzg = 'H'.
    **ekbe-dmbtr = ekbe-dmbtr * -1.
    **ekbe-menge = ekbe-menge * -1.
    *endif.
    * select belnr
    *             gjahr
    *             ebeln
    *             ebelp
    *     from bseg into table it_bseg
    *             for all entries in it_ekpo
    *             where ebeln = it_ekpo-ebeln and
    *                   ebelp = it_ekpo-ebelp.
           select belnr
                  gjahr
                  ebeln
                  ebelp
                  matnr
                  bukrs
                  from rseg into table it_rseg
                  for all entries in it_ekpo
                  where ebeln = it_ekpo-ebeln and
                        ebelp = it_ekpo-ebelp.
         endif.
         if it_ekbe[] is not initial.
           select mblnr
                  mjahr
                  zeile
                  menge
                  meins
                  ebeln
                  ebelp
                  matnr
                  werks
                  charg
                  from mseg into table it_mseg
                  for all entries in it_ekbe
                  where mblnr = it_ekbe-belnr and
                        mjahr = it_ekbe-gjahr and
                        zeile = it_ekbe-buzei and
                        bwart = '101'.
         endif.
         if it_rseg[] is not initial.
           select belnr
                  gjahr
                  bldat
                  lifnr
                  ZUONR
                  RMWWR
                  WMWST1
                  from rbkp into table it_rbkp
                  for all entries in it_rseg
                  where belnr = it_rseg-belnr.
         endif.
    *if it_rseg[] is not initial.
    *      SELECT bukrs
    *              belnr
    *              gjahr
    *              buzei
    *              valut
    *              wrbtr
    *              augbl
    *              matnr
    *              lifnr
    *              ebeln
    *        INTO TABLE it_bseg
    *          FROM bseg
    *          FOR ALL ENTRIES IN it_rseg
    *          WHERE bukrs = it_rseg-bukrs and ebeln = it_rseg-ebeln and mwskz = ''.
    *endif.
    *loop at it_BKPF into wa_BKPF.
    *  values = wa_rbkp-belnr.
    *  value1 = wa_rbkp-gjahr.
       data: aekey_1 type string .
    *CONCATENATE values value1 into aekey_1.
    *  if it_BSEG[] is not initial.
    *MESSAGE aekey_1 type 'I'.
           SELECT single belnr xblnr awkey into wa_bkpf
             from bkpf
             where awkey = aekey_1.
    SELECT SINGLe belnr
    buzei
    dmbtr
    budat
       shkzg
       ebeln
       lifnr
       FROM bsik
    INTO CORRESPONDING FIELDS OF  wa_bsik
    *FOR ALL ENTRIES IN it_bseg
    WHERE
        bukrs in s_bukrs and
        lifnr = wa_rbkp-lifnr
    and
    *AND gjahr = it_bseg-gjahr
    * AND
        belnr = wa_bkpf-belnr.
    insert wa_bsik into table it_bsik.
    CLEAR wa_bsik.
    CLEAR it_bsik.
    *endloop.
    * and ebeln = it_bseg-ebeln .
    *    select BELNR
    **           SHKZG
    **           DMBTR
    *           from bkpf into table it_bkpf
    *            for ALL ENTRIES IN it_rbkp
    *            where belnr = it_rbkp-belnr.
    *        ENDif.
    IF IT_bseg[] IS NOT INITIAL.
           select belnr
             LIFNR
             ebeln
                  DMBTR
              ZUONR
                  from bsik into table it_bsik
                  for all entries in it_bseg
                  where belnr = it_bseg-belnr.
           select belnr
             LIFNR
             ebeln
                  DMBTR
              ZUONR
                  from bsak into table it_bsak
                  for all entries in it_bseg
                  where belnr = it_bseg-belnr.
    ENDIF.
       else.
         message s002.
         leave list-processing.
       endif.
    endform.                    " GETDATA
    *&      Form  SETDATA
    form setdata .
       clear wa_po.
       loop at it_po into wa_po.
         c_index = sy-tabix.
    ********Calculate PR Quantity**********
         clear wa_eban.
         read table it_eban into wa_eban
                    with key banfn = wa_po-banfn
                             bnfpo = wa_po-bnfpo.
         if sy-subrc eq 0.
           move:wa_eban-menge to wa_po-menge,
                wa_eban-meins to wa_po-meins.
         endif.
    ********Calculate PO Quantity**********
         clear wa_ekpo.
         read table it_ekpo into wa_ekpo
                    with key banfn = wa_po-banfn
                             bnfpo = wa_po-bnfpo .
         if sy-subrc eq 0.
           move:wa_ekpo-txz01 to wa_po-txz01,
                wa_ekpo-netpr to wa_po-netpr,
                wa_ekpo-peinh to wa_po-peinh,
                wa_ekpo-mtart to wa_po-mtart,
                wa_ekpo-menge to wa_po-menge1,
                wa_ekpo-meins to wa_po-meins1.
         endif.
    ********Calculate Balance Quantity******
         clear wa_mseg.
         loop at it_mseg into wa_mseg
                where ebeln = wa_po-ebeln and
                      ebelp = wa_po-ebelp.
           c_grmenge = c_grmenge + wa_mseg-menge.
         endloop.
         move:wa_mseg-mblnr to wa_po-mblnr,
              c_grmenge to wa_po-menge2,
              wa_mseg-meins to wa_po-meins2,
              wa_mseg-werks to wa_po-werks,
              wa_mseg-charg to wa_po-charg.
         wa_po-balqty = wa_eban-menge - c_grmenge.
         clear : wa_rseg,wa_rbkp.
         read table it_rseg into wa_rseg with key
                        ebeln = wa_mseg-ebeln
                        ebelp = wa_mseg-ebelp.
         read table it_rbkp into wa_rbkp
                    with key belnr = wa_rseg-belnr
                             gjahr = wa_rseg-gjahr.
         if sy-subrc eq 0.
           move : wa_rbkp-belnr to wa_po-belnr,
                  wa_rbkp-bldat to wa_po-bldat,
                  wa_rbkp-RMWWR to wa_po-RMWWR,
                  WA_RBKP-WMWST1 TO WA_PO-WMWST1.
         endif.
           read table it_bseg into wa_bseg with key
                         ebeln = wa_rseg-ebeln
                         bukrs = wa_rseg-bukrs.
           if sy-subrc eq 0.
             move wa_bseg-belnr to wa_po-belnr_d.
           endif.
    *    read table it_bkpf into wa_bkpf
    *    with key belnr = wa_ekbe-belnr.
    *    read table it_bseg into wa_bseg
    *    with key belnr = wa_bkpf-belnr.
    CLEAR wa_bsik.
    clear it_bsik.
         read table it_bsik into wa_bsik
         with key belnr = wa_bkpf-belnr.
    *    if wa_bsik-shkzg = 'H'.
    *     wa_bsik-DMBTR = wa_bsik-DMBTR * 1.
    *     endif.
           if sy-subrc eq 0.
             move : wa_bsik-belnr to wa_po-belnr,
                     wa_bsik-DMBTR to wa_po-DMBTR.
            endif.
    *    clear wa_bsik.
    *    read table it_bsik into wa_bsik
    *               with key  belnr = wa_bseg-belnr.
    *    if sy-subrc eq 0.
    *        move : wa_bsik-DMBTR to wa_po-DMBTR.
    *    endif.
    *clear wa_bsak.
    *    read table it_bsak into wa_bsak
    *               with key  belnr = wa_bseg-belnr.
    *    if sy-subrc eq 0.
    *        move : wa_bsak-DMBTR_C to wa_po-DMBTR_C.
    *    endif.
    *clear : wa_rbkp.
    *loop at it_bsik into wa_bsik.
    *read table it_bsik into wa_bsik with key belnr = wa_rbkp-belnr.
    *if sy-subrc eq 0.
    *  move : wa_bsik-DMBTR to wa_po-DMBTR.
    *    endif.
    *endloop.
    *********Assign Vendor,PO Date*********
         clear wa_ekko.
         read table it_ekko into wa_ekko
                    with key ebeln = wa_po-ebeln.
         if sy-subrc eq 0.
           move:wa_ekko-lifnr to wa_po-lifnr,
                wa_ekko-bedat to wa_po-bedat.
         endif.
    *clear wa_ekko.
    *read table it_ekko into wa_ekko
    *with key lifnr = wa_po-lifnr.
    *if sy-subrc eq 0.
    *  move: wa_bsik-DMBTR to wa_po-DMBTR.
    *  endif.
    *    call function 'ZSD_BATCH_CLASSIFICATION_DATA'
    *      exporting
    **        ch_charg                   = wa_po-charg
    *        ch_matnr                   = wa_po-matnr
    *        ch_werks                   = wa_po-werks
    *      tables
    *        cl_data                    = it_cl_data
    **       I_SEL_CHARACTERISTIC       =
         loop at it_cl_data into wa_cl_data.
           if wa_cl_data-ausp1 ne '?'.
             if wa_cl_data-atnam eq 'THICKNESS'.
               move wa_cl_data-ausp1 to wa_po-thick.
             elseif wa_cl_data-atnam eq 'LENGTH'.
               move wa_cl_data-ausp1 to wa_po-length.
             elseif wa_cl_data-atnam eq 'WIDTH'.
               move wa_cl_data-ausp1 to wa_po-width.
             elseif wa_cl_data-atnam eq 'GRADE'.
               move wa_cl_data-ausp1 to wa_po-grade.
             endif.
           endif.
         endloop.
         modify it_po from wa_po index c_index.
         clear :c_grmenge,wa_po,wa_ekpo,wa_mseg,c_index.
       endloop.
    endform.                    " SETDATA
    *&      Form  FIELDCAT
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form fieldcat .
       perform buildfields using '1' 'BANFN'  'IT_PO' 'PR Number' '' ''.
    *  perform buildfields using '2' 'BNFPO'  'IT_PO' 'PR Item Number' '' ''.
       perform  buildfields using '2' 'KNTTP' 'IT_PO' 'A/c Assignment Cat' '' ''.
       perform  buildfields using '2' 'PSTYP' 'IT_PO' 'Item Cat' '' ''.
       perform buildfields using '3' 'EKGRP'  'IT_PO' 'Purchase Group' '' ''.
       perform buildfields using '4' 'BADAT'  'IT_PO' 'Request Date' '' ''.
       perform buildfields using '5' 'MENGE'  'IT_PO' 'PR Quantity'  'X' ''.
       perform buildfields using '6' 'MEINS'  'IT_PO' 'PR Unit' '' ''.
       perform buildfields using '7' 'LIFNR'  'IT_PO' 'Vendor Number' '' ''.
       perform buildfields using '8' 'EBELN'  'IT_PO' 'Purchasing Doc No' '' ''  .
       perform buildfields using '9' 'BEDAT'  'IT_PO' 'PO Date' '' ''.
       perform buildfields using '10' 'MTART' 'IT_PO' 'Material Type' '' ''.
       perform buildfields using '11' 'MATKL' 'IT_PO' 'Material Group' '' ''.
       perform buildfields using '12' 'MATNR' 'IT_PO' 'Material Number' '' ''.
       perform buildfields using '13' 'TXZ01' 'IT_PO' 'Material Desc' '' ''.
       perform buildfields using '18' 'MENGE1' 'IT_PO' 'PO Quantity' 'X' ''.
       perform buildfields using '19' 'MEINS' 'IT_PO' 'PO Unit' '' ''.
       perform buildfields using '20' 'NETPR' 'IT_PO' 'Net Price' '' ''.
       perform buildfields using '21' 'PEINH' 'IT_PO' 'Price Unit' '' ''.
       perform buildfields using '22' 'MBLNR' 'IT_PO' 'GR Number' '' ''.
       perform buildfields using '23' 'MENGE2' 'IT_PO' 'GR Quantity' 'X' ''.
       perform buildfields using '24' 'MEINS2' 'IT_PO' 'GR Unit' '' ''.
       perform buildfields using '25' 'BELNR' 'IT_PO' 'Invoice doc. number' '' ''.
       perform buildfields using '26' 'BLDAT' 'IT_PO' 'Invoice Date' '' ''.
    *  perform buildfields using '26' 'BELNR_D' 'IT_POP' 'A/C Doc. No.' '' ''.
    *  perform buildfields using '26' 'AUGBL' 'IT_PO' 'Clearing Doc No.' '' ''.
       perform buildfields using '26' 'DMBTR' 'IT_PO' 'OPEN AMOUNT' '' ''.
      perform buildfields using '26' 'DMBTR' 'IT_PO' 'clear AMOUNT' '' ''.
    *  perform buildfields using '26' 'DMBTR_C' 'IT_PO' 'Clear balance' '' ''.
       if ch_bal = 'X'.
         perform buildfields using '27' 'BALQTY' 'IT_PO' 'Balance Quantity'
         'X' ''.
       endif.
       perform buildfields using '26' 'WMWST1' 'IT_PO' 'TOTAL TAX ADDED' 'X' ''.
       perform buildfields using '26' 'RMWWR' 'IT_PO' 'TOTAL AMOUNT IN INVOICE' 'X' ''.
    endform.                    " FIELDCAT
    *&      Form  BUILDFIELDS
    *       text
    *      -->P_0449   text
    *      -->P_0450   text
    *      -->P_0451   text
    *      -->P_0452   text
    form buildfields  using    value(p_col_pos) like sy-cucol
                                value(p_fldname) type slis_fieldname
                                value(p_tabname) type slis_tabname
                                value(p_reptext) like dd03p-reptext
                                value(p_do_sum) type char1
                                value(hotspot) type char1.
       wa_fcat-col_pos = p_col_pos.
       wa_fcat-fieldname = p_fldname.
       wa_fcat-tabname = p_tabname.
       wa_fcat-reptext_ddic = p_reptext.
       wa_fcat-do_sum = p_do_sum.
       wa_fcat-hotspot = hotspot.
       append wa_fcat to it_fcat.
       clear wa_fcat.
    endform.                    " BUILDFIELDS
    *&      Form  DISPLAY
    form display .
       clear wa_layout.
       wa_layout-zebra = 'X'.
       wa_layout-colwidth_optimize = 'X'.
    * wa_layout-box_fieldname     = 'SEL'.
    * wa_layout-edit = 'X'.
       perform build_sort using 'BANFN' '1' 'X'.
       call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
    *   I_INTERFACE_CHECK                 = ' '
    *   I_BYPASSING_BUFFER                = ' '
    *   I_BUFFER_ACTIVE                   = ' '
          i_callback_program               = sy-cprog
    *   I_CALLBACK_PF_STATUS_SET          = ' '
        I_CALLBACK_USER_COMMAND           = 'USER_COMMAND '
          i_callback_top_of_page           = 'TOP_OF_PAGE'
    *   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
    *   I_CALLBACK_HTML_END_OF_LIST       = ' '
    *   I_STRUCTURE_NAME                  =
        i_background_id                   = 'ALV_BACKGROUND'
    *   I_GRID_TITLE                      =
    *   I_GRID_SETTINGS                   =
          is_layout                        = wa_layout
          it_fieldcat                      = it_fcat
    *   IT_EXCLUDING                      =
    *   IT_SPECIAL_GROUPS                 =
         it_sort                           = it_sort
    *   IT_FILTER                         =
    *   IS_SEL_HIDE                       =
    *   I_DEFAULT                         = 'X'
        I_SAVE                            = 'A'
    *   IS_VARIANT                        =
    *   IT_EVENTS                         =
    *   IT_EVENT_EXIT                     =
    *   IS_PRINT                          =
    *   IS_REPREP_ID                      =
    *   I_SCREEN_START_COLUMN             = 0
    *   I_SCREEN_START_LINE               = 0
    *   I_SCREEN_END_COLUMN               = 0
    *   I_SCREEN_END_LINE                 = 0
    *   I_HTML_HEIGHT_TOP                 = 0
    *   I_HTML_HEIGHT_END                 = 0
    *   IT_ALV_GRAPHICS                   =
    *   IT_HYPERLINK                      =
    *   IT_ADD_FIELDCAT                   =
    *   IT_EXCEPT_QINFO                   =
    *   IR_SALV_FULLSCREEN_ADAPTER        =
    * IMPORTING
    *   E_EXIT_CAUSED_BY_CALLER           =
    *   ES_EXIT_CAUSED_BY_USER            =
         tables
           t_outtab                          = it_po[]
      exceptions
        program_error                     = 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.
    endform.                    " DISPLAY
    *&      Form  top_of_page
    *       text
    form top_of_page.                                           "#EC *
    **********Create report header*********
       refresh it_lshead.
       clear wa_lshead.
    **********To display date in header*********
    *  write: s_badat-low to c_low dd/mm/yyyy,s_badat-high to c_high
    *  dd/mm/yyyy.
    *  if s_badat-high is initial.
    *    concatenate 'Dated on' c_low into c_date separated by space.
    *  else.
    *    concatenate 'Dated between' c_low 'and' c_high into c_date separated
    *    by space.
    *  endif.
       wa_lshead-typ = 'H'.
       wa_lshead-info = 'PR To Payment History'.
    *  'Pending Indents History -

    We had a requirement to retrieve "aging of receiveables" by customer. Basically, it goes thru each record and depending on the due date places the amounts in the following buckets (example). 0-30 day Overdue, 31-60 days Overdue, 61-90 days overdue, 30+ days overdue, 60+ days overdue) etc all the way to 6+ years overdue.
    There are also cooresponding buckets for coming due analysis. For example, what is: 0-30 days coming due, 31-60 days coming due, 30+ days coming due, etc...
    To do this, first I needed to be able be able to produce an open items statement at any given time in the past. Now, this seems impossible because of how the items go from open to cleared all the time. And an item that was open one month ago, may not be open anymore.
    What I did was first remove any selections on item status. Then compare the posting date with teh key date in the past, if the posting date is less than or equal to the key date, keep the record.
    Then compare the clearing date with the key date. First, keep all that are #. (This keeps all records still open from that posting date/key date)
    Then, add another check for all items that were cleared after the key date (GT Key Date). This gives you the open items on that date.
    Hope that makes sense. Let me know if you want clarification.
    /smw

  • Report open POs as of a date in past

    Is there a report that will show open PO amount as of a date in the past?  I need to show open amounts as of 31dec2006.
    Thanks in advance,
    Den

    Hi Den,
    Please check the "List Display" & "Reporting" nodes under the Logistics -> MM -> Purchasing -> Purchase Order node within SAP menu.
    It shows a lot of transaction for analysis and reporting purchase order information and even analysis of archived documents.
    You can have a look at ME80 and ME81.
    Hope it helps.
    Rgds,
    Aditya

  • Open AR transaction and Receipts

    Can you let me know the standard concurrent programs which list all the Receivables Open AR Transaction and Open AR Receipts

    The table ar_payment_Schedules_all gives you the outstanding information as on date. For eg. if the system date is 13th April and if you query the ar_payment_schedules_all table, the amount_due_remaining column will give you the open amount as on that date.
    However if you want the oustanding as on some previous date, lets say as on 31st March, in that case you have to rollback all the applications that would have occured from 1st april to 13th april.
    Find below the script that I used to get the oustanding as on any previous date. Pls. note that I am using a temp table here to populate the details.
    declare
    v_cash_receipt NUMBER;
    v_adjustment NUMBER;
    v_credit_memo NUMBER;
    v_as_of_outstanding NUMBER;
    v_cash_receipt_acctd NUMBER;
    v_adjustment_acctd NUMBER;
    v_credit_memo_acctd NUMBER;
    v_credit_memo_acctd_1               NUMBER;
    v_as_of_outstanding_acctd NUMBER;
    p_as_of_date                          DATE;
    cursor cs_get_trx (p_as_of_date1 IN Date) is
    SELECT ps.customer_id CUST_ACCOUNT_ID
    , trx.creation_date INV_CREATION_DATE
    , ps.trx_number INVOICE_NUMBER
    , trx.trx_date                              INVOICE_DATE
    , ps.gl_date GL_DATE
    , NVL(ps.amount_due_original,0) INVOICE_AMOUNT
    , NVL(ps.tax_original,0) TAX_AMOUNT
    , NVL(ps.acctd_amount_due_remaining,0) ACCTD_OUTSTANDING_AMOUNT
    , ps.due_date
    , CEIL(sysdate - ps.due_date) DAYS_OUTSTANDING
    , ps.payment_schedule_id
    , ps.number_of_due_dates INSTALLMENT_NUMBER
    , trx.customer_trx_id
    , CEIL(p_as_of_date1 - ps.due_date) DAYS_LATE_AS_OF
    FROM ra_customer_trx TRX
    , ar_payment_schedules PS
    WHERE
    trx.customer_trx_id = ps.customer_trx_id
    AND ps.gl_date <= p_as_of_date1
    AND ps.gl_date_closed > p_as_of_date1 ;
    CURSOR cs_get_receipt(p_as_of_date2 IN DATE ) IS
    SELECT ps.customer_id CUST_ACCOUNT_ID
    , ps.payment_schedule_id
    , CEIL(p_as_of_date - ps.GL_DATE) days_late_as_of_r
    , ps.gl_date
    , cr.receipt_number
    , app.cash_receipt_id
    , sum(app.acctd_amount_applied_from) ACCTD_AMOUNT_APPLIED
    FROM ar_receivable_applications app
    , ar_cash_receipts cr
    , ar_payment_schedules ps
    WHERE app.cash_receipt_id = cr.cash_receipt_id
    AND app.payment_schedule_id = ps.payment_schedule_id
    AND app.status in ('ACC', 'UNAPP', 'UNID', 'OTHER ACC' )
    AND NVL(app.confirmed_flag,'Y') = 'Y'
    AND app.gl_date <= p_as_of_date2
    AND ps.gl_date <= p_as_of_date2
    AND ps.gl_date_closed > p_as_of_date2
    AND ( ( app.reversal_gl_date IS NOT NULL AND ps.gl_date <= p_as_of_date2 )
    OR app.reversal_gl_date IS NULL
    GROUP BY ps.customer_id
    , cr.receipt_number
    , app.cash_receipt_id
    , ps.payment_schedule_id
    , ps.gl_date
    HAVING
    sum(app.acctd_amount_applied_from) <> 0 ;
    Begin
    delete zxc_aging_cust1 ;
    p_as_of_date := to_date('&Enter_as_of_date','DD-MON-RRRR') ;
         For invoice in cs_get_trx(p_as_of_date)
         LOOP
    /* cash applied after p_as_of_date */
    SELECT NVL(SUM(NVL(acctd_amount_applied_to, 0.0) +
    NVL(acctd_earned_discount_taken,0.0) +
    NVL(acctd_unearned_discount_taken,0.0)),0.0)
    INTO v_cash_receipt_acctd
    FROM ar_receivable_applications
    WHERE TRUNC(gl_date) > p_as_of_date
    AND status||'' = 'APP'
    AND NVL(confirmed_flag,'Y') = 'Y'
    AND applied_payment_schedule_id = invoice.payment_schedule_id
    AND application_type LIKE 'CASH%';
    /* adjustments applied after p_as_of_date */
    SELECT NVL(SUM(ar_adjustments.acctd_amount), 0.0)
    INTO v_adjustment_acctd
    FROM ar_adjustments
    WHERE TRUNC(gl_date) > p_as_of_date
    AND status = 'A'
    AND payment_schedule_id = invoice.payment_schedule_id;
    /* invoice credited after p_as_of_date */
    SELECT nvl(sum(nvl(acctd_amount_applied_to, 0.0)), 0.0)
    INTO v_credit_memo_acctd
    FROM ar_receivable_applications
    WHERE applied_payment_schedule_id = invoice.payment_schedule_id
    AND nvl(confirmed_flag,'Y') = 'Y'
    AND status||'' = 'APP'
    AND TRUNC(gl_date) > p_as_of_date
    AND application_type LIKE 'CM%';
    /*added new by anil patil 7/7/7 */
    /* credit memo applied after p_as_of_date */
    SELECT nvl(sum(nvl(acctd_amount_applied_to, 0.0)), 0.0)
    INTO v_credit_memo_acctd_1
    FROM ar_receivable_applications
    WHERE payment_schedule_id = invoice.payment_schedule_id
    AND nvl(confirmed_flag,'Y') = 'Y'
    AND status||'' = 'APP'
    AND TRUNC(gl_date) > p_as_of_date
    AND application_type LIKE 'CM%';
    /* calculate actual outstanding amount */
    v_as_of_outstanding_acctd := invoice.acctd_outstanding_amount + v_cash_receipt_acctd - v_adjustment_acctd +
                                            v_credit_memo_acctd - v_credit_memo_acctd_1 ;
    insert into zxc_aging_cust1
    ( customer_id ,
    invoice_number     ,
              invoice_date ,
              gl_date          ,
              invoice_amount ,
              tax_amount ,
              acctd_outstanding_amount ,
              due_date     ,
              days_outstanding ,
              installment_number ,
              days_late_as_of ,
              current_os_amt ,
              cash_receipt_amt ,
              adj_amt ,
              credit_memo_amt ,
              credit_memo_amt_1
    values
              (invoice.cust_account_id ,
              invoice.invoice_number     ,
              invoice.invoice_date ,
              invoice.gl_date          ,
              invoice.invoice_amount ,
              invoice.tax_amount ,
              v_as_of_outstanding_acctd ,
              invoice.due_date     ,
              invoice.days_outstanding ,
              invoice.installment_number ,
              invoice.days_late_as_of ,
              invoice.acctd_outstanding_amount ,
              v_cash_receipt_acctd ,
              v_adjustment_acctd ,
              v_credit_memo_acctd ,
              v_credit_memo_acctd_1
         END LOOP ;
    COMMIT;
    FOR receipt in cs_get_receipt (p_as_of_date )
    LOOP
         INSERT INTO zxc_aging_cust1( customer_id
    , invoice_number
    , trx_type
    , acctd_outstanding_amount
    , gl_date
         VALUES( receipt.cust_account_id
    , receipt.receipt_number
    , 'RECEIPT'
    , -1 * receipt.acctd_amount_applied
    , receipt.gl_date );
    END LOOP;
    COMMIT ;
    END;
    Hope this helps.
    Thanks,
    Anil

  • Open Order Quantity by partial deliveries in 2LIS_02_SGR/CGR/SCN/ITM

    members,
    One of our customers uses now in BW the following Datasources for Purchase Orders:
    2LIS_02_SGR
    2LIS_02_CGR
    2LIS_02_SCN
    2LIS_02_ITM
    This seems to be done via the standard way of working,
    These 4 Datasources go to the DSO 0PUR_O01
    The data of this DSO goes via another DSO (ZPUR_O01) to the purchase cube ZPUR_C07
    In the DSO all values are overwritten, so you have the latest values.
    I expected the field "Current goods receipt quantity in order unit" (= /BIC/OW_AKTWE_DA) to be the total.
    But it is the latest value
    What I need is the open quantity for an order/position:
    In case of partial deliveries I see that you have the value of the last delivery.
    As I want to have the open order quantity in reports, is it necessary to make an extra field in the DSO (based on Goods receipts), but then with a summation rule?
    Or are there better options to realize this?
    I also see the field OPNQTY(= Open Amount of Schedule Line (after Goods Mvmnt Assignment)) in the Datasources 2LIS_02_SGR
    2LIS_02_CGR which is not used currently.
    I might oversee something trivial as the open order quantity is an important keyfigure report about.
    If you have any idea, let me know.
    Thx in advance,
    Ben J.

    Dear Anand
    This might be happen, when your data sources is not active in LBWE .
    Ex: You have maintained your setup initialization, at the time all the DS might not be active. Hence those DS only have the data in RSA3. In Future if you want to go with some other DS, you delete the setup table once and once again you need to fill the setup.
    Hence i request you to delete & reload the setup table, and try in RSA3
    Regards
    Raju Saravanan

  • How to process Customer Open Items? If that Customer is also an Vendor.

    Hi All,
    I need some help for  the below configuations,
    1. How to process Customer Open Items? If that Customer is also an Vendor to the Company. ( How to adjust these open amounts)
    1. How to process Vendor Open Items? If that Vendor is also an Customer to the Company. ( How to adjust these open amounts)
    Thanks
    Chandra

    Hi Chandra,
    In addition to all the above, if the Customers and Vendors are in different company codes, then, you would have to also do the following configuration.
    Execute transaction code <b>OBYA</b>, when prompted, type in 1st coy code, say A and then 2nd coy code, say B. This would take you to the "<b>Maintain FI Configuration: Automatic Posting - Clearing Accounts</b>" screen.
    In the first frame, where you have
    Posted in : A
    Cleared Against : B
    Under Receivable
    Debit Posting Key : <b>01</b>
    Account Debit : Account Number (The account can be a G/L account, a customer account or a vendor account)
    Under Payable
    Credit Posting Key : <b>31</b>
    Account Credit : Account Number (The account can be a G/L account, a customer account or a vendor account).
    In the second Frame
    Posted in : B
    Cleared Against : A
    Under Receivable
    Debit Posting Key : <b>01</b>
    Account Debit : Account Number (The account can be a G/L account, a customer account or a vendor account)
    Under Payable
    Credit Posting Key : <b>31</b>
    Account Credit : Account Number (The account can be a G/L account, a customer account or a vendor account).
    So, if you are using the Customer/Vendor approach, company A must be set up as both a Customer(Use Txn Code <b>XD01</b>) and a Vendor(USe Txn Code <b>XK01</b>) in Company B and vice versa.
    Once you have completed this set-up, you can then use transaction <b>F.13</b> and/or <b>F13E</b> to carry out your automatic clearing.
    However, if you intend to use the G/L approach, then the account numbers would be Inter-coy G/L account for each coy code as defined in the chart of accounts.
    I hope the above helps.
    Do not forget to award the points please.
    Regards,
    Jacob

  • How to migrate installment plan with open items

    Hi all,
    I am trying to figure out how to migrate an installment plan, when my legacy system does not tie my open items directly to my installment plans.  And the amounts in my open items table may not add up to the exact amount of the installment plan. 
    So for a simple example, I have $10 left on an installment plan that was created 6 months ago. 
    Since the creation of the plan obviously more charges and payments have been posted to this account, clearing previously open items and creating new ones.
    Presently, I have only 2 open items remaining, one for $6 and one for $7.
    So I have "enough" open items ($13 worth) to post the $10 installment plan, but not an exact match.
    The way I read the migration documentation on this, I thought I could use a OPUPZ field (Subitem for a Partial Clearing in Document) to signify that I want to partially clear that $7 charge.  Apparently I misinterpreted that.
    So my question is, is there a way to migrate this installment plan with this set of open items?
    Or is my only option to alter the payment plan to the open items, and say that there is $13 remaining on the plan?
    Thanks.

    C N,
    The principal Idea is to migrate either
    - the original amounts, the installment plan and last the latest payments (you migrate payment history)
    - or to migrate the still open amount as one or more open items and subsequently an installment based on that amount.
    Kind regards,
    Fritz

  • Open item Settlement for exact match.

    Hi All,
    We have requirement in our project to clear the exact match first ahead of the oldest due debt.
    To elaborate on the requirement, please have a look at the following example.
    1st Invoice -$100  Due date-1/11/2010
    2nd Invoice-$250  Due date-1/12/2010
    Customer makes a payment of $250 on 10/12/2010.
    As per our requirement, It should clear the 2nd Invoice first, as it gets an exact match and not the oldest debt due.
    However, if the customer makes a payment of say $300, then it does not find any exact match and hence will clear the oldest due first.In this case,the 1st invoice.
    In the clearing Step under the clearing variant , we have tried to use the Amount rule as '0'-Clearing only possible when amounts are same.....but it is not working as per our requirement.
    Can any one of you give any thoughts on the issue?
    Thanks,
    Amlan

    Hi - tried this config, and I cleared an open item based on exact amount, that was due later that 2 other items. See below.
    Ivor Martin
    Clearing Var.   ZEX  Exact matching test
    Clearing Step   1    Exact match on amount
       Char.                    Grpng rule    Sort charact.           Rank     Sort
    1. 013  Open Amount Without In          1.
    2.                                      2.
    3.                                      3.
    4.                                      4.
    5.                                      5.
      Amount Rule     0
      Clearing rule                                  Paymt rem. var.  ZEX / 2
                                                     End of assgmt
                                           / 0
    Clearing Step   2    Oldest due date
       Char.                    Grpng rule    Sort charact.           Rank     Sor
    1. 015  Contract Account                1. 010  Due date
    2.                                      2.
    3.                                      3.
    4.                                      4.
    5.                                      5.
      Amount Rule
      Clearing rule                                  Paymt rem. var.      / 0
                                                     End of assgmt    9
                                           / 0

  • BEX Issue:Intgration of master data and Open Items cube data

    Hello Gurus,
    I need some help in BEX queries.
    I have master data Contract Objects which has master information like Max Number of payment and monthly installments.
    In the open items cube I had open items balance for multiple line items. So I need a report which show Portfolio under which we can have multiple contract object.  So Portfolio P1 ->  contract objects C1, C2, C3 The report is as follows
    Portfolios  Total Amount               Open Items
    P1           Sum of total                Sum of open
                 amount each                 items in cube
                 contract object
                 under P1 C1 + C2 + C3
    1) Total Amount = Max Number of payment * Monthly installmens(Sum for each contract object in Portfolio)
    2) Open Items = Sum of all balances under open items cube.
    Now problem is if I join the two using multiprovide the Total amount gets SUMMED multiple times for each line items in open item for contract. I just wanted it summed for once for each contract object .
    How do I ensure that TOTAL AMOUNT IS calculated just once for each contract object ? Is there means to solve the problem.
    Regards,
    Check.

    Hi Ryan,
    Please go through this post to see the consequences of transaction load before master data load:
    Master data not yet transferred to BW but transaction data has
    Hope this helps...

Maybe you are looking for