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

Similar Messages

  • Expression must return the interface type in Transformation Step in BPM

    hi,
    We are getting below while activating the IP,
    Expression must return the interface type SI_Send_AA
    Expression must return the interface type SI_Get_AA
    No semantic errors found
    We have a Transformation Step in BPM,
    In OM, Source is SI_Send_AA and Target is SI_Get_AA
    Also Container variable points to  the same Abstract SI's.
    Few Thread's for Same are error are:
    Error in  BPM
    expression must return the interface type
    Transformation step in ccBPM scenario
    Error while compiling Business Process
    Even after checking these i am getting this Exception.
    Please Help!
    Thanks,
    Mayank

    Also Container variable points to the same Abstract SI's
    Are you sure that you are using Abstract Message Interfaces only and that these are referring to relevant container variables.
    Normally it happens that there is some mis-match between the message types/ interfaces that we use in the mapping and that we use in the BPM.
    If still not solved, then delete the Transformation step --> save --> activate......then again Edit the BPM to include the Transformation Step.
    Regards,
    Abhishek.

  • Error in Transformation step of BPM

    Hi all,
    In BPM, I have defined a transformation step. For this, I have specified the Interface mapping which is between 2 abstract asynchronous interfaces. The Message Mapping for this Interface mapping involves multi-mapping (1:n) of the messages used.
    Also, for naming convenience, I have kept the names of the abstract async interface and its message type same.
    I have created containers for the message types of the both interfaces. The container for target message is of type 'multi-line'.
    When I checked the integration process, errors (red boxes) appear for both - the source and target messages in the transformation step properties window. The error text says <b>"Expression must return the interface type < Name of abstract message interface >"</b>
    What could be the cause of this error ?
    Any help would be appreciated.
    Thanks in advance.
    -Shankar

    Hi Shankar,
    Are you splitting the messages i.e 1 message into N messages ? If so, do  you have multiple message types in the Message Mapping in the target side ?
    Anyway, just recheck the Abstract Interfaces are activated. And reassign the container variables with Source message Absract Interfaces and Target message Abstract Interfaces.
    The error tells that, there is somewhere occurence problem.. So that is mismatch with the Message Interfaces..because you have selected the Multiline in the COntainers right ? Check without that..if it is ok, to narrow down the debugging..
    Regards,
    moorthy
    Regards,
    Moorthy

  • Exception is not showing in transformation step in BPM after activating

    Hi ,
    I want to cancel the process if any mapping error occur in transformation step for that I designed by below steps.
    1.Block step ( mentioned exeption)
    2. transformation step ( Inside block mentioned block step exception)
    3. exception branc inside block
    4. contorl step (Cancel process inside exception branch)
    after activating the BPM , in transformation step exception is not showing .
    How to resolve this issue how
    Please help me
    Regards

    2. transformation step ( Inside block mentioned block step exception)
    Did you define the Exception Handler properly and also used the same in the Exception Branch? If you do a check in IR for your BPM (F7) do you get any error/ warning messages?
    Regards,
    Abhishek.

  • Sync Send step after transformation step in BPM

    Hi Gurus,
    I have an interface where I am loading the data into an Oracle database and getting the response back (insertcount) from the database. Based on the response, I have to execute a stored procedure in another sync send step.
    I am doing perfectly alright until the transformation step. The sync send step after this step has the following entries.
    Sync interface: MI_LG_SP_INPUT_ABS
    Request Message: sp_lg_rec
    Response Message: sp_lg_snd
    While doing 'check(F7)', I am getting the following error.
    <b>Interface MI_LG_SP_INPUT_ABS for element sp_lg_poc_step2 is not abstract/asynchronous</b>
    The request message for this sync send step is the target message of the transformation step.
    This error is bugging me since 2 days. Please help me with this.
    Thanks
    Kalyan

    Sravya,
    I know what I did now. For my send sync interface which is MI_LG_SP_INPUT_ABS, I have unnecessarily created a container element and which caused this problem. From your post, I rechecked it and found that I don't need a container element for my abs/sync interface as I already have container elements for request and response which are abs/asynch.
    I gave you full points, thinking that you will come for my rescue in the future (just kidding!!!).
    Thanks again,
    Kalyan

  • Multiple Source Messages Scenario - Need help

    Hi,
    This is my scenario.
    System A sends Message A
    System B sends message B
    both of them are diffrent strcutures.
    Now I need to map both of the messages to Message C and send it to system C.
    I would need help on how to achive this requirement.
    I tried using correlation in BPM but i dont know if I'm following the right approach to activate correlation.
    Any help in this regard would be appreciated.
    Cheers!!
    Sidharth

    Hi,
    I've gone through the thread but did not find much information.
    The blog talks about collecting messages for same interface which I'm afraid is not wht I'm looking for.
    Just to summarize wht I've done....
    Start --> Receive 1 (Message A) --> Receive 2 (Message B) --> Transformation --> Send 1 (Message C) --> Stop
    I've defined correlation accordingly... to pick up the PO num field.
    Now when message A is submitted the outbound status on sxmb_moni is set to waiting....
    But the moment I submit message B, The outbound status is set to a Green Flag and there is a  SYSFAIL entry in the queue.
    The error is " Permanent Error in BPE Inbound Processing"
    But I see the message A is has still got the outbound status wating..
    I guess I'm missing something in correlation..
    cheers!!
    Sidharth

  • How to read fields from response message in send step in BPM

    Hi ,
    I have one  BPM scenario where I am using synchronous send step to insert data into database and to get response back from database as success or failure .My scenario involves inserting data into multiple tables and in multiple rows . If all the inserts are successful then I want to write success message  else I want the messaage as error . So can we read all the  SQL response and store it in container varibale and the have soem decision logic ?

    Hi,
    for everyinsertion, you will get a response
    <INSERT_COUNT> </INSERT_COUNT>
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    if the value ==1 , then insertions is sucessful, if value ==0, then insertion not succsful.
    So, in your mapping, just check if any of the values is 0 and if yes, then decide if you have to write a sucess message or a failure message.
    Regards,
    Bhavesh
    Regards,
    bhavesh

  • Access Multiple Source Variables in Transform  Activity

    We have a transform activity that fills a complex type from another complex type that is received from a webservice invoke activity.
    One of the nodes in that destination complex type does not exist in the source complex type. The actual value of that destination node exists as a value in the current bpel process wsdl file, but I can't figure out how to set that value in the transform activity.
    I've been trying to use the xpath document method to parse an external xml file to grab the node that contains the value. Here is my xsl transformation file. Notice the line that contains the document method call. Does this not work in the BPEL transformations? The error I always receive is.
    Invalid XPath expression
    Is there another way to access a second source file within a transformation xslt file?
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
      <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
      <mapSources>
        <source type="WSDL">
          <schema location="StorePrice.wsdl"/>
          <rootElement name="GetPricingResponse" namespace="http://services.darr.fastenal.com/GetPrice/StorePriceOutput.xsd"/>
        </source>
      </mapSources>
      <mapTargets>
        <target type="WSDL">
          <schema location="TestMobilieQuote.wsdl"/>
          <rootElement name="TestMobilieQuoteProcessResponse" namespace="http://xmlns.oracle.com/TestMobilieQuote"/>
        </target>
      </mapTargets>
      <!-- GENERATED BY ORACLE XSL MAPPER 10.1.2.0.0(build 050923.1500) AT [THU FEB 02 14:10:26 CST 2006]. -->
    ?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:tns="http://services.darr.fastenal.com/GetPrice/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
    xmlns:ns0="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:s1="http://services.darr.fastenal.com/GetPrice/StorePriceOutput.xsd"
    xmlns:s0="http://services.darr.fastenal.com/GetPrice/StorePriceInput.xsd"
    xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:client="http://xmlns.oracle.com/TestMobilieQuote"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    exclude-result-prefixes=
    "xsl tns mime wsdl soap12 http ns0 soap soapenc s1 s0 tm plnk client bpws ldap xp20 ora orcl">
      <xsl:template match="/">
        <client:TestMobilieQuoteProcessResponse>
          <client:result>
            <client:AccountNumber>
              <xsl:value-of select="document('TestMobilieQuote',/)/TestMobilieQuoteProcessRequest/CustomerNumber"/>
            </client:AccountNumber>
            <xsl:for-each select="/s1:GetPricingResponse/s1:GetPricingResult/s1:PricingInformation">
              <client:PartList>
                <client:PartNumber>
                  <xsl:value-of select="s1:PartNumber"/>
                </client:PartNumber>
                <client:SellPrice>
                  <xsl:value-of select="s1:SellPrice"/>
                </client:SellPrice>
                <client:IsValid>
                  <xsl:value-of select="not(xp20:matches(s1:SellPrice,"^0$"))"/>
                </client:IsValid>
              </client:PartList>
            </xsl:for-each>
          </client:result>
        </client:TestMobilieQuoteProcessResponse>
      </xsl:template>
    </xsl:stylesheet>

    I noticed in my post that I had a copy error for the line in the xsl transformation that I have a question about. Here is the proper line
    <xsl:value-of select="document('TestMobilieQuote.wsdl',/)/TestMobilieQuoteProcessRequest/CustomerNumber"/>

  • Accessing Transformation Step Input in a BPM from SXMB_MONI

    Hi,
    <u><b>Environment : PI - SPS 09</b></u>
    I am trying to access the Inbound Payload of my Transformation step of BPM. I am able to navigate to the "MESSAGESIN" container , but, when I try to access the same, I get the message "Nested Table can be accessed from the Context Menu".
    I have perviously been able to access the payload from MONI as shown in Michal's blog <a href="/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios">How to test your mapping (in real life scenarios)</a> , but the navigation window and display seem to have changed from PI SP 9. Any idea as to what I am missing here and how I can view the payload?
    Regards
    Bhavesh

    Issue resolved.
    Double Click on the step type,Right Click on the "Message"  Button in the Display Work Item Window --> Container --> and then you can access the payload as shown in Michal's blog.
    Regards
    Bhavesh

  • Transformation Step to Implement 1:n Splitting

    Hi,
    How should i design a message mapping for use in the Transformation step of BPM to split a message into multiple messages? The occurances of my source msg root node is 0-1. The occurances of its immediate child node (say, <b>BASE</b>) is 0-unbounded. The target msg has occurances 0-unbounded. I need to instantiate a target message as many times as the number of occurances of the node BASE in the source msg.
    I found a lot of help on n:1 (bundling) transformation on the net, but very little on 1:n (splitting) transformation.
    Please HELP. Let me know if you need any more input on the requirement.
    Thanks in advance for your time,
    Smitha

    Hi John,
    look to the flag "Messages" in your message mapping. Source should be occurance '1', target '0..unbounded'.
    In your design there are now two new (root) elements: Messages and Message1. Ignore them.
    Draw the repeated element (source) to your unbounded (3rd) element (target).
    Regards,
    Udo

  • Error in transformation step

    Hi all,
    In my requirement i have a BPM with the following steps
    start->Rx->Send<>Tranform>Send->end
    first send step is synchronous and it is sending req to a website and receiving response through http receiver channel.
    second send step is asynchronous , sending response received from website to a file server through file receiver channel.
    i have a transformation step ,where i am doing transformation between the structure in receive step and the structure in second send step,
    can i do that?
    can we do transformation between any async abstract structures that we define for BPM?
    BPM is showing error in transformation step, i dont know whats the error is and how to see the error and rectify the problem
    plz help
    regards
    jhansi

    <b>-Check the Transformation Step in BPM, weather it has correct source and target abstract interfaces or not.
    - Check the Message Mapping and interface Mapping manually from the Test Tab in IR.
    -Check the status of the Error of BPM in SXI_CACHEIntegration ProcessyourBPM. Code should be 0..if something else it is showming means it has an Error.
    -Check the Test data you are using to test your interface.
    - Check Webservice sending the correct response or it is failing at the time of response..may be because of WS is not running properly or server is down.</b>
    Thanks
    Farooq.

  • IDOC in transformation step with multi mapping

    Hello,
    I have found this posting
    Splitting a message into multiple Idocs
    and now I am a little bit afraid that our planned process using BPM is not working:
    a) XI receives an IDOC
    b) XI continues with calling an external system sync.
    c) Sync message response and IDOC are used to be merged into one new message M using transformation step (2 messages into 1 new)
    d) send message M to receiver
    Now I have read (see link) that IDOCs cannot be used in such multimapping steps. Is this true?
    Can anybody give some information?
    Best regards
    Dirk

    Hi Michal,
    this answer gives hope!
    So I think there is a misunderstanding in using the "multimapping" term?
    Multimapping in a simple Interfacemapping for 1 sender to n receiver is different from the "multimapping" issue in a transformation step in BPM?
    The central assumption in the mentioned blog was:
    IDOC cannot be used in multimapping because IDOC adapter runs on ABAP engine.
    In BPM transform step we are on Java side and using XML payload! So this will set us apart from the IDOC adapter ABAP engine issue?
    That would be nice!
    Regards
    Dirk

  • Making correct use of Mappings: Transformation Step in BPE

    Hi everybody,
    in SAP Docu, I found the recommendation to use Transformation Step only for those kind of mappings that cannot be done in the Integration Engine (e.g. n:1 mappings)
    http://help.sap.com/saphelp_nw04/helpdata/en/d5/be364296f1b26be10000000a155106/frameset.htm
    Can anybody give me the rationale behind this recommendation?
    regards,
    Peter

    Peter,
    That's because u have to use BPM for n:1 or 1:n type of mappings.It can't be done through normal map programs.Hence for the better design if u have normal map then u can perform mappings either before where BPM receive step will receive transformed message or after BPM where maps source message would be fetched from BPM.
    Technically BPM transform step is the part of the workflow and it communicates with Java stack for mappings.Thus I guess eliminating Transformation step in normal map would reduce this communication time and thus improves the performance of the interface.
    Regards
    Rajeev

  • Transformation step trace

    Hi all.
       I have a problem with checking if my mapping(transformation step in BPM) works OK.
       When I'm in WF log for my BPM, I'm able to see details of incoming message but I can't see outcoming one;
       for outcoming message - when I'm in message monitor(by forward navigation from WF log) after clicking on the entry I get the message: "Selected message does not exist(any more)".
      Transformation step is the second one in the line, just afrer receiver step:
      1. Receiver step (start of the process)
      2. Transformation step
      ....rest of steps in process.... 
       I did even a small test - have created very simple mapping (1:1) and put it as another Transformation step - result of the test was exactly the same like with original/intended mapping.
      SXMB_ADM has logging switched on and even trace level set to highest value.
      In BPM all steps have the option "Create new transaction" switched on.
    Anyone has any idea what can be wrong?
    Regards,
        G.

    The whole process ends with success.
    I'm able to see all steps including steps containers in WF log. Problem is when I try to go deeper and see an outcome from the mapping - then I'm moved to the message monitor and there I receive error message like described in my first post here. 
    Regs,
      G.

  • 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.

