BAPI Calling error

Hi all,
I am working on scenario Jdbc to SAP.In SAP ,I am using Z_BAPI_SORDER which internally calls the BAPI_SALES_OREDR_CREATEFROMDAT2 and BAPI_TRANSACTION_COMMIT. While sending the values it returns the following error message.
"Please enter Ship-To-Party or Sold-To-Party".
I am sending the following parameters..
1.Doc Type=TA
2.Sales organization =1000
3.Partner_Role=SP
4.Customer_number_1=1360
5.Material=M-14
Could anybody please help me.
Thanks,
Raghu.

Hi,
these are the mandatory entries for this bapi:
<b>ORDER_HEADER_IN:</b>
DOC_TYPE Sales document type
SALES_ORG - Sales organization
DISTR_CHAN - Distribution channel
DIVISION - Division
<b>ORDER_PARTNERS:</b>
PARTN_ROLE Partner role, SP sold-to party
PARTN_NUMB Customer number
<b>ORDER_ITEMS_IN:</b>
MATERIAL Material number
so as you can see your there are
DISTR_CHAN, DIVISION, PARTN_NUMB missing in your call
try adding them and check the result
Regards,
michal

Similar Messages

  • BAPI call Error - Inbound Interface to SAP

    Hi Experts,
    my middleware side  using IBM WebSphere Message Broker SAP Adapter request node ,
    Problem after the execution of the interface the adapter node failed and it in the log its giving the error message:
    "{[3442]Caught Throwable}.{[3450]throw a RecordNotFoundException}.{com.ibm.j2ca.sap.exception.SapBAPIException}."
    I had seen some post in forum as " Quantity field type should be assigned a DECIMAL in the ESQL code."
    so i checked in my bapi for quantity ( units per container field ) its assigend with decimals. So while checking in the middleware side..
    In the imported BAPI layout UnitsPerContainer appears in 2 locations:
    > SapTinContain : Here UnitsPerContainer is defined as decimal
    > SapTinRecord3: But here UnitsPerContainer is defined as string
    why is there a difference ? Its a connectivity Problem??
    Donu2019t know whether because of this difference am getting the " Record Not Found Exception ".
    Please help me .
    Thanks in Advance.
    Regards,
    Priya.

    How did you fixed the error i am getting this type of error only?

  • Error in BAPI call using  webdynpro

    hi ,
    am new to this webdynpro abap..so i was trying out sample tutorials from sdn..when i trigger a button click event in order to call bapi function..the error has be raisen..so give me a solution for this..kindly chk out this link..i was trying for this application..i did exactly as mentioned in this tutorial..
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/00545e6d-0679-2910-acab-8073ce9a1659?rid=/webcontent/uuid/fed073e5-0901-0010-4eb4-c9882aac7b11 [original link is broken]
    in this second tutorial..bapi usage
    error :
    The following error text was processed in the system NSP : RFC Exception COMMUNICATION_FAILURE with Message RFC destination bapi Fm does not exist. Occurred
    The error occurred on the application server w2gzmbks01_NSP_00 and in the work process 0 .
    The termination type was: RABAX_STATE

    Hi Anuj,
    I ve a similar kind of issue at my end. I am trying to call  BAPI_DOCUMENT_CREATE2 from a Webdynpro application(A2C/000) and using commit work. A new doc_number is very much created, even commit work returns no error.
    But surprisingly i dont see this new record in the same destination (A2C/000).
    this BAPI is already remote enabled (SE37)

  • Error message in BAPI call

    I have imported RFC Interfaces from SAP system. Each interfaces doesn't  have fault message.
    How to get error message in BAPI call when error occurs?
    I can catch an exception in BPM but I need to get error message and send it to another system.

    Hi Denis,
    >>>I have imported RFC Interfaces from SAP system. Each interfaces doesn't have fault message.
    if you want to use fault messages
    consider using ABAP Proxies
    >>>>How to get error message in BAPI call when error occurs?
    most bapis have return table in which they
    return error messages (you can do it either
    in a sync way or in an async way if the call is too long - with corrlelation of course)
    Regards,
    michal

  • BAPI_ALM_ORDER_MAINTAIN error "BAPI call must have a SAVE or DIALOG method"

    I have this test code below that I have written to update the work duration on a work order to 5 hours using the BAPI BAPI_ALM_ORDER_MAINTAIN.  I however keep getting the error "BAPI call must have a SAVE or DIALOG method".  Can someone tell me what I am doing wrong
    data: begin of it_methods occurs 0.
            include structure bapi_alm_order_method.
    data: end of it_methods.
    data: begin of it_operation occurs 0.
            include structure bapi_alm_order_operation.
    data: end of it_operation.
    data: begin of it_operation_up occurs 0.
            include structure bapi_alm_order_operation_up.
    data: end of it_operation_up.
    data: begin of it_return occurs 0.
            include structure bapiret2.
    data: end of it_return.
    data: begin of it_et_numbers occurs 0.
            include structure bapi_alm_numbers.
    data: end of it_et_numbers.
    it_methods-refnumber = '0000040000020010'.
    it_methods-objecttype = 'OPERATION'.
    it_methods-method = 'CHANGE'.
    it_methods-objectkey = '0000040000020010'.
    append it_methods.
    it_operation-duration_normal =       '5'.
    append it_operation.
    it_operation_up-duration_normal =       'X'.
    append it_operation_up.
    call function 'BAPI_ALM_ORDER_MAINTAIN'
      tables
        it_methods              = it_methods
        it_operation            = it_operation
        it_operation_up         = it_operation_up
        return                  = it_return
        et_numbers              = it_et_numbers.
    call function 'BAPI_TRANSACTION_COMMIT'
         IMPORTING
           RETURN        = it_return.
    Edited by: Martin Kay on Mar 5, 2009 2:17 PM

    hello martin
    u have to use the save method for saving the contents
    in mehtod tabel u have to add method as save
    if ur  method internal table is it_method then
    it_method-method =  'save'.
    append it_method .
    and also in ur bapi code u have assigned wrong reference number
    reference number always should start from 1
    it_methods-refnumber  =  '0000001'
    not '0000000400123' which u have used for order number
    and after call of bapi u have to call
    bapi_transaction_commitn which u have used
    hope it solves ur problem

  • Howto bapi calls

    Hello,
    I am working on a scenario in which a client (abap proxy) sends a message to the integration server, which dispatches the messages to an rfc-adapter, an bapi call.
    Therefore I have read the tutorial, which can be found on this site, but unfortunately I have run into problems. Maybe someone can help me at this point. This is what I did:
    1.I have imported the BAPI_FLIGHT_CHECKAVAILABILITY as suggested in the tutorial.
    2. I created an Message interface named: U2_BAPI_IF
    3. For the output message I have chosen: BAPI_FLIGHT_CHECKAVAILABILITY and for the input:
    BAPI_FLIGHT_CHECKAVAILABILITY.Response. I have left the fault message field empty.
    4. I did no message mapping, since I want to work with the BAPI Response structure in the abap proxy.
    5. The Message interface is defined as outbound synchron.
    6.In the Integration Directory I created a Receiver Determination with a Service as a sender, the message interface is U2_BAPI_IF. Additionally I configured a "configured receiver" the client with the BAPI.
    7.I created a Interface Determination, for the sender the same entries as above and for the configured Inbound Interface I have chosen BAPI_FLIGHT_CHECKAVAILABILITY and the receiver client
    8.I created a receiver agreement.
    9. Saved the change list.
    10. I have generated the abap proxy for the message interface U2_BAPI_IF, without problems
    11. I created the following abap program:
    data: lv_msg_raus TYPE ZU2_BAPI_IF_BAPI_FLIGHT_CHECK1,
          lo_proxy TYPE REF TO ZCO_U2_BAPI_IF,
          lv_msg_rein TYPE ZU2_BAPI_IF_BAPI_FLIGHT_CHECKA.
          lv_msg_raus-AIRLINEID = 'AA'.
          lv_msg_raus-CONNECTIONID = '0017'.
          lv_msg_raus-FLIGHTDATE = '20040801'.
          create object lo_proxy.
          call method lo_proxy->execute_synchronous
            exporting
              OUTPUT = lv_msg_raus
            importing
              INPUT = lv_msg_rein.
    12. I execute the program and I receive the following error:INTERFACE_REGISTRATION_ERROR, the SAP Stack says:
    <SAP:Stack>No implementing class registered for the interface (type ifmmessif, name BAPI_FLIGHT_CHECKAVAILIBILITY, namespace urn:sap-com:document:sap:rfc:functions )</SAP:Stack>
    So now my question, do I have to implement a class (proxy) on the receiver side to receive the message and pass it then via bapi call myself, or did I something totally wrong?
    I hope somebody can help me,
    Thanks
    Oliver

    Hi Oliver,
    I was wondering if you finally got this scenario to work, if Yes. Could you explain how did yo manage to (solve your problem)setup your scenario as described in your earlier note?
    Thanks,
    Rob.

  • Bapi call in abap proxy reaching dialog timeout in async scenario

    Hi all,
    We have an XI interface to create sales orders. Legacy app sends a soap message async to XI with a group of orders. XI sends this group of orders to an Abap proxy async on ECC side. Into this Abap proxy we have a loop to process each order received in the group with BAPI_SALESORDER_CREATEFROMDAT2. Ending the loop, abap proxy start another async process to send the response to XI with an outbound abap proxy, and the response is redirected by XI to Legacy app.
    The problem is, this group of orders can have two or two thousand orders... so, the async process guarantee that no timeout limit will be reached. This is working for the whole process. But when this BAPI is creating an order, the time out of BAPIs execution seems to be the same as the timeout of dialog processes (now set to 10 minutes). This is our problem. Some orders spend more than 10 minutes to process (orders with five hundreds items, for example)... when this occurs, BAPI throws a time out reached error and the async process stops on the inbound queue with status sysfail.
    We are now trying to understand why this timeout is been triggered by the BAPI. As it is running into an Async process, it should execute without any kind of timeout limits...
    If anybody has any idea, please, help us.
    Thank you.
    regards.
    roberti

    May be I was not so clear... the total spent time in the process can be many many hours, days, etc... no timeout is reached. I can post 10.000 orders, no timeout is reached. The problem is that if the processing of only one order with BAPI_SALESORDER_CREATEFROMDAT2 takes longer than 10 minutes, then the timeout is reached. This is the strange part. The processing of the bapi seems to get the same timeout of dialog processes, we already tested increasing the dialog process timeout and the timeout of bapi execution was the same...
    We already monitor on SE66 to see if it opens a dialog process to execute the bapi call function, but it does not.
    If anyone has any tip, please, provide us.
    Thanks!
    roberti

  • Integration Process not continuing after Synchronous BAPI call

    I have an integration process that splits up a batch file of purchase orders into single purchase order messages. This allows me to use the "ForEach" block to call the synchronous BAPI_PO_CREATE1.
    I have managed to get the process to call the BAPI and create the purchase order. The response message arrives back though the abstract synchronous interface and is mapped to the asyncronous response message. After that the process seems to hold where I am expecting it to continue on the process and be appended to a container storage list for mapping to a single return message.
    I have not set up any correlation sets as I thought they wouldn't be needed for a sychronous call.
    Has anyone got any advice on my approach to this process and how I might fix it.
    Thanks in advance

    Hi Bhavesh,
    There are no errors as such in the SXMB_MONI but it gets as far as the Inbound Message (PE_ADAPTER) stage after the Sych BAPI call.
    Also the SOAP Header at this stage seems to be missing "sysnchronous" or "asynchronous" in the  SAP:ProcessingMode tags.
    The technical workflow is as follows
    FTP Batch file outbound to Integratin Process Receive (Async)
    Transform message into a Multiline list of BAPI_PO_CREATE1.request (async abstract)
    Enter "For Each" Block using the multiline list.
    BAPI_PO_CREATE1 mapped to synchronous abstract interface
    synchronous abstract interface mapped to BAPI_PO_CREATE.request and response
    BAPI_PO_CREATE.response mapped to async BAPI_PO_CREATE.response
    async BAPI_PO_CREATE.response appended to multiline list
    Exit block
    Transform multiline response list into single line response
    FTP inbound
    As far as I can make out I have not correctly configured the receiver of PO_CREATE1.response after it has been mapped from the sync to async so it just persists it and sits there waiting or it is waiting for somethign else to happen.
    Let me know if I can clarify anything further.
    Thanks
    Ben

  • Problem with mutiple BAPI calls during the commit

    Hi all,
    I am trying to create accounts for a given partner i the transaction F9K1 using the BAPI BAPI_BKK_ACCNT_CREATE. After calling the BAPI I am committing it too.
    The problem is if I try to create multiple accounts like RCA, ACA, MCA, IOE and so on, the first time the BAPI is called to create RCA account it is successful an it is even committing. When I call the BAPI to create the the ACA account the return table from the BAPI shows success message but the commit fails. If I restart the program and try creation of accounts now the RCA will throw a error msg saying account already exist, ACA account will be created and then the MCA account creation fails in the same manner explained above.
    I see the issue is with multiple BAPI calls and I tried using all sort of methods like clearing buffers, start new task in local and wait command and all.  But none of them seems to be working for me.
    Can anyone please guide me on how I can overcome this problem.
    Thanks.

    BAPI :
    BAPI BAPI_BKK_ACCNT_CREATE
    Functionality
    Use this method to create an account in Bank Customer Accounts. This method returns the following values:
    Identification details for the newly created account such as the internal and the external account number, and the bank area details
    A table containing error messages
    To create an account by using this method, you must specify values for the import parameters Bank Area (BANKAREA) and Product (PRODUCTNAME).
    Note: You must also specify a value in the External Account Number (EXTERNALACCOUNTNR) parameter if you have defined an external number range for the bank .
    REgards,
    Jayan.

  • Problem facing during BAPI call for an inbound interface.

    I have requirement where in i need to make a BAPI call from SRM system using RFC adapter.
    After importing the BAPI(Z_INV_REF_PO) in the Integration Repository the structure looks to be a follws,
    1.Request
    2.Response and
    3.Exception (fault) Message types.
        In my BPM i did a transformation for my source structure with BAPI request. But while doing a BAPI call it throws me Application error as follows,
    RFC adapter is working fine.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Inbound Message
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="RFC_ADAPTER">APPLICATION_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="urn:sap-com:document:sap:rfc:functions">Z_INV_REF_PO.Exception</SAP:ApplicationFaultMessage>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Please help me out on this. Itz very urgent

    Hi,
    As the error is Applcation_error, the data reached the target system but the BAPI call fails. So you mignt not be providing all the mandatory fields to the BAPI.
    Perform a standalone testing of your BAPI, with the data being passed from XI See if the BAPI call is successful..
    Hope this helps you.
    cheers,
    Siva Maranani.

  • BAPI CALL IN BACKGROUND TASK

    Hi,
    We have a sales order workflow for exceptional demand.
    In one of the steps of the workflow,the corresponding task executes in background.
    Sales Order Change BAPI is called within this task.
    Now the problem is that in case the sales order is locked for execution by some other user, the BAPI call returns a message of type 'E'.
    Currently we send a mail to the concerned people to indicate that the sales order change has failed. However the users are concerned, since there is no immediate feeback on the errors.
    Is there any way that the user's can be informed instantly that an error has occured and also a retry option so that the BAPI call can be reexecuted at a later time.
    Regards,
    Jitender

    You can do this in two ways
    1. Put the BAPI call after a WHILE loop, that always checks for SY-SUBRC and within it you call the FM to lock the order
    OR
    2. Do this in workflow by using the return message type E to start the same task with some delay, say 30 mins or so...
    Good Luck
    Ravi

  • Question related to BAPI Call

    Hi All,
    I am using a BAPI Call to SAP in my BLS transaction. One of the action blocks in the transaction is a SQL Query which updates a Oracle table based on the SAP returned values from the previous action block. For the most part, it works fine except once in a blue moon, the values show up as 'null' when in fact I expect some values to be returned from SAP. Is there anyone out there who has faced a similar issue? What would be a quick and easy solution to this? Thanks.
    Regards,
    V M.

    Hi Venki,
    Possible response segments for CONF_CNT (in DETAIL_RETURN):
    1) That BAPI will return "000000" for counter if the confirmation was unable to be processed for some reason, but you were able to connect to SAP.  A fairly common reason is the record being locked if you run similar confirmations too close together.  It takes time for the confirmation record to be released by SAP.
    2) It will return a number "000001 or greater if the confirmation was successful (along with a confirmation number). 
    3) The circumstances where it will return an empty field are when it is unable to connect to SAP, but you should have a conditional to check for the success flag from the BAPI.  This is standard error handling when using a BAPI.  This will also leave all fields in the response segment blank. 
    4) And there is another set of circumstances which will leave the fields blank.  This is fairly unusual, but does happen when the error handling inside the BAPI runs into a situation which it can't handle.  So the BAPI crashes and never returns any information back to MII.
    You will need to decide which of these situations are causing your null data.  But put error handling in based on the Success flag for the BAPI for SAP unavailable and for a CONF_CNT = "000000" or blank.
    Good luck,
    Mike

  • Two bapi calls in the same session using PI

    Hi,
    I have a file to RFC scenario wherein I need to call a BAPI (L_TO_CANCEL) and then again, I need to call another bapi called
    "BAPI_TRANSACTION_COMMIT" in the same session. My question is, if I use RFC adapter, do I have to call the commit bapi again?
    If yes, is there anyway I can do that ?
    I believe that will be the case only if I use a proxy. Is that correct ?
    The requirement is to call these two BAPIs and finally include a success or error message in the response.
    Thanks.

    Inside the BPM you do not have a specific exception message. You can do an exception handling based on the exception, but the excpetion itself is not a real message.
    If you want a real message, you could create an ABAP proxy, which has a message like this:
    root
      - part1
           - rfc response
       - part2
            - error text
    then you can split this inside BPM and send a the response or the error.
    Of course there are other possible solutions.

  • Yellow transaction sequence block for Bapi call

    I am beginning upgrading MII from version 12.0 to 12.1.  When I imported my MII project to version 12.1, I get one BAPI call sequence that is yellow and the transaction does not execute.  It works fine in version 12.0, but something is wrong in version 12.1.  It is not a custom transaction. 
    The JRA Session Action is called JRA_Start_Session and when I try to execure the transaction, I get the following Error:
    [ERROR] [JRA_Start_Session] Link ('JRA_Start_Session.Language' [Assign] from "Transaction.Language") execution threw an exception. Exception: [Variable does not exist: JRA_Start_Session.Language]
    [INFO] Transaction Termination Request: [User: MSCOTT] [Reason: Variable does not exist: JRA_Start_Session.Language] [Message: Variable does not exist: JRA_Start_Session.Language]
    [INFO] Statistics [Load = 67 ms msec, Parse = 67 ms, Execution = 2 ms, Total = 81 ms]
    Both the new version and the old version of MII are pulling for the same data sources, so I'm not sure why 12.0 would work and 12.1 won't.  Maybe a known bug??
    Any help would be greatly appreciated!

    Thanks, Mike.  I am waiting on some help to try the steps you listed. 
    In further testing, we have been able to get some of the data from the BAPI, but not all of it.  We have also noticed that some of the data paths have changed.  For example, the "components" variable that was located in this location in version 12.0:
    {/BAPI_PRODORD_GET_DETAIL/INPUT/ORDER_OBJECTS/INPUT/COMPONENTS}
    Is located here after importing the project into version 12.1:
    {/BAPI_PRODORD_GET_DETAIL/INPUT/ORDER_OBJECTS/COMPONENTS}
    Does this information mean anything to you?  I did find some forum posts about JRA issues related to NW 7.1.6 and MII 12.1.8.  What I'm seeing is that to use MII 12.1.8, we have to roll back to NW 7.1.5.
    Can you tell me if this is still accurate?
    [Re: JRA "Execute Function" Option in MII 12.1.8.24]

  • RFC/BAPI Call

    Hi,
    I have a basic query regarding RFC and BAPI call.
    I wanted to know whether a BAPI/RFC in a SAP system can be called from any other application system or it can be called from only SAP system. Also, what are the sytem/network requirements for such a setting.
    Thanks,
    Puneet

    hi,
    Remote Function Call:
    RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.
    RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.
    RFCs manage the communication process, parameter transfer and error handling.
    http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
    BAPI
    BAPI stands for Business API(Application Program Interface).
    A BAPI is remotely enabled function module
    ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
    You can make your function module remotely enabled in attributes of Function module but
    A BAPI are standard SAP function modules provided by SAP for remote access.
    Also they are part of Businees Objest Repository(BOR).
    BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects.
    You create business objects and those are then registered in your BOR (Business Object Repository)
    which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA.
    In this case u only specify the business object and its method from external system
    in BAPI there is no direct system call. while RFC are direct system call.
    Some BAPIs provide basic functions and can be used for most SAP business object types.
    These BAPIs should be implemented the same for all business object types.
    Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs.
    Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
    Ravi.

Maybe you are looking for