Multiple message mappings in one integration scenario

I am trying to send a message to a marketplace that uses a web service interface. First I have to map the SRM PO to OAGIS XML, then This must be embedded in the message of the web service which requires a further mapping. In the integration scenario in the repository it seems straight forward, however the configuration of the scenario in the directory seems a little strange. This becaue the middle step does not really have an eternal receiver, as it must stay in the integration engine until the final conversion. Is it actually possible to perform several mapping in series or must I use an integration process for the middle mapping?

Andrew,
I am addressing the same problem as follows.
If you need a canonical mapping (such as OAGIS in your example) you need 2 mappings for 3 messages A(source) to B(canonical) to C(target). If you try to use XI (without BPM) as an action between the source and the target need to configure a channel in and out which as far as I can see is not possible.
When setting multi-mapping you seem to only have the folowing options:
Multiple source and multiple targets but this seems to limit you to one mapping program.
Multiple mappings if I have only one source and one target.
I think this is designed to map one or many sources to one or many targets in one mapping program.
Also you can apply a series of mapping programs to a single source and target pair.
If I understand Michal's solution you would define A as the source and C as the target. You then use multi mapping to get to the final result, but I think this is still on a single source and target. A second solution is to include multiple mappings as additional modules in the channel adpator.
To take advantage of the canonical approach I am using a simple integration process with a receive and send step. All this realy does is get round the problem you highlight of having to have channels for the middle action in your integration scenario. This is an overhead but does allow you to add splitting and combining messages if needed in the future without much additional configuration.
I can't see an easy option without BPM. Maybe there is an alternative but I can't find it. Maybe a next release of XI could include an interface mapping configuration that allows a sequnce of mapping betweem multiple pairs of maps:
Seq  Source -
Mapping Program   -
Target
1 -
  Message A  -
  Mapping Program 1 -
    Message B
2 -
   Message B  -
  Mapping Program 2 -
    Message C
I hope this helps.
Regards
Antony

