Creating Billing Plan data for sales order using BAPI

Hello,
Someone ones if there is any way to create a sales order (BAPI) and then create a billing plan (by means of another BAPI)?
Or is there any way to create both at the same time?
Kind Regards.

Hi David and Nisha here is the code for creating sales order with bapi
*& Report  YOBJ_BAPI_SALESORDER
*& REPORT : CREATING SALES ORDER USING STANDARD BAPI
*& AUTHOR : S.PAVAN KUMAR INUMARTHY
REPORT  YOBJ_BAPI_SALESORDER.
DATA : ORDER_HEADER_IN LIKE STANDARD TABLE OF BAPISDHD1 WITH HEADER LINE.
DATA : ORDER_ITEMS_IN LIKE STANDARD TABLE OF BAPISDITM WITH HEADER LINE.
DATA : ORDER_PARTNERS LIKE STANDARD TABLE OF BAPIPARNR WITH HEADER LINE.
DATA : RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE.
DATA : SALESDOCUMENT LIKE BAPIVBELN-VBELN.
*APPENDING VALUES FOR HEADER.
ORDER_HEADER_IN-DOC_TYPE = 'TA'.
ORDER_HEADER_IN-SALES_ORG = '1000'.
ORDER_HEADER_IN-DISTR_CHAN = '10'.
ORDER_HEADER_IN-DIVISION = '00'.
ORDER_HEADER_IN-SALES_GRP = '130'.
ORDER_HEADER_IN-SALES_OFF = '1030'.
APPEND ORDER_HEADER_IN.
*APPENDING VALUES FOR ITEM
ORDER_ITEMS_IN-MATERIAL = 'M-13'.
ORDER_ITEMS_IN-PLANT = '1000'.
ORDER_ITEMS_IN-SALES_UNIT = 'ST'.
ORDER_ITEMS_IN-DIVISION = '07'.
ORDER_ITEMS_IN-GROSS_WGHT = '28000'.
ORDER_ITEMS_IN-NET_WEIGHT = '28000'.
ORDER_ITEMS_IN-UNTOF_WGHT = 'KG'.
ORDER_ITEMS_IN-VOLUME = '0.780'.
ORDER_ITEMS_IN-VOLUNIT = 'M3'.
APPEND ORDER_ITEMS_IN.
*APPENDING VALUES FOR PARTNER
ORDER_PARTNERS-PARTN_ROLE = 'AG'.
ORDER_PARTNERS-PARTN_NUMB = '0000001000'.
ORDER_PARTNERS-COUNTRY = 'DE'.
ORDER_PARTNERS-TRANSPZONE = 'D000080000'.
APPEND ORDER_PARTNERS.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
  EXPORTING
*   SALESDOCUMENTIN               =
    ORDER_HEADER_IN               = ORDER_HEADER_IN
*   ORDER_HEADER_INX              =
*   SENDER                        =
*   BINARY_RELATIONSHIPTYPE       =
*   INT_NUMBER_ASSIGNMENT         =
*   BEHAVE_WHEN_ERROR             =
*   LOGIC_SWITCH                  =
*   TESTRUN                       =
*   CONVERT                       = ' '
IMPORTING
   SALESDOCUMENT                  = SALESDOCUMENT
  TABLES
   RETURN                         = RETURN
   ORDER_ITEMS_IN                 = ORDER_ITEMS_IN
*   ORDER_ITEMS_INX               =
    ORDER_PARTNERS                = ORDER_PARTNERS
*   ORDER_SCHEDULES_IN            =
*   ORDER_SCHEDULES_INX           =
*   ORDER_CONDITIONS_IN           =
*   ORDER_CONDITIONS_INX          =
*   ORDER_CFGS_REF                =
*   ORDER_CFGS_INST               =
*   ORDER_CFGS_PART_OF            =
*   ORDER_CFGS_VALUE              =
*   ORDER_CFGS_BLOB               =
*   ORDER_CFGS_VK                 =
*   ORDER_CFGS_REFINST            =
*   ORDER_CCARD                   =
*   ORDER_TEXT                    =
*   ORDER_KEYS                    =
*   EXTENSIONIN                   =
*   PARTNERADDRESSES              =
          IF SY-SUBRC = 0.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
*           EXPORTING
*             WAIT          =
*           IMPORTING
*             RETURN        =
           ENDIF.
WRITE : 'SALES ORDER IS :', SALESDOCUMENT.
I have tested and go it.
please go through it