Maybe you are looking for

  • How to List iCal Events

    Is there a way to view a list of all events in iCal? I can list events on my iPhone 4S using IOS6, but don't know how to do this on my iMac running Lion. Thank you. Bob.

  • Crystal Reports 2008 connecting to Crystal Server 2011

    Hello SAP Experts, I am new with the Crystal Client/Server platform and the only knowledge I have with the infrastructure is from the Crystal Server 2011 documentation I have pulled from SAP's website.  I have looked at a lot of online resources but

  • YAB (yet another bug) hiding subform made impossible, here's how to

    Hi, Create a new empty form, set its language to Javascript and its preview format to dynamic PDF In the master page insert a subform, let's call it Subform1 In the newly created subform, insert a textfield, let's call it Textfield1 In the main page,

  • Questions for compare some tools

    Hello, I'm comparing some storage tools. I want to know these questions about iCloud: 1. Does iCloud has a finder? (I supose yes) Can it find files searching words of the content file? 2. Can you tag a file whit your own words, and retrieve the file

  • Tethering Cannot Be Activated Unless iTunes is On

    After I installed iOS 4.0 on my iPhone 3G, I cannot activate tethering unless I start iTunes on my Mac. Once tethering is activated, I can turn off iTunes and tethering will continue. Any idea why this behaviour happens? Thanks.