Header Pricing conditions in BAPI function module

I am using BAPI function module BAPI_SALESDOCU_CREATEFROMDATA1 to create sales orders through program.
It is working fine with item level pricing conditions.
But my requirement is ... I need to update few pricing conditon types in item level and one in header level.
Could you please help me where I need to pass header pricing conditions. Please help me.
        CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
          EXPORTING
            SALESDOCUMENT             = SALESDOCUMENT
            SALES_HEADER_IN           = SALES_HEADER_IN
          SALES_HEADER_INX          =
          SENDER                    =
            BINARY_RELATIONSHIPTYPE   = 'VORL'
          INT_NUMBER_ASSIGNMENT     = ' '
          IMPORTING
            SALESDOCUMENT_EX          = SALESDOCUMENT_EX
          TABLES
            RETURN                    = RETURN
            SALES_ITEMS_IN            = SALES_ITEMS_IN
          SALES_ITEMS_INX           =
            SALES_PARTNERS            = SALES_PARTNERS
            SALES_SCHEDULES_IN        = SALES_SCHEDULES_IN
          SALES_SCHEDULES_INX       =
            SALES_CONDITIONS_IN       = SALES_CONDITIONS_IN.
          SALES_CFGS_REF            =
          SALES_CFGS_INST           =
          SALES_CFGS_PART_OF        =
          SALES_CFGS_VALUE          =
          SALES_CFGS_BLOB           =
          SALES_CCARD               =
          KEY_TABLE                 =
Thanks in advance.
Raghu

If the correct configuration allows for manual entry of the condition type you want to populate, You can map your value using
' ORDER_CONDITIONS_IN'  . If item level map line number, cond step number of the condition type in your pricing procedure, your condition type you are using,  condition value you are sending into the system,  currency, and cond unit. If it is a header condition, then send in 000000 as the item number.   You can also consider using BAPI_SALESORDER_CREATEFROMDAT2

