Billing Document Currency

Hi Fellow members,
Facing one business scenario, Where one of our top Customer will place a single sales order(Example of Quantities: 100,150,300) & they need different currencies at line item wise(Due to billing partner/Payer can be from different countries) i.e. for Quantity: 100 currency should be: USD, for 150 it should be: EUR & for 300: HKD (HongKong Dollor).
For these 3 line items, Billing document will be different so the Billing Document currency should be only the Line item currency.
Need to know that, How we can copy the line item currency from sales order to the billing document as my Sales document currency can be differ from line item currency.
Waiting for prompt reply.
Thanks in advance.

Hello Ashish,
I believe in the Sales Area Data - Sales Tab of Payer Partner you can enter Currency.
Now since currency & Payer will be different for each line item of the Sales Order, the Invoice will be split and you will have individual Billing Document for each Payer (& currency).
By the way, what will be the destination countries (Delivery location) of each of these line Items? I feel since the payer are paying in different currencies, probably the Destination countries are also different and you may also have Delivery split.
Thanks,
Jignesh Mehta

Similar Messages

  • Inconsistent Currency Information F5 725 while releasing Billing Document

    Hi
    I am working on ECC 6 version. While releasing the billing document for our Inter Company Transaction where the goods are flowing from Mexico Country to Swizz Country, am facing the error Inconsistent Currency Information. Error Message Number is  F5725. Complete error is as below :
    ====================================================================
    Inconsistent currency information
    Message no. F5725
    Diagnosis
    Company code '2006' has currency type '31'. This currency type has the currency key 'INR' in the financial accounting application.
    The same currency type is conveyed to financial accounting across the accounting interface with currency key 'MXN'
    System Response
    Currency data conveyed with this key cannot be processed in the financial accounting module.
    Procedure
    This is a system error in the calling application.
    Currency type '31' in company code '2006' must have currency key 'MXN' when the data is transmitted
    ====================================================================
    According to my settings in OB22, for Mexico Company Code, 1st Local Currency is MXN (Legal Valuation) 2nd Local Currency (Profit Center Valuation) is also MXN and 3rd Local Currency (Group Valuation) is the Group Currency which is INR.
    Any inputs and help where to check or any SAP Notes to be applied will be of help.
    Regards
    Gemini

    Hi Lakshmipathi
    Thanks for your inputs. But both the Notes are not relevant for me and are meant for the lower versions. I am working on ECC 6.0 with EHP4.
    Any further inputs are welcome.
    Gemini

  • Change Currency in Billing document

    can I change the currency on the billing document?
    if I created a sales order with USD currency, at the time of billing, can I change the currency to some other currency? where do we config this if possible?
    Regards,
    Asad.

    Hello Asad,
    Document currency can only be altered at the Sales order level. It cannot be done at the invoice level.
    The system proposes the document currency from the customer master record of the sold-to party. You can change the currency manually in the document. If you change the currency, the system recalculates prices for the entire document.
    The changes you make in the document currency at the order level will automatically effect while creating invoice even though PGI has already been carried out.
    This change will not happen once invoice has been created and saved. Therefore if you want to change the document currency at the invoice level.........you have to go back to VA02 and change the document currency at the order level which will effect when you create a new invoice.
    <b>Reward points if helps</b>
    Regards
    Sai

  • Manual change / copy currency in intercompany billing document

    Hi,
    We are running the SD intercompany process, where 'F1' is the customer invoice billing document type and 'IV' is the intercompany billing document type.
    The currency in billing document type 'F1' is derived from the final customer master data, whereas the currency in billing document 'IV' is taken from the intercompany customer master data. We would like the currency in billing document 'IV' (intercompany) to be the same as the one in 'F1'. It is the Finance team business requirement.
    Is it possible to have the currency copied from 'F1' to 'IV'. We would also be happy to manually change the currency in 'IV'.
    Please advise which settings are required - if this is even possible.
    Thank you,
    Karol
    Edited by: Karol on Jun 17, 2010 12:07 PM

    Hello Karol
    Why do you want to get into copy controls etc,, when you can simply set up the Intercompany customer's currency based  on the  customer's (Sales Org) country.
    Let me explain. US Company is selling to US customer from a Plant in Switzerland.  Real customer is set up with USD in US sales area. The Inter Co Customer created in Swiss Sales Area should be set up with USD as currency based on the country of the Inter Co customer. This is how it is set up in my current client's setup and is working. The only issue you may get is when US is supplying to an International customer based in UK, then you will run into issues, I am assuming you don't have any such cases.
    If the customer master set up  idea does not work for you, then I guess your only option are user exits during Billing document creation or copy control routines.
    Proposals:
    1)  USEREXIT_FILL_VBRK_VBRP (Module pool SAPLV60A, program RV60AFZC). Yo can try filling up VBRK-WAERK with VBAK-WAERK.
    2)  Alternately you may insert the same logic in Include LV60AA95 for program SAPLV60A. This is supposed to be part of the copy control routines but I don't know how it is called etc. It does not appear to be filled in the copy control config. I got the inspiration for this from OSS note 358893 which was meant for Euro conversion, Same concept so why not use it?
    3)Thirdly in the area of copy control (Delivery- Billing Document)  itself, for the item category, set up a custom routine in the feild Data VBRK/VBRP and  insert code there to replace the Document currency with that  from the sales order. You may also want to set up the PricingExchRate type field also with a suitable value right here itself. Only doubt is whether this works for only item or for header also as the field name (VBRK/VBRP) indicates.
    Review  the following OSS note 358893 - Create billing document with different document currency for more on proposal 2.
    Keep us posted on how you are proceeding with the solution.
    Please keep us posted with how you are proceeding on the solution.

  • Excise invoice in INR and Billing document in EURO.development issue.

    Dear All
    its  intersesting development i came accross please help if u have came accross this before.
    in my scenario i am having a  client who placed an order from Europe and the currency is in EURO  and we have to deliver it to a client who is in india.
    so  bill to party's currency is EURO and Ship to party is in INR.
    the excise invoice has to be prepared in INR but it made with refferance to billing so it will take Euro.
    so for this how to creat the excise invoice inINR and billing in EURO.
    i have jotted some idea's bellow
    please help
    The excise invoice is prepared on the basis of the delivery document so it may conceder the ship to party currency also.
    As you know the accounting document for the excise invoice is made with respect to billing document but if the billing document is not having the delivery document then it will not generate any accounting document for this. So you do some testing with ship to party as India then we can see what the effect is coming to it.
    Regards
    Subrat

    Dear Subrat
    Your excise invoice currency will always be in Company Code currency and assuming that it is INR in your case, if you generate excise invoice, the currency will also be in INR.
    thanks
    G. Lakshmipathi

  • Error while releasing the Billing document

    Hi Everyone,
      Encountering an error with the description 'Balance in Transaction currency' while trying to release the Billing document from VF02 transaction, still didnt come across the right oss note that can remove this error, can any one give me a clue on this,
    Rgds,

    hi,
    We are facing similar problem, when releasing the billing document to accounting.
    Have you been able to find the solution to this problem. If so, kindly suggest the answer
    Thanks
    Dinesh

  • Billing Document to Accounting Error

    Hello Experts,
    When going to tcode VF02. when i release to accounting billing document 7578000065 im receiving this error "balance in transaction currency". Why is this happening? Can someone enlightened me regarding this issue is it functional or abap problem.
    Many thanks points will be rewarded.

    Reason and Prerequisites
    If you check the settings for the pricing procedure (in transaction V/08)
    you could find that this condition (withholding tax) is not set as
    'Statistical'.
    Solution
    If you use withholding tax in your billing document you have to set the
    statistical flag in your pricing procedure for the withholding tax
    condition.
    hope this will solve ur issue

  • Billing Document is not released to Account -Error

    Hi,
    I am getting the below error while releasing the billing document into accounting.kindly help me
    Error Log
                 0900000165 000000 Document 0900000165 saved (no accounting document generated
                 0900000165 000000 Enter a true account assignment object with revenues
                Long txt
                    Detail
                     Diagnosis
                         You made an account assignment for 420100, a revenue
                         element, in controlling area 9000 to a cost center or
                         profit center.
                     System response
                         Cost centers and profit centers can carry revenues in the
                         R/3 System as statistics only. To ensure reconciliation
                         between FI and CO for revenue element 420100, a CO account
                         assignment object must record the revenues as a real value.
                         This object type is used for updating to the reconciliation
                         ledger.
                         In principle, it's possible for the R/3 System to
                         automatically derive this CO account assignment object, the
                         reconciliation object. However, all postings made in CO for
                         costing-based Profitability Analysis are logged in the
                         reconciliation ledger under "reconciliation object". In
                         this manner, the reconcilation ledger identifies the exact
                         values flowing into the operating profit. If you post
                         reconciliation objects during revenue postings to cost
                         centers or profit centers, you must do so while keeping the
                         interpretation of the reconciliation ledger reports in
                         mind. The sums of revenue postings to profitability
                         segments, cost centers, and profit centers cannot be broken
                         down further.
    Procedure
        o   To avoid posting to reconciliation objects, make
            account assignments to a real CO account assignment
            object.
        o   If you want to post to reconciliation objects, you can
            change this message to a caution or a note for future
            users, or deactivate the message entirely. Use the
            Implementation Guide under "Controlling: General" and
            choose Change message control. Enter area KI and
            message number 166. If you do not enter an individual
            user here, the change is valid for all users.
    Technical data
        Tech. data details
         Client
         Group Number
         Sales Document Number                  0900000165
         Item Number of the SD Document         000000
         Schedule Line Number                   0166
         Counter in Control Tables              00
         Message Identification                 KI
         System Message Number                  166
         Output Type                            E
         Message Variable 01                    420100
         Message Variable 02                    9000
         Message Variable 03
         Message Variable 04
    Please help me
    Thanks
    Supriya

    Hi Supriya,
    The following step is missing in your configuration: So please check the following step:
    Financial Accounting (New) - Financial Accounting Basic Settings (New) - Ledgers - Real-Time Integration of Controlling with Financial Accounting - Account Determination for Real-Time Integration - Define Account Determination for Real-Time Integration
    The above step is used for:
    You define account determination for the real-time integration of Controlling (CO) with Financial Accounting (FI).
    You have two options for the definition of account determination:
    Account determination without substitution (standard account determination)
    The level of differentiation with which you want to trace the postings to Financial Accounting determines how many accounts you create and whether you assign transactions or object classes. You can assign the accounts as follows:
    You specify an account for all reconciliation postings.
    You assign an account to each business transaction.
    You assign an account to each object class.
    You assign an account to each transaction and to each object class.
    Account determination with substitution
    In addition to account determination without substitution, you can determine the reconciliation account using substitution. For this, you have to define account determination at least for the specification of the posting key. Furthermore, you can use substitution to refine account determination.
    In contrast to when the reconciliation ledger is used, additional fields are available when real-time integration is used:
    RCL_ICCF-BEKNZ
    RCL_ICCF-RSEGMENT
    RCL_ICCF-SSEGMENT
    These fields are only filled by the system when real-time integration is used.
    Caution
    If you deploy the following functions, you may not use the additional fields in account determination:
    You still use reconciliation posting instead of real-time integration.
    You use real-time integration but you still have the reconciliation ledger activated so that you can use the reconciliation reports from Cost Element Accounting, such as CO/FI Reconciliation in Company Code Currency.
    These functions use the reconciliation ledger data, which does not contain the additional fields.
    For more information about defining account determination, see Define Adjustment Accounts for Reconciliation Posting.
    Please let me know if you need more clarification
    Thanks & Regards,
    Venkataraju Khottari

  • Document currency

    Hi,
      I am working on a report in which there are 5 fields gl account(hkont),vendor code(lifnr),vendor name(name1),aging details,currency(document currency-waers).Here the requirement is I have to split the aging details column into 4 columns(current,31-60,61-90,>90).The document currency  has to be summed up according to vendor name and currency key and split into these 4 columns accordingly.I am not getting the logic how can i split the document currency into these 4 columns.Can anyone suggest me the proper solution for this?I am sending the program on which I am working.
    REPORT  zfir087_prctr_payables NO STANDARD PAGE HEADING
           LINE-SIZE 85
           LINE-COUNT 65
           MESSAGE-ID zfi.
                 INCLUDEs                                               *
    ***THE FOLLOWING INCLUDE CONTAINS HEADER FOOTER DETAILS
    INCLUDE  zca_standard_header_footer1.
    ***THE FOLLOWING INCLUDE CONTAINS ALL THE DATA DECLARATIONS AND
    ***SELECTION SCREEN DETAILS
    INCLUDE  zfir087_accounts_payables_top.
    ***THE FOLLOWING INCLUDE CONTAINS ALL THE SUBROUTINES
    INCLUDE  zfir087_accounts_payables_sub.
                 AT SELECTION SCREEN                                    *
    AT SELECTION-SCREEN .
    Validate the profit center entered on selection screen.
      PERFORM f_valiate_profit_center.
    Validate Recon Account entered on selection screen.
      PERFORM f_validate_recon_account.
    Validate Partner profit center entered on selection screen
      PERFORM f_val_part_profit_center.
    *Begin of SRR-17677
    *At Selection Screen Output
    AT SELECTION-SCREEN OUTPUT.
      PERFORM screen_changes.
    *End of SRR-17677
    START-OF-SELECTION.
    *--SIR-07541 Begin
      SELECT * FROM t001 INTO TABLE t_t001.
    *--SIR-07541 End
    Get data from bsik table
    GET bsik.
    MOVE-CORRESPONDING  bsik TO t_ldb_data.                   "#EC ENHOK
      MOVE:bsik-bukrs TO  d_ldb_data-bukrs,
           bsik-lifnr TO  d_ldb_data-lifnr,
           bsik-belnr TO  d_ldb_data-belnr,
           bsik-bldat TO  d_ldb_data-bldat,
           bsik-blart TO  d_ldb_data-blart,
           bsik-gjahr TO  d_ldb_data-gjahr,
           bsik-buzei TO  d_ldb_data-buzei,
           bsik-xblnr TO  d_ldb_data-xblnr,
           bsik-dmbtr TO  d_ldb_data-dmbtr,
           bsik-waers TO  d_ldb_data-waers,
           bsik-wrbtr TO  d_ldb_data-wrbtr,
           bsik-dmbe2 TO  d_ldb_data-dmbe2,
           bsik-vbund TO  d_ldb_data-vbund,
           bsik-ebeln TO  d_ldb_data-ebeln,
           bsik-augdt TO  d_ldb_data-augdt,
           bsik-augbl TO  d_ldb_data-augbl,
           bsik-zuonr TO  d_ldb_data-zuonr,
           bsik-budat TO  d_ldb_data-budat,
           bsik-sgtxt TO  d_ldb_data-sgtxt,
           bsik-hkont TO  d_ldb_data-hkont,
           bsik-zlsch TO  d_ldb_data-zlsch,
           bsik-zlspr TO  d_ldb_data-zlspr,
           bsik-filkd TO  d_ldb_data-filkd,
           bsik-shkzg    TO     d_ldb_data-shkzg,
    Begin of SRR-22879 APARMAA
           bsik-zfbdt    TO     d_ldb_data-zfbdt,
           bsik-zbd1t    TO     d_ldb_data-zbd1t,
           bsik-zbd2t    TO     d_ldb_data-zbd2t,
           bsik-zbd3t    TO     d_ldb_data-zbd3t,
           bsik-rebzg    TO     d_ldb_data-rebzg.
    End of SRR-22879 APARMAA
      APPEND d_ldb_data TO t_ldb_data.
    Get data from bkpf table
    GET bkpf.
      MOVE:bkpf-bukrs TO d_bkpf-bukrs,
           bkpf-belnr TO d_bkpf-belnr,
           bkpf-gjahr TO d_bkpf-gjahr,
           bkpf-awkey TO d_bkpf-awkey,
           bkpf-hwae2 TO d_bkpf-hwae2.
      APPEND d_bkpf TO t_bkpf.
    END-OF-SELECTION.
    Get purchasing information from rseg table
      IF NOT t_bkpf[] IS INITIAL.
        PERFORM f_get_ebeln_from_rseg.
      ENDIF.
    Get profit center and partner profit center from bfok_a table
      IF NOT  t_ldb_data[] IS INITIAL.
        PERFORM f_get_data_from_bfok_a.
      ENDIF.
    Begin of SRR-22879 APARMAA
      IF NOT  t_ldb_data[] IS INITIAL.
        PERFORM f_get_data_from_lfa1.
      ENDIF.
    End of SRR-22879 APARMAA
    Calculate the sum of the dmbtr field
      PERFORM f_get_sum_from_bfok_a.
    Split the amount in doc currency(wrbtr) in bsik
      PERFORM f_split_wrbtr_in_bsik.
      IF NOT t_final[] IS INITIAL.
    LOGO FOR ALV GRID
        v_logo = c_logo.
        v_title = sy-title.
        v_repid = sy-repid.
    BUILD PRINT SETTINGS
        PERFORM f_build_print_settings USING f_print_settings.
    BUILD LAYOUT
        PERFORM f_build_layout USING f_grid_layout v_title.
    BUILD EVENTS
        PERFORM f_build_events USING t_events[] .
    *DISPLAY REPORT
        IF p_disp EQ 'X'.                                       "SRR-17677
          PERFORM f_display_data.
        ENDIF.                                                  "SRR-17677
      Begin of SRR-17677
    Begin of SRR-22879 APARMAA
       IF p_expo = 'X'.
         EXPORT T_R087 FROM T_FINAL TO MEMORY ID 'R087'.
       ENDIF.
        IF p_expo = 'X'.
         MOVE-CORRESPONDING t_final TO t_final1.              "SRR-24422
          t_final1[] = t_final[].                               "SRR-24422
          EXPORT t_r087 FROM t_final1 TO MEMORY ID 'R087'.
        ENDIF.
    End of SRR-22879 APARMAA
      End of SRR-17677
    Refresh and Clear all internal tables.
        PERFORM f_free_and_clear.
      ELSE.
    NO RECORDS MATCH THE SELECTION CRITERIA
        IF p_disp EQ 'X'.                                       "SRR-17677
          MESSAGE i000 WITH
            'No data exists for the given selection criteria'(050).
        ENDIF.                                                  "SRR-17677
        EXIT.
      ENDIF.
                     DICTIONARY TABLES
    TABLES :bfok_a, lfa1, lfb1, bsik, bkpf,cepc.                "#EC NEEDED
                       TYPES
    *TYPES:
    DATA:
    Type like bsik table
      BEGIN OF d_ldb_data,
        bukrs LIKE  bsik-bukrs,  "COMPANY CODE
        lifnr LIKE  bsik-lifnr,  "Account Number of Vendor or Creditor
        belnr LIKE  bsik-belnr,  "ACCOUNTING DOCUMENT NUMBER
        bldat LIKE  bsik-bldat,  "DOCUMENT DATE IN DOCUMENT
        blart LIKE  bsik-blart,  "DOCUMENT TYPE
        gjahr LIKE  bsik-gjahr,  "FISCAL YEAR
        buzei LIKE  bsik-buzei,
        "NUMBER OF LINE ITEM WITHIN ACCOUNTING DOCUMENT
        xblnr LIKE  bsik-xblnr,  "REFERENCE DOCUMENT NUMBER
        dmbtr LIKE  bsik-dmbtr,  "AMOUNT IN LOCAL CURRENCY
    *--SIR-07541 Begin
         lwaer  LIKE  t001-waers,  "LOCAL CURRENCY KEY
         hwae2  LIKE  bkpf-hwae2,  "2ND LOCAL CURRENCY KEY
    *--SIR-07541 End
        waers LIKE  bsik-waers,  "CURRENCY KEY
        wrbtr LIKE  bsid-wrbtr,  "AMOUNT IN DOCUMENT CURRENCY
        dmbe2 LIKE  bsik-dmbe2,  "AMOUNT IN SECOND LOCAL CURRENCY
        vbund LIKE  bsik-vbund,  "COMPANY ID OF TRADING PARTNER
        ebeln LIKE  bsik-ebeln,  "BILLING DOCUMENT
        augdt LIKE  bsik-augdt,  "CLEARING DATE
        augbl LIKE  bsik-augbl,  "DOCUMENT NUMBER OF THE CLEARING
                                      "DOCUMENT
        zuonr LIKE  bsik-zuonr,  "ASSIGNMENT NUMBER
        budat LIKE  bsik-budat,  "POSTING DATE IN THE DOCUMENT
        sgtxt LIKE  bsik-sgtxt,  "ITEM TEXT
        hkont LIKE  bsik-hkont,  "GENERAL LEDGER ACCOUNT
        zlsch LIKE  bsik-zlsch,  "PAYMENT METHOD
        zlspr LIKE  bsik-zlspr,  "PAYMENT BLOCK KEY
        filkd LIKE  bsik-filkd,  "ACCOUNT NUMBER OF THE BRANCH
        shkzg     LIKE  bsik-shkzg,  "Debit/Credit Indicator
        awkey LIKE bkpf-awkey,   "Reference Key
        prctr LIKE bfok_a-prctr, "Profit Center
        pprct LIKE bfok_a-pprct, "Partner Profit Center
        status TYPE c,           "Status indicator
        korrk LIKE bfok_a-korrk,  "Adjustment Account
    Begin of SRR-22879 APARMAA
        name1   LIKE lfa1-name1,    "Vendor Name
        duedate LIKE sy-datum,      "Due Date
        aging(5) TYPE c,            "Aging Indiacator
        zfbdt   LIKE bsik-zfbdt,
        zbd1t   LIKE bsik-zbd1t,
        zbd2t   LIKE bsik-zbd2t,
        zbd3t   LIKE bsik-zbd3t,
        rebzg   LIKE bsik-rebzg,
    End of SRR-22879 APARMAA
      END OF d_ldb_data,
    Type declaration of type bkpf table
      BEGIN OF d_bkpf,
        bukrs LIKE bkpf-bukrs,       "Company Code
        belnr LIKE bkpf-belnr,       "Accounting Document Number
        gjahr LIKE bkpf-gjahr,       "Fiscal Year
        awkey LIKE bkpf-awkey,       "Reference Key
    *--SIR-07541 Begin
        hwae2 LIKE bkpf-hwae2,       "@nd local currency
    *--SIR-07541 End
      END OF d_bkpf,
    Type declaration of type rseg table
      BEGIN OF d_rseg ,
      belnr  LIKE rseg-belnr,  "Accounting Document Number
      gjahr  LIKE rseg-gjahr,  "Fiscal Year
      buzei  LIKE rseg-buzei,  "Document item in invoice document
      ebeln  LIKE rseg-ebeln,  "Purchasing Document Number
      bukrs  LIKE rseg-bukrs,  "Company Code
      END OF d_rseg,
    Begin of SRR-22879 APARMAA
    Type declaration of type lfa1 table
      BEGIN OF d_lfa1,
      lifnr LIKE lfa1-lifnr,
      name1 LIKE lfa1-name1,
      END OF d_lfa1,
    End of SRR-22879 APARMAA
    Type declaration of type bfok_a table
      BEGIN OF d_bfok_a,
      bukrs LIKE bfok_a-bukrs,  "Company Code
      belnr LIKE bfok_a-belnr,  "Accounting Document Numbe
      gjahr LIKE bfok_a-gjahr,  "Fiscal Year
      buzei LIKE bfok_a-buzei,  "Number of Line Item
      auzei LIKE bfok_a-auzei,
                     "No of Breakdown by Account Assignments for FI Document
      hkont LIKE bfok_a-hkont,  "General Ledger Account
      shkzg LIKE bfok_a-shkzg,  "Debit/Credit Indicator
      dmbtr LIKE bfok_a-dmbtr,  "AMOUNT IN DOCUMENT CURRENCY
      dmbe2 LIKE bfok_a-dmbe2,  "Amount in Second Local Currency
      prctr LIKE bfok_a-prctr,  "Profit Center
      pprct LIKE bfok_a-pprct,  "Partner Profit Center
      korrk LIKE bfok_a-korrk,  "Adjustment Account
      counter TYPE i,
      END OF d_bfok_a.
    Begin of SRR-22879 APARMAA
    Creation of t_final1 table for export to R091.
    Since t_ldb_data has been modified for this SRR, exporting of t_final
    results in a short dump when R091 is executed.Hence t_final1 is
    created with the original structure of t_ldb_data.This will be
    exported to R091.
    DATA:BEGIN OF d_final1,
         bukrs  LIKE  bsik-bukrs,  "COMPANY CODE
         lifnr  LIKE  bsik-lifnr,  "Account Number of Vendor or Creditor
         belnr  LIKE  bsik-belnr,  "ACCOUNTING DOCUMENT NUMBER
         bldat  LIKE  bsik-bldat,  "DOCUMENT DATE IN DOCUMENT
         blart  LIKE  bsik-blart,  "DOCUMENT TYPE
         gjahr  LIKE  bsik-gjahr,  "FISCAL YEAR
         buzei  LIKE  bsik-buzei,
         "NUMBER OF LINE ITEM WITHIN ACCOUNTING DOCUMENT
         xblnr  LIKE  bsik-xblnr,  "REFERENCE DOCUMENT NUMBER
         dmbtr  LIKE  bsik-dmbtr,  "AMOUNT IN LOCAL CURRENCY
    *--SIR-07541 Begin
         lwaer  LIKE  t001-waers,  "LOCAL CURRENCY KEY
         hwae2  LIKE  bkpf-hwae2,  "2ND LOCAL CURRENCY KEY
    *--SIR-07541 End
         waers  LIKE  bsik-waers,  "CURRENCY KEY
         wrbtr  LIKE  bsid-wrbtr,  "AMOUNT IN DOCUMENT CURRENCY
         dmbe2  LIKE  bsik-dmbe2,  "AMOUNT IN SECOND LOCAL CURRENCY
         vbund  LIKE  bsik-vbund,  "COMPANY ID OF TRADING PARTNER
         ebeln  LIKE  bsik-ebeln,  "BILLING DOCUMENT
         augdt  LIKE  bsik-augdt,  "CLEARING DATE
         augbl  LIKE  bsik-augbl,  "DOCUMENT NUMBER OF THE CLEARING
                                      "DOCUMENT
         zuonr  LIKE  bsik-zuonr,  "ASSIGNMENT NUMBER
         budat  LIKE  bsik-budat,  "POSTING DATE IN THE DOCUMENT
         sgtxt  LIKE  bsik-sgtxt,  "ITEM TEXT
         hkont  LIKE  bsik-hkont,  "GENERAL LEDGER ACCOUNT
         zlsch  LIKE  bsik-zlsch,  "PAYMENT METHOD
         zlspr  LIKE  bsik-zlspr,  "PAYMENT BLOCK KEY
         filkd  LIKE  bsik-filkd,  "ACCOUNT NUMBER OF THE BRANCH
         shkzg     LIKE  bsik-shkzg,  "Debit/Credit Indicator
         awkey LIKE bkpf-awkey,       "Reference Key
         prctr LIKE bfok_a-prctr,     "Profit Center
         pprct LIKE bfok_a-pprct,     "Partner Profit Center
         status TYPE c,               "Status indicator
         korrk LIKE bfok_a-korrk,     "Adjustment Account
         END OF d_final1.
    End of SRR-22879 APARMAA
                             TYPE-POOLS
    TYPE-POOLS: slis, " TYPE POOL FOR ALV REPORT
                slist. " System: List Processor for ALV List
                        ALV SPECIFIC DECLARATIONS
    DATA:
    TABLES REQUIRED SPECIFICALLY FOR ALV REPORTING
          t_sortcat        TYPE  slis_t_sortinfo_alv   ,
           t_field_catalog  TYPE slis_t_fieldcat_alv,
           t_events         TYPE slis_t_event,
                   FIELD STRINGS (Naming convention F_)
          f_grid_settings  TYPE lvc_s_glay,                     "#EC *
          f_grid_layout    TYPE slis_layout_alv,                "#EC *
          f_print_settings TYPE slis_print_alv.       "print settings
                         INTERNAL TABLES
    Int table to get the data from bsik table using logical databse
    DATA: t_ldb_data  LIKE STANDARD TABLE OF d_ldb_data,
    Int table to get the data from bkpf table
          t_bkpf LIKE STANDARD TABLE OF d_bkpf,
    Int table to store the data from rseg table
          t_rseg LIKE STANDARD TABLE OF d_rseg,
    Int table to store the data from bfok_a table
          t_bfok_a LIKE STANDARD TABLE OF d_bfok_a.
    *Int table to store the sum of the values of field dmbtr in t_bfok_a
    *table
    DATA:  t_bfok_a1 LIKE STANDARD TABLE OF d_bfok_a,
           t_bfok_a2 LIKE STANDARD TABLE OF d_bfok_a WITH HEADER LINE.
    DATA:  t_final LIKE STANDARD TABLE OF d_ldb_data WITH HEADER LINE.
    *Begin of SRR-17677
    Begin of SRR-22879 APARMAA
    *DATA: t_r087 LIKE STANDARD TABLE OF d_ldb_data WITH HEADER LINE.
    DATA: t_r087 LIKE STANDARD TABLE OF d_final1 WITH HEADER LINE.
    End of SRR-22879 APARMAA
    *End of SRR-17677
    Begin of SRR-22879 APARMAA
    DATA: t_lfa1 LIKE STANDARD TABLE OF d_lfa1.
    DATA: t_ldb_data1 LIKE STANDARD TABLE OF d_ldb_data.
    DATA: t_final1 LIKE STANDARD TABLE OF d_final1 WITH HEADER LINE.
    End of SRR-22879 APARMAA
    *--SIR-07541 Begin
      DATA: wa_t001 TYPE t001,
            t_t001  LIKE STANDARD TABLE OF wa_t001.
    *--SIR-07541 End
                             VARIABLES
    DATA: v_title LIKE sy-title,            " Variable for Report Title
          v_repid LIKE sy-repid,            " Variable for Report Name
          v_base_amount LIKE bfok_a-dmbtr,  " Base amount to be split
          v_amount_sum  LIKE bfok_a-dmbtr,  " Base amount sum
    Begin of SRR-22879 APARMAA
         v_aging(5) type c.                                   "SRR-24422
          v_aging(5) type n.                                    "SRR-24422
    End of SRR-22879 APARMAA
    FIELD-SYMBOLS: <ldb_data> LIKE LINE OF  t_ldb_data,
                   <bfok_a>   LIKE LINE OF  t_bfok_a,
                   <bfok_a1>  LIKE LINE OF  t_bfok_a1,
                   <bkpf>   LIKE LINE OF  t_bkpf,
                   <rseg>   LIKE LINE OF  t_rseg,
    Begin of SRR-22879 APARMAA
                   <lfa1>   LIKE LINE OF  t_lfa1.
    End of SRR-22879 APARMAA
                            RANGES
                             CONSTANTS
    CONSTANTS:c_logo(5)     TYPE c VALUE  'R087',
              c_flag        TYPE c VALUE  'X',
              c_flag1       TYPE c VALUE  'x',
              c_010         TYPE p DECIMALS 6 VALUE '0.10',
              c_f           TYPE c VALUE  'F',
              c_debit       TYPE c VALUE  'H',
              c_xyz(3)      TYPE c VALUE 'XYZ',                 "SRR-17677
              c_waers      LIKE bsid-waers VALUE 'JPY',
    Begin of SRR-22879 APARMAA
              c_0to29(5)    VALUE '<30',
              c_30to59(5)   VALUE '31-60',
              c_60to89(5)   VALUE '61-90',
              c_90on(5)     VALUE '90+'.
    End of SRR-22879 APARMAA
                            SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_prctr  FOR cepc-prctr," Profit center
                    s_hkont  FOR bsik-hkont,"General Ledger Account
                    s_pprct FOR bfok_a-pprct. "Partner Profit Center
    SELECTION-SCREEN END OF BLOCK b1.
    Selection screen for ALV List displat
    SELECTION-SCREEN BEGIN OF BLOCK disp WITH FRAME TITLE text-004.
    PARAMETERS: p_grid RADIOBUTTON GROUP r2 DEFAULT 'X'
                MODIF ID abc, " Grid Display
                p_list RADIOBUTTON GROUP r2 MODIF ID abc.  " List Display
    SELECTION-SCREEN END OF BLOCK disp.
    Begin of SRR-22879 APARMAA
    SELECTION-SCREEN BEGIN OF BLOCK use_new WITH FRAME TITLE text-055.
    PARAMETERS: p_use AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK use_new.
    End of SRR-22879 APARMAA
    *Begin of SRR-17677
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-054.
    PARAMETERS: p_disp AS CHECKBOX DEFAULT 'X' MODIF ID xyz,
                p_expo AS CHECKBOX MODIF ID xyz.
    SELECTION-SCREEN END OF BLOCK b2.
    FORM f_valiate_profit_center .
      IF NOT s_prctr[] IS INITIAL.
    Local variable for profit center(s_prctr) validation
        DATA:v_prctr LIKE cepc-prctr.                           "#EC NEEDED
        SELECT SINGLE prctr FROM cepc INTO v_prctr WHERE prctr IN s_prctr.
                                                                "#EC *
        IF sy-subrc NE 0.
    Message please enter valid profit center
          MESSAGE e000(zfi) WITH   text-002.
        ENDIF.
      ENDIF.
    ENDFORM.                    " f_valiate_profit_center
    *&      Form  f_get_ebeln_from_rseg
    Purpose:To get the purchase doc number from the table rseg
    FORM f_get_ebeln_from_rseg .
    Select belnr,gjahr buzei ebeln fields  from rseg table
      SELECT belnr
             gjahr
             buzei
             ebeln
             bukrs
             FROM rseg INTO TABLE t_rseg
             FOR ALL ENTRIES IN t_bkpf
             WHERE belnr = t_bkpf-awkey+0(10) AND
                   gjahr = t_bkpf-gjahr       AND
                   bukrs = t_bkpf-bukrs .
    Sort and delete the adjacent duplicates from t_rseg table
      IF sy-subrc EQ 0.
        SORT t_rseg BY bukrs belnr gjahr .
        DELETE ADJACENT DUPLICATES FROM t_rseg COMPARING belnr gjahr bukrs.
      ENDIF.
    ENDFORM.                    " f_get_ebeln_from_rseg
    *&      Form  f_get_data_from_bfok_a
    Purpose:Get data from bfok_a table
    FORM f_get_data_from_bfok_a .
    Select data from bfok_a table
      SELECT bukrs
             belnr
             gjahr
             buzei
             auzei
             hkont
             shkzg
             dmbtr
             dmbe2
             prctr
             pprct
             korrk
             FROM  bfok_a
             INTO TABLE t_bfok_a FOR ALL ENTRIES IN t_ldb_data
             WHERE bukrs = t_ldb_data-bukrs AND
                   belnr = t_ldb_data-belnr AND
                   gjahr = t_ldb_data-gjahr AND
                   buzei = t_ldb_data-buzei AND
                   pprct IN s_pprct.
    Sort t_bfok_a table on fields bukrs belnr gjahr buzei
      IF sy-subrc EQ 0.
        SORT t_bfok_a BY bukrs belnr gjahr buzei auzei ASCENDING dmbtr
                                                       DESCENDING.
      ENDIF.
    ENDFORM.                    " f_get_data_from_bfok_a
    *&      Form  f_get_sum_from_bfok_a
    purpose:To get the sum of the line item field of dmbtr
    FORM f_get_sum_from_bfok_a .
    Line item counter
      DATA : l_index LIKE sy-tabix,  "To get the index
             v_counter TYPE i.       "Counter to store line items
      t_bfok_a2[] = t_bfok_a[].
    Get the sum of all the line items dmbtr(amount) field
      LOOP AT t_bfok_a2 .
    MOVE:t_bfok_a TO wa_bfok_a.
    Increment the line item counter
        v_counter = v_counter + 1.
        IF t_bfok_a2-shkzg EQ c_debit.
          t_bfok_a2-dmbtr = t_bfok_a2-dmbtr * -1.
          t_bfok_a2-dmbe2 = t_bfok_a2-dmbe2 * -1.
          MODIFY t_bfok_a2.
        ENDIF.
    Find the sum of dmbtr field at end of belnr
        AT END OF buzei.
          SUM.
          MOVE-CORRESPONDING t_bfok_a2  TO d_bfok_a.
          d_bfok_a-counter = v_counter.
          APPEND d_bfok_a TO t_bfok_a1.
          CLEAR: v_counter.
        ENDAT.
        CLEAR t_bfok_a2.
      ENDLOOP.
    Sort t_bfok_a1 on bukrs belnr gjahr buzei
      SORT t_bfok_a1 BY bukrs belnr gjahr buzei ASCENDING dmbtr DESCENDING.
      SORT t_ldb_data BY bukrs belnr gjahr buzei ASCENDING .
    SORT t_bfod_a1 BY bukrs belnr gjahr buzei.
      t_bfok_a[] = t_bfok_a2[].
      FREE t_bfok_a2[].
    Find the sum of line items having single line item
      LOOP AT t_bfok_a1 ASSIGNING <bfok_a1> WHERE counter = 1.
        l_index = sy-tabix.
        READ TABLE t_ldb_data WITH KEY bukrs = <bfok_a1>-bukrs
                                       belnr = <bfok_a1>-belnr
                                       gjahr = <bfok_a1>-gjahr
                                       buzei = <bfok_a1>-buzei
                                       ASSIGNING <ldb_data>
                                       BINARY SEARCH.
        IF sy-subrc = 0.
          MOVE-CORRESPONDING <ldb_data> TO t_final.
    *--SIR-07541 Begin
          READ TABLE t_t001 INTO wa_t001 WITH KEY bukrs = <bfok_a1>-bukrs.
          IF sy-subrc = 0.
            t_final-lwaer = wa_t001-waers.
          ENDIF.
          READ TABLE t_bkpf INTO d_bkpf WITH KEY bukrs = <bfok_a1>-bukrs
                                                  belnr = <bfok_a1>-belnr
                                                  gjahr = <bfok_a1>-gjahr.
          IF sy-subrc = 0.
            t_final-hwae2 = d_bkpf-hwae2.
          ENDIF.
    *--SIR-07541 End
    Begin of SRR-22879 APARMAA
    Move Vendor Name
          READ TABLE t_lfa1 WITH KEY lifnr = <ldb_data>-lifnr
                                     ASSIGNING <lfa1>
                                     BINARY SEARCH.
          IF sy-subrc EQ 0.
            MOVE:<lfa1>-name1 TO t_final-name1.
          ENDIF.
    Calculate Due Date
          CALL FUNCTION 'NET_DUE_DATE_GET'
            EXPORTING
              i_zfbdt = <ldb_data>-zfbdt
              i_zbd1t = <ldb_data>-zbd1t
              i_zbd2t = <ldb_data>-zbd2t
              i_zbd3t = <ldb_data>-zbd3t
              i_shkzg = <ldb_data>-shkzg
              i_rebzg = <ldb_data>-rebzg
              i_koart = 'K'
            IMPORTING
              e_faedt = t_final-duedate.
    Calculate Aging Details.
          v_aging = sy-datum - <ldb_data>-zfbdt.
          IF v_aging GE 0  AND
             v_aging LE 29.
            t_final-aging = c_0to29.
          ENDIF.
          IF v_aging GE 30 AND
             v_aging LE 59.
            t_final-aging = c_30to59.
          ENDIF.
          IF v_aging GE 60 AND
             v_aging LE 89.
            t_final-aging = c_60to89.
          ENDIF.
          IF v_aging GE 90.
            t_final-aging = c_90on.
          ENDIF.
    End of SRR-22879 APARMAA
          PERFORM f_check_debit_credit_indicator USING <ldb_data>-shkzg.
          READ TABLE t_bfok_a WITH KEY bukrs = <bfok_a1>-bukrs
                                      belnr = <bfok_a1>-belnr
                                      gjahr = <bfok_a1>-gjahr
                                      buzei = <bfok_a1>-buzei
                                      ASSIGNING <bfok_a>
                                      BINARY SEARCH.
          IF sy-subrc EQ 0.
    *--SRR-25731 Begin
            IF t_final-dmbtr ne <bfok_a1>-dmbtr.
              CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 5.
    *For other break down line items the split amount is calculated as below
                t_final-wrbtr = ( <ldb_data>-wrbtr  * <bfok_a>-dmbtr )
                                     / <ldb_data>-dmbtr.
              ENDCATCH.
            ENDIF.
    *--SRR-25731 End
            v_amount_sum = v_amount_sum + t_final-wrbtr.
        Move dmbtr,bmbe2,korrk fields from t_bfok_a to t_final int table
            MOVE:<bfok_a>-dmbtr TO t_final-dmbtr,
                 <bfok_a>-dmbe2 TO t_final-dmbe2,
                 <bfok_a>-korrk TO t_final-korrk.
          ENDIF.
      Populate the status field to t_final int table
      Read t_bkpf table
          READ TABLE t_bkpf WITH KEY    bukrs    = <ldb_data>-bukrs
                                        belnr    = <ldb_data>-belnr
                                        gjahr    = <ldb_data>-gjahr
                                        ASSIGNING <bkpf>
                                        BINARY SEARCH.
          IF sy-subrc EQ 0.
    Read table t_rseg
            READ TABLE t_rseg WITH KEY bukrs =  <bkpf>-bukrs
                                       belnr =  <bkpf>-awkey+0(10)
                                       gjahr =  <bkpf>-gjahr
                                       ASSIGNING <rseg>
                                       BINARY SEARCH.
            IF sy-subrc NE 0.
    Populate status field with value 'F'
              t_final-status = c_f.
            ENDIF.
          ENDIF.
        PERFORM f_check_debit_credit_indicator USING <bfok_a>-shkzg.
          t_final-prctr = <bfok_a>-prctr.
          t_final-pprct = <bfok_a>-pprct.
          APPEND t_final.
          CLEAR:  t_final.  "t_bfok_a.
          DELETE t_bfok_a1 INDEX l_index.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " f_get_sum_from_bfok_a
    *&      Form  f_build_print_settings
      in_print
    FORM f_build_print_settings  USING in_print TYPE slis_print_alv .
      in_print-no_print_selinfos  = c_flag.
      in_print-no_print_listinfos = c_flag.
      in_print-no_coverpage       = c_flag.
    ENDFORM.                    " f_build_print_settings
    *&      Form  f_build_layout
       Purpose:To build ALV layout
          P_F_GRID_LAYOUT  -Grid layout
         P_V_TITLE         - Title
    FORM f_build_layout  USING  in_layout TYPE slis_layout_alv in_repid TYPE
    any.
      in_layout-zebra             = 'X'.
      in_layout-window_titlebar   = in_repid. "Put Report Name in titlebar
    in_layout-expand_fieldname  = t_slis_ev_item_data_expand.
      in_layout-colwidth_optimize = 'X'.       "Optimize column widths
    Set Grid display settings
      f_grid_settings-coll_top_p = c_flag1.
      f_grid_settings-coll_end_l = c_flag1.
      f_grid_settings-top_p_only = c_flag1.
      f_grid_settings-eol_p_only = c_flag1.
      in_layout-totals_text       = 'TOTAL:'(035).
      in_layout-subtotals_text    = 'SubTotal:'(036).
    ENDFORM.                    " f_build_layout
    *&      Form  f_build_events
         To build events
         P_T_EVENTS[]  ->events
    FORM f_build_events  USING    p_events TYPE slis_t_event.
      DATA l_f_events TYPE slis_alv_event.
      CLEAR l_f_events.
      l_f_events-name = 'TOP_OF_PAGE'.
      l_f_events-form = 'PREPARE_ALV_HEADER_G'.
      APPEND l_f_events TO p_events.
    ENDFORM.                    " f_build_events
    *&      Form  f_display_data
       To display data
    FORM f_display_data .
    BUILD FIELD CATALOG
      PERFORM f_fieldcat_build :
    Company code
      USING 'BUKRS' 'T_FINAL' ' ' ' ' ' ' 'Comp Code'(031)
    Customer
      USING 'LIFNR' 'T_FINAL' ' ' ' ' ' ' 'Vendor'(005)
    Account Number of the Branch
      USING 'FILKD' 'T_FINAL' ' ' ' ' ' ' 'Branch'(044)
    General Ledger Account
      USING 'HKONT' 'T_FINAL' ' ' ' ' 'X' 'Genderal Ledger Account'(027)
    Adjustment Account
      USING 'KORRK' 'T_FINAL' ' ' ' ' 'X' 'Adjustment Account'(053)
    Document Number
      USING 'BELNR' 'T_FINAL' ' ' ' ' ' ' 'Document Number'(006)
    Document date
      USING 'BLDAT' 'T_FINAL' ' ' ' ' ' ' 'Document date'(007)
    Document type
      USING 'BLART' 'T_FINAL' ' ' ' ' ' ' 'Document type'(008)
    Fiscal Year
      USING 'GJAHR' 'T_FINAL' ' ' ' ' ' ' 'Fiscal Year'(009)
    Line item
      USING 'BUZEI' 'T_FINAL' ' ' ' ' ' ' 'Line item'(010)
    Reference
      USING 'XBLNR' 'T_FINAL' ' ' ' ' ' ' 'Reference'(011)
    *--SIR-07541 Begin
    Local currency
      USING 'LWAER' 'T_FINAL' ' ' ' ' ' ' 'Local Currency'(040)
    *--SIR-07541 End
    Amount in local currency
      USING 'DMBTR' 'T_FINAL' ' ' ' ' ' ' 'Amount in local currency'(012)
      ' '  ' ' ' ' 'X' 'LWAER' '',
    Document Currency
      USING 'WAERS' 'T_FINAL' ' ' ' ' ' ' 'Document Currency'(013)
    Amount in document currency
      USING 'WRBTR' 'T_FINAL' ' ' ' ' ' ' 'Amount in document currency'(014)
      ' '  ' ' ' ' 'X' 'WAERS' '',
    *--SIR-07541 Begin
    2nd Local Currency
      USING 'HWAE2' 'T_FINAL' ' ' ' ' ' ' '2nd Local Currency'(041)
    *--SIR-07541 End
    Amount in Second Local Currency
      USING 'DMBE2' 'T_FINAL' ' ' ' ' ' '
      'Amount in Second Local currency'(015)
      ' '  ' ' ' ' 'X' 'HWAE2' '',
    Profit Center
      USING 'PRCTR' 'T_FINAL' ' ' ' ' ' ' 'Profit Center'(016)
    Partner Profit Center
      USING 'PPRCT' 'T_FINAL' ' ' ' ' ' ' 'Partner Profit Center'(017)
    Trading Partner
      USING 'VBUND' 'T_FINAL' ' ' ' ' ' ' 'Trading Partner'(018)
    Purchasing doc no
      USING 'EBELN' 'T_FINAL' ' ' ' ' ' ' 'Purchasing Document number'(019)
    USING 'AWKEY' 'T_FINAL' ' ' ' ' ' ' 'Reference key'(020)
    Status  field
      USING 'STATUS' 'T_FINAL' ' ' ' ' ' ' 'Status'(021)
    Clearing date
      USING 'AUGDT' 'T_FINAL' ' ' ' ' ' ' 'Clearing date'(022)
      ' '  'X' ' ' ' ' ' ' '',
    Document Number of the Clearing Document
      USING 'AUGBL' 'T_FINAL' ' ' ' ' 'X' 'Clearing Document No'(023)
      ' '  'X' ' ' ' ' ' ' '',
    Assignment
      USING 'ZUONR' 'T_FINAL' ' ' ' ' 'X' 'Assignment'(024)
      ' '  'X' ' ' ' ' ' ' '',
    Posting Date
      USING 'BUDAT' 'T_FINAL' ' ' ' ' 'X' 'Posting Date'(025)
      ' '  'X' ' ' ' ' ' ' '',
    Item Text
      USING 'SGTXT' 'T_FINAL' ' ' ' ' 'X' 'Item Text'(026)
      ' '  'X' ' ' ' ' ' ' '',
    Payment method
      USING 'ZLSCH' 'T_FINAL' ' ' ' ' 'X' 'Payment method'(028)
      ' '  'X' ' ' ' ' ' ' '',
    Payment Block Key
      USING 'ZLSPR' 'T_FINAL' ' ' ' ' 'X' 'Payment Block Key'(029)
      ' '  'X' ' ' ' ' ' ' ''.
    Begin of SRR-22879 APARMAA
      IF p_use EQ 'X'.
        PERFORM f_fieldcat_build :
    Vendor Name
         USING 'NAME1' 'T_FINAL' ' ' ' ' ' ' 'Vendor Name'(054)
    Due Date
         USING 'DUEDATE' 'T_FINAL' ' ' ' ' ' ' 'Due Date'(056)
    BEGIN OF SRR 25449
        USING 'AGING' 'T_FINAL' ' ' ' ' ' ' 'Aging Details'(057)
    Current
          Using 'WRBTR' 'T_FINAL' ' ' ' ' ' ' 'current'(061)
          ' '  ' ' ' ' ' ' 'WAERS' '',
    31-60
          USING 'WRBTR' 'T_FINAL' ' ' ' ' ' ' '31-60'(058)
          ' '  ' ' ' ' ' ' 'WAERS' '',
    61-90
          USING 'WRBTR' 'T_FINAL' ' ' ' ' ' ' '61-90'(059)
          ' '  ' ' ' ' ' ' 'WAERS' '',
    >90
          USING 'WRBTR' 'T_FINAL' ' ' ' ' ' ' '>90'(060)
          ' '  ' ' ' ' ' ' 'WAERS' ''.
    END OF SRR 25449
      ENDIF.
    End of SRR-22879 APARMAA
    BUILD SORT CATALOG
      PERFORM f_sortcat_build :
    SORT BY COMPANY CODE
      USING '01' 'BUKRS' 'T_FINAL' 'X' 'X',
    SORT BY Venodr Number
      USING '01' 'LIFNR' 'T_FINAL' 'X' 'X',
    SORT BY Document Number
      USING '01' 'BELNR' 'T_FINAL' 'X' ' ',
    SORT BY Fiscal Year
      USING '01' 'GJAHR' 'T_FINAL' 'X' ' '.
       IF p_list = 'X'.
    *GENERATE CLASSIC LIST LAYOUT
        PERFORM f_call_alv_list_view1.
      ELSEIF p_grid = 'X'.
    *--GENERATE CLASSIC GRID LAYOUT
        PERFORM f_call_alv_grid_viewer1.
      ENDIF.
    ENDFORM.                    " f_display_data
    *&      Form  f_fieldcat_build
      To build field catelog
    FORM f_fieldcat_build USING    l_fieldname TYPE slis_fieldname
                                   l_tabname   TYPE slis_tabname
                                   l_reftab    LIKE dd03p-tabname
                                   l_reffield  LIKE dd03p-fieldname
                                   l_outputlen TYPE any
                                   l_seltext_l LIKE dd03p-scrtext_l
                                   l_hotspot   TYPE c
                                   l_no_out    TYPE c
                                   l_no_zero   TYPE c
                                   l_do_sum    TYPE c
                                   l_cfldname  TYPE char30
                                   l_col_pos   LIKE sy-cucol.
    *LOCAL DATA
      DATA : l_wa_fieldcat LIKE LINE OF t_field_catalog.
      l_wa_fieldcat-fieldname     = l_fieldname.
      l_wa_fieldcat-tabname       = l_tabname.
      l_wa_fieldcat-outputlen     = l_outputlen.
      l_wa_fieldcat-hotspot       = l_hotspot.
      l_wa_fieldcat-no_out        = l_no_out .
      l_wa_fieldcat-no_zero       = l_no_zero .
      l_wa_fieldcat-do_sum        = l_do_sum .
      l_wa_fieldcat-cfieldname    = l_cfldname.
      l_wa_fieldcat-col_pos       = l_col_pos.
    *--SIR-07541 Begin
      IF l_fieldname = 'DMBTR'.
        l_wa_fieldcat-cfieldname = 'LWAER'.
      ENDIF.
      IF l_fieldname = 'WRBTR'.
        l_wa_fieldcat-cfieldname = 'WAERS'.
      ENDIF.
      IF l_fieldname = 'DMBE2'.
        l_wa_fieldcat-cfieldname = 'HWAE2'.
      ENDIF.
    *--SIR-07541 End
      IF NOT l_seltext_l IS INITIAL.
        l_wa_fieldcat-seltext_l     = l_seltext_l.
      ELSE.
        l_wa_fieldcat-ref_fieldname = l_reffield.
        l_wa_fieldcat-ref_tabname   = l_reftab.
      ENDIF.
      APPEND l_wa_fieldcat TO t_field_catalog.
      CLEAR l_wa_fieldcat.
    ENDFORM.                    " f_fieldcat_build
    *&      Form  f_sortcat_build
         To sort the catelog
    FORM f_sortcat_build USING l_spos      LIKE alvdynp-sortpos
                                 l_fieldname TYPE slis_fieldname
                                 l_tabname   TYPE slis_tabname
                                 l_up        TYPE c
                                 l_subtot    TYPE c.
    LOCAL DATA
      DATA:  l_sort TYPE slis_sortinfo_alv.
      l_sort-spos      = l_spos.
      l_sort-fieldname = l_fieldname.
      l_sort-tabname   = l_tabname.
      l_sort-up        = l_up.
      l_sort-subtot    = l_subtot.
      APPEND l_sort TO t_sortcat.
      CLEAR l_sort.
    ENDFORM.                    " f_sortcat_build
    *&      Form  f_call_alv_list_view1
        To call alv_list_display
    FORM f_call_alv_list_view1 .

    Hi-
    This might help you
    http://help.sap.com/saphelp_nw2004s/helpdata/en/2a/fa0115493111d182b70000e829fbfe/frameset.htm
    Chandra.

  • Creating sales order document with reference to billing document

    I have to create sales order with reference to existing billing document. I have tried to following bapis.
    1. BAPI_SALESORDER_CREATEed
    I have successfully created document with following details.
    -->ORDER_HEADER_IN:
    DOC_TYPE = ZRK
    SALES_ORG = 3000
    DISTR_CHAN = 00
    DIVISION = 00
    ORD_REASON = 100
    SD_DOC_CAT = L
    CURRENCY = EUR
    REF_DOC = 100000028
    REF_DOC_CA = M
    -->ORDER_ITEMS_IN:
    ITM_NUMBER = 000010
    MATERIAL = 701791
    TARGET_QTY = 0000000001000
    CURRENCY = EUR
    REF_DOC = 100000028
    REF_DOC_CA = M
    -->ORDER_PARTNERS:
    PARTN_ROLE = SP
    PARTN_NUMB = W12001
    COUNTRY = NL
    by providing this input i am able to create the document but it is not picking up the net value. so i have passed some extra paramters in ORDER_ITEMS_IN
    COND_TYPE = PNET
    COND_VALUE = 14,56
    COND_D_UNT = PC.
    folowing error is occured: Condition PNET is missing in pricing procedure A V Z0000.
    is it something related to configuration problem?
    2.BAPI_SALESORDER_CREATEFROMDAT1 or BAPI_SALESORDER_CREATEFROMDAT2
    I have used same test data that is used for BAPI_SALESORDER_CREATEFROMDATA (where in i coudl succefully create doc). but here i encounterd following error.
    Unpermitted combination of business object BUS2032 and sales doc. category L.
    When i created manually using transaction : VA01
    I could do the same by passing following inputs:
    DOC_TYPE = ZRK
    SALES_ORG = 3000
    DISTR_CHAN = 00
    DIVISION = 00
    Reference document number.
    Please suggest me right way of approach.

    Hi,
    In SAP, when the sub-sequent document is existing , we can not cancel the preceeding document. Therefore if you want to cancel the billing document you need to calcel the documents which are created with reference to that.
    Check and confirm.
    Regards,
    Ravi Duggirala

  • How to enable certain fields in billing document?

    Hi gurus!
    I need your help with this, we recently upgraded our system from version 4.6C to ERP 2005. We have some users in Sales who are in charge of the billing process, in version 4.6C they were able to change some fields of the billing header such as:
    - Currency
    - Payment terms
    - Incoterms
    In the new version these fields appear as "disabled" (users cannot change anymore what was copied from the Clients Master Data).
    I know there's some configuration in which info is copied from the sales order to the billing document (Copy Control). I already checked that and I'm not able to find where I can change something to "enable" these fields so users can define whatever they need.
    I also tried to see in SE80 if the fields that are part of that Dynpro have some other properties to enable them but was unable to change something.
    I also checked transactions OVA2 and VUA2 but didn't find somenthing that could help me out with this. Finally I checked different user exits in the previous version but it seems that when this was originally configured that was not the solution.
    There's also something else going on with the header because in the previous version users had the chance to type different texts in the Text Header tab but now everything is "disabled".
    Is there a transaction or something that you know so I can enable those fields?
    Thanks in advance.

    Not sure what the requirement is as ideally, you are not suppose to change the partner function manually during shipment.  However, go to VOPA,  place your mouse on Transport and click on Partner Procedures.  Double click on Procedure and see whether Forwarding Agent  is set to Not changeable .  If so, untick that and save.  Now retry the process.
    thanks
    G. Lakshmipathi

  • Create Sales Order With Reference to Billing Document Using BAPI_SALESORDER

    Hi,
    How can i create a sales order With Reference to Billing Document Using BAPI_SALESORDER_CREATEFROMDAT2?
    Thanks in advance,
    Alejandro.

    I have to create sales order with reference to existing billing document. I have tried to following bapis.
    1. BAPI_SALESORDER_CREATEed
    I have successfully created document with following details.
    -->ORDER_HEADER_IN:
    DOC_TYPE =                  ZRK
    SALES_ORG =              3000
    DISTR_CHAN   =            00
    DIVISION =                    00
    ORD_REASON =            100
    SD_DOC_CAT   =          L
    CURRENCY       =         EUR
    REF_DOC          =         100000028
    REF_DOC_CA    =         M
    -->ORDER_ITEMS_IN:
    ITM_NUMBER    =           000010
    MATERIAL          =          701791
    TARGET_QTY     =          0000000001000
    CURRENCY        =          EUR
    REF_DOC           =          100000028
    REF_DOC_CA     =          M
    -->ORDER_PARTNERS:
    PARTN_ROLE      =          SP
    PARTN_NUMB      =         W12001
    COUNTRY             =         NL
    by providing this input i am able to create the document but it is not picking up the net value. so i have passed some extra paramters in  ORDER_ITEMS_IN
    COND_TYPE          =        PNET
    COND_VALUE        =        14,56
    COND_D_UNT        =         PC.
    folowing error is occured: Condition PNET is missing in pricing procedure A V Z0000.
    is it something related to configuration problem?
    2.BAPI_SALESORDER_CREATEFROMDAT1 or BAPI_SALESORDER_CREATEFROMDAT2
    I have used same test data that is used for BAPI_SALESORDER_CREATEFROMDATA (where in i coudl succefully create doc). but here i encounterd following error.
    Unpermitted combination of business object BUS2032 and sales doc. category L.

  • Transfer of Freight Conditions to Billing Document - exchange rate issue

    I am having an issue with my freight costs copy to customer billing document and the exchange
    rate causing the values to change. 
    Example - SCD freight = 400 USD, but vendor is being invoiced in BRL (807.44). 
    The freight is passed to customer billing document, which happens to have local document currency of
    EUR, but customer being invoiced in USD.  However the freight is going thru some kind of exchange rate conversion, causing my original 400 USD freight
    to show as 414.44 USD on the customer invoice.
    I am looking for way to keep the freight from changing between SCD + Customer Billing document.
    Regards
    Rita

    Can you share your screens from F-60 involving EUR to USD conversion?
    Also, try using transaction EWCT to test conversions between currencies,
    you can choose your two currencies that give you the issue, and test by
    entering the initial value, seeing the converted value.

  • Create Excise invoice(J1IIN) document while creating billing document using bapi BAPI_BILLINGDOC_CREATEMULTIPLE

    Dear Experts,
    My scenario is:
    We have batch split scenario, where the parent line item of billing document has 0 quantity and its subsequent item (item with batch number) holds actual quantity data.
    When we create billing document using VF01 against delivery document, system creates billing document along with excise invoice document (J1IIN Document). And in excise document contain same number of line items that of billing document. Please see the below attachment: 
    Biiling document screen shot:
    While creating billing document, the J1IIN Document created automatically. Below is the screen-shot for the same.
    Now the issue is:
    When we create billing document using BAPI: BAPI_BILLINGDOC_CREATEMULTIPLE system creating only billing document and not creating excise invoice document.
    When we create excise document manually using J1IIN the zero quantity line items are excluded in excise invoice document.
    Please see the below screen-shot for the same; The z quantity line items are missing.
    We want excise document to be created while creating billing document using BAPI BAPI_BILLINGDOC_CREATEMULTIPLE. Or is there any other BAPI for the same purpose.
    Customization is also maintained for creating excise invoice document automatically.
    Regards,
    Rajesh Sadula.

    HI
      Pricing will be carried basing on the pricing
    procedure.
    Case1: Prices will be carried out automatically if
    necessary condition records are maintained for the
    condition type.
      For this you can go to Sales Order-> Item Conditions
    In the screen you can click on command button Analysis,
    which gives you the list of condition types associated
    to the pricing procedure. By clicking on the condition
    type you can know the action that has taken place.
    Case2: Manually forcing prices for Items.
      To do this, you have to populate ORDER_CONDITIONS_IN &
    ORDER_CONDITIONS_INX. Also note to identify the item
    numbers, you manually pass the item number for each item
    in the sales order, use the same item number for
    populating conditions.
      Parameters required:
    ORDER_CONDITIONS_IN:
      ITM_NUMBER, COND_TYPE, COND_VALUE, CURRENCY
    ORDER_CONDITIONS_INX:
      ITM_NUMBER, COND_TYPE, UPDATEFLAG, COND_VALUE,CURRENCY.
       Hope the above info helps you. Do revert back if you
    need more info.
    Kind Regards
    Eswar

  • Unable to release billing document to  accounting

    Dear All,
    I am cancelling billing document.The document created in July and cancelling today.
    Following error is coming in vf02 
    SD billing document cannot be cancelled. Error message F5A 005 occurs during release to accounting.
    the foreign currency valuation already done for billling document. Any idea on this.
    Best Regards,
    Sainath

    The long text of message F5A005 explains the reason of the error
    message: an item in the accounting document was valuated with an
    open item foreign currency valuation.
    When you reverse an invoice, the system tries to perform the so called
    New cancellation procedure.
    This procedure automatically clears the accounting documents.
    If the New cancellation procedure fails, then the system performs
    the Old cancellation procedure (which doesn't clear automatically
    the accounting documents).
    This is not the case when the New cancellation procedure gives an
    error, like F5A005. In this case the cancellation document cannot
    be transferred.
    To change this behaviour, you could activate the field RULE_NEW_CANCEL
    in userexit USEREXIT_FILL_XKOMK1 as described in the attached
    note 339928.

Maybe you are looking for