Similar Messages

  • One integration scenario Many target system and Outgoing compressed data

    I have some theoretical questions about XI usage.
    At first, I'm not quite sure about the following thing: for example we have a corporate system and a lot of mobile computers (let's name them "clients") with installed small databases. Number of clients is not constant, but integration scenario is one for all of them. Next, if we add new client we must add new technical system, business system, communication channel, configure scenario, add required receiver and interface determination, and so on and so on. If we remove client we also must do all these steps. In this case, is it possible in XI (anywhere) to automate these procedures of scenario configuration? For example create something like business system template with communication channels or have one business system and a lot of communication channels in one integration scenario (in this way I suppose that message will be delivered to target system on the message content-based routing) and quickly activate/deactivate this channels (in fact receiver determination).
    At second, we know that XI can receive and send compressed data if client initiates communication with XI. Anybody know about reverse functionality, when XI initiates communication with target system and compresses data (on the understanding that target system is able to receive and handle compressed data). If anybody know that is possible - can you navigate me to this information?
    Thank you for help,
    Best regards.

    Hi Maxim,
    You dont need to create techn and bus systems in SLD for your clients as you can use business services. Of course you have to create a comm channel for every client (receiver address is individual!). Receiver determination and interface determination can be configured dynmamicly with wild cards (*). You can find receivers by condition of payload content.
    If you want to change this conditions very quickly (with a customizing table) you can use following trick: Use a ABAP mapping which is reading that table. Unfortunately the message is first routed and then mapped. So you have to send the message over http adapter back to XI, where the changed message is now routed by a condition. Of course a quite complex scenario, the monitoring is even more complex bcoz doubled no of messages (no performance problem - http adapter is never a bottleneck).
    Regards,
    Udo

  • Mavericks Mail: Has anyone experienced multiple messages deleting on one click?

    Earlier today I began to see multiple mail messages deleted in one click.  At first I thought I might have been clicking too fast and was causing the problem, but I have verified that was not the case.  It occured several times on message threads, but also on unique messages not related.
    This is very concerning as I now have to look in the Trash to ensure I did not miss any important messages.  Lots of strange behavior with the Mavericks upgrade - is a fix coming out soon?

    I used to find this happening with older version of OSX after I did my usual 6 month clean, wipe, re-install and resume.
    It's possible that the file which keeps a track of message downloaded from the server is corrupt. Goto ~/Library/Mail where "~" is your home folder and then delete these files
    Envelope Index
    LSMMap2
    DefaultCounts
    Next goto each account ".mbox"
    This is in ~/Library/Mail then a folder which contains your email address example "Mac-steve.jobs"
    inside there should be a folder list something similar to this:
    Junk.imapmbox
    Sent Messages.imapmbox
    INBOX.imapmbox
    Drafts.imapmbox
    Deleted Messages.imapmbox
    Inside each of them is a folder, called "Messages" and also some files, delete the files but not the "Messages" folder.
    When you reopen Mail it will be as if you opened it for the first time. See if the emails come in, if they do then it's more likely to be a setting in Mail or even possibly something that's happening at the remote email server.
    In Mail Right or Control Click in the left hand panel and select "Get Info" a box will come up with a drop down selection at the top showing active email accounts, select the one you are having problems with, either a list of folders will come up or a big long list of email messages, depending on how many you have will depend on how long it takes for the list to update. Once it has, select all the emails and Select "Remove From Server" this will delete them all from the server so at least when you re-open Mail they don't all come in again.
    Hope something in here helps
    Mark

  • Sharing values accross multiple message mappings

    Hello all,
       I have a question about the posibility to share a value among severals messages mappings and use it in an operation mapping.
       How can I do it?
       An example:
           I have three message mappings( graphical and Java mappings ) where in the first message I have a value that I have to use in last mapping. In the operation mapping those mappings are executed in sequencial mode.
    Best regards and thanks in advanced
    Ivá

    Hi guys,
      Thank you for your responses.
       The solution for this issue was to create an attribute in a function library and the trick is:
          this solution doesn't work in design time when you test in the Operation Mapping test option but in runtime the solution works.
    Best regards
    Ivá

  • Two Message Mappings in one Interface Mapping without using BPM

    Hello Experts,
    I have this scenario, please help me
    I have to execute two mappings of which one is a java mapping and then the other is a message mapping sequentially.
    The mapping is something like below
    Message1  -> (java Mapping) -> Message2
    Message2
    Message1 -> (Message Mapping) -> Message3
    Based on the value in Message2 I have to map Message1 to Message3
    I am not an expert in java so please give me options that doesn't involve changing of java code.
    The above 2 mappings have to be implemented in only one interface mapping.
    Suggestions please.

    Hi Ravi!
    You say message2 dependes on message1 and message3 is mapped from message1 but using also values from message2? But this means, that whole mapping dependes only on message1!
    So change your mapping and use the one not based on message2, but message1. Put these as a condition in interface determination and based on these values use the correct mapping.
    Peter
    p.s. I'm not sure, if I got your requirement correctly, but your target message dependes only on message1 (since message2 dependes on it too), so this whole mapping can be done as 1. Unfortunately, you'll probably have to change your java part. Bur definetely, Raj is right.
    Edited by: Peter Jarunek on Feb 20, 2008 5:36 PM

  • Interface Mapping with Multiple Message Mappings

    Hi My Scenario is
    File to Idoc.( Multiple records to Multiple idocs )
    Due to Complexity of Mapping I split the Mapping step into 2.
    My Source System does not provide Namspace when they are sending XML Data.
    When I try 2 mappings individually both Mappings works fine.
    However when I try test using Interface Mapping target messages are not generated.
    Since 2nd Mapping invoves Mapping Split its expecting extra tags as shown here in the Targert Message generated from Message Mapping 1.
    <i><ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1></i>
    How can I solve this problem ?

    When I do Message Mapping:
    From message Mapping 1 target Produced is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:CostMaintenanceXI xmlns:ns0="http://test.xxx.com">
    <CostMaintenanceXI>
    <CostMaintenanceXI>
    <Product>000000000000000023</Product>
    <Plant>1401</Plant>
    <Supplier>0000000001</Supplier>
    <ValidityFrom>20021212</ValidityFrom>
    <DIIndicator>ZFOB</DIIndicator>
    <COGAmount></COGAmount>
    <COGCurrency></COGCurrency>
    <FreightAmount></FreightAmount>
    <FreightCurrency></FreightCurrency>
    <MISCAmount></MISCAmount>
    <MISCCurrency></MISCCurrency>
    <SPAAmount></SPAAmount>
    <SPACurrency></SPACurrency>
    <LandedCaseCost></LandedCaseCost>
    <LandedCaseCurrency></LandedCaseCurrency>
    <FrontLinePrice></FrontLinePrice>
    <FrontLinePriceCurrency></FrontLinePriceCurrency>
    </CostMaintenanceXI>
    </CostMaintenanceXI>
    </ns0:CostMaintenanceXI>
    in 2nd Mapping I entered some details in the test tab and the generated source is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <ns1:CostMaintenanceXI xmlns:ns1="http://test.xxx.com">
             <CostMaintenanceXI>
                <CostMaintenanceXI>
                   <Product>1</Product>
                   <Plant>1</Plant>
                   <Supplier>2</Supplier>
                   <ValidityFrom>12212122</ValidityFrom>
                   <FOBIndicator/>
                   <DIIndicator>ZFOD</DIIndicator>
                   <COGAmount>10</COGAmount>
                   <COGCurrency/>
                   <FreightAmount>10</FreightAmount>
                   <FreightCurrency/>
                   <MISCAmount>10</MISCAmount>
                   <MISCCurrency/>
                   <SPAAmount>10</SPAAmount>
                   <SPACurrency/>
                   <LandedCaseCost/>
                   <LandedCaseCurrency/>
                   <FrontLinePrice/>
                   <FrontLinePriceCurrency/>
                </CostMaintenanceXI>
             </CostMaintenanceXI>
          </ns1:CostMaintenanceXI>
       </ns0:Message1>
    </ns0:Messages>
    As you can see both of the above structures differs in xmlns. I dont see anything else weird.

  • Multiple messages enqueuing into one table using Database Adapter

    Hi All,
    I am trying to fetch records from one table and insert into another table in the same database using two DB adapters each for one function.When trying for one record,it is working fine.But for more than one records using for-each loop I am unable to insert the records into the table.Can anyone suggest any solution.
    For DB Adapter 1 and 2 I am selecting "Perform an operation on a Table".
    Options being selected in case of both adapters:-
    DB Adapter1-'select' and DB Adapter2- 'Insert'
    Regards,
    Niva Das

    Do not know the exact implementation how you have done but this is what you can do to narrow down the issue.
    you can check out the instance to know whether you are able to fetch multiple records from the first table.
    If that works fine then you can check the transformation whether  the data is getting transformed in to correct format.
    If that too works fine check out whether the invocation to second db adapter is fine or not.

  • Progress bar shows multiple messages when sending one.

    When I send a single email in Mail, the progress bar will often show "Sending 2 of 2 messages". Is it bundling and holding messages or sending multiples? I'm not sending to multiple addresses, unless my own and the recipient counts as two. Any explanation?

    are you using an IMAP account? if so it's probably just mail syncing your sent mailbox with the server.

  • Multiple component view in integration scenario

    Hi
      I have <b>multiple component views</b> defined in my integration scenario.
      When i try to configure these component view in Integration directory in integration scenarion configurator, if I select the component view i want to apply then the systems give a message " All configuration settings made in the current component view will be lost".
      This means that if i have configured the first component view and then try to configure the second component view then setting of first view get lost.
      i want to have all the configure all the component views in the integration scenario.
    Please provide some pointers for the issue.
    Thanks in advance
    Regards,
    Amit Deshpande

    Amit,
    When you have multiple component views in the Integration scenario, you would ideally want to create separate configuration scenarios for each component view.
    So for eg. if you have four component views, 4 different configuration scenarios can be created using the integration scenario configurator. The only thing is that you would have to repeat the integration scenario configurator steps[Tools->Transfer Integration Scenario from Integration Repository] 4 times, once for each component view. If you notice, you can change the name of the configuration scenario each time you start afresh.
    The message is a warning that if you go back during the integration scenario configuration process[the first step is the selection of the component view for which you want the configuration scenario] and change the component view then all the changes made thus far would be lost.
    For e.g if you are in step 3[Assign Services, I think] and then go back and change the component view, all the changes made for the original component view selected would be lost.
    Hope this helps.
    -Anand

  • Service user XIISUSER  locked when resending multiple messages

    Hi All,
    Scenario: Idoc  to 2 file  receiver  (1 defined as a Business Service). We notice that occasionally when we send multiple idocs from R/3 or when we restart multiple messages from the same scenario, we will get a HTTP 401 error and will find our service user XIISUSER locked.
    i.Has anyone come across anything like this before?
    ii. In receiver determination, the "Terminate message processing with  Error(Restart Possible) radio button is chosen. Out of interest, what kind of error does this give if either 1 or the receivers cannot be found during runtime?

    Basically the error will be HTTP 401 Unauthorized and we will find XIISUSER locked. This usually happens when we send multiple idocs for the scenario or when we restart multiple messages that belongs to the scenario. By multiple i mean 5-10 messages and not a really big number.
    Once the XIISUSER is unlocked, I can just restart the message and it will be processed successfully. What I would like to know is what is causing the XIISUSER to be locked in the first place. can this be caused by the branching of the messages?

  • What phone can do multi message sms in one go

    really need to know what model can do this , 
    can anyone help 
    thanks

    What, exactly, do you mean when you say "multi message sms" and "in one go"?
    Do you wish to send multiple, different SMS messages to one recipient?
    Do you wish to send multiple, different SMS messages to multiple recipients?
    Do you wish to send a single SMS to multiple recipients?
    Each different SMS has to be sent separately.
    An SMS message that exceeds 140 bytes in length will automatically be split to multiple messages and each one is sent, and then reassembled automatically at the recipient's phone. This is how the SMS mechanism has been designed.
    In most phones you can also add multiple recipients to a single SMS, but this will always result in multiple SMS messages to be sent (at least one for each recipient depending on the message size/length). This is also how the SMS mechanism works.
    If you send an MMS or email to multiple recipients, then you send only one message, and the receiving server (a network operator's MMS-C, or email server) will take care of delivering copies to each recipient.

  • PI 7.1 Operation mapping - Multiple message mapping - one to many issue

    Dear Experts,
    I am facing this issue in PI 7.1 and I beleive i did similar one in PI 7.0 successfully.
    I have an operation mapping with two message mappings.
    The occurence of source message of operation mapping is 1
    The occurence of target message of operation mapping is 0..unbounded
    Corresponding i configured two message mappings
    For message mapping-1
    Source message occurence = 1  and Target message occurence = 1
    For message mapping-2
    Source message occurence = 1  and Target message occurence = 0...unbounded
    When i test message mappings individually they are working good. But when i test it in operation mapping, the operation mapping is not working..as it is not able to convert single occurence output of message mapping -1 to the second message mapping-2.
    Any suggestions?
    Thanks.

    The message that i get when testing in operation mapping:
    Runtime Exception when executing application mapping program com/sap/xi/tf/_MM_MessageMapping_1_; Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException; Cannot create target element /ns0:MT_MessageMapping_1_TargetMessageType/RECORDSET. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD
    My question is, has somebody mapped similar scenario in your environment? If yes, can you please provide details.
    Operation mapping :  1 to 0..unbounded
    Message Mapping1: 1 to 1
    Message Mapping2: 1 to 0...unbounded

  • One IDOC to multiple messages

    Hi Experts,
    I am working on IDOC to File Scenario
    I have to send three messages using one idoc.
    Could any one let me know whether is it possible to send with out using BPM or any suggest any other way.
    Thanks in Advance.
    Regards,
    Vijay

    Hi
    If u want to send the three message at the receiver side then u have to make the occurence for the target is 0..unbounded. and use the 1:n mapping in the message mapping.
    To make the 1:N mapping in the message mapping go to the messages tab and put the occurence for the target message as 0..unbounded. when u do this it will creath the multiple message at the receiver side.
    Remember u also have to make the same changes in the interface mapping also.
    To give differnt names to all the file u can use the Addtime Stamp option in the file adfapter so it will create the file with the name as time stamp.
    If u still face the problem please reply me back.
    Thanks
    Rinku

  • Multiple messages in one file problem (HL7 v. 2.3)

    I'm new to HL7 ver 2.3 and am trying to receive a file that has multiple messages in it. I've been terminating each segment with a line feed (0D) and have been trying to separate each message with a carriage return also (0A). B2B is able to parse the first message into XML but the second message turns out tags like ><Extra-
    MSH.6>20060817183112-0600</Extra-
    MSH.6><Extra-
    MSH.7>Security</Extra-
    MSH.7><Extra-
    MSH.8><Extra-
    MSH.8.1>ORU</Extra-
    MSH.8.1><Extra-
    Am i using the wrong separator for messages?
    Thanks,
    Dan

    Hello Dan,
    As per 10.1.2.0.2 Oracle AS B2B, there is a support for one MSH. Please let me know.
    Rgds,Ramesh

  • Threshold for Messages in integration scenario?

    Hi,
    Can we set threshold (time) for Messages in integration scenario?
    Thanks,
    Nagarjuna.

    Hi Earlence,
    > 1. Is it possible to search for messages sent to PI (7.1) via TREX and monitor their status?
    Status I am not aware, but we can search the messages based on the content.
    Its external search engine for SAP, we can buy this and install in the XI server.
    ex : Suppose we have an order number, we don't no in which scenario it is used then we give
    this number to the TREX then it searches and gives that scenarion name.
    > 2. Search should be possible based on various criteria like Sender/Receiver Component/Interface, Business system name etc.
    TREX is based on a client/server architecture. The client component is integrated into the application that uses the TREX functions, and allows communication with the TREX servers.The server component processes the requests; it indexes and classifies documents and answers search queries.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/78df2a46-0a01-0010-ef81-a6
    be60cc5cfd
    > 3. Is there a Java API so that this can be done programmatically?
    May be available but this is not easy.
    > 4. Some resources for the same?
    /people/prasad.illapani/blog/2005/11/14/payload-based-message-search-in-xi30-using-trex-engine
    http://help.sap.com/saphelp_nw04/helpdata/en/70/0837ced133304eba452c45b6047c74/frameset.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/78df2a46-0a01-0010-ef81-a6be60cc5cfd
    Regards
    Ramesh

Maybe you are looking for

  • Self billing invoice with input tax code

    Hello experts, we are currently trying to implement a billing procedure with credit memos within the module SD. In this set-up the recipient of a service (company using the SAP) creates a credit memo for the renderer of a service (a debitor in SAP) s

  • ORA - 600  error while granting privs

    Whenever I fire the below query it returns me a ORA-600 error. Query select grantee UserName, granted_role Role from dba_role_privs where grantee in (select grantee from dba_role_privs where granted_role = 'DBA') and grantee in (select username from

  • Multiple copy from Acrobat 9 Pro extended to Excel

    How can I select multiple part of text to copy and paste them across cells of Excel?

  • GR IR imbalance

    Hi, I have a PO for which tan invoice was posted before the GR as done. I know that when an invoice exist then the average price of invoice will be taken when the GR price is calculated. I am having a scenario where I have purchase order history as a

  • Column numbers in SQL Developer

    This may seem picky; but I find it frustrating to get error messages of the form error in line 35 column 83 and then not have a convenient way other than counting to find line 35 and column 83. Is there a way to jump to the error point? If not, is th