Mapping (content-based)

Hi,
I do not know how to proceed with a mapping.
I have 1 source message and e.g. 2 target messages.
Within one mapping program (I am using graphical mapping) I want to map a source message to exactly one message of the target messages based on a content of an element within a source message.
e.g.
<SourceMessage>
<name>Peter</name
<surname>Smith</surname>
</SourceMessage>
So if the name element in the source message has a value "Peter", I want to map the source message to the structure of a target message #1. If e.g. the name element has a value "George" then I want map the source message to the structure of target message #2.
It's a kind of content-based mapping, but I do not know how to proceed it.
thank you
Tomas

Hello,
make a target field mapping for both of the possible target fields, use "equalsS" from the Function Category Text to check the content of the qualifier-field (name) and then "ifWithoutElse" from the Function Category Boolean to map the content or not.
Regards
Rainer

Similar Messages

  • Message Mapping : content based target structure generation

    Hi Team,
    As per my requirement , mapping should generate target structure based on one "field" value in source srtucture.i.e target structure should generate for some of the custid values  , not for all cust id's . also I dont want empty files .
    Source:
    MT_SOURCE
    -Custid
    -CustName
    Target:
    MT_TARGET
    -Custid
    -CustName
    But I want to generate Target structure MT_TARGET only for custid values' 001,002,003 ; for remaining values I dont want to generate target structure MT_TARGET . Is it possible using graphical mapping.I think UDF is correct oprtion. can you provide sample code for this requirement.
    Thanks.
    Drumi

    But I want to generate Target structure MT_TARGET only for custid values' 001,002,003 ; for remaining values I dont want to generate target structure MT_TARGET . Is it possible using graphical mapping.I think UDF is correct oprtion. can you provide sample code for this requirement.
    might be it is helpful for ur requirement:
    Custid + constant(001) +equals ->(first) if
    Custid->then                                                 
    Custid + constant(002) +equals-> else
    First if ending -> Second if
    Custid->then
    Custid + constant(003) +equals-> Second else ->target Custid

  • Sender SMTP Adapter / Content Based Routing / Mapping of an attachement

    Hi all,
    I'm still working on my SMTP --> PI --> Proxy scenario (asynchronous). I've tried several different properties of my sender communication channel (type = mail), but I didn't find the correct configuration. Hopefully it exists.
    I'm working with PI 7.0 SP10.
    I get an inbound message via Mail using sender SOAP Adapter. The message payload itself is an attachement. Now I'd like to do the following:
    a) Content Based Routing in Receiver Determination based on the message subject
    b) Mapping of the Attachement XML message to my inbound proxy interface
    Now, trying to do so, I didn't get it work. When I use XIPAYLOAD with keep attachements, I get two attachements in my inbound message (one in XI mail package format having the subject within, one with the IDoc structure I'd like to map). How can I assign the second attachement to be used for my message mapping?
    When I use XIALL instead of XIPAYLOAD, I think the mapping will work but my subject for content based routing will be lost, right? That one I didn't get running because of another failure, so I don't know the exact behaviour of the adapter for that configuration.
    Anybody out there who know the correct configuration for the sender mail adapter for my small scenario above?
    BR
    Holger

    Hi Stefan,
    sorry for misunderstanding, for sure I'm using the mail adapter, not the SOAP Adapter. I'm actually on the same direction. I'm using XIPAYLOAD as message protocoll (having the attachement as the content for the mapping --> correct). Furthermore I've also found the predefined context objects for the content based routing receiver determination.
    What I missed was setting the following properties in the communication channel:
    To store adapter attributes in the message header of the XI message, set the Set Adapter-Specific Message Attributes indicator.
    The following attributes are added to the XI message header if the sender makes them available, and if the Variable Transport Binding indicator is set.
    Now it's working
    BR
    Holger

  • Content Based Correlation in Oracle 11g

    Dear Veterans!!!
    I am working on the following use-case.
    An order processor accepts order(Mode-Buy/Sell, Price, Quantity) on webservice from various customers, and presents them to DecisionService, after adding the order Id to it. The decision service would check if the price*quantity > 1000, if so the response is sent as (Order ID, OrderStatus="Fail") else, sends (Order ID, OrderStatus="Success").
    What I want to do?
    Now I need to create Order Processor using single JMS Adapter with Interaction type "Asynchronous Request/Reply" using content based.
    What I have been able to do?
    I have been able to do content-based Correlation between Decision Service BPEL and Order Processor BPEL, where Order Processor has two JMS Adapters, One Producer which enqueues the order for Decision Service, setting the orderId as correlation. The another JMS Adapter is set as Consumer and recieve activity is registered with it and picks up the response after correlating the message.
    Also I have been able to do the "native correlation" scenario, using Decision Service as mediation module.
    What is the problem?
    1. I need to have the decision service as BPEL, and be able to do the native correlation, which I wonder how to do, because the Jdeveloper 11g has removed support for Adapter Header variables.
    2. I need to use decision service as BPEL and be able to do the content-based correlation, using a single Asyncronous Request/Reply JMS Adapter instead of two (Producer and consumer).
    Any Pointers shall be useful.
    Many Thanks,
    Regards,
    SwapSawe.
    I am aware of how to set the correlation
    http://swapnil-soa.blogspot.com/2008/01/correlation-this-post-would-effort-to.html
    And how to do it in Oracle 11g
    http://biemond.blogspot.com/2009/10/jms-request-reply-interaction-pattern.html
    Edited by: SwapSawe on Nov 30, 2009 11:01 PM

    Dear Friends,
    If I was not able to make my point clear, I would explain it again. I am posting message from one BPEL process to an Asynchronous Request/Reply JMS Adapter.
    A consumer JMS Adapter, would read the message from Q and would initiate another BPEL process, which would perform some business logic to generate a response and post it to reply queue via JMS Producer.
    Now the reply posted, is picked up by the Async Request/Reply, but the receive activity is unable to correlate the message.
    I was able to do this scenario using native correlation, i.e. JMS Message Id mapped to JMS Correlation Id, through mediation module. But I am looking forward to do this using content based correlation.
    Regards,
    SwapSawe

  • Content based Routing?

    Hi Forum,
    I've looked through the messages regarding content based routing or similar's but the answers did not satisfy my needs. I have an XSLT mapping from a flat file structure to an IDOC. To qualify the receiving system I have to do a database lookup in my XSLT mapping by a Java extension function with combining some of the inputfields. The result of this database lookup is the Receiver System. How can I use this result in the condition Editor for the receiver determination. I can only use here the Nodes from the inputmessage. Are there other ways to have access to a "global Container" where I can store the results from the databaselookup to use them here?
    Thanks for you patience
    Manfred Schmidt-Voigt

    Hi,
    If the outbound adapter is a j2ee adapter, you can write a module which performs the lookup in a database or what ever. Then alter the message and add the information looked up.
    The easy way would be to add an extra attribute on the root node and add the content of the lookup in this field.
    I whould though prefere to use add the information to my root node.
    If you are not that keen on adapter development, the send the message into a bpm where you perform a lookup. This could probably be performed useing one of SP13's lookup functions.  The BPM should only consist of a recieve and a send step. When sending the message you should be able to perform the routing.
    /daniel

  • Calling Message mapping Dynamically based on a field value

    Hi gurus,
    I have
    1 source inteface
    1 target interface
    3 Message mapping programs based on the 1 source and 1 Target Interfaces
    I need to decide Dynamically as which message mapping program should be called based on the Input provided by the source system.
    For example:
    If the souce side file sends a field value=1 then message mapping 1 should be called
    If the source side file sends a field value=2 then message mapping 2 should be used...
    Pls provide me help on this ASAP.

    As ur source and target structures are always same, u should have used same mapping with multiple conditions instead of using three different mappings.
    Right now for ur requirement, in ID -> standard Interface Determination, u can use multiple interface mappings based on condition.
    Check heading "Specifying Conditions (for Multiple Inbound Interfaces)" here
    http://help.sap.com/saphelp_nw04s/helpdata/en/42/ea20e737f33ee9e10000000a1553f7/content.htm
    Regards,
    Prateek

  • Content based routing and XML with multiple objects

    I have some structure:
    <contracts>
      <contract>
         <department>1</department>
      </contract>
      <contract>
         <department>1</department>
       </contract>
      <contract>
         <department>2</department>
       </contract>
    </contracts>
    I need to route contract to 2 system based on <department> value:
    contracts/department = 1 --> System1
    contracts/department = 2 --> System2
    Will XI split my XML (based on Content Routing rules in ID) into 2 structures (with departmet=1 and department=2 accordingly) ?
    Or I have to perform 1ToN mapping? I don't like it bacause it will be diffucult to monitor hundred of messages.

    Alternatively if you donot like 1:n mapping and BPM.
    Create two message mappings in the IR
    1.Source :<contracts>
    <contract>
    <department>1</department>
    </contract>
    <contract>
    <department>1</department>
    </contract>
    <contract>
    <department>2</department>
    </contract>
    </contracts>
    Target:
    <contracts>
    <contract>
    <department>1</department>
    </contract>
    <contract>
    <department>1</department>
    </contract>
    Basically mapping generates a target structure which has only department 1.
    2.Same like step1 but the mapping should generate the XML with department = 2.
    Once requires steps are done in the ID , do the content based routing in the reciever determination and give the appropraite message mapping in the interface determination.
    That should your problem and also you will like doing it as it does not involve any split level mapping..:)

  • Receive file content based on file Id/fileName

    Hi,
    I want to configure a scenario in XI that I can call via HTTP, pass the filename and receive the file conetnt of XML document.
    Suppose I had created two structres, 1st is fileID, and 2nd is FileContent.
    If i send the FileID/Filename, I should get File content based on FileId/Filename as output.
    If I am doing HTTP to RFC, for BAPI-Company getdetail,  I can fetch the data, based on the company ID, and can get company details as result,
    I am doing Http to file, Now how shd i proceed with my case.
    I send fileid/filename as input parameter, i shd get filecontent as output
    Regards,
    varun

    Hi Varun,
    i don't know how to do it in .Net
    But procedure must be the same as that of java.
    in java to develope web service we create a standalone EJB and expose it as a web service.
    you will have a variable that will contain the path of the file.
    then as return type take a variable of string type that will return the content of file.
    Down load the WSDL of your webservice from WebserviceNevigator of your WAS,
    Import it as a external defination in XI
    Do the Required Mapping.
    Thanks
    Sunil Singh

  • Split messages while using content based routing

    Hi gurus,
    We are using content base routing by checking the value of field F1 in our scenario. If the value is V1, then route to system A; If the value is V2, then route to system B.
    There are two layer in the send message type: layer1 and layer2. Both layer1 and layer2 can occur many times.
    As you know,  The field maybe existed many times in the real messages. Sometimes with the value V1, sometimes with the value V2.
    If F1 is in the layer1, can we split into two messages by judging the value of F1?
    If F1 is in the layer2, can we split into two messages by judging the value of F1?
    Thanks in advance.

    Hi Grzegorz,
    Thanks for your reply.
    Actually my case is as follows:
    (send messge)
                   <DATA>
                        <F1>V1</F1>
                   </DATA>
                   <DATA>
                        <F1>V2</F1>
                   </DATA>
                   <DATA>
                        <F1>V1</F1>
                   </DATA>
    Then in system A, we should receive( suppose no mapping):
                   <DATA>
                        <F1>V1</F1>
                   </DATA>
                   <DATA>
                        <F1>V1</F1>
                   </DATA>
    While in system B, we should recieve:
                   <DATA>
                        <F1>V2</F1>
                   </DATA>
    If we only use content based routing, both A and B will receive all 3 DATA.
    Any ideas? Thanks in advance.

  • Displaying custom content based on user's roles

    Hi experts,
    I have been asked to look for a solution to display custom content based on the current user's roles.
    Basically It would be a simple page (or several pages I don't know yet)  that displays links to others systems in the enterpise landscape. Links have to appear but they may be "desactivaded" for some users.
    So i'm thinking of a custom portal app in java that display this page embedded in an iview, a test to check the current user permissions and some css / javascript magic to do the trick.
    What do you think ? Would there be another solution that I'm missing which doesn't require development ?
    I'm open to any suggestion / technology
    Regards.

    Sounds good,
    You can also consider using Service Map iView or Workset Map iView if those links should point to other portal navigation locations:
    See more here:
    Navigation with a Service Map - Portal - SAP Library
    Navigation with a Workset Map - Portal - SAP Library
    Best Regards,
    Tal

  • Content based routing in PI 7.1?

    Hi Guys,
    For the normal content based routing in PI 7.1 in the receiver determination step once i select the conditin and in the condition editor to choose the filed, i dont see any interface under the xpath.
    I dont have any search help option in the xpath column
    any help or suggestions would be appreciated
    Thanks,
    Raj

    Hi Raj,
    Try the steps which I am giving below, although it's a workaround and don't know the exact reason why it is failing.
    1. Open your Outbound Message Interface (which you are using in your Receiver Determination) in IR, edit it and change the Interface pattern (which is there just below the category "Outbound") to "Stateless (XI30 - Compatible)" , save it activate it.
    2. Follow the same step for your Inbound Message Interface. Change the Interface Pattern from "Sateless" to "Stateless (XI30 - Compatible)" .
    3. Go to ID. Remove your Outbound and Inbound Message Interface from their respective Business Service/Comp and add it again.
    4. Create your your receiver determination again using the Outbound and Inbound MI you have changed.
    5. Open condition editor of your receiver determination.You should be able to see your Message Interface and can choose the XPath.
    Follow the above steps carefully. It took me an hour to find this workaround. Let me know if it works.
    Thanks
    Amit

  • ABAP stack configuration for content based message search in PI 7.

    Hi experts,
    I am trying to eanble Content based message search in PI7.11 SP10.
    My requirement is to Filter message in PI moni based on a particular DeviceID field in the paylaod.I have set filters in SXMS_LMS_CONF.
    But upon testing the extractor, the messages are extarcted based on the interface mentioned in the filter criteria, and not the particluar field of the message.
    I have referred a few bolgs on this topic , but could not find a relevant solution to my issue. Am i missing any configurations in this? Or is his not possible without TREX.
    Could anyone suggest a solution for this.
    Thanks.

    Filter
    Extractor:
    XPath: nm:XXXXXCreateRequest/MeterReadingDocument/UtiltiesMeasurementTask/UtiltiesDevice/UtilitiesDeviceID

  • Performance impact of Content based message search in IE

    Hello Experts,
    I am working on implementing Content based message search in IE in PI 7.0 and PI 7.1 landscape.
    All the configurations are done and its working fine in Development scenario.
    I need help in identifying , how this actually works on technical level as in how the messages are getting searched based on the filter criteria, if there is any table getting created in background and values are getting stored etc.
    And also how could this impact the overall performance after implementing it in Production system.
    Thanks in advance!
    Warm Regards,
    Lisin

    Hi Lisin
    Not sure about 7.0/1 but for 7.4 these are the tables.(most probably tables should be same)
    When you configure a filter for UDMS search on ABAP stack(Tcod: sxms_lms_conf)
    Entries will be created in the following backed ABAP tables. (you can go to se16 and check the entries).
    SXMS_LMS_EXTR
    SXMS_EXT_FIL
    SXMS_NSPREFIX
    Data will be stored in this table
    SXMSPDATA
    When you configure a UDMS filter in RWB(java stack), entries will be created in the following backend tables
    XI_AF_LMS_EXTRACTR
    XI_AF_LMS_FILTER
    Data will be stored in the table (only the message id, direction, key field,value and position)
    XI_AF_LMS_DATA
    We have UDMS configured in our production system, and i never saw any performance issue.
    Regards
    Osman

  • Payload Content Based Search in PI

    Hello Experts,
    We are trying to implement Payload contenet based search functionality in our PI enviroemnt.
    One of the approch I can across is to have the message index using TREX index engine. This would allow us to do the message content based search from RWB itself.
    Can somebody give me a idea of how much does it take to have lience and configuration set up of TREX engine? Also, any link to a "How to guide" or any blog will be greatly appreciated.
    The other approch I could find out on SDN was to have a ABAP report to achieve the same.But, it is only recomended for a system where messages flowing through the system are very low.
    I would really appreciate If anybody can help me with more information or available documentation.
    - Rajan

    Hi Rajan,
    Please have a look at following blog:
    /people/alessandro.guarneri/blog/2006/02/14/super-message-monitor-for-sap-xi
    Kind Regards,

  • Issue in Geo map content

    Hi,
    I am facing an issue in geo map content with TM 9.1 where when I select show  map in transportation cockpit I get a dump-
    ERROR: Error in HTML_ISLAND "VISBIZ_ISLAND" of view "FPM_VISBIZ_UIBB.V_VISBIZ": To use a UI element of type HTML_ISLAND, the application must be executed in the "Standards" browser mode (termination: RABAX_STATE).
    I have already done the below enclosed config-
    a) Map product ID-HERE_NORMAL
    b) Map server- http://1.maps.nlp.nokia.com/maptile/2.1/maptile/newest/normal.day/{LOD}/{X}/{Y}/256/png?token=OvJJVLXUQZGWHmYf1HZCFg&app_id=TSCNwGZFblBU5DnJLAH8
    c) Map layer stack ID-HERE
    d) MAP product assignment- here MAP LAYER NAME-BASE and MAP PRODUCT ID-HERE_NORMAL
    e) Application-TM_TNC
    f) MAP LAYER STACK assignment- Here there are 2 values speciifed a) Default  b) HERE which is marked as default
    Aalso for point b, for MAP PRODUCT ID-HERE_NORMAL when I clicked on test server entry for the URL enclosed ,I have attached the jpg also where its showing blank.
    http://1.maps.nlp.nokia.com/maptile/2.1/maptile/newest/normal.day/{LOD}/{X}/{Y}/256/png?token=OvJJVLXUQZGWHmYf1HZCFg&app_id=TSCNwGZFblBU5DnJLAH8
    Can you tell me how to resolve the issue

    We need really be thankful for Marcus' patience. Let us hope that next question will not be: "What is a menu bar?" ;-)
    Thanks Marcus for your help all the time to any questions.
    Rajiv
    PS: 7:1 rules ;-)

Maybe you are looking for