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

Similar Messages

  • Handling PI 7.1 RFC Lookup Exception in Graphical Mapping

    Dear Experts,
              I would like to know the better way of handling PI 7.1 - RFC Lookup Exception in Graphical Mapping without using  BPM. Say I perform a RFC Lookup from PI 7.1 Graphical Mapping and it fails due to RFC server down. In this case I suppose the RFC exception would be returned as response to the mapping? But, am really not sure how this response (RFC Exception) could be effectively used. Please clarify.
    Thanks,
    Hussain.
    Edited by: HussainShaik on Oct 26, 2009 8:24 AM

    Hi Hussain,
    I am not sure if I understood you query completely.
    IF the RFC look up raised some exception then how this is going to impact your interface will depend your mapping (which you did in ESR)
    (the following is adopted from help.sap,com)
    If you handled exceptions  by selecting Use Exceptions checkbox in the function properties of the standard function, the mapping editor adds an additional parameter in red (the bottommost return parameter) to the standard function in the data-flow editor. If you do not assign a target field to this return parameter, ignore the RFC exceptions (the message mapping is not terminated at runtime). Otherwise the mapping runtime transfers the exception as an XML structure and it can then be evaluated in a user-defined function, for example. If there is no exception, the mapping runtime transfers an empty context.
    If you have not selected the Use Exceptions checkbox, the mapping runtime terminates the message mapping if an exception occurs during the RFC lookup.
    Is this you are looking here?
    Also check this thread and help.sap site
    Re: SAP-PI - RFC call to SAP backend system
    http://help.sap.com/saphelp_nwpi71/helpdata/en/33/1ec6ced273493a993a80c2301c03da/content.htm
    Regards
    Suraj

  • Using RFC Look Up in Java Mapping

    Hi All,
    I need to do an RFC Look Up in a Java Mapping program. The response structure of the Function Module to be called consists of only one node called RESULT. In order to read the value exported by the function module in this export parameter RESULT, I am using the following code:
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = null;
    factory.setNamespaceAware(false);
    factory.setValidating(false);
    Document docResponse = null;          
    InputStream in1 = result.getContent();
    docResponse = builder.parse(in1);
    String output = docResponse.getDocumentElement().getFirstChild().getNodeValue();
    The function module works correctly and returns the expected result when tested in SE37. However, on running the above code, the statement docResponse.getDocumentElement().getFirstChild().getNodeValue(); always returns the value NULL and not the expected value that is actually returned by the RFC.
    Kindly let me know where could I be going wrong.
    Thanks in advance.

    Hi Sreehari,
    Your DOM code looks correct, it might be something with the overall code of java mapping. Just have a look at this blog /people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
    and compare you code with it. See whether you can fine tune your coding to get the rigth response.
    Regards
    Suraj

  • Is it possible to use External Defiantion in Interface Mapping?

    Hi Experts,
    Is it possible to use External defination in Interface mapping? I used this ED in Message Mapping but I am unable to use the same ED for Interface Mapping?
    In order to create Interface Mapping I need to create Message Interface and use it in Interface Mappiong?
    Thanks
    Rajeev

    Hi Rajeev,
         External definitions is for importing avaliable external DTD,XSD or WSDLs instead of creating them in XI environment maually by creating elements under datatypes,assigning them too Message types and Message Interfaces etc.Where as you fo for Imported Archives to import externally done Mapping programs like JAVA,ABAP and  XSLT mappings but not define Mesage interfaces.
    So you can create message interface import appropriate External definition into it.Later use it during interface mapping.Hope you understand it.
    Thanks,
    Ram.

  • Message Mapping vs Interface Mapping test tabs giving different results.

    Hi all,
    I am developing an interface that always requires an output file to be created (even if there is no data).  I have found a way to change my select statement in the JDBC sender to initiate the message even if there isn't any data (using UNION select -1 ID, '' col1, '' col2, etc.) and that seems to work fine.  I then put logic in the message mapping to suppress the row that contains the -1 ID value, which would result in an empty file when there is no other data, and should result in a file containing only the correct data when there is data.
    So, my problem: I am always getting empty files with this logic.  I tested the logic in the message mapping test tab and it worked perfectly, however when I test it using the interface mapping test tab it results in what becomes an empty file!
    My source and destination structures are fairly simple:
    Root
    --row
    ID
    col1
    col2
    The logic I use to suppress the ID = -1 row is:
    =removeContexts([]ifWithoutElse([keepss=true]Not([]equalsS([]ID, Constant([value=-1]))), SplitByValue([type=Each value]row)))
    Obviously, I'm stumped - any help would be appreciated!
    Edited by: Mike Morrison on Sep 23, 2010 5:04 PM

    Hi Mike,
    Can you quote the error log..u r getting error in message mappin or interface mapping?
    Please suggest the test results for both the mappings.
    Thanks,
    Sushama

  • Query Regarding Multi-Message Mapping in Interface Mapping.

    Hi All,
    I've a query that can we use Multi-Message Mapping in Interface Mapping if:
    One mapping structure is simple one-2-one mapping and
    Second mapping is calling a stored procedure.
    Please give me some links if the answer is YES.
    Thanks in Advance.
    Regards,
    Sreedhar.
    Edited by: Sreedhar Av on Oct 12, 2009 1:26 PM

    Hi,
    Your question not clear buddy..what i understood is..
    If you want execute multiple message mappings in Interface mapping we can ,just add two mapping programs in interface mapping.first mapping program output is input to the second mapping program.
    If first mapping program is very simple,if you want to execute stored procedure in second level mapping write used defned fun ction to conect to data base or create JDMC receiver communication channel ,cal the communictaion channel in udf.write stored procedure in UDF.
    SEARCH for more info in sdn how to perform DBLOOKUPS.
    regards,
    Raj

  • No messages created from split mapping   error .....

    HI XI Friends..
    In My XML to RFC scenario,,
    i am doing message splitting withput BPM.
    in message mapping ..i changed target message occurance to unbounded
    and same i did in interface mapping also..
    static test is OK..creating multiple target messages in static test.
    in interface determination,using enhanced option i given interface mapping.
    file is picking but in SXMB_MONI ...i am getting error like this
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="MAPPING">GENERIC</SAP:Code>
      <SAP:P1>No messages created from split mapping</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>No messages created from split mapping</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    please guide me..
    regards
    ram

    Hi Ram,
    Check these..
    Split mapping created no messages
    Message Split without BPM - Error
    cheers,
    Prashanth
    P.S Please mark helpful answers

  • Is is possibel to do an RFC Lookup from The Graphical Mapping?

    Greetings,
    While doing a message mapping I need to get the value from R3 system using an RFC, is it is possible ?

    Hi
    we can do by using rfc look ups
    Lookup in mapping is the feature provided by SAP to lookup the data in the target R/3 or DB systems with the API provided.
    You need to write UDF in order to implement the API's provided by SAP.Consider the below example
    VendorNumber-UDF--CURR
    The scenario is legacy to SAP. The legacy system doesn't provide the currency details. But the target field need's to be populated with currency value.
    "The business rules says there are values maintained in SAP Table where if you pass VendorNumber it will return thr currency to you"
    So what you can do? You can write UDF implementing SAP Provided API's and do a lookup in the SAP System and get back the currency value and populate them in CURR field.
    I hope it clears a bit.
    Please find the below blogs
    DB Lookup: /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    RFC Lookup:https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
    There are three types of look ups u can do
    RFC look up
    SOAP look up
    JDBC look up
    What is Lookup and why we need:
    Within an XI mapping it is a common requirement to be able to perform data lookups on-the-fly. In particular, there may be a need to look up some data that is maintained in an R/3 application.
    In the error handling topic we have seen the different validations which need to be performed on file. This can be done through Lookup.
    Some use cases:
    • Look up material number from table MARA.
    • Look up cost center budget.
    • Look up employee information.
    • Look up unit-of-measure (UOM) information from table t006a.
    • Lookup for raising an alert.
    The purpose of the lookup may be:
    • To perform application-level validation of the data, before sending it to the backend.
    • To populate fields of the XML document with some additional data found in the backend application.
    This is a form of value transformation.
    The "value mappings" offered by XI are not adequate in this case, since the data would have to be manually entered in the Integration Directory.
    There are two ways in which we can do lookup:
    • Call lookup method from GUI mapping.
    • Call lookup method from XSLT mapping.
    Lookup method from GUI mapping can be called using any of the following ways.
    • RFC lookup using JCO (without communication channel)
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    • RFC lookup with communication channel.
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    • Lookup using JDBC adapter.
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    /people/sap.user72/blog/2005/12/06/optimizing-lookups-in-xi
    • CSV file lookup.
    /people/sundararamaprasad.subbaraman/blog/2005/12/09/making-csv-file-lookup-possible-in-sap-xi
    Lookups with XSLT - https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8e7daa90-0201-0010-9499-cd347ffbbf72
    /people/sravya.talanki2/blog
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14
    DB lookup - /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    SOAP Lookup - /people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function
    You can refer to these links.
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer Absolute stealer.
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    For Java APIs and also here you can map that how many types of lookups are possible in XI.
    http://help.sap.com/javadocs/NW04/current/pi/com/sap/aii/mapping/lookup/package-summary.html

  • 1...n interface mapping...

    Hi all,
    I have a scenario(Idoc- 2 files) .its manadatory to send two files each time an idoc comes.I am using
    2 messega mappings
    1 interface mapping.
    I am not able to achieve the requirements.
    Could anyone helpone...

    Refer these links for multi-mapping using BPM:
    Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure
    Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI.
    Refer this link for multi-mapping without using BPM:
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    Refer this link for IDoc to file scenario:
    Introduction to IDoc-XI-File scenario and complete walk through for starters.

  • Same message type calling 2 maps

    Hi Experts,
    I want to send same Idoc messagetype for two different partners and want to call different map. And these idocs are coming from same SAP system.
    Let say message type Orders , first partner PARTNER01 and second partner PARTNER02.
    For PARTNER01  partner message mapping name is MM1
    For PARTNER02  partner message mapping name is MM2.
    When SAP is sending the message for partner PARTNER01  it should call MM1 and it should not call MM2.
    Output files are also going to two different system.
    Could you please let me what are the configurations are required in ID?
    Thanks in advance for your valuable suggestion.
    Regards,
    Shubhankar

    Hi Shubhankar !
    You should enter your receivers (partner01 and partner02) in the receivers table of the receiver determination object. Here you can use the condition editor to detect which system should be the receiver based on content (payload, headers, etc.). Then to specify different mappings, you should create one interface determination object for each receiver system, in each interface determination object you should specify the interface mapping to be used. Please create one interface mapping object in repository for each mapping program (mm1 and mm2).
    Regards,
    Matias.

  • Without BPM:Call RFC using JCO in interface mapping using java mapping

    Hi all
    I have a very small scenario where REQUEST from the customer comes via Web Service all i have to do is to read the request using SOAP adapter and call an interface mapping(lets say the name is IM_TEST) inside which there is a JAVA MAPPING program written which will call an RFC in CRM using JCO.
    Now this was really simple and i cud test the Interface mapping successfully, but the problem is when loading the scenario in integration directory i have certain things to do
    1. to set the SENDER AGREEMENT which i did correctly
    2. set the RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT now here i am stuck because there is no receiver in my case as the RFC is called inside the mapping only.
    can i call one more message mapping in IM_TEST which will write file onto the XI directory and then in RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT i can mention the reciever as FTP.
    I tried it but i gives the following error
    Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_TEST_WRITE_FILE: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Parsing an empty source. Root element expected!
    Please help me how to complete the scenario so that customer can run it end to end.
    <REMOVED BY MODERATOR>
    Edited by: Prateek Raj Srivastava on May 12, 2010 1:44 PM

    Stefen
    What do i do then...actually this is the project requirement. They want a very fast response from PI and thats why they wnt us to omit BPM and the Graphical mapping from the scenario.
    I am able to test the interface mapping which calls the the Java mapping inside which there is an RFC call, but i cannot implement it end - to - end as there is no receiver business system in this case. The only business system i have is the SOAP sender.
    I am really troubled now, please help me with a solution.
    Is there any other possible way through which the process can become very fast whic hcan meet their requirement.
    Regards
    Naina

  • 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

  • ERROR WHILE USING XSLT MAPPING IN INTERFACE MAPPING

    Hi,
      We are using an xslt mapping in our scenario but while i load the XSLT mapping in the interface mapping i get a message :
    Transformer configuration exception occurred when loading XSLT
    sorce interface :outbound and asyncronous.
    mapping : XSLT mapping (imported as a zip file)
    target interface: abstract,asyncronous.
    The xslt runs well in standalone and its well formed and there is no name space issue.
    please help if any one has faced such a situation while using XSLT mapping.
    regards,
    Anirban.

    Hi Anirban
    When you say it runs well <i>standalone</i> what exactly do you mean? Which XSLT processor are you using to run it? There are subtle difference between XSTL processors that can sometimes result in incompatibilities. For instance, I have seen XSLTs run correctly in XMLSpy but incorrectly (or at least slightly differently) in XI.
    Regards,
    Thorsten

  • How to use rfcnormalizer.jar  in interface mapping

    Hi
    Iam getting one error while doing xml file to RFC scenario.
    the error is like this
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>
    As a solution for this i got SAP Note 730870.
    here i have to download rfcnormalizer.jar 
    i have uploaded in integration repository under imported object.
    but iam not able to see this in interface mapping
    now i have to use this in interface mapping .
    Please give me step by step how to use this in interface mapping
    how the interface mapping should be like
    Regards
    veena

    Hi,
    The RfcAdapter trys to find a Sender Agreement for this RFC call but the lookup failes. The values used for this lookup are:
    Sender Party/Sender Service: The values from Party and Service belonging to the sender channel.
    Sender Interface: The name of the RFC function module.
    Sender Namespace: The fix RFC namespace urn:sap-com:document:sap:rfc:functions
    Receiver Party/Receiver Service: These fields are empty. This will match the wildcard
    Regards,
    Suryanarayana

  • Interface mapping test successful, throws exception in BPM

    Hi.
    We are having a problem with an Interface mapping which works when
    tested in Integration Builder, but throws an Exception when it is part
    of the Transformation in a BPM.
    The scenarion is such:
    1. The sender calls the outbound interface using a web service.
    2. XI uses the input and passes to the Integration Process
    3. In the BPM, a LOGON message is built to call the web service as
    specified by an external web service . The input and
    output messages are just a single string, in which the other XML is
    embedded.
    4. XI receives a response from the web service call
    5. XI Extracts the sessionId from the response and combines it with the
    initial input (Step 1) to create the query for the query message in
    the web service.
    It is in Step 5 where the transformation fails, with an Exception in
    the DefaultTrace.trc as
    Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    Thrown:
    MESSAGE ID: com.sap.aii.ibrun.server.mapping.rb_MappingRuntimeException.EXCEPTION_DURING_EXECUTE
    com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    I have extracted the data from the initial request (step 1) and the
    logon response (step 4) and using these I have tested the Interface
    Mapping. There is no problem with this and the tests are successful.
    From what I can see, because the Response field in the LOGONResponse
    contains more XML tags, XI must be parsing it and assuming the tags are
    tags in the message, and not just the string, thus it is complaining
    that the XSD types do not match. This extra XML Parsing does not take
    place in the Interface Mapping Test.
    I have put the response into a User Defined Function which just has one
    line "return new String("Hello")" and that fails. However, if this UDF
    does not have the Response as the input, it does not complain.
    Please advise.
    --Reenal

    hi
    You will have to use specific replacements for you xml tags if it is coming as a paramter
    replace '<' with &lt;
    replace '>' with &gt;
    for eg: I want to pass <TakeIt>200</TakeIt> as value to Element <A>
    Mapping won't work if it is passed like
    a) <A><TakeIt>200</TakeIt></A> - Wrong
    Instead the replace the angle brackets
    b) <A>&lt;TakeIt&gt;200&lt;/TakeIt&gt;</A> - Correct
    While testing the mapping in IR (a) will work bcoz the test tool will convert it to (b) format. Check the xml source in test tool.
    So ensure the web response is like (b)
    rgds,
    Arun