Similar Messages

  • Creating Billing Plan data for sales order using BAPI_SALESORDER_CREATEFROM

    Hi All,
    We are using BAPI_SALESORDER_CREATEFROMDAT2 to create the sales order.We are unable to get the fields for billing plan tab in this BAPI.
    Kindly let me know the fileds in BAPI that corresponds to the fileds of billing plan in sales order.
    Thanks in Advance,
    Kiran I.

    Hi kiran
    hi Dhanapal
    i ahve the same problem which u posted..
    My scenarion is to create billing plan while creation of order using the BAPI_SALESORDER_CREATEFROMDAT2 but could not find any structure to pass billing plan details
    pls can u let me know if u found any solution for this if so can u send me detailed mail..
    i want to populate in both way header level and item level (by removing check header plan in the billing plan tab)
    Pls let me know ASAP..
    Thanks
    anil

  • Upload the data for sales order using BAPI

    hi experts,
    how to upload the data for sales order using BAPI.
    what is the FM?
    it would be much helpful if i have the sample code as i am very new to BAPI.
    thanks and Regards
    Shyam

    Hi  Shyam
    Its very useful for u
    BAPISDORDER_GETDETAILEDLIST
    BAPI_ACC_SALES_ORDER_CHECK
    BAPI_ACC_SALES_ORDER_POST
    BAPI_ACC_SALES_QUOTA_CHECK
    BAPI_ACC_SALES_QUOTA_POST
    Reward all the helpful answers..
    With Regards
    Navin Khedikar

  • Billing plan dates in Sales order

    Hi Experts,
    i am creating a sales order and i need to populate the date in billing per from Ztable as per payment terms.
    1 . the enhancement i am using is V60F0001 - > EXIT_SAPLV60F_001 and inside i have kept a break point. but it is not stopping. i have also created the project in CMOD and assigned this enhancement but still it is not working.
    2. is there any enhance ment or user exit i need to use.. to change the date in billing plan for sales order.
    is there any BADI i can change the billing plan dates.
    Thanks in Advance.

    Hi,
    Yes this is std behaviour.
    You need to do some enhacement to get this working.
    BR

  • How to header and item data of sales order using bapi interface

    hi friends,
       i am geetha, i having a problem like how to upload sales oder header and item data through va01 tcode using BAPI FUNCTION MODULES.
    i need bapi function modules for header adn item data  and brief explation on that , how to pass importing and tables  parameters to get exact output .
    regards
    geetha.

    Use : BAPI_SALESORDER_CREATEFROMDAT2
    Sales order: Create Sales Order
    Functionality
    You can use this method to create sales orders.
    You must enter at least sales order header data (via ORDER_HEADER_IN structure) and partner data (via the ORDER_PARTNERS table) as input parameters.
    Enter the item data via the ORDER_ITEMS_IN table. You can allocate item numbers manually, by filling in the relevant fields, or the system does it, according to the settings for Customizing, by leaving the relevant fields blank.
    If you have configurable items, you must enter the configuration data in the ORDER_CFGS_REF, ORDER_CFGS_INST, ORDER_CFGS_PART_OF and ORDER_CFGS_VALUE tables.
    Credit cards can be transferred via the BAPICCARD structure, on the one hand, data for card identification, on the other, data for a transaction which has taken place in an external system.
    Once you have created the sales order successfully, you will receive the document number (SALESDOCUMENT field). Any errors that may occur will be announced via the RETURN parameter.
    If no sales area has been created in the sales order header, then the system creates the sales area from the sold-to party or ship-to party, who has been entered in the partner table. If a clear sales area cannot be created, you will receive a system message, and the sales order will not be created.
    Notes
    1. Mandatory entries:
    ORDER_HEADER_IN : DOC_TYPE     Sales document type
                       SALES_ORG    Sales organization
                       DISTR_CHAN   Distribution channel
                       DIVISION     Division
    ORDER_PARTNERS..: PARTN_ROLE   Partner role, SP sold-to party
                       PARTN_NUMB   Customer number
    ORDER_ITEMS_IN..: MATERIAL     Material number
    2. Ship-to party:
    If no ship-to party is entered, use the following: Ship-to party =
    sold-to party.
    3. Commit control:
    The BAPI does not have a database commit. This means that the relevant application must leave the commit, in order that can be carried out on on the database. The BAPI BAPI_TRANSACTION_COMMIT is available for this.
    4. German key words:
    The following key words must be entered in German, independantly of
    the logon language:
    DOC_TYPE     Sales document type, for example: TA for standard order
    PARTN_ROLE   Partner role, for example: WE for ship-to party
    Further information
    You can find further information in the OSS. The note 93091 contains general information on the BAPIs in SD.
    Parameters
    SALESDOCUMENTIN
    ORDER_HEADER_IN
    ORDER_HEADER_INX
    SENDER
    BINARY_RELATIONSHIPTYPE
    INT_NUMBER_ASSIGNMENT
    BEHAVE_WHEN_ERROR
    LOGIC_SWITCH
    TESTRUN
    CONVERT
    SALESDOCUMENT
    RETURN
    ORDER_ITEMS_IN
    ORDER_ITEMS_INX
    ORDER_PARTNERS
    ORDER_SCHEDULES_IN
    ORDER_SCHEDULES_INX
    ORDER_CONDITIONS_IN
    ORDER_CONDITIONS_INX
    ORDER_CFGS_REF
    ORDER_CFGS_INST
    ORDER_CFGS_PART_OF
    ORDER_CFGS_VALUE
    ORDER_CFGS_BLOB
    ORDER_CFGS_VK
    ORDER_CFGS_REFINST
    ORDER_CCARD
    ORDER_TEXT
    ORDER_KEYS
    EXTENSIONIN
    PARTNERADDRESSES
    Exceptions
    Function Group
    2032

  • Create Planned HUs for Sales Order using transaction MFP12

    Hi,
    I am using MFP12 for creating the Handling units based on Sales Order. I can able to create the Handling units based on Sales Ord. But the problem here is I am not getting how the Sales Order creating the Handling units with out taking the reference from Outbound Delivery.
    Kindly let me know the functional flow and the corresponding tables that should update the handling units based on Sales order.
    Regards,
    Murali

    resolved

  • Create a schedule line in sales order using Bapi

    Hi Guys,
    Here the requirement is automating the process of creating the schedule lines using Bapi.
    I am using the bapi BAPI_SALESORDER_CHANGE for the same.
    I could able to create a schedule line but the problem is,its not updating the CONFIRMED QUANTITY and COMMITTED  QUANTITY on
    sales order schedule line tab,its updating ORDER QUANTITY and ROUNDED QUANTITY.
    the structures and tables parameters i have updated are:
    IMPORT PARAMETERS: SALESDOCUMENT,ORDER_HEADER_INX-UPDATEFLAG= 'U'(change sales order).
    TABLES:SCHEDULE_LINES(ITM_NUMBER,REQ_DATE,REQ_QTY,DLV_DATE)
                   SCHEDULE_LINESX(ITM_NUMBER,UPDATEFLAG='I',REQ_DATE,REQ_QTY,DLV_DATE).
    Please help me out if i need to fill up any other parameters or anything am missing out here.
    Would appreciate your help.
    Thanks in Advance
    Ramu

    Dear Ramu ,
    Any solution to this Issue i have the same Requirement and faceing the very same problem.
    Thanks in advance for reply .
    Thanks alot.
    regards
    Prashant Singh

  • Down Payment processing for Sales orders using Milestone Billing Plan

    Hi,
    The business scenario is as follows.
    The delivery for the sales orders are to be created only after the pre payment( a percentage of the total sales order value) is made by the customer.
    Hence the sales orders while creation are blocked for delivery creation using credit block by means of a userexit.
    The credit manager checks the blocked sales orders using VKM1 transaction and verify if there are any payments made by the customer to cover this pre payment to be made.
    If it is enough to cover then he releases the sales order manually for delivery creation.This is a complex process since there are too many sales orders and the payments made by the customer may not match the amount to be paid(it can be greater or lesser).The customer just pays a huge amount which is to be distributed among the sales orders for pre payments.
    Later, when the invoice is created, the customer account is cleared manually using F-32 transaction for the oldest open invoices.
    Here again there is a huge manual effort involved since he need to distribute the amount against the invoices using oldest open item principle.
    As a solution we are planning to implement "Down Payment processing for Sales orders using Milestone Billing Plan".
    Is this the right solution?
    Can you please give the steps in detail to implement this functionality for above scenario?
    We are using SAP 4.7 version without Project Systems.
    Thanks in advance.
    Regards,
    Ragesh

    Hi Ragesh
    Check the links where you will get the entire down-payment configuration
    [https://forums.sdn.sap.com/post!replydownpayments ]
    Regards
    Srinath

  • Setting user specific contract data while creating sales order using BAPI

    Hi all,
    I am creating sales order using BAPI - BAPI_SALESORDER_CREATEFROMDAT2.
    Now my problem is that there is no structure for contract data (i.e. VEDA), system automatically set contract data using customization values.
    I am doing some validations on cotract data in MV45AFZZ which fails, because these validations are performed on standard values, user specific values r not set.
    How to handle this issue, your small clue may help a lot.
    Regards,
    S@meer

    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

  • How to enable Billing plan tab in sales order (lean) with NWBC

    Dear All,
    The Billing plan tab in sales order (lean) is not availabe with NWBC. How to enable this tab?
    Is there is any documentation to do the modifications of NWBC's webdynpro screens?
    for example, there is a standard webdynpro screen in NWBC from SAP best practices to create sales order (lean). The lean sale order screen having restricted elements and tabs when compare with standard SAP GUI (t code va01).
    So I want to include the few missing tabs for data entry.
    any documentation or solution?
    thanks in advance,
    Suresh Yerra.

    Dear All,
    Is there is any documentation to do the modifications of NWBC's webdynpro screens?
    for example, there is a standard webdynpro screen in NWBC from SAP best practices to create sales order (lean). The lean sale order screen having restricted elements and tabs when compare with standard SAP GUI (t code va01).
    So I want to include the few missing tabs for data entry.
    any documentation or solution?
    Thanks,
    Suresh Yerra.

  • Set item, partner data of sales order using BAPI_BUSPROCESSND_CREATEMULTI

    hi all,
    i am using BAPI_BUSPROCESSND_CREATEMULTI to create sales order in CRM. the order is created but i dont have the partner information, item data, organization and schedule line data even though i am passing them in the bapi.
    I am generating a new guide each time for all these tables HEADER, ITEM, PARTNER, ORGANIZATION, SCHEDULELINE,u2026u2026
    and finally in 'BAPI_BUSPROCESSND_SAVE i am passing  the guide as the guide that i generated for HEADER table..I am i using the bapi in correct way?
    I don't know why I dont see any partner data, product data i, item data n my saved order.i dont know what values i should pass to the PARTNER table for REF_GUID , REF_KIND, REF_PARTNER_HANDLE . please help me.
    this is my code
    *****Internal Tables
    ***TABLES
    DATA: IT_HEADER TYPE TABLE OF BAPIBUS20001_HEADER_INS.
    DATA: IT_INPUT_FIELDS_FILL TYPE TABLE OF BAPIBUS20001_INPUT_FIELDS.
    DATA: IT_ITEM TYPE TABLE OF BAPIBUS20001_ITEM.
    DATA: IT_PARTNER TYPE TABLE OF BAPIBUS20001_PARTNER_INS.
    DATA: IT_ORGANISATION TYPE TABLE OF BAPIBUS20001_ORGMAN_INS.
    ***WORK AREA
    DATA: WA_INPUT_FIELDS TYPE BAPIBUS20001_INPUT_FIELDS.
    DATA: WA_HEADER TYPE BAPIBUS20001_HEADER_INS.
    DATA: WA_ITEM TYPE BAPIBUS20001_ITEM.
    DATA: WA_PARTNER TYPE BAPIBUS20001_PARTNER_INS.
    DATA: WA_ORGANISATION TYPE BAPIBUS20001_ORGMAN_INS.
    DATA: IT_EV_GUID_32 TYPE GUID_32.
    DATA: IT_EV_GUID_32_1 TYPE GUID_32.
    DATA: IT_EV_GUID_32_2 TYPE GUID_32.
    DATA: IT_EV_GUID_32_3 TYPE GUID_32.
    DATA: IT_OBJECTS_TO_SAVE TYPE STANDARD TABLE OF BAPIBUS20001_GUID_DIS WITH HEADER LINE.
    DATA: IT_OBJECTS_TO_SAVE_1 TYPE STANDARD TABLE OF BAPIBUS20001_GUID_DIS WITH HEADER LINE.
    CONSTANTS:true TYPE crmt_boolean VALUE 'X'.
    *Create your own GUID for each order using function module GUID_CREATE (and use output field EV_GUID_32).
    CALL FUNCTION 'GUID_CREATE'
      IMPORTING
        EV_GUID_32       = IT_EV_GUID_32.
    Fill of the HEADER the fields GUID, PROCESS_TYPE, DESCRIPTION and CREATED_BY,
    do NOT fill HANDLE and OBJECT_ID, other fields if needed are allowed).
    WA_HEADER-GUID                      =  IT_EV_GUID_32.
    WA_HEADER-PROCESS_TYPE              =  'ZWEB'.
    WA_HEADER-DESCRIPTION               =  'WEB ORDER'.
    WA_HEADER-CREATED_BY                =  'SAMJESI.
    APPEND WA_HEADER TO IT_HEADER.
    *For each FIELD of HEADER structure that has been filled also fill INPUT_FIELDS fields REF_GUID (header GUID),
    *REF_KIND (header REF_KIND), LOGICAL_KEY (='1'), OBJECTNAME (='ORDERADM_H') and FIELDNAME (as text).
    WA_INPUT_FIELDS-REF_GUID               =  IT_EV_GUID_32.
    WA_INPUT_FIELDS-REF_KIND               =  'A'.
    WA_INPUT_FIELDS-OBJECTNAME             =  'ORDERADM_H'.
    WA_INPUT_FIELDS-LOGICAL_KEY            =  '1'.
    WA_INPUT_FIELDS-CHANGEABLE             =  ' '.
    WA_INPUT_FIELDS-FIELDNAME              =  'PROCESS_TYPE'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              =  'GUID'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              =  'DESCRIPTION'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              =  'CREATED_BY'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    *Create your own GUID for each order using function module GUID_CREATE (and use output field EV_GUID_32).
    CALL FUNCTION 'GUID_CREATE'
      IMPORTING
        EV_GUID_32       = IT_EV_GUID_32_1.
    *For each ITEM, create your own GUID and fill the fields GUID (item GUID), HEADER (header GUID),
    *ORDERED_PROD, DESCRIPTION, ITM_TYPE, ORDER_DATE and MODE (='A').
    WA_ITEM-GUID              =  IT_EV_GUID_32_1.
    WA_ITEM-NUMBER_INT        =  '10'.
    WA_ITEM-ORDERED_PROD      =  '000000000090000230'.
    WA_ITEM-ITM_TYPE          =  'ZTAN'.
    WA_ITEM-MODE              =  'B'.
    APPEND WA_ITEM TO IT_ITEM.
    *For each FIELD of ITEM structure that has been filled also fill INPUT_FIELDS fields REF_GUID (header GUID),
    *REF_KIND (header REF_KIND), LOGICAL_KEY (='1'), OBJECTNAME (='ORDERADM_I') and FIELDNAME (as text).
    WA_INPUT_FIELDS-REF_GUID               =  IT_EV_GUID_32_1.
    WA_INPUT_FIELDS-REF_KIND               =  'B'.
    WA_INPUT_FIELDS-OBJECTNAME             =  'ORDERADM_I'.
    WA_INPUT_FIELDS-LOGICAL_KEY            =  '1'.
    WA_INPUT_FIELDS-CHANGEABLE             =  ' '.
    WA_INPUT_FIELDS-FIELDNAME              =  'GUID'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              =  'NUMBER_INT'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME                 =  'ORDERED_PROD'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME                 =  'ITM_TYPE'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    *For each PARTNER fill the fields REF_GUID (header GUID), REF_KIND, REF_PARTNER_HANDLE (start with 1, next 1 higher),
    *KIND_OF_ENTRY, PARTNER_FCT, PARTNER_NO, NO_TYPE and DISPLAY_TYPE.
    CALL FUNCTION 'GUID_CREATE'
      IMPORTING
        EV_GUID_32       = IT_EV_GUID_32_2.
    WA_PARTNER-REF_GUID                = IT_EV_GUID_32_2.
    *WA_PARTNER-REF_KIND                = '1'
    *WA_PARTNER-REF_PARTNER_HANDLE      =  '1'.
    WA_PARTNER-PARTNER_FCT             =  '00000001'.
    WA_PARTNER-PARTNER_NO              =  '100000433'.
    APPEND WA_PARTNER TO IT_PARTNER.
    *For each FIELD of PARTNER structure that has been filled also fill INPUT_FIELDS fields REF_GUID (partner GUID),
    *REF_KIND (partner REF_KIND), LOGICAL_KEY (='1'), OBJECTNAME (='PARTNER') and FIELDNAME (as text).
    WA_INPUT_FIELDS-REF_GUID               =  IT_EV_GUID_32_2.
    WA_INPUT_FIELDS-REF_KIND               =  'A'.
    WA_INPUT_FIELDS-OBJECTNAME             =  'PARTNER'.
    WA_INPUT_FIELDS-LOGICAL_KEY            =  '1'.
    WA_INPUT_FIELDS-CHANGEABLE             =  ' '.
    WA_INPUT_FIELDS-FIELDNAME              =  'REF_GUID'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    *WA_INPUT_FIELDS-FIELDNAME              =  'REF_PARTNER_HANDLE'.
    *APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              =  'PARTNER_FCT'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              = 'PARTNER_NO'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    *Fill the ORGANISATION fields REF_GUID, REF_KIND, DIS_CHANNEL, DIVISION, SALES_ORG and MODE.
    CALL FUNCTION 'GUID_CREATE'
      IMPORTING
        EV_GUID_32       = IT_EV_GUID_32_3.
    WA_ORGANISATION-REF_GUID = IT_EV_GUID_32_3.
    *WA_ORGANISATION-REF_KIND
    WA_ORGANISATION-DIS_CHANNEL  =  '20'.
    WA_ORGANISATION-DIVISION     =  '00'.
    WA_ORGANISATION-SALES_ORG    =  '228'.
    WA_ORGANISATION-MODE         =  'A'.
    APPEND WA_ORGANISATION TO IT_ORGANISATION.
    *For each field of ORGANISATION structure that has been filled als fill INPUT_FIELDS. OBJECTNAME='ORGMAN'.
    WA_INPUT_FIELDS-REF_GUID               =  IT_EV_GUID_32_3.
    WA_INPUT_FIELDS-REF_KIND               =  'A'.
    WA_INPUT_FIELDS-OBJECTNAME             =  'ORGMAN'.
    WA_INPUT_FIELDS-LOGICAL_KEY            =  '1'.
    WA_INPUT_FIELDS-CHANGEABLE             =  ' '.
    WA_INPUT_FIELDS-FIELDNAME              =  'REF_GUID'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              =  'DIS_CHANNEL'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              =  'DIVISION'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              = 'SALES_ORG'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    WA_INPUT_FIELDS-FIELDNAME              = 'MODE'.
    APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
    REFRESH: CREATED_PROCESS.
                   CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
                     TABLES
                        HEADER                  = IT_HEADER
                        ITEM                    = IT_ITEM
                        PARTNER                 = IT_PARTNER
                        ORGANISATION            = IT_ORGANISATION
                        INPUT_FIELDS            = IT_INPUT_FIELDS_FILL
                        CREATED_PROCESS         = CREATED_PROCESS
                        RETURN                  = RETURN.
    IT_OBJECTS_TO_SAVE-GUID = IT_EV_GUID_32.
    IT_OBJECTS_TO_SAVE-OBJECT_TYPE = 'BAPIBUS20001'.
    APPEND IT_OBJECTS_TO_SAVE TO IT_OBJECTS_TO_SAVE.
    CALL FUNCTION 'BAPI_BUSPROCESSND_SAVE'
      EXPORTING
        UPDATE_TASK_LOCAL       = true
        SAVE_FRAME_LOG          = true
    IMPORTING
      LOG_HANDLE              =
      TABLES
        OBJECTS_TO_SAVE         = IT_OBJECTS_TO_SAVE
        SAVED_OBJECTS           = ITAB_SAVED_OBJECTS
        RETURN                  = itab_return.

    Hi Jessica,
    Please find an example of how the code is implemented.
    DATA:    lt_saved   TYPE crmt_return_objects,
             lt_exc     TYPE crmt_exception_t,
             lt_not_saved TYPE crmt_object_guid_tab.
    DATA:    lv_contact_guid TYPE crmt_object_guid.
    DATA:    lt_headerx  TYPE TABLE OF bapibus2000110_header_insx,
             ls_headerx  TYPE bapibus2000110_header_insx,
             lt_reasonx  TYPE TABLE OF bapibus2000110_reason_insx,
             ls_reasonx  TYPE bapibus2000110_reason_insx,
             lt_reason   TYPE TABLE OF bapibus2000110_reason_ins,
             ls_reason   TYPE bapibus2000110_reason_ins,
             lt_text     TYPE TABLE OF bapibus20001_text_ins,
             ls_text     TYPE bapibus20001_text_ins,
             lt_textx    TYPE TABLE OF bapibus20001_text_insx,
             ls_textx    TYPE bapibus20001_text_insx,
             lt_outcome  TYPE TABLE OF bapibus2000110_outcome_ins,
             ls_outcome  TYPE bapibus2000110_outcome_ins,
             lt_outcomex TYPE TABLE OF bapibus2000110_outcome_insx,
             ls_outcomex TYPE bapibus2000110_outcome_insx,
             lt_status   TYPE TABLE OF bapibus20001_status_ins,
             ls_status   TYPE bapibus20001_status_ins,
             lt_statusx  TYPE TABLE OF bapibus20001_status_insx,
             ls_statusx  TYPE bapibus20001_status_insx,
             lt_return   TYPE TABLE OF bapiret2,
             BEGIN OF lv_reason,
               cat(2)        TYPE c,
               code_group(8) TYPE c,
               code(4)       TYPE c,
             END OF lv_reason,
             BEGIN OF lv_outcome,
               cat(2)        TYPE c,
               code_group(8) TYPE c,
               code(4)       TYPE c,
             END OF lv_outcome,
             lv_entry TYPE boolean.
    DATA: ls_header TYPE bapibus20001_header_ins.
    DATA: lt_header TYPE STANDARD TABLE OF bapibus20001_header_ins.
    DATA: ls_input_fields TYPE bapibus20001_input_fields.
    DATA: lt_input_fields TYPE STANDARD TABLE OF bapibus20001_input_fields.
    data: lw_service_os type BAPIBUS20001_SERVICE_OS_INS.
    data: lt_service_os type standard table of BAPIBUS20001_SERVICE_OS_INS.
    DATA: guid type guid_32.
    DATA LT_RRETURN TYPE STANDARD TABLE OF BAPIRET2.
    CALL FUNCTION 'GUID_CREATE'
      IMPORTING
        ev_guid_32 = guid.
    lv_contact_guid = guid.
    Description, objective, completion and priority
    description
    ls_header-guid            = guid.
    ls_header-descr_language  = sy-langu.
    ls_header-description     = 'Test'.
    ls_header-created_at      = sy-uzeit.
    ls_header-created_by      = sy-uname.
    ls_header-process_type    = 'ZPRI'.
    APPEND ls_header  TO lt_header.
    APPEND ls_headerx TO lt_headerx.
    ls_input_fields-ref_guid   = guid.
    ls_input_fields-ref_kind  = 'A'.
    ls_input_fields-objectname = 'ORDERADM_H'.
    ls_input_fields-fieldname = 'GUID'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_fields-fieldname = 'LANGUAGE'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_fields-fieldname = 'DESCRIPTION'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_fields-fieldname = 'CREATED_AT'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_fields-fieldname = 'CREATED_BY'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    ls_input_fields-fieldname = 'PROCESS_TYPE'.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    lw_service_os-REF_HANDLE = guid.
    lw_service_os-REF_GUID  = guid.
    lw_service_os-SUBJECT_PROFILE = 'ZSPTSKPRI'.
    LW_SERVICE_OS-CAT_TYPE = 'A1'.
    LW_SERVICE_OS-CODE_GROUP = 'ZCGPRI'.
    LW_SERVICE_OS-CODE = 'P120'.
    APPEND LW_SERVICE_OS TO LT_SERVICE_OS.
    CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
      TABLES
        header                  = lt_header
      ITEM                    =
      ACTIVITY                =
      SALES                   =
      PARTNER                 =
      ORGANISATION            =
      SHIPPING                =
      APPOINTMENT             =
      TEXT                    =
       SERVICE_OS              = LT_SERVICE_OS
      STATUS                  =
       input_fields            = lt_input_fields
      CREATED_PROCESS         =
       RETURN                  = LT_RRETURN
      LEAD                    =
      OPPORTUNITY             =
      PRODUCT                 =
      SCHEDULELINE            =
      CUSTOMER_HEAD           =
      CUSTOMER_ITEM           =
      PRICING                 =
      PRICING_ITEM            =
      CONDITION_CREATE        =
      BILLING                 =
      CONFIG_CFG              =
      CONFIG_BLB              =
      CONFIG_INS              =
      CONFIG_PRT              =
      CONFIG_VAL              =
      CONFIG_VK               =
      CONFIG_REF              =
      ADDRESS                 =
      BILLPLAN                =
      BILLPLAN_DATE           =
      EXTENSIONIN             =
      DOCUMENT_FLOW           =
      BATCH                   =
      PRICING_AGR_CRM         =
      FINPROD_ITEM            =
      CANCEL                  =
      CANCEL_IR               =
      PRODUCT_LIST            =
      PRODUCTS                =
      OBJECTS                 =
      PAYPLAN                 =
      PAYPLAN_DATE            =
      CONFIG_FILTER_CFG       =
      CONFIG_FILTER_INS       =
      CONFIG_FILTER_PRT       =
      CONFIG_FILTER_VAL       =
      ACTIVITY_I              =
      EXT_REF                 =
    DATA: lt_objects_to_save  TYPE TABLE OF bapibus20001_guid_dis,
          ls_objects_to_save  TYPE bapibus20001_guid_dis,
          lt_saved_objects    TYPE STANDARD TABLE OF bapibus20001_object_id,
          lt_return1        TYPE STANDARD TABLE OF bapiret2,
          lv_object_guid      TYPE crmt_object_guid.
    build save table
    ls_objects_to_save-guid = ls_header-guid.
    ls_objects_to_save-object_type = 'BUS2000125'.
    INSERT ls_objects_to_save INTO TABLE lt_objects_to_save.
    CHECK lt_objects_to_save IS NOT INITIAL.
    CALL FUNCTION 'BAPI_BUSPROCESSND_SAVE'
    EXPORTING
      UPDATE_TASK_LOCAL       = FALSE
      SAVE_FRAME_LOG          = FALSE
    IMPORTING
      LOG_HANDLE              =
      TABLES
        objects_to_save         = lt_objects_to_save
       saved_objects           = lt_saved_objects
       return                  = lt_return1

  • Problem in updating Billing plan while changing Sales order

    Hi All,
            I am using the BAPI 'BAPI_SALESORDER_CHANGE' to change a Prepaid Sale order.After calling this BAPI ,I am calling the function module <b>'BILLING_SCHEDULE_SAVE'</b> to update the Billing plan of the changed Sale order(Billing plan dates for Billing type ZF1 are changed).
         The updated date values are getting reflected in the screen when I view through the transaction VA02 and the values are also updated in FPLT table but the values are not getting reflected in the table VKDFS.
       Since the values are not getting reflectedin the table VKDFS the billing date is not correct while we view in the transaction VF04.
       Please provide your valuable suggestions for updating the Billing date in VKDFS table.
        Thanks in advance for your help.
    Thanks and regards,
    Siva

    Hi,
    I had the same problem. Here is an example code to resolve it:
    REPORT  ytestfg.
    DATA: i_bsid LIKE bsid OCCURS 0,
          i_bsid2 LIKE bsid OCCURS 0.
    TABLES: bsid.
    DATA: doc     LIKE     vbak-vbeln,
          pos(6) TYPE n.
    DATA e_fpla     LIKE     fpla.
    DATA e_fplt     LIKE     fpltvb OCCURS 0 .
    DATA: zfpla     LIKE     fplavb OCCURS 0,
    zfplt     LIKE     fpltvb OCCURS 0.
    DATA zfplt2     LIKE     fpltvb OCCURS 0 WITH HEADER LINE.
    doc = 'G03060619'.
    pos = '000010'.
    CALL FUNCTION 'SD_SALES_DOCUMENT_READ'
      EXPORTING
        document_number = doc.
    CALL FUNCTION 'SD_SALES_BILLINGPLAN_READ'
      EXPORTING
        i_vbeln                = doc
        i_posnr                = pos
      IMPORTING
        e_fpla                 = e_fpla
      TABLES
        e_fplt                 = e_fplt
      EXCEPTIONS
        no_billingplan_allowed = 1
        no_billingplan_found   = 2
        OTHERS                 = 3.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Read the billing plan
    CALL FUNCTION 'BILLING_SCHEDULE_READ'
      EXPORTING
        fplnr          = e_fpla-fplnr
      I_VFKDAT       =
      I_BFKDAT       =
      TABLES
       zfpla          = zfpla
        zfplt          = zfplt
    Upddate the ZFPLT2 table with the new values
    MOVE zfplt[] TO zfplt2[].
    READ TABLE zfplt2 INDEX 1.
    zfplt2-afdat = '20080927'.
    Very important to set field updkz = 'U' ***
    zfplt2-updkz = 'U'. "--> UPDATE!!
    MODIFY zfplt2 INDEX 1.
    CALL FUNCTION 'BILLING_SCHEDULE_SAVE'
      TABLES
        fpla_new = zfpla
        fpla_old = zfpla
        fplt_new = zfplt2 " --> NEW
        fplt_old = zfplt.
    CALL FUNCTION 'SD_SALES_DOCUMENT_SAVE'.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    Regards,
    Edited by: PHO_BA on Mar 9, 2009 5:28 PM

  • How to create a daily report for sales order

    hi
    how to create a daily report for sales order. what fields it must consists of. what are the tables it need?

    Hi
    You have to use the sales order tables VBAK,VBAP and VBEP
    So keep date field on selection screen
    and treat this date as Order creation data audat field in VBAK.
    based on this fetch the data from VBAK and VBAP  with the following fields like
    VBELN, KUNNR,NETWR,POSNR, MATNR,ARKTX,KWMENG,WAERS  etc and display in the report
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • How to create the sales order using BAPI's ....?

    Hi Guru's,
    could you please provide how to create the sales order using BAPI's .....i need step by step process and please provide the details from scratch....basically  i don't have basic knowledge on this....please provide required inputs ....:)
    thanks in advance
    Srinivas......

    Hi Guru's thanks for your inouts and your valuble time...
    please find the program logic below...
    *& Report  ZAREPAS30
    REPORT  zarepas30.
    DATA : gs_vbeln                   TYPE  vbak-vbeln,
           gs_order_header_in         TYPE  bapisdhd1,
           gs_order_header_inx        TYPE  bapisdhd1x,
           gt_order_items_in          TYPE  STANDARD TABLE OF bapisditm,
           gwa_itab1                  TYPE  bapisditm,
           gt_order_items_inx         TYPE  STANDARD TABLE OF bapisditmx,
           gwa_itab2                  TYPE  bapisditmx,
           gt_order_partners          TYPE  STANDARD TABLE OF bapiparnr,
           gwa_itab3                  TYPE  bapiparnr,
           gt_return                  TYPE  STANDARD TABLE OF bapiret2,
           gwa_itab4                  TYPE  bapiret2.
    Sales document type
      PARAMETERS: p_auart TYPE auart OBLIGATORY.
    Sales organization
      PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
    Distribution channel
      PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
    Division.
      PARAMETERS: p_spart TYPE spart OBLIGATORY.
    Requested Delivery Date
      PARAMETERS: p_edatu  TYPE edatu OBLIGATORY.
    Sold-to
      PARAMETERS: p_sold  TYPE kunnr OBLIGATORY.
    Ship-to
      PARAMETERS: p_ship  TYPE kunnr OBLIGATORY.
    Material
      PARAMETERS: p_matnr TYPE matnr   OBLIGATORY.
    Quantity.
      PARAMETERS: p_menge TYPE kwmeng  OBLIGATORY.
    Plant
      PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
    Start-of-selection.
      START-OF-SELECTION.
    Header data
    Sales document type
      gs_order_header_in-doc_type = p_auart.
      gs_order_header_inx-doc_type = 'X'.
    Sales organization
      gs_order_header_in-sales_org = p_vkorg.
      gs_order_header_inx-sales_org = 'X'.
    Distribution channel
      gs_order_header_in-distr_chan  = p_vtweg.
      gs_order_header_inx-distr_chan = 'X'.
    Division
      gs_order_header_in-division = p_spart.
      gs_order_header_inx-division = 'X'.
    Reguested Delivery Date
      gs_order_header_in-req_date_h = p_edatu.
      gs_order_header_inx-req_date_h = 'X'.
      gs_order_header_inx-updateflag = 'I'.
    Partner data
    Sold to
      gwa_itab3-partn_role = 'AG'.
      gwa_itab3-partn_numb = p_sold.
      APPEND gwa_itab3 TO  gt_order_partners .
    ship to
      gwa_itab3-partn_role = 'WE'.
      gwa_itab3-partn_numb = p_ship.
      APPEND gwa_itab3 TO  gt_order_partners .
    ITEM DATA
      gwa_itab2-updateflag = 'I'.
    Line item number.
      gwa_itab1-itm_number = '000010'.
      gwa_itab2-itm_number = 'X'.
    Material
      gwa_itab1-material = p_matnr.
      gwa_itab2-material = 'X'.
    Plant
      gwa_itab1-plant    = p_plant.
      gwa_itab2-plant   = 'X'.
    Quantity
      gwa_itab1-target_qty = p_menge.
      gwa_itab2-target_qty = 'X'.
      APPEND gwa_itab1 TO gt_order_items_in.
      APPEND gwa_itab2 TO gt_order_items_inx.
    Line item number.
      gwa_itab1-itm_number = '000020'.
      gwa_itab2-itm_number = 'X'.
    Material
      gwa_itab1-material = p_matnr.
      gwa_itab2-material = 'X'.
    Plant
      gwa_itab1-plant    = p_plant.
      gwa_itab2-plant   = 'X'.
    Quantity
      gwa_itab1-target_qty = p_menge.
      gwa_itab2-target_qty = 'X'.
      APPEND gwa_itab1 TO gt_order_items_in.
      APPEND gwa_itab2 TO gt_order_items_inx.
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
      EXPORTING
        order_header_in               = gs_order_header_in
        ORDER_HEADER_INX              = gs_order_header_inx
      IMPORTING
        SALESDOCUMENT                 = gs_vbeln
      tables
        RETURN                        = gt_return
        ORDER_ITEMS_IN                = gt_order_items_in
        ORDER_ITEMS_INX               = gt_order_items_inx
        order_partners                = gt_order_partners.
    Check the return table.
      LOOP AT gt_return into gwa_itab4 WHERE type = 'E' OR type = 'A'.
        EXIT.
      ENDLOOP.
      IF sy-subrc = 0.
        WRITE: / 'Error occured while creating sales order '.
      ELSE.
    Commit the work.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
        WRITE: / 'Document ', gs_vbeln, ' created'.
      ENDIF.

  • ISSUE ON CREATE SALES ORDER USING BAPI

    Hi,
       I am creating a sales order using bapi BAPI_SALESORDER_CREATEFROMDAT2.But it it fails to create a sales order abd below is my code pls check and correct me to create a sales order.
    LOOP AT DATA_TAB.
    clear: l_order_header_in,
           l_salesdocument,
           l_order_partners,
           l_order_items_IN,
           l_order_schedules_IN.
    refresh: l_order_items_in,
             l_order_partners,
             l_order_schedules_IN,
             l_return.
    Order header
    l_order_header_in-DOC_TYPE    = DATA_TAB-AUART.
    l_order_header_IN-SALES_ORG   = DATA_TAB-VKORG.
    l_order_header_IN-DISTR_CHAN  = data_tab-vtweg.
    l_order_header_in-division    = DATA_TAB-SPART.
    l_order_header_in-REF_1_S     = DATA_TAB-IHREZ_E.
    l_order_header_in-PURCH_NO_S  = DATA_TAB-BSTKD_E.
    l_order_header_in-PO_DAT_S    = data_tab-bstdk_e.
    l_order_header_in-PO_METH_S   = DATA_TAB-BSARK_E.
    l_order_header_in-DOC_DATE    = DATA_TAB-AUDAT.
    l_order_header_in-REC_POINT   = DATA_TAB-EMPST.
    l_order_header_inX-DOC_TYPE    = 'X'.
    l_order_header_INX-SALES_ORG   = 'X'.
    l_order_header_INX-DISTR_CHAN  = 'X'.
    l_order_header_inX-division    = 'X'.
    l_order_header_inX-REF_1_S     = 'X'.
    l_order_header_inX-PURCH_NO_S  = 'X'.
    l_order_header_inX-PO_DAT_S    = 'X'.
    l_order_header_inX-PO_METH_S   = 'X'.
    l_order_header_inX-DOC_DATE    = 'X'.
    l_order_header_inX-REC_POINT   = 'X'.
    Partner data SOLD TO PARTY
    l_order_partners-ITM_NUMBER = DATA_TAB-POSNR.
    l_order_partners-partn_role = 'SP'.
    l_order_partners-partn_numb = DATA_TAB-kunnr1.
    append l_ordeR_partners.
    Partner data SHOP TO PARTY
    l_order_partners-ITM_NUMBER = DATA_TAB-POSNR.
    l_order_partners-partn_role = 'SH'.
    l_order_partners-partn_numb = DATA_TAB-kunnr2.
    append l_ordeR_partners.
    Order items
    l_order_items_IN-ITM_NUMBER = DATA_TAB-POSNR.
    l_order_items_IN-material   = DATA_TAB-MABNR.
    l_order_items_IN-BATCH      = DATA_TAB-CHARG.
    l_order_items_IN-REASON_REJ = DATA_TAB-ABGRU.
    append l_order_items_IN.
    l_order_items_INX-ITM_NUMBER = DATA_TAB-POSNR.
    l_order_items_INX-material   = 'X'.
    l_order_items_INX-BATCH      = 'X'.
    l_order_items_INX-REASON_REJ = 'X'.
    append l_order_items_INX.
    Schedules for quantity
    l_order_schedules_IN-itm_number = DATA_TAB-POSNR.
    l_order_schedules_IN-req_qty    = DATA_TAB-KWMENG.
    append l_order_schedules_IN.
    Schedules for quantity
    l_order_schedules_INX-itm_number = data_tab-posnr.
    l_order_schedules_INX-req_qty    =  'X'.
    append l_order_schedules_INX.
    Conditions for value
    l_order_conditions_IN-itm_number = DATA_TAB-POSNR.
    l_order_conditions_IN-cond_type  = DATA_TAB-KSCHL.
    l_order_conditions_IN-cond_value = DATA_TAB-KBETR.
    l_order_conditions_IN-currency   = DATA_TAB-KOEIN.
    append l_order_conditions_IN.
    Conditions for value
    l_order_conditions_INX-itm_number = DATA_TAB-POSNR.
    l_order_conditions_INX-cond_type  = 'X'.
    l_order_conditions_INX-cond_value = 'X'.
    l_order_conditions_INX-currency   = 'X'.
    append l_order_conditions_INX .
    endloop.
    BAPI to create sales order
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
    EXPORTING
    SALESDOCUMENTIN =
      ORDER_HEADER_IN =      l_order_header_IN
      ORDER_HEADER_INX =     l_order_header_INX
    IMPORTING
      SALESDOCUMENT =        l_salesdocument
    TABLES
      RETURN =               l_return
      ORDER_ITEMS_IN =       l_order_items_IN
      ORDER_ITEMS_INX =      l_order_items_INX
      ORDER_PARTNERS =       l_order_partners
      ORDER_SCHEDULES_IN =   l_order_schedules_in
      ORDER_SCHEDULES_INX =  l_order_schedules_inX
      ORDER_CONDITIONS_IN =  l_order_conditions_in
      ORDER_CONDITIONS_INX = l_order_conditions_inX
    IF SY-SUBRC = 0.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
       WAIT           = C_X
    IMPORTING
      RETURN        =
    ENDIF.
      Pls help me to solve the issue.
    Thanks,
    Rajendra.

    Hi Raj
    This is the sameple code which works fine for me,
    REPORT  zkb_sales_order.
    DATA: w_order_header_in TYPE bapisdhd1,
          i_order_partners TYPE TABLE OF bapiparnr,
          w_order_partners TYPE bapiparnr,
          i_return TYPE TABLE OF bapiret2,
          w_return TYPE bapiret2,
         i_order_items_in TYPE TABLE OF bapisditm,
         w_order_items_in TYPE  bapisditm,
         i_order_items_inx TYPE TABLE OF  bapisditmx,
         w_order_items_inx TYPE  bapisditmx,
        i_order_conditions_in TYPE TABLE OF bapicond,
        w_order_conditions_in TYPE bapicond,
        i_order_conditions_inx TYPE TABLE OF bapicondx,
        w_order_conditions_inx TYPE TABLE OF bapicondx.
    CLEAR w_order_header_in.
    w_order_header_in-doc_type  = 'ZSO'.
    w_order_header_in-sales_org =  '1000'.
    w_order_header_in-distr_chan = '01'.
    w_order_header_in-division =  '01'.
    w_order_header_in-req_date_h  = sy-datum.
    w_order_header_in-sales_dist =   '000001'.
    CLEAR: i_order_items_in,w_order_items_in.
    w_order_items_in-material = 77.
    w_order_items_in-salqtynum = 1.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = w_order_items_in-material
      IMPORTING
        output = w_order_items_in-material.
    APPEND w_order_items_in TO i_order_items_in.
    * SP
    CLEAR: i_order_partners,w_order_partners.
    w_order_partners-partn_role = 'AG'.
    w_order_partners-partn_numb = '2000016'.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = w_order_partners-partn_numb
      IMPORTING
        output = w_order_partners-partn_numb.
    APPEND w_order_partners TO i_order_partners.
    CLEAR: i_order_conditions_in,w_order_conditions_in.
    w_order_conditions_in-itm_number =  '000010'.
    w_order_conditions_in-cond_type  =   'PR00'.
    w_order_conditions_in-cond_value =  100.
    APPEND w_order_conditions_in TO i_order_conditions_in.
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
      EXPORTING
    *   SALESDOCUMENTIN               =
        order_header_in               = w_order_header_in
    *   ORDER_HEADER_INX              =
    *   SENDER                        =
    *   BINARY_RELATIONSHIPTYPE       =
    *   INT_NUMBER_ASSIGNMENT         =
    *   BEHAVE_WHEN_ERROR             =
    *   LOGIC_SWITCH                  =
    *   TESTRUN                       =
    *   CONVERT                       = ' '
    * IMPORTING
    *   SALESDOCUMENT                 =
      TABLES
       return                        = i_return
       order_items_in                = i_order_items_in
    *   ORDER_ITEMS_INX               =
        order_partners                = i_order_partners
    *   ORDER_SCHEDULES_IN            =
    *   ORDER_SCHEDULES_INX           =
       order_conditions_in           = i_order_conditions_in
    *   ORDER_CONDITIONS_INX          =
    *   ORDER_CFGS_REF                =
    *   ORDER_CFGS_INST               =
    *   ORDER_CFGS_PART_OF            =
    *   ORDER_CFGS_VALUE              =
    *   ORDER_CFGS_BLOB               =
    *   ORDER_CFGS_VK                 =
    *   ORDER_CFGS_REFINST            =
    *   ORDER_CCARD                   =
    *   ORDER_TEXT                    =
    *   ORDER_KEYS                    =
    *   EXTENSIONIN                   =
    *   PARTNERADDRESSES              =
    READ TABLE i_return INTO w_return WITH KEY type = 'E'.
    IF sy-subrc NE 0.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
    ENDIF.
    LOOP AT i_return INTO w_return .
      WRITE: / w_return-type,
      w_return-id,
      w_return-number,
      w_return-message.
    ENDLOOP.
    Regards
    Kathirvel

Maybe you are looking for