Similar Messages

  • BAPI function module 'BAPI_PO_CHANGE' is not updating aacural condition

    Dear All,
    BAPI function module 'BAPI_PO_CHANGE' is not updating aacural condition in PO pricing. Please give me a right solution on this query.
    Below I have given my code.
    Thanks and Regards
    Makarabd
    poitem-po_item = '00010'.
    poitem-net_price = '1060.00'.
    poitem-period_ind_expiration_date = 'D'.
    APPEND poitem.
    poitemx-po_item = '00010'.
    poitemx-po_itemx = 'X'.
    poitemx-net_price = 'X'.
    APPEND poitemx.
    select single * from ekko where ebeln = po_no.
    pocond-itm_number = '00010'.
    pocond-cond_type = 'ZVCU'.
    pocond-cond_value = 10.
    pocond-currency = '%'.
    pocond-STAT_CON = 'X'.
    pocond-accruals = 'X'.
    pocond-change_id = 'I'.   " I - Add , U - Update , D - Delete
    APPEND pocond.
    pocondx-itm_number = '00010'.
    pocondx-itm_numberx = 'X'.
    pocondx-cond_type = 'X'.
    pocondx-cond_value = 'X'.
    pocondx-currency = 'X'.
    pocondx-change_id = 'X'.
    pocondx-STAT_CON = 'X'.
    pocondx-accruals = 'X'.
    APPEND pocondx.
       CALL FUNCTION 'BAPI_PO_CHANGE'
            EXPORTING
              purchaseorder          = po_no
            TABLES
              return                 = return
              poitem                 = poitem
              poitemx                = poitemx
              pocond                 = pocond
              pocondx                = pocondx.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    WAIT = 'X'.

    Hi ,
    Are you trying to pass the non char fields in CI_COBL. Please look at the link below .
    [http://forums.sdn.sap.com/thread.jspa?threadID=1137795] .
    Also serach for the similar threads when and notes while transferring currency and quantity field in different custom includes of the EKPO ...
    Thanks,
    Anjaneya .

  • BAPI function module to get condition type and its values based on delivery number?

    Hi All,
    I would like to have the BAPI function module to get condition type value based on delivery number before invoice is created.please provide detail program for as a reference .please reply as soon as possible its urgent.
    Regards,
    saaikumar.

    If you haven't already, you may first need to search via the SAP transaction "BAPI" in the area this is applicable to.  Failing that I do hope you get an answer.

  • Sales Order Header Pricing Conditions

    Hi All,
    I am using BAPISDORDER_GETDETAILEDLIST function module to get the pricing conditions. I am able to see Item Pricing Conditions in the ORDER_CONDITIONS_OUT  table but not able to find the Header Pricing Conditions.
    Please let me know how to fetch header pricing conditions. Is there any other FM which can do it?
    Thanks
    Jit

    Hello,
    Try these FM's.
    SD_SALES_HEADER_READ
    SD_SALES_ITEM_TABLES_READ
    SD_SALES_PRICING_INFORMATION
    MRM_DBTAB_KONV_READ
    RV_KONV_SELECT
    Please check out the Function module RV_INVOICE_DOCUMENT_READ.
    Here you need to pass on the invoice no. In the output it shall give you details in invoice header and item levels, price, document status. You will get the net amount as well as the tax. Then you need to add the net amount and the tax to get the total amount
    Regards,
    Vasanth

  • Unable to update the header Pricing Condition of Customer Quotation

    Hi Friends,
    I am trying to change the Customer Quotaion using the 'BAPI_CUSTOMERQUOTATION_CHANGE'.
    I am able to update the Header details and item details,but When it comes to pricing Conditions the Following errors I am getting
    000000: Operations with Conditions of type F not allowed(ZZHD).
    as it is a Header pricing Condition, I am passing Item number as 000000,even I tried to Comment and see,but the same issue.
    Following is are the pricing Condition details that I am passing to BAPI.
    CLEAR: wa_quote_condition_in,
             wa_quote_condition_inx.
      wa_quote_condition_in-itm_number        = '000000'.
      wa_quote_condition_inx-itm_number       = '000000'.
      wa_quote_condition_in-COND_COUNT     = '01'.
      wa_quote_condition_inx-COND_COUNT    = '01'.
      wa_quote_condition_in-cond_type            = 'ZZHD'.
      wa_quote_condition_inx-cond_type         = 'ZZHD'.
        wa_quote_condition_inx-updateflag      = 'U'.
      lv_zzhd  = ( ls_nd_payment-transport_charg / 10 ).
      wa_quote_condition_in-cond_value     = lv_zzhd.
      wa_quote_condition_inx-cond_value    = 'X'.
      APPEND: wa_quote_condition_in TO it_quote_condition_in,
              wa_quote_condition_inx TO it_quote_condition_inx.
      CLEAR: wa_quote_condition_in,
             wa_quote_condition_inx.
    Please help in tracing the above issue.
    Regards,
    Xavier.P
    Edited by: Xavier on Sep 7, 2011 10:59 AM
    Edited by: Xavier on Sep 7, 2011 11:00 AM

    Hi prasad,
    Please find the you will find 'condition type paramter in the structers bapicond, bapicondx.
    data :it_quote_condition_in    TYPE TABLE OF bapicond,
             wa_quote_condition_in    TYPE bapicond,
             it_quote_condition_inx   TYPE TABLE OF bapicondx,
             wa_quote_condition_inx   TYPE bapicondx.
    CALL FUNCTION 'BAPI_CUSTOMERQUOTATION_CHANGE'
        EXPORTING
          salesdocument                = ls_nd_payment-vbeln
          quotation_header_in          = wa_header
          quotation_header_inx         = wa_header_inx
         simulation                   = 'X'
      BEHAVE_WHEN_ERROR            =
      INT_NUMBER_ASSIGNMENT        =
       logic_switch                 = wa_logic_switch
      NO_STATUS_BUF_INIT           = ' '
        TABLES
          return                       = it_bapiret2
          quotation_item_in            = it_order_items
          quotation_item_inx           = it_order_items_inx
         partners                     = it_partners
      PARTNERCHANGES               =
      PARTNERADDRESSES             =
          conditions_in                = it_quote_condition_in
          conditions_inx               = it_quote_condition_inx
      QUOTATION_CFGS_REF           =
      QUOTATION_CFGS_INST          =
      QUOTATION_CFGS_PART_OF       =
      QUOTATION_CFGS_VALUE         =
      QUOTATION_CFGS_BLOB          =
      QUOTATION_CFGS_VK            =
      QUOTATION_CFGS_REFINST       =
        schedule_lines               = it_order_schedule
        schedule_linesx              = it_order_schedule_inx
       quotation_text               = it_texts
      QUOTATION_KEYS               =
      EXTENSIONIN                  =
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    Regards,
    Xavier.P

  • BAPI function module name and mandatory fields

    Give the name of BAPI function module for pricing change into the transaction VA05 ?
    What are the mandatory fields ?
    Please give a exemple code to do this.

    Hi,
    VA05 is for list of sales order. But if you want to change pricing of material stocks go for follwoing fn module.
    BAPI_SALESORDSTCK_PRICE_CHANGE
    If you want other BAPI for sales related, just go to SE37, give BAPISALE and press F4, you will get all the BAPI fn modules.
    Rewards points if helpful.
    Regards,
    CS.

  • Is there a BAPI function module which reverses the sign of an integer

    Hi Friends,
                     Could u plz tell me  a BAPI function module which can reverse the
    sign of an integer ?
    For example:       
    if i get the integer value in work area as <number> <sign> , i need to change it to <sign><number>. 
    i.e if i get the integer value in work area as    "248-" ("-" indicates minus sign) to " -248 ".
    i.e if i get the sign after the value , my requirement is to get the sign before the value.
    The actual ABAP query is:
    data: QTY_1 TYPE CHAR10,
            QTY_2  TYPE CHAR10,
            WA_DISTK_PORTLET-QUANTITY TYPE INT4.
    QTY_1 = WA_DISTK_PORTLET-QUANTITY.
                    SEARCH QTY_1 FOR '-'.
            IF SY-SUBRC = 0 AND SY-FDPOS <> 0.
              SPLIT  QTY_1 AT '-' INTO  QTY_1 QTY_2.
              CONDENSE  QTY_1.
              CONCATENATE '-'  QTY_1  INTO QTY_1.
              CONDENSE  QTY_1.
            ELSE.
              CONDENSE  QTY_1.
            ENDIF.
            CLEAR: WA_DISTK_PORTLET-QUANTITY.
         MOVE : QTY_1 TO  WA_DISTK_PORTLET-QUANTITY.
    when i move this QTY_1 to work area  quantity field The sign is coming after the numeric value.
    Note: There is no possibility to change the datatype of quantity field.
    I have tried my level best with 'CLOI_PUT_SIGN_IN_FRONT' function module.
    I will assign full points to the correct function module.

    Hi Ram,
    try this ang look into fields.
    data: fields type table of SVAL with header line.
    fields-tabname = 'MARA'. fields-fieldname = 'MATNR'. append fields.
    fields-tabname = 'BKPF'. fields-fieldname = 'BUDAT'. append fields.
    CALL FUNCTION 'POPUP_GET_VALUES'
      EXPORTING
        POPUP_TITLE           = 'Value Insert'
      TABLES
        FIELDS                = fields.
    Regards, Dieter

  • LSMW or ABAP Program:- I need BAPI function module or Direct input program

    hi experts,
    I have to develop the program which uploads the transportation pricing data for freight cost management.
    the transcation code is XK15 for the application A.
    There is a program called RV14BTCI which will uploads for the application V or M not for A.
    So i can use lsmw or direct input program in both lsmw and abap program so plz help me if there is any BAPI function module or Direct input program for Application A.
    thank you,
    waiting for u r reply.
    Edited by: SANTOSH MARUPALLY on Jan 22, 2008 6:27 AM

    Hi Santosh
    Am not really sure if RV14BTCI can not be used for other applications apart from V and M.
    You can try using BAPI: BAPI_PRICES_CONDITIONS. Over the forum you can find few example coding.
    Regards
    Eswar

  • Any BAPI/Function Module for adding new record with dates in PA0027

    Hi all,
    I am tryig to find is there any BAPI/Function module for updating new record with Start Date and End date for specified Personal Number in PA0027 Table.
    In PA0027 table i will be passing start date and end date for selected personal number, it needs to add new record with this details in the table checking the condition that this start date and end dates should not be between any of of start date and end dates for the specified personal number.
    thanks for ur time.
    Murali

    Hi Raj/Suresh thanks for ur answers.
    but i am having a problem,i gave this values.
    INFTY               -
                0027
    NUMBER              -
                00000010
    SUBTYPE             -
                010
    OBJECTID
    LOCKINDICATOR
    VALIDITYEND         -
                03/12/2006
    VALIDITYBEGIN       -
                03/01/2006
    RECORDNUMBER        -
                000
    RECORD              -
                P0027
    OPERATION           -
                CHK
    TCLAS               -
                A
    DIALOG_MODE         -
                0
    NOCOMMIT            -
                Y
    VIEW_IDENTIFIER
    SECONDARY_RECORD
    i am getting short dump saying that
    The source field is too short.
    The current program, "SAPLHRMM", tried to assign a field to a field symbo
    However, the field is shorter than the type of the field symbol, which
    is not allowed.
    The statement in question is in the form ASSIGN f TO <fs> CASTING or
    ASSIGN f TO <fs> with a field symbol that was created using the
    STRUCTURE addition.
    I tried  operation - Chage,Create (same thing for all inputs)
    is this correct funtion moduel for my requirment?
    what ever i am passing the start and end dates this should check in the table records with this personal number and if this start date and end dates are not between of any start and end dates then it should add new record with this dates.
    Thanks for ur time.
    Murali.

  • BADI /BAPI /Function Module in PP

    PP Experts,
    I need help to identify the BADI /BAPI /Function Module in PP for
    BOM Explosion multilevel (TXn CS11)
    Planned Order Create and Change (Txn MD11/MD12)
    Production Order Create and Change (CO01/CO02)
    Simulation Order (Co01S/Co02S)
    Appreciate your valuable inputs.
    Thanks and Regards,
    Pradeep

    Hi,
    Following Enhancements available for the said T-Codes
    Transaction Code - CS11 Display BOM Level by Level
    Enhancement
    PCSD0014 Wissensbasierte AuftragsStl:Status setzen beim fixieren
    PCSD0013 Customer-specific processing of an explosion for BOM browse
    PCSD0012 Customer - Mat. number/mat. number during material exchange
    PCSD0011 Knowledge-based order BOM, parallel update
    PCSD0010 Order/WBS BOM, determine explosion date
    PCSD0009 Order/WBS BOM, determine URL page
    PCSD0008 WBS BOM: Customer-specific explosion for creating
    PCSD0001 Applications development R/3 BOMS
    PCSD0002 BOMs: Customer fields in item
    PCSD0003 BOMs: Customer fields in header
    PCSD0004 BOM comparison
    PCSD0005 BOMs: component check for material items
    PCSD0006 Mass changes user exit
    PCSD0007 Check changes in STKO
    Business Add-in
    BOM_EXIT BOM User Exit
    BOM_IPPE iPPE Checks Within BOM Maintenance
    BOM_UPDATE Maintain BOMS
    CEWB_BOM_CUS_FIELDS EWB: Customer Fields with BOM Header (Screen Enhancement)
    CEWB_BOM_UPDATE Check Bill of Material on Saving
    CEWB_ITM_CUS_FIELDS EWB: Customer Fields with BOM Item (Screen Enhancement)
    Transaction Code - MD11/MD12 Create Planned Order
    Enhancement
    LMDR2001 User exits restr. profiles of opt. pur.ord.-based load bldg
    LMDZU001 User exits in additional planning
    Transaction Code - CO01/CO02/CO01S/CO02s Create production order
    Enhancement
    PPCO0010 Enhancement in make-to-order production - Unit of measure
    PPCO0012 Production Order: Display/Change Order Header Data
    PPCO0013 Change priorities of selection crit. for batch determination
    PPCO0015 Additional check for document links from BOMs
    PPCO0016 Additional check for document links from master data
    PPCO0017 Additional check for online processing of document links
    PPCO0018 Check for changes to production order header
    PPCO0019 Checks for changes to order operations
    PPCO0021 Release Control for Automatic Batch Determination
    PPCO0022 Determination of Production Memo
    PPCO0023 Checks Changes to Order Components
    STATTEXT Modification exit for formatting status text lines
    PPCO0009 Enhancement in goods movements for prod. process order
    CCOWB001 Customer exit for modifying menu entries
    COIB0001 Customer Exit for As-Built Assignment Tool
    COZF0001 Change purchase req. for externally processed operation
    COZF0002 Change purchase req. for externally procured component
    PPCO0001 Application development: PP orders
    PPCO0002 Check exit for setting delete mark / deletion indicator
    PPCO0003 Check exit for order changes from sales order
    PPCO0004 Sort and processing exit: Mass processing orders
    PPCO0005 Storage location/backflushing when order is created
    PPCO0006 Enhancement to specify defaults for fields in order header
    PPCO0007 Exit when saving production order
    PPCO0008 Enhancement in the adding and changing of components
    Business Add-in
    SIDAT_UPDATE Change date of price simulation
    CAUFVD_CHANGE BAdI: Overall Network Scheduling with Selection Option
    AFABD_CHANGE Change Relationship
    PPPI_SEL_ORD_EXT_REL
    Regards
    Ahsan

  • Querying a BAPI Function Module

    Is it possible to write a query on the BAPI Function Module. For example I have a views in oracle database and i can query the views based on some condition and get the required data from the views. In the same way is it possible to query the BAPI function module to get the data based on given condition

    Hi Nikki,
       You can use FM RFC_READ_TABLE to read data from any SAP table.
      Also check following post by Raja -
         RFC_READ_TABLE for SAP Web AS - Code Sample
    Cheers,
    Sanjeev

  • BAPI FUNCTIONAL MODULES FOR T codes FB50,FB60,KB31n,KP46

    Hi friends
    Can u suggest me BAPI function modules for T codes FB50,FB60,KB31n,KP46
    Thanks in advance

    Use BAPI_INCOMINGINVOICE_PARK
    Import parameters HEADERDATA is mandatory in BAPI_INCOMINGINVOICE_PARK .
    Also tables ITEMDATA and RETURN are mandatory.
    Check the following sample code
    LOOP AT i_ekbe INTO wa_ekbe.
    CLEAR: wa_invoice_header,
    i_invoice_item,
    i_return,
    v_inv_doc_no,
    v_fisc_year,
    wa_return.
    REFRESH: i_invoice_item,
    i_return.
    Appending Invoice header Work Area
    wa_invoice_header-invoice_ind = c_x.
    wa_invoice_header-doc_date = sy-datum.
    wa_invoice_header-pstng_date = wa_ekbe-budat.
    wa_invoice_header-comp_code = c_100.
    wa_invoice_header-gross_amount =
    wa_invoice_header-currency = c_usd.
    wa_invoice_header-calc_tax_ind = c_x.
    Appending Invoice item data
    i_invoice_item-invoice_doc_item = '0001'.
    i_invoice_item-po_number = wa_ekbe-ebeln.
    i_invoice_item-po_item = wa_ekbe-ebelp.
    i_invoice_item-tax_code = ' '.
    i_invoice_item-item_amount = '20.00'.
    i_invoice_item-quantity = '10.000'.
    i_invoice_item-ref_doc = '5600000634'.
    i_invoice_item-ref_doc_year = '2006'.
    i_invoice_item-ref_doc_it = '10'.
    i_invoice_item-po_unit = 'EA'.
    i_invoice_item-COND_TYPE = 'VPRS'.
    APPEND i_invoice_item.
    Calling module BAPI_INCOMINGINVOICE_PARK
    CALL FUNCTION 'BAPI_INCOMINGINVOICE_PARK'
    EXPORTING
    headerdata = wa_invoice_header
    ADDRESSDATA =
    IMPORTING
    invoicedocnumber = v_inv_doc_no
    fiscalyear = v_fisc_year
    TABLES
    itemdata = i_invoice_item
    NFMETALLITMS =
    ACCOUNTINGDATA =
    GLACCOUNTDATA = i_gla
    MATERIALDATA = i_mat
    TAXDATA =
    WITHTAXDATA =
    VENDORITEMSPLITDATA =
    return = i_return.
    READ TABLE i_return INTO wa_return
    WITH KEY type = c_e.
    IF sy-subrc EQ 0.
    ENDIF.
    ENDLOOP.
    Reward if useful.

  • User exit to add header pricing condition in sales order

    Hi experts,
    I have an urgent requirement in VA01/VA02 to automatically add a header pricing condition and rate (Kanban charges) for a certain type of Sales order (Kanban Sales order). Does anyone know what user exit I can use for this requirement? Also, the additional header pricing condition should be included in the net value for the item.
    Thanks!

    HI Leo
      To add a condition price for a condition type, this has to be assigned in the <b>pricing procedure</b>. For each condition type in a pricing procedure, we will have <b>access sequences</b>. If we follow this approch, the price is automatically extracted basing on the access sequences when condition records are maintained. For this, no coding is required and everything can be done by configuration by Functional consultant.
       Naren is right to point out on the same.
      If you need to change the price for a particular condition which already exists, you can go by <b>pricing routines</b>. Go through transaction <b>VOFM</b> for the same. 
       I advice you to discuss with your functional consultant and understand the requirement and then go for modifying accordingly.
    Kind Regards
    Eswar

  • How to define null or empty value in BAPI function modules?

    Hi,
    I have problem with BAPI functions, where some parameters are mandatory.
    For example: when I try to use HR BAPI's(BAPI_PERSDATA_CHANGE, etc.) I have to insert parameters like SUBTYPE,OBJECTID,LOCKINDICATOR. The PA0002 table that is used from this BAPI doesn't have SUBTYPE, OBJECTID, LOCKINDICATOR, for any of the records that I would like to select.
    So what I tried, was to put a ' ', to indicate that is empty. It returned an error message saying "Make an entry in all required fields". Next tried to put in some values for these fields -- and it returned an error message saying "No data selected from 0002 for this period".
    I also tried to run BAPI_FAMILY_CHANGE that uses data from table PA0021. Here I found some records with  SUBTYPE, OBJECTID fields that were not empty, but LOCKINDICATOR was still missing. So I tried to put LOCINDICATOR value directly in to database (with MS SQL Enterprise Manager).  After that I was able to use BAPI_FAMILY_CHANGE.
    I think that manually inserting data in database is not normal procedure.
    Is there something that I have missed out?
    I mean -- how can I get this to work without inserting data directly in database?
    How can I define null or empty value in BAPI function modules?
    Thank you in advance.
    Best regards,
    Mihail

    Defining an empty value for a parm in a table is easy.
    First get the function's definition from the SAP system
    Second only populate the fields for which you have a value to set
    Third execute the function.
    The JCO takes care of the rest.
    Enjoy

  • HOw to find the BAPI function module

    Hi all,
    I have a field called IEVER in table EIKP.
    How to find the related BAPI function module and BAPI structure for this filed.
    Thanks in advance
    KP

    Hi KP,
       can you tell us the name of the transaction in which you saw this field?
    If it is in PO Creation or Change you can probably look at the bapis
    BAPI_PO_CREATE or BAPI_PO_CHANGE
    Regards,
    Ravi

Maybe you are looking for