Choose interface mapping based on flag

Hello!
How can I configure the following for a System_A (IDoc) -> XI -> (IDoc) System_B scenario?
If System_A sends an X flag in the payload the X_Interface_Mapping needs to be executed, otherwise the Y_Interface_Mapping needs to be executed.
Regards, Tanja

Unfortunatelly, there is no way of doing this in standard. It'd be necessary a conditional mapping selection inside the interface mapping (if <condition> use this mapping program sequence) like you have inside receiver and interface determination.
briefly: you have interface determination but not interface mapping determination.
A possible workaround would be to create different dummy message interfaces refering to the same message type, and then you create a mapping for each of the dummy target interfaces in order to select them with condition inside interface determination.
Or you could burn some brain cells and implement the conditional logic inside the mapping program itself. It is the right thing to do in this case (since you have same source and target structures, you implement conditional checks in the mapping logic itself).
Regards,
Henrique.

Similar Messages

  • About interface mapping

    what are there case about interface mapping?
    i knew that the following:
    outbound to inbound
    abstract to abstract.
    what else the case?

    Hi joy zheng  ,
    These r the details about interface mapping :
    Interface Mappings
    You can define mappings for an interface pair (source and target interface) by using message interfaces and message types in the Integration Repository.You can also define the corresponding mappings when the source or target interface is an IDoc, an RFC, or another interface connected by an adapter.
    When defining mapping programs for request, response, or fault messages, the definition is first separated from the interfaces that reference the corresponding message types. Furthermore, you can reuse a message type for multiple interfaces. This means that the simple definition of a mapping program is not sufficient to establish a connection (that is based on the assignment of outbound and inbound interfaces).
    This role is undertaken by the interface mapping:
    &#9679;     An interface mapping specifies the corresponding mapping programs for request, response, or fault messages for a selected interface pair. You use an interface mapping to register mappings for an interface pair.
    &#9679;     You can also specify multiple mapping programs to be executed one after the other in the case of requests and responses for an interface mapping.
    You can also define multiple interface mappings for the same interface pair, to provide multiple variants in the Integration Repository. At configuration time, the customer can select the appropriate mapping in an interface determination and save it in the Integration Directory
    Use :
    Interface mappings register your mapping program for an interface pair in the Integration Repository. If you require a mapping at runtime, it is sufficient to select the interface mapping for the interface pair at configuration time . The Integration Server uses the interface mapping to identify associated mapping programs for request messages, response messages, fault messages, or all three.
    Features
    Executing Multiple Mapping Programs for One Direction
    By using an interface mapping you can execute multiple mapping programs consecutively for the transformation of a request or response message. In such cases, an interface mapping comprises multiple steps for which the following applies:
    &#9679;     The steps are executed in the sequence specified (from top to bottom). The result of the mapping program from the previous step is forwarded to the mapping program of the subsequent step.
    &#9679;     Each step can reference a mapping program that executes a 1:1, 1:n, n:1, or an m:n transformation. In the case of multi-mappings (1:n, n:1, or m:n), the previous step must create the same number of messages that the subsequent step expects.
    &#9679;     Multi-mappings use one envelope to put all messages in one structure. If one of the steps references a multi-mapping program, all subsequent steps must use the same envelope.
    The mapping for a request message comprises two message mapping programs: one 1:1 transformation and one 1:n transformation. Since the latter message mapping uses the multi-mapping envelope for both the target message and the source message, the message mapping for the 1:1 transformation must also create a transformation result with a multi-mapping envelope.
    You do not strictly need to divide up one direction of the whole mapping into different steps. However, this enables all the message formats in one system landscape to be mapped to a central message format, for example. This results in less mapping programs being required because you no longer need to be able to map all the different message formats to each other.
    Activities
           1.      Create your interface mapping on the design maintenance screen of the Integration Builder (see also: Creating an Object).
    You can also create multiple interface mappings for the same interface pair.
           2.      Enter the source and target interfaces that require a mapping of the request message, the response message, the fault message, or all three, in the table of the same name. The following restrictions apply:
    &#9675;     If you want to use the interface mapping in a transformation step in an integration process, you must only specify abstract message interfaces. Furthermore, all objects (integration process, interface mapping, and all objects referenced by the interface mapping) must be in the same software component version. If you want to reference objects from underlying software component versions, you must access the objects from the Basis Objects branch (in the navigation tree or using an input help) (see also: Underlying Software Component Versions).
    &#9675;     If you want to map multiple messages to each other by using a multi-mapping, you can only specify asynchronous interfaces (for further restrictions, see: Multi-Mappings). If any message interfaces are missing, you can also create them by using the functionCreate New Object ().
    If the interface cannot be imported or cannot be created in the Integration Repository (in the case of an external adapter, for example), you must enter the interface names manually. However, it is not possible to check the technical name in this case.
           3.      To import the properties of the interfaces, choose Read Interfaces. The table in the lower area displays tab pages for the request message, response message, and if available, for the fault message, for each mode of the interfaces (either synchronous or asynchronous).
           4.      To develop an external mapping program, export the XSD schema of the respective request or response message as a zip file after you have imported the interfaces. The zip file can contain multiple schema files that reference each other, for example in a multi-mapping. In this case, the schema with the global message element has the name MainSchema.
           5.      To reference a mapping program for the respective message, you have the following options:
    &#9675;     Select an existing mapping program from the Integration Repository by using the input help (). If this is a message mapping, the default setting of the input help only displays those message mappings that are found using the source and target message in the Integration Repository (in multi-mappings, the first source and target messages are used as the search criteria). However, you can also display any number of message mappings, for example, because you are constructing a mapping from several mapping programs with intermediate instances which have no message types.
    &#9675;     You can create message mappings directly from the interface mapping. To do this, select the mapping type Message Mapping in the Type column. Position the cursor in the Name column and choose the function Create New Message Mapping () in the Mapping Program frame. The Integration Builder copies the specifications of the messages and their occurrence directly from the interface mapping.
    An interface mapping can only reference mapping programs that belong to the same or an underlying software component version of the interface mapping. This ensures that the mapping program can be shipped together with the interface mapping (see: Software Logistics).
           6.      If you are not using a mapping for a fault message, you can execute multiple mapping programs in succession for request and response messages:
    &#9675;     To insert an additional line for a mapping program, choose .
    &#9675;     To delete the registration for a mapping program, choose .
    At runtime, the mapping programs are executed from top to bottom.
           7.      Save the interface mapping.
    The following web-site gives complete details about interface mapping :
    http://help.sap.com/saphelp_nw2004s/helpdata/en/12/05731a10264057badc32d3d3957015/content.htm
    **********Please reward points if u find this useful
    cheers,
    gyanaraj

  • Help : How to test interface mapping in n:1 scenario

    I have a scenario two message interfaces==> one message interface.
    Then I new one interface mapping, and choose two source interfaces, one target interface. Also filled the mapping program.
    But when switch to the test tab, there is no display about the source and target message.
    How to do the test in this kind of scenario?
    Thanks a lot!
    Edited by: kiki qin on Oct 28, 2008 2:24 PM

    Hi
    First check in Message mapping first if you have one.
    Secondly when you select source or target message while developing message mapping did u get message like No objects found or something.
    It should show either error or source message when you test interface mapping in any case.
    Thanks
    Gaurav

  • Interface Mapping not supported in the JPA specification?

    Are there any plans to add Interface support in the JPA specification? It is not supported by JPA annotations, which seems quite disruptive to proper object oriented design. However, individual implementations of JPA seem to support this:
    http://docs.jboss.org/hibernate/stable/core/reference/en/html_single/#inheritance-tableperclass
    http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%29#How_to_Use_the_.40VariableOneToOne_Annotation
    There is visible interest in getting this implemented at an Annotation level for Hibernate also but the developers for Hibernate point out that this isn't even in the JPA specifications.
    http://opensource.atlassian.com/projects/hibernate/browse/ANN-9
    https://forum.hibernate.org/viewtopic.php?f=9&t=941363&sid=4abdbc72cbf04380f4a8e2cadd7dfada&start=15
    Is this being talked about/in the works for JPA? Why not include @VariableOneToOne in the spec? It would seem to be quite an essential feature for wide adoption.

    Hi,
    You can only choose the Interface mapping for the Enhanced recevier determination in the extended tab of Receiver determination. & I dont see the Interface mapping in the select list.
    Where do I have to check for the proper outbound message???
    Regards

  • Interface Mapping not listing in the Extended Reciever Determination

    Hi,
    The Interface Mapping is not shown in my Extended receiver determination. I have created and activated the IM & MM using the MT - Receivers within the SAP Basis.
    Regards
    Unni

    Hi,
    You can only choose the Interface mapping for the Enhanced recevier determination in the extended tab of Receiver determination. & I dont see the Interface mapping in the select list.
    Where do I have to check for the proper outbound message???
    Regards

  • No interface mapping in Interface detemination

    Hi all ,
              while creating interface detemination Integration Configuration i am not able to choose any thing in interface mapping though i have created one interface mapping in integration repository .
    regards
    praveen

    Hi Praveen,
    Please make sure u have activated ur IM and MM.
    If yes then also check tht whether u have chosen the right pair of interfaces.
    If u have a udf in ur MM then check tht it is error free.
    Please revert back in case of issues.
    I hope this helps.
    Regards,
    Sumit

  • Mapping Based Message Split

    In mapping based MessageSplit 
    how to createInterfaceDetermination,ReceiverDetermination.In My Scenario one sender, 2 Receivers.
    Now How many InterfaceDetermination's,ReceiverDetermination's have to be create

    Hi Mahesh,
    having performed your message mapping ,, used in interface determination(by linking it with the help of interface mapping via configuration).
    You can decide on the value in the payload to which receiver the message should go.
    Use following scenarios, may help you:-
    /people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
    /people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
    /people/daniel.graversen/blog/2006/12/29/hack-using-xpath-in-xi-message-mappings
    /people/bhanu.thirumala/blog/2006/02/02/graphical-message-mapping-150-text-preview
    /people/srinivas.vanamala2/blog/2007/02/05/step-by-step-guide-xml-file-2-xml-file-scenario-part-ii
    /people/srinivas.vanamala2/blog/2007/02/05/step-by-step-guide-xml-file-2-xml-file-scenario-part-i
    /people/divya.vidyanandanprabhu/blog/2005/06/28/converting-xml-to-pdf-using-xi
    /people/venugopalarao.immadisetty/blog/2007/01/24/troubleshooting-file-to-idoc-scenario-in-xi
    /people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
    Vishal
    Reward points for useful Reply

  • How to get ABAP mapping option in Interface Mapping

    Hi
    experts
    How to get ABAP mapping option in Interface Mapping . i need to do abap mapping . i didnt find the option
    plz help me

    Hi,
    If u2018ABAP-classu2019 and u2018XSL(ABAP ENGINE)u2019 does not appear under the u2018Mapping Program Typeu2019 in Interface Mapping, one has to make an additional entry in the Exchange Profile. 
    Only a user with the J2EE security role (administrator) can make the following settings in the Exchange Profile.
    It is achieved in the following manner:
    1) Open http://<host>:<port>/exchangeProfile/index.html
    2)Choose IntegrationBuilder ->IntegrationBuilder.Repository -> com.sap.aii.repository.mapping.additionaltypes
    Add: R3_ABAP|Abap-class;R3_XSLT|XSL (ABAP Engine)
    To check whether the data has been successfully read from the exchange    profile:
    1- Open http://<host>:<port>/rep/support/admin/index.html
    2- Choose Administration of Properties -> All Properties
    3- If the value associated to parameter com.sap.aii.repository.mapping.additionaltypes is not visible, press REFRESH button
    After doing above check in IR, if still don't find the option for ABAP mapping then refresh the cache.
    Award points if useful.

  • 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

  • "No Objects found" in Interface Mapping

    Hi,
    I am working on a simple BPM synchronous scenario as follows
    File>XI>RFC (request)
    RFC (Response)>XI>File
    I have done almost everything fine, but while configuring the Receiver determination, I am able to choose the Inbound interfcae, but when I try to select the "Interface Mapping" for the same inbound interface,
    it says "No Objects found".
    Can anybody help me out in this regard?
    I would very much appreciate your help in this regard.
    Thanks in advance.
    Regards,
    Rambabu

    Hi Shravan,
    I have resolved the issue. In fact there is no mistake done in Repository. In Configuration, I haven't selected the appropriate service, because of this, I wasn't able to see the objects.
    Thanks & Regards,
    Rambabu

  • Use RFC message exception in Interface Mapping

    Hi,
    during my BP scenario I want to use the content of a RFC exception given back by my RFC in a interface mapping.
    Now I'm asking myself how to refer to a RFC exception as a source interface in an interface mapping (to use it in a message mapping was no problem).
    Do I have to specify a special message interface for the RFC exception?
    Thanks for any answer!

    Hi Christina,
    Cant believe that. Of course you need another interface.
    For example:
    synchr outbound-interface (output-message, input-message, fault-message)
    RFC is your inbound-interface in the interface mapping mapping. You should be able to choose Request, Response and Fault Type for the RFC.
    if nothing helps, send me screenshots (if-mapping, the other interface, the RFC) to [email protected]
    Regards,
    Udo

  • Message Mapping And Interface Mapping

    Hi,
    I have 2 software components.
    One is for sender and one is for receiver.I have created all the Data types,Message type and Message Interface fro sender in the first Software component and data types ,message type ,message interface for the receiver in the second software component .
    Now, in which Software component should i create Message Mapping and Interface Mapping?
    Thanks in Advance,
    mvk

    Hi,
    You could use the created Message type and Message interfaces in Sender as well as receiver software components for creating message mapping, interface mapping and integration scenario.
    Generally it makes sense to maintain the message mapping, interface mapping and integration scenario in receiver software component. The message mapping and Integration scenario is specifically based on the receiver end requirments, so its preffered on receiver software component.
    The sender side details could be reusable in case if you need those for another new receiver software component. If you maintain it in sender component, then that will lead to mix-up all the things on sender side even though its based on receiver end.
    I think this could help you.
    In PI7.1 now there is concept of Folders to maintain all the interfaces appropriatly and leads for reusability of existing objects.
    Please refer below links for more details,
    /people/thorsten.nordholmsbirk/blog/2006/07/25/structuring-integration-repository-content--part-1-software-component-versions
    http://help.sap.com/saphelp_nw04/helpdata/en/42/ed903cf6c4492ce10000000a114084/frameset.htm
    Thanks
    Swarup
    Edited by: Swarup Sawant on Jan 26, 2008 8:33 AM

  • ID : interface determination - Interface mapping (file- IDOC with externa)

    Hi,
    scenario : XML file read and mapped to Multiple IDOC in single message
    all IR stuf are done but in the ID I cannot choose the mapping interface
    here is a document of everything that was done...http://docs.google.com/Doc?id=dcsvs2n3_51jnrfw6
    Thanks for the help

    Hi Stepen,
    Simple for Reciever Business System did you add the Idoc itself that was imported as Receiver Interface..
    Just double click the Receiver Business System and Then click Receiver and See if the IDOC name exists other wise insert it...
    <b>Also In</b> the Interface determinatin select the actual idoc that you imported and not the XSD....
    Finally if the above doesnt work Try this since you are using ED create Message Interface and mention the xsd as MT.... and in Interface Determination use the Actual idoc imported and not ED ....
    Regards,
    sridhar
    Message was edited by:
            sridhar reddy kondam

  • Value mapping, interface mapping, standard funtions and user defined functi

    I like have more information abt live scenario's use of value mapping, interface mapping, standard funtions and user defined functions.
    How to create user defined funtions and how to use it in XI?
    thanks in advance
    shiva

    Hi,
    Interface mappings register your mapping program for an interface pair in the Integration Repository. If you require a mapping at runtime, it is sufficient to select the interface mapping for the interface pair at configuration time .The Integration Server uses the interface mapping to identify associated mapping programs for request messages, response messages, fault messages, or all three.
    Features
    Executing Multiple Mapping Programs for One DirectionBy using an interface mapping you can execute multiple mapping programs consecutively for the transformation of a request or response message. In such cases, an interface mapping comprises multiple steps for which the following applies:
    &#9679;     The steps are executed in the sequence specified (from top to bottom). The result of the mapping program from the previous step is forwarded to the mapping program of the subsequent step.
    &#9679;     Each step can reference a mapping program that executes a 1:1, 1:n, n:1, or an m:n transformation. In the case of multi-mappings (1:n, n:1, or m:n), the previous step must create the same number of messages that the subsequent step expects.
    &#9679;     Multi-mappings use one envelope to put all messages in one structure. If one of the steps references a multi-mapping program, all subsequent steps must use the same envelope.
    The mapping for a request message comprises two message mapping programs: one 1:1 transformation and one 1:n transformation. Since the latter message mapping uses the multi-mapping envelope for both the target message and the source message, the message mapping for the 1:1 transformation must also create a transformation result with a multi-mapping envelope.
    You do not strictly need to divide up one direction of the whole mapping into different steps. However, this enables all the message formats in one system landscape to be mapped to a central message format, for example. This results in less mapping programs being required because you no longer need to be able to map all the different message formats to each other
    Activities
           1.      Create a message mapping on the design maintenance screen of the Integration Builder (see also: Creating an Object).
    You can also create multiple interface mappings for the same interface pair.
           2.      Enter the source and target interfaces that require a mapping of the request message, the response message, the fault message, or all three, in the table of the same name. The following restrictions apply:
    &#9675;     If you want to use the interface mapping in a transformation step in an integration process, you must only specify abstract message interfaces. Furthermore, all objects (integration process, interface mapping, and all objects that reference the interface mapping) must be in the same software component version. If you want to reference objects from underlying software component versions, you must access the objects from the Basis Objects branch (in the navigation tree or using an input help).
    &#9675;     If you want to map multiple messages to each other by using a multi-mapping, you can only specify asynchronous interfaces (for further restrictions, see: Multi-Mappings). If any message interfaces are missing, you can also create them by using the function Create New Object ().
    If the interface cannot be imported or cannot be created in the Integration Repository (in the case of an external adapter, for example), you must enter the interface names manually. However, it is not possible to check the technical name in this case.
           3.      To import the properties of the interfaces, choose Read Interfaces. The table in the lower area displays tab pages for the request message, response message, and if available, for the fault message, for each mode of the interfaces (either synchronous or asynchronous).
           4.      To develop an external mapping program, export the XSD schema of the respective request or response message as a zip file after you have imported the interfaces. The zip file can contain multiple schema files that reference each other, for example in a multi-mapping. In this case, the schema with the global message element has the name MainSchema.
           5.      To reference a mapping program for the respective message, you have the following options:
    &#9675;     Select an existing mapping program from the Integration Repository by using the input help (). If this is a message mapping, the default setting of the input help only displays those message mappings that are found using the source and target message in the Integration Repository (in multi-mappings, the first source and target messages are used as the search criteria). However, you can also display any number of message mappings, for example, because you are constructing a mapping from several mapping programs with intermediate instances which have no message types.
    &#9675;     You can create message mappings directly from the interface mapping. To do this, select the mapping type Message Mapping in the Type column. Position the cursor in the Name column and choose the function Create New Message Mapping () in the Mapping Program frame. The Integration Builder copies the specifications of the messages and their occurrence directly from the interface mapping.
    An interface mapping can only reference mapping programs that belong to the same or an underlying software component version of the interface mapping. This ensures that the mapping program can be shipped together with the interface mapping (see: Software Logistics).
           6.      If it is not a mapping for a fault message, you can execute multiple mapping programs in succession for request and response messages:
    &#9675;     To insert an additional line for a mapping program, choose .
    &#9675;     To delete the registration for a mapping program, choose .
    At runtime, the mapping programs are executed from top to bottom.
           7.      Save the interface mapping.
    Regards
    Aashish Sinha
    PS : reward points if helpful

  • Add Interface mapping to Receiver Determination is not possible

    Hello,
    I create some scenarios from R\3 to BW and R\3 to File.
    When I want to add Interface mapping to Receiver Determination is not possible.
    Not to choose from list and not with copy and paste.
    Any ideas?
    Regards
    Elad

    Hi Elad,
    Just check whether ur interface mapping that u defined in IR is activated properly or not.It will be present in the hit list as soon as u click the help button of the interface mapping of the interface determination in the ID.
    Regards,
    Prasanthi.

Maybe you are looking for