Read Attachments in Operations Mapping called by Transformation Step

Hello,
I would like to read the attachment of my input message. I created an UDF that assigns the attachment to to a target field, furthermore I have activated the option "Read Attachments" in operation mapping.
But when I call the operation mapping in a transformation step in BPM, the target field is not filled. Is it not possible to read attachments in BPM?
Thank you for your advice.

Attachments are not available inside BPM.
Try to do the mapping outside BPM.

Similar Messages

  • BPM problem: mapping in a transformation step

    Hello,
    In my current BPM scenario....
    1)I created the interfaces below for the Receive step (receives MT_Request):
    -MI_async_BPM
    -MI_async_abstract
    2)Then I created the interface and mapping for the transformation step:
    -MI_JDBC_async_abstract
    MM(MT_Request to MT_Request2)
    IM(MI_async_abstract to MI_JDBC_async_abstract)
    3)Then I created the interface and mapping for the Send step:
    -MI_JDBC_async_in
    MM(MT_Request2 to MT_DB_Insert)
    IM(MI_JDBC_async_abstract to MI_JDBC_async_in)
    Problem:
    However, after I executed the scneario, it appeared the step 2) didn't go through correctly(error message:<b>NO_RECEIVER_CASE_ASYNC</b>).  Did I set up the configuration wrong in Integration Process?
    Also, I went back to ID to create a Receiver Determination for step 2) (thought this may clear the problem), but in the Sender tab of Integration Process object, MI_async_abstract was not in there.  Please give me a hand on this problem.  Thanks.
    Regards,
    Steve
    Message was edited by: steve peng
    Message was edited by: steve peng

    Hi Steve,
    Below is the explanation for correlation by Anand Torgal which i think will be helpful to u....
    To explain you the correlation in simple terms...take a simple example of BPM with a send step(async request) and receive step(async response). I am sending a PO request using the send step and waiting for a PO response using the recieve step. Assume that i have two instances of this BPM running i.e two PO request's going simultaneously. when i get the response back for these two requests , there will be two recieve steps waiting for the response since there are two instances of BPM running. the response need to be assigned the corresponding requests. This is where correlation comes into picture. I can use PO number as my correlation field. i.e I activate my correlation in the send step and use this correlation in receive step (this is configurable in BPM).
    Example: PO number needs to be part both request and the response message structure.
    BPM instance1:
    send step -> activate correlation -> send message with PO Number1
    Receive step -> use correlation -> receive response message with PO Number 1.
    BPM instance1:
    send step -> activate correlation -> send message with PO Number2
    Receive step -> use correlation -> receive response message with PO Number 2.
    There are many different scenario's whre you can use the correlation..this is one of them...The weblog shows another way of using correlation.
    Also Refer SAP help...
    Correlating Messages
    Use
    You use a correlation to assign messages that belong together to the same process instance. A correlation joins messages that have the same value for one or more XML elements. A correlation is therefore a loose coupling of messages: at design time, it enables you to define which message a receive step must wait for, without knowing the message ID.
    For example, in a process, receivestep_1receives the message purchaseorder, while receivestep_2receives the message salesorder. Receivestep_1creates a correlation that defines that the corresponding sales order must have the same purchase order number. Receivestep_2uses this correlation. This means that an instance of the process processes a purchase order and the corresponding sales order, which has the same purchase order number.
    If it satisfies the relevant correlations, a message can be processed in multiple processes. However, a message is only delivered once per process.
    http://help.sap.com/saphelp_nw04/helpdata/en/a5/64373f7853494fe10000000a114084/content.htm
    Regards,
    Abhy

  • Reading attachments in PI map

    Hi,
    I have a scenario where, i have attachment (PDF) are getting attached through Proxy. I need to save these attachments to Live Link Folder.
    I have seen some posts here where they have explained the java code used in UDF to read the attachments. I have implemented that. The problem is Message mapping when i test is working fine, no errors. But the operation mapping throws the error. I have checked the "Read Attachments" Flag but still it doesn't work.
    Can any body please help me with some blog or steps that explains the steps.
    Also i read on SDN that only XML attachments can be read, but that also didn't worked for me.
    Any help will be really appreciated
    Thanks
    -Kulwant

    Hi,
    >>>I have a scenario where, i have attachment (PDF) are getting attached through Proxy. I need to save these attachments to Live Link Folder.
    why don't you use swappayload bean to put the PDF into the folder ?
    Regards,
    Michal Krawczyk

  • Read Attachments using Java Mapping API

    Hello,
    after investigating the Java Mapping API a little deeper I found some very interesting Interfaces "InputAttachments" and "Attachments" which could do exactly what is required:
    Reading attachments and convert them into base64 code.
    As I am not an experienced Java Programmer howeve, I am note sure how to use those interfaces.
    For example there is a method defined in interface "InputAttachments":
    Attachment getAttachment(String contentID)
    How do I use it? If I use it in a way like "InputAttachments.getAttachment("abc");" then I get the error that it is not a static method. However how do I instantiate "InputAttachments".? As it is an interface I am not sure how to do this.
    Any idea how to handle these methods?

    Hi,
    I am working on the similar. I am able to attach txt files and csv files but have trouble attaching xcel and pdf's. Any input is appreciated. Thanks

  • ABAP Class not displaying in operation mapping.

    HI,
    I have created abap class using se24 for throwing exception message in sxmb_moni, this abap class needs to be called in operation mapping, even though i have activated this abap class in PI environtment, i couldnt see the abap class option in the operation mapping.
    Could any one please let me know any change profiles requirements are required,
    Thanks,
    --Sai

    Hi Sai,
    Yes, you do have to register ABAP Class Mapping in the Exchange Profile to see this option in the Operation Mapping. Follow these step-by-step configuration guidelines:
    http://www.riyaz.net/sap/xipi-how-to-register-abap-mapping-in-exchange-profile/624/
    Hope this helps,
    Greg

  • Multiple source messages in transformation step in bpm

    Hello,
    I am using a transformation step in bpm, I have two source messages and 1 target message, I got an error 'expression must return the interface type XXXX(in source message)', I checked my source message in interface mapping and the container element, the types do match.
    All the interfaces in the OM as well as in the bpm container definition are of type abstract.
    It seems to have something to do with the interfaces belonging to different software components?
    I declared a usage dependency from one swcv (holding the bpm) to another (holding the abstract interfaces which cause the error in the transformation step), so that I can reference them in the bpm.
    I thought it might have something to do on how  the message interfaces are selected in the operation mapping. so I tried to select the messages through the depencency path, but that was of no help either.
    Have I been clear?
    Any ideas?
    Thanks
    Matthias

    Since no receiver information is available in the transformation step, there can be no value mapping within the transformation  step. If the messages to be transformed give values in different formats, for example different date formats, you must first normalize the values before the messages can be processed in the process. To do so, define a message mapping with a corresponding value mapping.
    Check the help page below for reference
    http://help.sap.com/saphelp_nwpi71/helpdata/en/27/db283fd0ca8443e10000000a114084/content.htm

  • What is IM @ transformation step

    hi folks,
    What is the interface mapping in the transformation step? is that same what is used for normal IM or we have to define separately.
    The Data type used has 1...unbounded occurrence. In the transformation step it is N:1 mapping. and have to transform multiline interface to actual.
    good links containing correlation or transformations will be appreciated.
    thanks in advance,
    nikhil

    Hi,
    Refer this blogs & help for better understanding
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm
    http://help.sap.com/saphelp_nw70/helpdata/en/a5/64373f7853494fe10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/a6/dd11425d3c5033e10000000a155106/frameset.htm
    Might helps you..
    Regards,
    vasanth.

  • Synchronous Call without Operations Mapping

    Hi All,
    We have requirement to call a web service from WebDynpro hosted on BW system via PI. For this wanted to use AAE (advanced adapter engine) with SOAP to SOAP adapters. We are thinking of implementing this interface without message mapping hence no operation mapping.
    There are two reasons for this, 1. To increase the speed for the call 2. In PI there is nothing to transform, just to proxy it thru
    Now here my question are,
    Is our approach correct?
    Can we implement synchronous calls without operation mapping?
    Here we are using integrated configuration for this interface.
    If this approach is wrong, please suggest me a better way to proxy-ing PI for given requirement.
    Thanks in advance.
    Regards,
    Prasad.
    Edited by: PrasadBabu Koribilli on Mar 30, 2011 9:46 AM

    Hello Stefan,
    Thank you for the reply.
    I proposed the same to the project. But as per the guidelines any connection to backend SAP system should go through PI. So i will have to find a solution to satisfy both.
    So please advise.
    Thanks,
    Prasad.

  • Problem by adding attachments in Java Mapping

    Hi,
    we have to add some attachments in Java Mapping.
    So we are using the Java Mapping API.
    But it doesn't work correctly.
    We got the following error in sxmb_moni:
    Attribute Manifest ExampleAttachment is initial
    So we checked what happened in the Manifest and in the SAP SOAP Envelope and we see that there is an inconsistence.
    In the SAP Manifest we find the following entries:
    <SAP:Manifest xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7">
         <SAP:Payload xlink:href="cid:payload-79a6e3c088db11dfa4dd0017a477c1e8<at>sap.com">
              <SAP:Name>MainDocument</SAP:Name>
              <SAP:Description/>
              <SAP:Type>Application</SAP:Type>
         </SAP:Payload>
         <SAP:Payload xlink:href="ExampleAttachment">
              <SAP:Name>ExampleAttachment</SAP:Name>
              <SAP:Description/>
              <SAP:Type>ApplicationAttachment</SAP:Type>
         </SAP:Payload>
    </SAP:Manifest>
    For us it seems the entry for our ExampleAttachment is wrong. I think there must be a real content id for the attachment like the cid for the MainDocument. In the SOAP Envelope you can find the following entry for the attachment:
    content-type:text/plain
    content-length:45
    content-id:payload-79a6e3c088db11dfa4dd0017a477c1e8<at>sap.com
    This is an example for an attachment!
    --SAP_0017A477C1EC1DEFA3D200A5CB55CE04_END--
    So here you can see a real content ID, but you can't find it in the Manifest.
    So do we anything wrong in our source code or is it a bug of the SAP API?
    Do you have any ideas?
    Here the Java Mapping we're using for adding an attachment (as a test):
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import com.sap.aii.mapping.api.AbstractTransformation;
    import com.sap.aii.mapping.api.DynamicConfiguration;
    import com.sap.aii.mapping.api.DynamicConfigurationKey;
    import com.sap.aii.mapping.api.StreamTransformationException;
    import com.sap.aii.mapping.api.TransformationInput;
    import com.sap.aii.mapping.api.TransformationOutput;
    import com.sap.aii.mapping.api.Attachment;
    public class SUSAttaHandler extends AbstractTransformation {
         private static final DynamicConfigurationKey KEY_FILENAME    = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
         // Transform Method
         public void transform(TransformationInput in, TransformationOutput out)
                   throws StreamTransformationException {
              // An info message is added to trace
              getTrace().addWarning("JAVA Mapping AttaHandler called!");
              // Input payload
              String inData = convertStreamToString(in.getInputPayload().getInputStream());
              // dynamic configuration
              DynamicConfiguration conf = in.getDynamicConfiguration();
              String fileName          = conf.get(KEY_FILENAME);
              getTrace().addWarning("AttaHandler: FileName = " + fileName);
              String text = new String("This is an example for an attachment!");
              Attachment atta = out.getOutputAttachments().create("ExampleAttachment", "text/plain", text.getBytes());
              out.getOutputAttachments().setAttachment(atta);
              String outData = inData;
              try {
                   out.getOutputPayload().getOutputStream().write(outData.getBytes("UTF-8"));
              catch(Exception exception1) { }
         // convert Stream to String
         public String convertStreamToString(InputStream in){
              StringBuffer sb = new StringBuffer();
              try {
                   InputStreamReader isr = new InputStreamReader(in);
                   Reader reader = new BufferedReader(isr);
                   int ch;
                   while((ch = in.read()) > -1) {
                        sb.append((char)ch);}
                        reader.close();
              } catch(Exception exception) { }
              return sb.toString();
    Thanks for your help,
    Thorsten

    Hi,
    we created an OSS ticket for this problem and SAP created a SAP note.
    Here the number of the note: 0001501345
    I hope this will help you.
    Thorsten

  • Additional message mapping in the operation mapping-use

    Hi Friends,
       I could find the option for adding more than one message mappings in the operation mapping(Interface mapping). What is the actual purpose of it. when it is used. If there is any blogs regarding the same. refer any link for the same.
    Regards
    Prem

    Hi Prem
    Refer the blog provided by Sarvesh
    What is the actual purpose of it. when it is used. If there is any blogs regarding the same
    You can use more than one mapping programs for requirement where your message mapping cannot generate the desired structure you want or you want to do some transformations in a sequence for meeting your requirement.
    Example: You want to generate a excel sheet as a mail attachment but you have to read a flat file. What you can do here is you can read the Flat file in a single string variable itself. Use XSLT mapping1. Now in a sequence using XSLT Map2/Java mapping program to convert to excel and send as attachment over email
    Thanks
    Gaurav

  • BPM Error in Transformation Step: Interface Mapping not found

    Hi,
    Can you help me on this? I have a tranformation step in my BPM that combines a request and response message of a previous Send step to create a Source message for the next Send step. However, on my transformation step, I got the mapping error in workflow log: Interface mapping http://gl.euhreka.com/learning/skillsoft/catalogSy.YGLXI_OM_MergeRequestAndHandleResponseAB_To_PollFo (SWCV=DF8549309ECE11DFB58DF3570A341E0F) not found
    Do you have any idea about this error? My mapping program is working fine. I also checked if the container elements assigned to the transformation steps are correct. 
    Can you suggest of other way on how can I achieve on merging 2 messages (request and response) and set it to the Request for another send step?
    Thanks,
    Jenny

    Hello,
    I already solved the problem. The namespace and Operation mapping name is too long that's why it cannot be located at runtime.
    After the rename, another error appeared.
    "Incorrect XML format after mapping: Root-Tag expected instead of Messages"
    There are no useful information on the trace:
      <?xml version="1.0" encoding="utf-8" ?>
    - <MappingTrace>
      <Trace level="1" type="T">Mapping http://test YGLXI_OM_Merge , Software Component Version DF8549309ECE11DFB58DF3570A341E0F</Trace>
      <Trace level="1" type="T">Mapping Step 1 , Type XSLT , Program PollForReport_Merge</Trace>
      <Trace level="2" type="T">Call XSLT processor with stylsheet PollForReport_Merge.xsl.</Trace>
      <Trace level="2" type="T">Returned form XSLT processor.</Trace>
      </MappingTrace>
    Here is myXSLT program:
    <?xml version='1.0' encoding='utf-8' ?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  >
         <xsl:template match="/">
              <YGLXI_MT_PollForReportRequest>
                   <customerID>
                        <xsl:value-of select="//customerID"/>
                   </customerID>
                   <customerPassword>
                        <xsl:value-of select="//customerPassword"/>
                   </customerPassword>
                   <reportIDHandle>
                        <xsl:value-of select="//reportHandle"/>
                   </reportIDHandle>
              </YGLXI_MT_PollForReportRequest>
         </xsl:template>
    Here is my source message:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <ns1:YGLXI_MT_InitiateFullCourseListingRequest xmlns:ns1="http://gl.euhreka.com/learning/skillsoft/catalogSynchronization">
             <customerID>ZZZ</customerID>
             <customerPassword>XXX</customerPassword>
             <reportFormat>VVV</reportFormat>
             <mode>VCC</mode>
             <userName>CC</userName>
          </ns1:YGLXI_MT_InitiateFullCourseListingRequest>
       </ns0:Message1>
       <ns0:Message2>
          <ns1:YGLXI_MT_InitiateFullCourseListingResponse xmlns:ns1="http://gl.euhreka.com/learning/skillsoft/catalogSynchronization">
             <reportHandle>SADA</reportHandle>
          </ns1:YGLXI_MT_InitiateFullCourseListingResponse>
       </ns0:Message2>
    </ns0:Messages>
    I tested my program in Operation mapping and it is working. How come it is not in BPM?
    Thanks,
    Jenny

  • PO7.31 and BPM: Using Operation Mapping within BPM

    Hello everyone!
    I am facing an issue while trying the import/execute an Operation Mapping within a BPM. Have a PO 7.31SP07 installation (NWDS also on 7.31 SP07), and the process already have some working interface calls to PI, however still having issue while trying to execute the Operation Mapping:
    1. After deploying the process, going to NWA -> SOA tab -> Application and Scenario Communication -> Application Communication -> select the process -> check the "localhost"/WS group for "Local System". The  "Processing State" shows the error below:
    Configuration for service group [localhost] failed. Error details:
    [No endpoints found. Check if the service is configured and if its
    endpoints are available in the . Service:
    [{http://fusionconsultoria.com.br/sales_order_create}fusionconsultoria_salesord_om_SalesOrderSplit_ServicePortType]
    Assigned Provider: [Local System]
    Service Group: [localhost]
    Service Group application: [fusionconsultoria/salesord]
    Service Reference application: [fusionconsultoria/salesord]
    2. During runtime, when trying to execute the OM automated step, on log viewer:
    Error during SCA Processing
    [EXCEPTION]
    com.sap.engine.interfaces.sca.config.exception.ESBConfigurationException:
    Could not process message for operation om_SalesOrderSplit_Service in
    web service plugin module.
    at com.sap.engine.services.sca.plugins.ws.WebServiceImplementationInstance.accept(WebServiceImplementationInstance.java:223)
    at com.sap.engine.services.sca.das.SCADASImpl.invokeReference(SCADASImpl.java:314)
    Caused by: com.sap.esi.esp.lib.mm.config.exceptions.ObjectNotExistsException:
    Configuration not found for application:
    fusionconsultoria/salesord,serviceRefId:{http://www.sap.com}salesord_fusionconsultoria~salesord~BPMcomponent_29768b4e-f59a-4ba3-a2ff-dee594b01ecf_WS.
    Please check the configuration details from the NWA. You may have not
    assigned the Service Group to a Provider System, or the generation of
    the configuration has failed.
    3. Carried out the steps from the referenced links below. They are quite similar to each other, however still facing the issue:
    Reuse PI Operation Mapping as a service in SAP NetWeaver BPM
    Using Operation Mappings (PI) in a BPM Process - Process Orchestration - SAP Library
    Using NetWeaver PI’s Mapping in NetWeaver BPM
    - Marked as "local provider" and WS;
    4. Tried deleting, creating the automated step aswell reimporting the Operation Mapping.
    5. Already reviewed the input/output mapping of the automated activity;
    6. On ESR, the mapping works correctly.
    7. Tried changing the outbound and inbound Service interfaces for the OM from stateless to stateless XI3.0, as well from synchronous to asynchronous.
    At this moment I've completely ran out of ideas. Appreciate if anyone could give any insights, since I am running out of time with this project!
    Thanks in advance to all and
    Best regards,
    Lucas Santos

    Hi Lucus
    I'm facing the same type of problem.
    Why would re-creating the BPM fix this issue ?.    I fear I would spend all this effort for nothing.
    What does your operation mapping wsdl:service > soap:address look like ?   What does your NWA BPM application Communication Configuration look like now - before you had that red light - like I have now.  
    The WSDL that is generated from the imported Operation Mapping : what end point is expected here. My wsdl:service > soap:address location has a port of 50500 - which does not even exist!. How can it work  Does this get automatically deployed onto the Service Registry?.
    I have built and deployed this but I get a run time error when it executes the operation mapping.   A technical error during invocation: Could not invoke service reference name.
    I have seen in the deployed BPM's Application Configuration against the Consumed Service Groups an error against the associated service group
    Configuration for service
    group [SG_localhost] failed. Error details: [No endpoints found. Check if the  service is configured and if its endpoints are available in the . Service
    It almost seems that it wants me to publish the end point on the service registry -  no idea how....but I none of the blogs and post indicate that I need to fiddle with this at all.
    I have this question in SDN too if you care to take a look.

  • Slow read and write operations on DAQmx

    I am trying to build up a feedback control system using PCI-6052E and PCI-6722 cards, so that the computation of the control algorithm is performed on computer's CPU. I am trying to reach sampling period of 1kHz. It turns out that the bottleneck of my system are the read and write operations from and to cards that consume lot of processor time.
    An example code (C#) that shows how the reads and writes are implemented is as attachment. On my tests the example code produces a read-time of 1000 samples on 6 channels 7.58s and a write-time of 4.69s. Is there any way to improve the performance?
    The program is running on Windows XP on 1000Mhz processor.
    Attachments:
    DAQmxPerformanceTest.cs ‏3 KB

    Petteri,
    I don't have the hardware to reproduce this, but I have a few ideas. For analog output, are you creating a task, starting it, and calling write repeatedly, or are you simply calling write? While an AO Task will auto start on write, it will also go through the process of stopping when the write is complete. Which means next time you call write, the task will need to start again. It will be much more effecient if you explicitly call start on the task once, perform as many writes as required, and stop/clear the task when you are done. This same principle applies to you analog input reads as well.
    I hope this helps,
    Dan

  • Read attachment content in Mapping

    Hi,
    In PI 7.1 there is one option to read attachment content inside mapping using the api: "com.sap.aii.mapping.api".
    To do that in operation mapping we have to check the option "ReadAttachments", to get the attachments in addition to the payload. If I check the Readattachments check box, message goes into the queue and the queue status is running.
    Please help me to read the attachment content in mapping.
    Thanks & Regards,
    Yuga

    Hi,
    That issue has been solved,the problem is with the syntax.
    Now I was able to get the attachment details,but i was not able to read the content of the attachment.
    Here is my code:
    String Content = "";
    String AttachmentID ="";
    GlobalContainer globalContainer = container.getGlobalContainer();
    InputAttachments inputAttachments = globalContainer.getInputAttachments();
    if(inputAttachments.areAttachmentsAvailable())
         Collection<String> CollectionIDs = inputAttachments.getAllContentIds(true);
         Object[] arrayObj = CollectionIDs.toArray();
         int attachmentCount = arrayObj.length;
         for(int i =0;i<attachmentCount;i++)
                AttachmentID =(String) arrayObj<i>;
                  Attachment attachments =inputAttachments.getAttachment(AttachmentID);
              Content = Content + attachments.getContent().toString();
    return Content;
    My requirement is to read all the attachment's.Attachment has XML content, so after reading I need to parse the xml content inside graphical mapping itself is there is any option to do like this.
    Thanks & Regards,
    Yuga

  • Confued about operation mapping

    In XI7.10, each service interface can have multiple operations, for example: the service interface PurchaseOrderProcessingOrderingOut in namespace http://sap.com/xi/AP/Purchasing/Global and Software Component Version SAP AP 7.10 has three operations:
    RequestPurchaseOrderCancellation, RequestPurchaseOrderChange and RequestPurchaseOrderCreation. Each opeartion has different message types.
    Now I have three operation mappings for each operation, let's name them A, B and C.
    I have an interface determination. The sender business system is xxx_bs, the sender interface is PurchaseOrderProcessingOrderingOut, the receiver business system is yyyy_bs. In this interface determination, I choose operation mapping A for the operation RequestPurchaseOrderCancellation, operation mapping B for the operation RequestPurchaseOrderChange, and operation mapping C for the operation RequestPurchaseOrderCreation.
    Now the problem is: in the XI-SOAP envelope, there is only information about sender service: xxx_bs, sender interface: PurchaseOrderProcessingOrderingOut and its namespace. How can XI know the operation is RequestPurchaseOrderCancellation, or RequestPurchaseOrderChange or RequestPurchaseOrderCreation, and then determines which opeartion mapping to use in the Interface Determination step.
    Best Regards,
    Annie

    Annie,
    If you check the xi pipeline step, it clearly tell u the picture that first it identifies the receiver,then the interface determination.
    As you have specified conditional interface determination, it would take care of the situation.,
    If no conditional interface determination is specified, there is only one way where u would go for BPM which you would specify BPM as one of the system.  Now the three interface names would be specified as per the operations and would be carried out automatically , some steps like receive or transform.

Maybe you are looking for