Maybe you are looking for

  • Pass a parameter in a Web Dynpro Application

    Hi, I have a Web Dynpro that Calls a RFC. This RFC needs a parameter (user ID from portal) in order to obtain Info. from the R/3 System. I do it with based on the article which calls a bapi "BAPI_FLIGHTLIST". The application runs OK when I type the p

  • Soap adapter communication channel problem

    Hi...   While doing Webservices to file scenario, in component monitoring, the soap adapter communication channel is showing as (in small traiangle inyellow color) channel started but inactive

  • Hierarachy display in report

    Hi All, How do I display the hierarchy in my report in expanded manner by default? when I execute my query the report comes with the higher node. I manually expand the hierarchy by right clicking on it. I want to display all the nodes expanded by def

  • Windows 7 slow to boot after setting up windows backup to additional drive.

    I have an issue with windows taking forever to boot after setting up Windows backup. PC Setup: 2 Samsung SSD Mirrored for Hardware raid on (MOBO OS/Programs) 2 Seagate 4TB Mirrored for Hardware raid (Data storage) 1 Seagate 4tb HD used solely for Win

  • Change time constraint of Infotype 0006 subtype 1 and subtype 2

    Hi Can anyone tell me how to change the TC of infotype 0006 subtype 1 and subtype 2. Currently I tried to change the TC in table V_T582A but its giving me an error : "Text maintenance not permitted as infotype part of Data Sharing (T582G)  " Can anyo