BAPI for VA01: For pricing calculation

Hi,
I need BAPI to calculate the price.
The price calculation functionality should be exactly like, what happens in VA01.All the elements like price, discount,tax,freight,etc. everything should be calculated and return the values.
Thanks.

Hi,
Use the BAPI BAPI_SALESORDER_SIMULATE to get the simulated price as if the Sales order is created (No order will be created, only the value will be captured from simulation).
Pass the Order header info, like Document type, Sales area, PO #..
Along with the item details like item #, Material #, Quantity, UoM, Plant..
It will give the details about what information your order contains if created on DB with same info.
ORDER_CONDITION_EX table parameter contains the pricing result.
Hope this helps.
Regards,
Nagaraju Chidurupalli

Similar Messages

  • BAPI for VAT Calculation

    Hello Everybody,
    I just have one question and hope that somebody know the answer.
    Namely, I will need to have a BAPI which will calculate tax amount (VAT amount) based on (Net) Amount in the GL coding line.
    Are there maybe some BAPIs which can be used to utilize VAT (tax) amount calculation.
    Thanks in advance.

    If you can share the pricing procedure (TCode V/08), then may be I can try to give suggestion without going for any enhancement.  Also, let me know how it is calculating currently.
    G. Lakshmipathi

  • BAPI for Pricing & Conditions

    1. what is the use of Function     Module "BAPI_PRICES_CONDITIONS"? what value we have to pass to BAPI BAPI_PRICES_CONDITIONS"?
    2. Which function Module will use to Extract the Pricing & conditions Details (from SD) ?
    3. Can anyone help me how to extract the Pricing & conditions Details (from SD) ?
    Thanks

    you can use KONV table to get pricing condition(KSCHL) and pricing value(KBETR), for this we require sales order no(VBELN) and item no(POSNR).

  • Customer exit or BAPI for Loan Calculation repay

    hi All,
    I need to calculate the company loan repayments in a different way (which is out of the standard), Please let me know which customer exit or BAPI can make this possible.
    Scenario:
    Principal Amt = Rs. 10,000
    Interest rate = 8%
    Yearly Interest = 10,000 * 8% = 800
    Monthly Interest = (10,000 * 8%)/ 12 (months) = Rs. 66.67
    Now, if an Employee is asking for a 6 month period to pay-off the loan then the calculation will be :-
    Principal Instalment = Rs. 10,000 / 6 (months) = Rs. 1667
    Interest Instalment = Rs. 66.67 * 6 = Rs. 400
    Total Instalment to be paid each month = Rs. 1667 + Rs. 400 = Rs. 2067.
    Thanks in Advance
    Amol
    Edited by: Amolkumar Patil on Sep 17, 2010 11:38 AM

    Check the table V_506P_B with Interval option.
    If you are using payment type Loan Pament( Payroll)...check the table V_506P_B ..if you select Interval...... If you set this indicator for a payment type, the system also shows the column End Date in the Loans infotype (0045) on the Payments tab page. For the payment that you have specified with this payment type, this field End Date is ready for input. This means you can specify a start and end date for these payments. Within this interval system processes such a payment in each payroll period in the standard system.
    Mohan

  • BAPI for Pricing condition record  to transaction MEk1

    Hi Experts,
    I am facing problem to find out the BAPI or function module  to create the condition record for transaction MEK1.Please let me know asap.
    Richard.

    You can use BAPI_PRICES_CONDITIONS .
    See the thread.
    BAPI_PRICES_CONDITIONS

  • BAPI for extraction sales price

    Hi, friends:
    are they BAPI for extract pricing conditions?
    Thank you

    this might help: BAPI_PRICES_CONDITIONS
    or FM: PRICING
    Re: BAPI for PRICING conditions

  • Function Module or BAPI for Sales price calculation and Pricing worklist

    Hi Retail experts,
    We frequently change purchase conditions, but not that frequently for cases like perishables, so sales price calculations needs to be done each time. This means pricing worklist generation and release is done often and then sales price recalculation is done each time article wise and for various organization level.
    We have 15000 articles for which purcahse conditions changes, it is impossible to generate and release pricing worklist and do sales price calculation for each article
    So solution may be to find a FM/BAPI for the following transactions and automate them.
    Do you know FM/BAPI for VKP5/VKBP or VKP6, WVN0, WVN1 transactions.
    Regards
    Bob

    HI Madhu,
             Thanks for the reply,
    I am looking for BAPI or FM which will check all pricing condition types( like MRP of the Material(table A304), discounts(A800,A802,A803,A804) for that customer and Tax) and give me the value(KONP-KBETR).
    I can only pass Customer, material, quantity etc.. so that BAPI or FM has do all standred checks/ validation and give the
    KONP-KBETR for all condition types like MRP, discounts, Tax. we are developing the custom program for sales order creation so we require the all this before saving the sales order.
    Regards,
    Nagesh
    Edited by: nageshdb4u on Mar 5, 2011 12:05 PM

  • BAPI or BDC Program For pricing VK11

    Hi All,
       Is there any standard program for pricing VK11 using batch input or send me some coding on Bapi or BDC.
    Thanks in Advance.
    Arun.
    Edited by: Arun Kumaran on Dec 24, 2009 11:40 AM

    Hi,
    You can go for BAPI "BAPI_PRICES_CONDITIONS " instead of a BDC.. you could have search in forums first for these type of questions any ways
    See the link below..
    BDC (VK11)
    regards,
    NZR

  • BAPI for Transaction VA01?

    How to Develope an interface program to upload the sales order data from legacy system to SAP using BAPI for Transaction VA01.Explain me clearly?

    VA01:
    BAPI_SALESORDER_CREATEFROMDAT1
    BAPI_SALESORDER_CREATEFROMDAT2
    steps for bapi creation
    STEP 1 - Define a structures for the BAPI
    In this step a structures for the parameters and tables of the function module used for the BAPI are defined.
    Use Data type -> Structure
    Define the following structures:
    ZBAPI_ORDER_STATUS_IMPORT which contains the following fields:
    ORDERID Order number (Keyfield)
    SPRAS Language
    ExcludeInactive - Checkbox - Exclude inactive status
    ZBAPISTAT:
    STEP 2 - Write Function Module
    Important notes:
    Each BAPI must have its own function group.
    Under the attributes tab remember to select Processing Type Remote Enabled module, otherwise the function module cannot be invoked via RFC and used as a BAPI
    Import/Export parameters can only be BY VALUE for an RFC enabled function module
    We are only creating one BAPI in this example, but you can create related BAPIs in the same function pool, so they will be able to share global data.
    Code
    Notes:
    The subroutine SET_RETURN_MESSAGE is a standard routine used for BAPIs that use the BAPIRETURN structure
    In form Z_BAPI_GET_ORDER_SYSTEM_STATUS there is a test IF 1 = 2. If the test is true a message is displayed. The condition will obviously never be true, and we will never want to display a message in a BAPI. The reason why it is included is, that it create a reference for the message, so that the WHERE USED functionality can be used for the message. This is the SAP standard way to handle it, copied from the Company Code GetList BAPI.
    INCLUDE LZBAPISTATUSUXX
      THIS FILE IS GENERATED BY THE FUNCTION LIBRARY.             *
      NEVER CHANGE IT MANUALLY, PLEASE!                           *
    INCLUDE LZBAPISTATUSU02.
                        "Z_BAPI_GET_ORDER_SYSTEM_STATUS
    INCLUDE LZBAPISTATUSTOP - Global data
    FUNCTION-POOL ZBAPISTATUS.                  "MESSAGE-ID Z3
    Types:
      begin of Type_tj02t,
        istat  like tj02t-istat,
        txt04  like tj02t-txt04,
        txt30  like tj02t-txt30,
      end of type_tj02t.
    DATA:
    Declarations for TABLE parameter
      T_BAPISTAT like ZBAPISTAT occurs 0,
      G_BAPISTAT like ZBAPISTAT,
    Table for object texts
      t_tj02t    type type_tj02t occurs 0,
      g_tj02t    type type_tj02t.
    Structure for return messages
    DATA:
      BEGIN OF MESSAGE,
        MSGTY LIKE SY-MSGTY,
        MSGID LIKE SY-MSGID,
        MSGNO LIKE SY-MSGNO,
        MSGV1 LIKE SY-MSGV1,
        MSGV2 LIKE SY-MSGV2,
        MSGV3 LIKE SY-MSGV3,
        MSGV4 LIKE SY-MSGV4,
      END OF MESSAGE.
    INCLUDE LZBAPISTATUSF01 - Subroutines
    ***INCLUDE LZBAPISTATUSF01 .
    *&      Form  SET_RETURN_MESSAGE
    This routine is used for setting the BAPI return message.
    The routine is a standard routine for BAPIs that handles the message
    structure for the BAPIRETURN structure. It has been copied from the
    BAPI Company Code Getlist
         -->P_MESSAGE  text
         <--P_RETURN  text
    form SET_RETURN_MESSAGE USING    VALUE(P_MESSAGE)   LIKE MESSAGE
                            CHANGING P_RETURN  LIKE BAPIRETURN.
      CHECK NOT MESSAGE IS INITIAL.
      CALL FUNCTION 'BALW_BAPIRETURN_GET'
           EXPORTING
                TYPE       = P_MESSAGE-MSGTY
                CL         = P_MESSAGE-MSGID
                NUMBER     = P_MESSAGE-MSGNO
                PAR1       = P_MESSAGE-MSGV1
                PAR2       = P_MESSAGE-MSGV2
                PAR3       = P_MESSAGE-MSGV3
                PAR4       = P_MESSAGE-MSGV4
             LOG_NO     = ' '
             LOG_MSG_NO = ' '
           IMPORTING
                BAPIRETURN = P_RETURN
           EXCEPTIONS
                OTHERS     = 1.
    endform.                    " SET_RETURN_MESSAGE
    FUNCTION Z_BAPI_GET_ORDER_STATUS
    FUNCTION z_bapi_get_order_system_status.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(I_AUFNR) TYPE  AUFNR
    *"     VALUE(I_SPRAS) TYPE  SPRAS DEFAULT SY-LANGU
    *"     VALUE(I_EXCLUDEINACTIVE) TYPE  CHAR1 OPTIONAL
    *"  EXPORTING
    *"     VALUE(RETURN) TYPE  BAPIRETURN
    *"  TABLES
    *"      T_BAPISTAT STRUCTURE  ZBAPISTAT
    DATA:
       l_aufnr LIKE afko-aufnr,
       l_objnr LIKE jest-objnr.
    Check if order exists
    SELECT SINGLE aufnr
        FROM afko
        INTO  l_aufnr
        WHERE aufnr = BAPI_ORDER_STATUS_IMPORT-orderid.
      IF sy-subrc NE 0.
        CLEAR message.
        message-msgty = 'E'.
        message-msgid = 'Z3'.
        message-msgno = '000'.
        message-msgv1 = BAPI_ORDER_STATUS_IMPORT-orderid.
        PERFORM set_return_message USING    message
                                   CHANGING return.
        IF 1 = 2.
        The only reason to include this statement, that will obviously
        never execute, is that it will create a referecence so that you
        can find out where a particular message is being used. This
        functionality is used by the BAPIs programmed by SAP
          MESSAGE e000(z3).
        ENDIF.
      ENDIF.
      CHECK return IS INITIAL.
    Read order status
    CONCATENATE 'OR' BAPI_ORDER_STATUS_IMPORT-orderid INTO l_objnr.
      IF BAPI_ORDER_STATUS_IMPORT-i_excludeinactive = 'X'.
        SELECT objnr stat inact
          FROM  jest
          INTO  TABLE t_bapistat
          WHERE objnr = l_objnr AND
                inact  'X'.
      ELSE.
        SELECT objnr stat inact
          FROM  jest
          INTO  TABLE t_bapistat
          WHERE objnr = l_objnr.
      ENDIF.
      IF sy-subrc  0.
      No object status found
        CLEAR message.
        message-msgty = 'E'.
        message-msgid = 'Z3'.
        message-msgno = '001'.
        message-msgv1 = BAPI_ORDER_STATUS_IMPORT-orderid.
        PERFORM set_return_message USING    message
                                   CHANGING return.
        IF 1 = 2.
          MESSAGE e001(z3).
        ENDIF.
      ENDIF.
      CHECK return IS INITIAL.
    Read order status texts
      SELECT istat txt04 txt30
        FROM tj02t
        INTO TABLE t_tj02t
        FOR ALL ENTRIES IN t_bapistat
        WHERE istat = t_bapistat-stat AND
              spras = BAPI_ORDER_STATUS_IMPORT-i_spras.
      SORT t_tj02t BY istat.
      LOOP AT t_bapistat INTO g_bapistat.
        READ TABLE t_tj02t
          WITH KEY istat = g_bapistat-stat BINARY SEARCH
         INTO g_tj02t.
        IF sy-subrc = 0.
          MOVE:
            g_tj02t-txt04 TO g_bapistat-txt04,
            g_tj02t-txt30 TO g_bapistat-txt30.
          MODIFY t_bapistat FROM g_bapistat TRANSPORTING txt04 txt30.
        ENDIF.
    ENDLOOP.
    ENDFUNCTION.
    OBJNR like JEST-OBJNR
    STAT like JEST-STAT
    INACT like JEST-INACT
    TXT04 like TJ02T-TXT04
    TXT30 likeTJ02T-TXT30
    Important note:
    You will have to define a structure for every parameter in the BAPI. You cannot use the same structures used in existing applications because BAPI structures are frozen when BAPIs are released and then there are restrictions on changing them.
    STEP 3 - Create the API Method Using the BAPI WIZARD
    The BAPI wizard is used toTo expose the remote function module as a BAPI. The wizard will generate some additional code, so the function module is a valid method of the BOR. This allows the BAPi to be called as a workflow method in addition to be called by an outside program.
    Note: Each function module corresponds to a method in the BOR
    Go to the Business Object Builder SWO1.
    You can either create the new Object type as a subtype of an existing business object or create a new business object from scratch. In this example it would be obvious to create the Object type as a subtype of BUS2005 Production order. However, to illustrate how to create a new Object type from scratch, we will do this.
    In the Object/Interface type field write the name of the new Business Object: ZORDERSTAT. Press enter and fill in the additional fields necessary to create the object type.
    Supertype: Not relevant because we are creating our object from scratch
    Program. This is the name of the program where the wizard generates code for the Object type, NOT the function module we created earlier. The program name must not be the name of an existing program.
    Press enter and create the new business object. Note that when you create the business object a standard interface, an attribute ObjectType and the methods ExistenceCheck and Display are automatically generated. These cannot be changed !
    The next step is to add the Z_BAPI_GET_ORDER_STATUS method to the business object. Select Utilities -> API methods -> Add method and write the name of the function module in the dialog box. Next the dialog ox show below will be shown. This is the start screen of the BAPI wizard. Proceed with wizard by pressing the button.
    After you have finished the wizard, you will notice that the ZGetOrderStatus has been added to the business object:
    You can double-click on the method to see its properties. To use the business object you must change the Object type status to Implemented. Use menu Edit->Change releases status->Object type->To implemented. No you can test the object (Press F8).
    Note that the BAPI wizard has added a wrapper class for the function module so it can be sued as method in the business object. Choose menu Goto->Program to display the program:
              Implementation of object type ZORDERSTAT           *****
    INCLUDE <OBJECT>.
    BEGIN_DATA OBJECT. " Do not change.. DATA is generated
    only private members may be inserted into structure private
    DATA:
    " begin of private,
    "   to declare private attributes remove comments and
    "   insert private attributes here ...
    " end of private,
          KEY LIKE SWOTOBJID-OBJKEY.
    END_DATA OBJECT. " Do not change.. DATA is generated
    BEGIN_METHOD ZGETORDERSTATUS CHANGING CONTAINER.
    DATA:
          BAPIORDERSTATUSIMPORT LIKE ZBAPI_ORDER_STATUS_IMPORT,
          RETURN LIKE BAPIRETURN,
          TBAPISTAT LIKE ZBAPISTAT OCCURS 0.
      SWC_GET_ELEMENT CONTAINER 'BapiOrderStatusImport'
           BAPIORDERSTATUSIMPORT.
      SWC_GET_TABLE CONTAINER 'TBapistat' TBAPISTAT.
      CALL FUNCTION 'Z_BAPI_GET_ORDER_STATUS'
        EXPORTING
          BAPI_ORDER_STATUS_IMPORT = BAPIORDERSTATUSIMPORT
        IMPORTING
          RETURN = RETURN
        TABLES
          T_BAPISTAT = TBAPISTAT
        EXCEPTIONS
          OTHERS = 01.
      CASE SY-SUBRC.
        WHEN 0.            " OK
        WHEN OTHERS.       " to be implemented
      ENDCASE.
      SWC_SET_ELEMENT CONTAINER 'Return' RETURN.
      SWC_SET_TABLE CONTAINER 'TBapistat' TBAPISTAT.
    END_METHOD.
    STEP 4 - Final stepsWhen the Business object has been checked and the documentation created, the following steps must be carried out:
    Release the BAPI function module (in the Function Builder).
    Release the business object type (in the BOR ObjectType -> Change release status to -> Implemented ).
    Release the BAPI as a method in the BOR (Release the methods you has created - Set the cursor on the method then
    Edit -> Change release status -> Object type component -> To released )
    For potential write BAPIs: Release the IDoc and its segments
    You can now display the BAPI in the BAPI Explorer:
    for detailed expalnation
    http://www.erpgenie.com/abap/bapi/example.htm
    do reward if helpful

  • Authorization Check For Pricing Reference Materail In VA01 & VA02

    Hi Expert, 
    User has requested to do authorization check for pricing reference material in line item in VA01/VA02. currently SAP does not has any authorization check for pricing reference material field at line item in VA01/VA02.  Is there any standard authorization object for this purpose or needs to use user exit to do this checking ie if the pricing reference material entered does not belong to the sales org as entered in sales header data then system will issue warning/error message.  What will be the standard user exit routine if there is no standard authorization object for this purpose ?
    Thanks.
    Regards,
    Tay
    Edited by: Hung How Tay on May 13, 2010 2:48 AM

    Hi,
    Try below in MV45AFZB
    USEREXIT_SOURCE_DETERMINATION
    Best regards,
    Anupa

  • Any BAPI for calculating Previous Period Balances?

    Is there any BAPI for calculating previous period balances my period is 04 and have to display 123 period balances.
    please help.
    Moderator message: please search for available information/documentation before asking.
    locked by: Thomas Zloch on Oct 5, 2010 4:45 PM

    Well, did you even try via SE37 a simple F4 with BAPIBALANCE or BAPIACCBALANCE* will give you the answer....
    Regards,
    Raymond

  • User exit to update the incompletion log in sales order for pricing error

    Hi experts,
    I have to check the some mandotory pricing conditions in sales order, if that conditions are not exist in sales order then i need to show the information message as well as i need to update it in incompletion log of sales order. (incopletion log we can see on menu bar 'EDIT' or ctrl+F8 on main screen of VA01). So that user can save the sales order but it will be in incomplete status.
    I have completed it upto showing the information message using user exit 'MV45AFZZ', but after this i don't know how to update it in incompletion log of sales order for pricing. I tried to update in tables VBUK-UVPRS, but i am not getting the desired result.
    Please anyone can tell me how to update it. In which user exit i can update the incompletion log.
    Thanks and Regards,
    Vicky.

    Hi Vinod,
    I am sending you my code please check it,
       if TKOMK-SPART = 10.
        if XKOMV is not INITIAL.
          clear v_JEXP.
        READ TABLE XKOMV with key kschl = 'JEXP'.
        if sy-subrc = 0.
          check XKOMV-kwert = 0.
          message i003(ZT) with 'Value should not be 0 for conditioin type JEXP'.
          v_JEXP = 'X'.
        else.
          message i003(ZT) with 'Maintain the mandatory Conditioin type JEXP'.
          v_JEXP = 'X'.
        endif.
        if v_JEXP = 'X'.
      XVBUV-MANDT = sy-mandt.
      XVBUV-POSNR = '000010'.
      XVBUV-TBNAM = 'VBAP'.
      XVBUV-FDNAM = 'PRSOK'.
      XVBUV-FEHGR = 20.
      XVBUV-STATG = '06'.
      XVBUV-FCODE = 'PKON'.
      XVBUV-SORTF = 9999.
      XVBUV-LFDNR = 0000.
      XVBUV-UPDKZ = 'I'.
      append XVBUV.
        endif.
    endif.
    endif.
    Please suggest something to solve this.
    Thanks and Regards,
    Vicky.

  • Mandatory Fields for IDOC ORDERS01 for Pricing Condition EDI1 to trigger

    Hi ,
    I'm Testing an Inbound ORDRSP using we 19  for Pricing Conditions EDI1. What are the Mandatory Fields for IDOC ORDERS01
    Thanks

    hello,
    I think it's better to execute VA01 to create a sales order; in that way you should have an idea of mandatory fields.
    Thanks.

  • Can u tell me any predefined BAPI for change and creation of Material

    Hi,
        Can anybody tell me  predefined BAPI for change and creation of Materialmasterand Pricing?
    Thanks & regards,
    Gopianne.

    you can use the BAPI to BAPI_MATERIAL_SAVEDATA create as well as to change material master.
    When changing material master data, you need enter only the material
    number.
    In the header data, you must select at least one view for which data is
    to be created. Depending on the view selected, you must maintain other
    required parameters. If you do not enter values for all of the required
    parameters, the method is ended with an error message.
    The corresponding fields in the tables (such as CLIENTDATA) must first
    be supplied with data by the calling program. An indicator must also be
    set for each of these fields so that the data is written to the database
    by the method. This requires the calling program to supply the
    corresponding field with the indicator in a checkbox table (for example,
    CLIENTDATAX). Checkbox tables exist for tables that do not contain any
    language-dependent texts (MAKT, MLTX), International Article Numbers
    (MEAN), or tax classifications (MLAN). Several data records for a
    material can be created in these tables.
    regards
    vivek
    reward points if it helps

  • Custom Report for Pricing Conditions Master

    Hi Everyone,
    We know that Pricing Conditions Master Data is stored in KONH and KONP. If a condition is populated in a document then transactional data can be obtained from KONV with 'condition record number' as the foreign key.
    The requirement is to design a custom report that lists for order items the pricing conditions (basic price) that are not populated in the sales orders. The pricing is not carried out in these orders as these are not chargeable orders, but the user wishes to know in an existing custom report the price from the conditon master data.
    The idea is that the sales order has no pricing calculated but how much Sales Price the material has as per the price condition master record.This can be known by the custom report.
    Visiting the standard prcing preports like V/LD is laborious for the user and wishes to add a column in an exisitng report of order item list for the price of each order item.
    The challenge here is that in KONH there is no field for material exlusively. It gets stored as a text and hence fetching data from this table for a given material seems difficult. Let us remember that we are not refering to any sales order while accessing data from KONH or KONP.
    Any thoughts / views on how this can be achieved are most welcome.
    Thanks,
    Hemant

    You will have to work on exact condition table in access sequence instead of KONH. For eg: If condition table in access sequence is 601 then you will have fetch the condition number KNUMH from table A601 (prefix A before the condition table number). With the KNUMH you can get the condition value from KONP.
    Regards,
    GSL.

Maybe you are looking for

  • My 5gen iPod touch isn't being recognized by iTunes.

    I've followed the Apple support to try in fix it and nothing is working. I also tried it with my iPod Nano and got a message about it being detected but not being ID'ed properly.

  • How do I connect multiple telnet clients to a telnet server in LabVIEW?

    Good afternoon, I'm writing a telnet server in LabView 6.1 that needs to handle multiple clients. To do this, I modified the "viserver\runvi.llb" example to use the telnet VI's from the Internet Toolkit instead of the TCP VI's. Then I changed the Ope

  • Installing windows on my mac.

    Im new to macs and I was wondering how would I go about doing that. Are you even allowed too? I have a game I like to play but it says it wont work on a mac. any way to help would be great. like a step by step or anything thanks for all your help.

  • Search engine finds wrong iweb site

    I have two iweb websites www.jazzana.com www.royalstrings.com when I use google seach and type in Jazzana the result shows royalstrings website www.royalstrings.com if I type in the url www.jazzana.com the site comes up the royalstrings site has no i

  • How to get photos to my mac from my iphone 4s

    How do I get my photos from my iPhone 4s to my mac maverick osx     Some are on here but i don't want to duplicate everything.