Mass interfaces: BPM or RFC wrapper

Hello
My scenario is HTTP->XI->RFC. Sender interface has collection of objects. SAP side has BAPI that works with one object. For example BAPI like CHANGE, CREATE doesn't take collection.
What is the best design - to emulate mass interfaces in BPM(forEach block) or to create a RFC wrapper that takes collection and executes BAPI for each object?

Hi,
you can also try creating an IDOC
(which will invoke your bapi inside)
and post then all in a bundle
(even from BPM)
/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
it many not be very easy to design a BAPI
for many messages and with IDOC approach
you just need one - so more or less standard
and you can post then as in my weblog
BTW
your scenario has to be async of course for this
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Similar Messages

  • Need help with scenario BPM Http-RFC Sync/async bridge

    hi all!
    i've got the following scenario: HTTP-BPM(XI)-RFC synchronous both of them. for that, i'm using S/A bridge in the BPM, but i'm getting the error 'Timeout condition of pipeline reached'. i think the problem is that the process gets lost in the sync/async communication, because in the trace level shows CL_XMS_PLSRV_CALL_BPE-ENTER_PLSRV" and after that every message are 'wait time starting'.
    don't know the reason of the error. Maybe I missed something to configure?
    the BPM is like this:
    Receiver(Open Sync/Async bridge) -> Transformation (mapping from http request to RFC request) -> SyncSend (RFC request and response) -> Transformation (mapping from rfc response to http response) -> Send (Close S/A Bridge)
    the IR is configured like this:
    Message Types u2013 External Definitions u2013 Imported Objects
    mt_cxml_request -> contains xsd of xcml request template.
    mt_cxml_response -> contains xsd of xcml response template.
    zintegracion_pedidos -> imported RFC from R/3
    zintegracion_pedidos.response -> imported RFC from R/3
    Message Interfaces
    mi_cxml_request_async_abs
    mi_cxml_request_sync_abs
    mi_cxml_request_sync_out
    mi_xcml_response_async
    mi_rfc_request_asyn_abs
    mi_rfc_request_sync_abs
    mi_rfc_request_sync_in
    mi_rfc_response_async_abs
    Message Mappings
    mm_cxml_request_to_rfc_request -> mapping from http request (cxml) to rfc request.
    mm_rfc_response_to_cxml_response -> mapping from rfc response to http response (cxml).
    Interface Mappings
    im_cxml_request_async_abs_to_rfc_request_async_abs
    im_rfc_response_async_abs_to_cxml_response_async_abs
    and the ID is configured like this:
    Business system DES -> created business system for RFC adapter with interface mi_rfc_request_sync_in as receiver. Comunication channel u2018RFC Receiveru2019
    Businnes service VW -> created businnes service for HTTP adapter with interface mi_cxml_request_sync_out as sender. Comunication channel u2018HTTP Senderu2019
    Receiver Determination
    two receiver determinations. One for BPM and the other one for RFC(R/3):
    |VW| mi_cxml_request_sync_out:
    |BPM_PO| mi_rfc_request_sync_abs:
    Interface Determination
    two interface determinations:
    |VW| mi_cxml_request_sync_out | | BPM_PO:
    |BPM_PO| mi_rfc_request_sync_abs | * | * :
    Sender Agreement
    VW
    mi_cxml_request_sync_out
    Receiver Agreement
    |BPM_PO| |DES| mi_rfc_request_sync_in

    hi all,
    i've removed the transformations from the BPM, and i've created:
    in IR:
    - interface mapping: im_xcml_request_to_rfc_request_sync_abs
                                    source interface: mi_cxml_request-sync_abs
                                    target interface: mi_rfc_request_sync_abs
    in ID:
    - receiver determination: |VW| mi_cxml_request_sync_abs
                                      sender service: VW
                                      interface: mi_cxml_request_sync_abs
                                      receiver: DES
                                      interface mapping:im_xcml_request_to_rfc_request_sync_abs
    - interface determination: |VW| mi_cxml_erquest_sync_abs ||
                                         sender service: VW
                                         interface: mi_cxml_request_sync_abs
                                         inbound interface: mi_rfc_request_sync_abs
                                         interface mapping: im_xcml_request_to_rfc_request_sync_abs
    - receiver agreement: |VW| |DES| mi_rfc_request_sync_abs
                                   sender service: VW
                                   receiver service: DES
                                   receiver interface: mi_rfc_request_sync_abs
    not sure these are the steps i had to do for mapping xml to rfc. but the result is the same error as before, the timeout.
    i couldn't test with RTW because i'm getting an error 401 unauthorized.
    i'd do it without BPM but the issue is that i wanted to add another step that would be to send the response from rfc to mail too once i got this BPM running. i mean, the response from RFC would be sent to http response and mail both.
    the only way i can imagine to do it is with BPM but i'm really fed up with it.
    thank u very much folks

  • "No Receiver Determined" in BPM Sync RFC Call

    My scenario is xml file -> XI BPM -> RFC1 -> RFC2 (will call RFC2 if RFC1 is successful).
    I am still just trying to get the RFC1 call working properly.  I have been using blogs 1822, 1403 and 1926.  I have also used some related BPM threads.  It seems to be making the RFC call properly, but failing on the response.
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_BE 
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
    These docs show my IB Repository and Directory setups.  Can anyone look at them and tell me what is missing?  Thanks in advance!
    http://webpages.charter.net/kpwendel2/bsmDir.jpg
    http://webpages.charter.net/kpwendel2/bsmRep.jpg

    Keith,
    the problem is quite clear.
    In your BPM, you have a synchronous interface in your sync send step.
    However, in configuration, you have configured two asynchronous interfaces.
    To be able to use sync send step in BPM, your RFC needs to be able to send a response back. Then you need to have two message mappings (one for bpm->rfc messages, and other for rfc_response -> bpm_response messages) and a interface mapping between the 2 sync interfaces (bpm_sync_int -> rfc_sync_int) using these 2 message mappings.
    Also, some hints:
    1. Don't do these mappings in BPM transformation step. You can execute them outside of BPM. Doing this, you will get better performance and also won't need to create abstract interfaces for RFC messages.
    2. Use configuration wizard in Integration Directory (first, remove and reimport your BPM in Integration Directory). This way, you avoid different interfaces errors.
    Regards,
    Henrique.

  • Without BPM:Call RFC using JCO in interface mapping using java mapping

    Hi all
    I have a very small scenario where REQUEST from the customer comes via Web Service all i have to do is to read the request using SOAP adapter and call an interface mapping(lets say the name is IM_TEST) inside which there is a JAVA MAPPING program written which will call an RFC in CRM using JCO.
    Now this was really simple and i cud test the Interface mapping successfully, but the problem is when loading the scenario in integration directory i have certain things to do
    1. to set the SENDER AGREEMENT which i did correctly
    2. set the RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT now here i am stuck because there is no receiver in my case as the RFC is called inside the mapping only.
    can i call one more message mapping in IM_TEST which will write file onto the XI directory and then in RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT i can mention the reciever as FTP.
    I tried it but i gives the following error
    Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_TEST_WRITE_FILE: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Parsing an empty source. Root element expected!
    Please help me how to complete the scenario so that customer can run it end to end.
    <REMOVED BY MODERATOR>
    Edited by: Prateek Raj Srivastava on May 12, 2010 1:44 PM

    Stefen
    What do i do then...actually this is the project requirement. They want a very fast response from PI and thats why they wnt us to omit BPM and the Graphical mapping from the scenario.
    I am able to test the interface mapping which calls the the Java mapping inside which there is an RFC call, but i cannot implement it end - to - end as there is no receiver business system in this case. The only business system i have is the SOAP sender.
    I am really troubled now, please help me with a solution.
    Is there any other possible way through which the process can become very fast whic hcan meet their requirement.
    Regards
    Naina

  • Choosing Receiver Interface (IDoc or RFC) without using BPM

    Hi,
    We have a scenario wherein the receiver interface (either IDoc or RFC) must be dynamically determined at runtime based on the source message. I've tried using Multi-Mapping but this did not work since IDoc and RFC interfaces are not on the same Adapter Engine.
    How do I configure this scenario without using BPM?
    Thanks,
    Francis

    Hi,
    >That was my first solution but it did not work since it seems that conditions only work for determining the Operation Mapping to use for the same Receiver interfaces.
    not true - not only Operation Mapping but also receiver agreement
    so the receiver's channel
    >I was misled into thinking that we could use it to dynamically determine the receiver interface.
    but you can do it over there
    intrface determination can be used for pseudo receiver determination too
    so you can have one interface that either goes to one
    channel or the other (within the same receiver)
    Regards,
    Michal Krawczyk

  • ** How to deliver multiple files using BPM (From RFC output)

    Hi Friends,
    I am doing File-RFC-File scenario using BPM. I am using BAPI_SFLIGHT_GETLIST as my RFC (Standard RFC). If we execute this RFC, it will return the results in tables form. Assume that, the inputs to RFC is like below.
    FromCountryKey : US
    FromCity: NEW YORK
    ToCountryKey: DE
    ToCity: FRANKFURT.
    The outputs from the RFC is like below.
    26 Entries
    CAR
    CONN
    FLDATE
    AIR
    AIR
    DEPTIME
    SEATSMAX
    SEATSOCC
    |
    DL
    0106
    19.05.2008
    JFK
    FRA
    19:35:00
    280
    266
    UA
    3516
    20.05.2008
    JFK
    FRA
    16:20:00
    380
    364
    LH
    0401
    23.05.2008
    JFK
    FRA
    18:30:00
    220
    209
    LH
    0401
    28.05.2008
    JFK
    FRA
    18:30:00
    220
    208
    UA
    3516
    28.05.2008
    JFK
    FRA
    16:20:00
    380
    367
    DL
    0106
    16.06.2008
    JFK
    FRA
    19:35:00
    280
    261
    UA
    3516
    17.06.2008
    JFK
    FRA
    16:20:00
    380
    357
    LH
    0401
    20.06.2008
    JFK
    FRA
    18:30:00
    220
    213
    DL
    0106
    14.07.2008
    JFK
    FRA
    19:35:00
    280
    1
    UA
    3516
    15.07.2008
    JFK
    FRA
    16:20:00
    380
    86
    LH
    0401
    18.07.2008
    JFK
    FRA
    18:30:00
    220
    123
    DL
    0106
    11.08.2008
    JFK
    FRA
    19:35:00
    280
    56
    UA
    3516
    12.08.2008
    JFK
    FRA
    16:20:00
    380
    67
    LH
    0401
    15.08.2008
    JFK
    FRA
    18:30:00
    220
    114
    DL
    0106
    08.09.2008
    JFK
    FRA
    19:35:00
    280
    0
    UA
    3516
    09.09.2008
    JFK
    FRA
    16:20:00
    380
    164
    LH
    0401
    12.09.2008
    JFK
    FRA
    18:30:00
    220
    64
    DL
    0106
    06.10.2008
    JFK
    FRA
    19:35:00
    280
    80
    UA
    3516
    07.10.2008
    JFK
    FRA
    16:20:00
    380
    8
    LH
    0401
    10.10.2008
    JFK
    FRA
    18:30:00
    220
    16
    DL
    0106
    03.11.2008
    JFK
    FRA
    19:35:00
    280
    11
    UA
    3516
    04.11.2008
    JFK
    FRA
    16:20:00
    380
    33
    LH
    0401
    07.11.2008
    JFK
    FRA
    18:30:00
    220
    53
    DL
    0106
    01.12.2008
    JFK
    FRA
    19:35:00
    280
    0
    UA
    3516
    02.12.2008
    JFK
    FRA
    16:20:00
    380
    45
    LH
    0401
    05.12.2008
    JFK
    FRA
    18:30:00
    220
    25
    |
    We need to create output file for each record. In this case, the system should generate 26 output files.
    I imported the RFC and created the required interfaces and designed BPM also.
    Start --> Receive step --> Synchronous Send --> Asynchronous Send
    But, I stuck in how to deliver each record to the output file from BPM.
    Any idea, friends. (like using BPM Multi-line option. or 'Receiver From' property in the Send Step)
    Kindly help me friends to solve this issue.
    Thanking you.
    Kind Regards,
    Jeg P.

    Hi
    You can do it by creating one another message interface having structure same as your table.
    What you have to do is create a mapping in such a way that for each record in table one message(newly created) must be created.
    Use that mapping in an interface mapping, remember occurence of target message should be 0..Unbounded both in message mapping and interface mapping.
    Now create one single line message and one multiline message in BPM for newly created message.Use transformation step with new interface mapping, mention source(RFC response) and target message(use multiline element of new message) for the transformation step.
    Use send step inside a block,set block mode to "forEach", and attach new message to that send step.
    Use multiline and single element of new message in the property window of block.
    Now your BPM will look like
    Start ---> Receiver ---> Synchronous send ---> Transformation ---> Block ---> Async Send(within block)
    I think in this way you can implement what you want.
    Regards
    Sami
    Reward points if helpful.

  • BPM in RFC to Jdbc

    Hi,
    Can you send me any RFC to Jdbc sync BPM links?. Also, Can you please tell me how is the design when  we use RFC and Message Interfaces involved.
    Thanks,
    Raj.

    hi Raj,
    <b>Defining Sync/Async Communication</b>
    http://help.sap.com/saphelp_nw04/helpdata/en/43/65d4dab39b0398e10000000a1553f6/content.htm
    <b>Example: Sync/Async Communication</b>
    http://help.sap.com/saphelp_nw04/helpdata/en/83/d2a84028c9e469e10000000a1550b0/content.htm
    <b>RFC</b> Scenario using <b>BPM</b> --Starter Kit
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    Walkthrough with <b>BPM</b>
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    FILE to <b>JDBC</b> Adapter using SAP XI 3.0
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
    Regards,
    michal

  • Sych BPM scenario (RFC to SOAP)

    Hello
    I am using the RFC2SOAP scenario using the process shown below to get alerts.
    Receive  - Open S/A bridge ( Sync receive)
    Transform - Request_Asyn ( Mapping from RFC request to SOAP request)
    Sync Send - Call SOAP
    Transform - Response Asyn ( Mapping from SOAP response to RFC response)
    Send - Close S/A bridge
    Switch - Success / Failure
    Control - Alert
    My question is: How many Receiver detrminations need to be provided. Also, system is not proposing the Abs mapping between RFC and SOAP Sync Messages automatically.
    Did any one has implemented this scenario, will this process work ?
    Appreciate any help.
    Regards
    Prasad

    Hi Prasad,
      Sync BPM works fine, but i doubt if the below scenario works.
    1) I dont think in your Transform the Request/Response be Async. cos all are sync calls. secondly if you open S/A bridge, you are supposed to give Abstract Sync Interface.
    2) I doubt the swtich and control step as well, I dont know what msg you would get at that stage, because the 'S/A close' would end the call by sending back the response to Interface (AbsSync as per #1).
    Hope this helps,
    keep us posted of the outcome of your trials.
    Regards
    Vishnu

  • How to clear JCA interface parameters in RFC call?

    hi all,
    this is my trouble:
    I have to call an RFC Function with JCA connector in an EP6 SP2. The connection it's ok and works well. But if i modify the interface parameters of the RFC function i must to reboot the portal for read the new interface.
    It's possible to read the new interface without restart the system.
    Thanks for all your helps!
    Gennaro

    hi all,
    this is my trouble:
    I have to call an RFC Function with JCA connector in an EP6 SP2. The connection it's ok and works well. But if i modify the interface parameters of the RFC function i must to reboot the portal for read the new interface.
    It's possible to read the new interface without restart the system.
    Thanks for all your helps!
    Gennaro

  • Call adapter error --- BPM to RFC

    Hi,
         I'm calling a simple RFC from a bpm, and the rfc in turn calls a proxy.At the step where i pass the data from bpm to the RFC i get the following error at the call adapter step:
    <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Problem inserting a7f68d50-f88a-11db-ad02-001560a7b7a4(INBOUND) into the database: java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column</SAP:AdditionalText>
    this seems to be some database error, but i'm not insertinga ny data into any table.
    Can anyone tell me about this.

    Hi-
    Check the Data types you have mentioned for attributes.

  • BPM- scenario RFC - XI - receive file - - SOAP - return answer to RFC

    Hello everybody,
    I have the scenario
    RFC call a BPM
    In the BPM, I have to receive information from a file ( generated by another system 4 times in a day)
    Mix the data of the file with the data of RFC
    Send them a SOAP
    send the reply to the RFC
    My problem is : how to receive the file on demand because in file adapter ( sender ),  the definition is only by interval of time?
    Is there anybody who can help me?
    Thanks in advance and best regards.
    Eric.

    Hi Eric,
    in sender file adapter, we just have polling interval - so in your receive step in BPM you have to wait for the source file.....
    i do not think any other workaround will be feasible for your this case
    Regards,
    Rajeev Gupta

  • How to reprocess an interface with a RFC problem

    Hi.
    I have a simple scenario  File->RFC->FILE
    In the BPM that i use, i send some data vía RFC to a R3 Backend and retrieve it. FInally, i create a file with the result.
    The send step that sends the data to R3 backend has been defined with a transport confirmation.
    My problem is that the BPM has send the info to R3, has received the ACK and at this time, the R3 has crashed.
    Now R3 is back again and the Receive Step of the BPM is waiting for the answer. I've checked Sm58 in R3 Backend but no entries in it.
    How can i send once more the RFC now that R3 is ready?
    Thanks.
    Inigo.

    If so it is like of 2 scenarios. You need to have 2 receiver determinations
    1) Sender File to RFC in R/3
    2) R/3 to File
    But if you want to execute these 2 separate scenarios in sequence then the current design should have these BPM steps
    1) Receive File data
    2) Transofrmation step ( InputFile to RFC1)
    3) Send the RFC data
    4) Receive the RFC2 data
    5) Transformation Step (RFC2 to OutputFile)
    6) Send this to file
    You can avoid transformation steps inside the BPM. for this you need to do mapping outside the BPM
    Regards,
    Moorthy

  • BPM error (Rfc to file scenario)

    Dear Experts,
    I'm doing a RFC-FILE scenario with BPM. I have followed the blog RFC Scenario using BPM --Starter Kit by Arpit Seth.
    The file is getting picked up. But in SXMB_MONI i get the following error:
    <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="BPE_ADAPTER">SYSTEM_FAILURE_INTERNAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>An internal error has occurred</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
    In SXMB_MONI_BPE, there are no workflows for the integration process.
    What could be wrong?
    Please help.
    Thanks,
    Merrilly

    Hi,
    Thsi is the error i'm getting now in the synchronous send step:
    <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_MM_FileRequest_to_RFCRequest_</SAP:P1>
      <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
      <SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_FileRequest_to_RFCRequest_: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    Is it because that the BAPI is not processing anything?
    Thanks,
    Merrilly

  • XI Interface With CRM RFC

    I have a BAPI in CRM that I call from XI via RFC. In CRM, I want to be able to see what happens with the function; whether it fails, abends, etc. I have some strange things happen and am trying to trouble shoot the cause. From the XI side, all looks like it went well.

    Hi,
    What version of CRM are you using ?
    Try running transaction SPROXY in CRM and see if anything happens.
    If so, check under your namespace and see if you can see your interface defined. If you can then just right click on your interface to generate the required ABAP proxy.
    I have just finished a CRM/XI project and the majority of integration was done using ABAP proxies. Any functions that were called were inside the ABAP proxy instead of using the RFC adapter. It was far easier and quicker doing it this method instead.
    Only use IDOCs if the standard IDOC fits your requirement - otherwise do not bother.
    Cheers
    Colin.

  • Rfc wrapper

    hi 
    i wanna use bapi_po_create in http to bapi scenario.
    i need steps to create custom wrapper from bapi with some fields not to be used
    The custom BAPI has only a minimal number of import parameters, representing the
    mandatory fields. This will simplify the mapping definition process.
    thanks and regards
    vijender

    <i>> This will simplify the mapping definition process.</i>
    Normally a Wrapper RFC is written as your current RFC does not meet the required functionality. If you want to write a Z RFC because you just want to simplify maping in XI, it makes no sense. You can always disable the fields you dont want.
    Regards
    Bhavesh

Maybe you are looking for

  • SQL Query failure in application involving GP

    Hi, In one of the WDJ applications I am using, there is creation of GP instance involved and within the callable object of GP, back end connectivity is obtained through RFC. This application is not working properly and when I took traces of the same,

  • Pro Applications Update didn't update

    I had a problem with an error message saying the "file is too new for this version of the software. I have FCP 6 (part of Final Cut Studio 2) I read here that the fix to the problem is an update which I just downloaded and installed, but my FCP 6 was

  • REQUEST within f?p =

    Hi, I've got a report which prints out a list of links on a page. Each link is a f?p url with values from the query and a request to branch it to a page which runs pl/sql processing when the requests are equal. Basically, the link looks like this: f?

  • Problem in password

    Hi, I download oracle 11g from oracle download , but if i setup my password give error

  • Increase width for Excel and CSV reports

    HI , I am having problem with data in Excel and CSV reports , since the data is large and the width of the column is fixed its is displaying ###### , can u suggest me how to make the wodth of the columns variable depending upon the data passed. I wan