XI message mapping clarifications

Dear All                                                                               
I would like to know if XI message mapping(graphical mapping) can be         
used for mapping based on the order of elements given in the XML source          
message.                                                                               
For example I have a source message as below                                                                      
Source XML:                                                                      
<Source>                                                                         
<givenname>Ramesh</givenname>                                                     
<givenname>Kumar</givenname>
<givenname>Ganapathy</givenname>                                                                               
</Source>                                                                               
semantic is first instance of <givenname> needs to be mapped <firstname> in target,                      
Second occurance of <givenname> needs to be mapped <secondname>,                                
Third occurance of <givenname> needs to be mapped <familyname>                                                                               
Target XML                                                                       
<Target>                                                                         
<firstname>Ramesh</firstname>                                                    
<secondname>Kumar</secondname>
<familyname>Ganapathy</familyname>                                               
</Target>                                                                               
As I understand graphical mapping editor works based on Xpath                    
expressions, Is it possible to achieve such mapping schematics with              
graphical mapping and UDF in XI.
Please note I cannot use Java, ABAP or XSLT mapping programme.
Can you provide me some hints on how to do this.                                                                               
Thanks                                                                           
Satish

Hi Chilla
This is how I am currently handling it. But my problem is
The number of UDF's keeps increasing if I have a fourth, fifth element to handle. I have to create new UDF for every new level added.
Is there a way I can do this with single UDF.
result.addValue(givenname(X));
X- will be the position and I can pass values as an argument to the UDF.
Again the problem here is when I have second argument to specify which value of input to pick up say for example  givenname(1) or givenname(2)
The second argument expects an String[] array as argument and not string(when i assign a constant its a string).
So I cannot attach a constant to the second argument and pass the input.
Is there any functions that can return a String[] array as an output taking sting value as input.
Thanks
Satish

Similar Messages

  • Certification Exam content  clarification - Message mapping patterns

    I was going through the Exam content for  SAP NetWeaver´04 - Exchange Infrastructure & Integration  Dev.Cons.
    Link
    Check out this part -
    " 4. Mapping (++)
    Concepts / Overview
    Test / Debug Environment
    Standard functions
    User-defined Functions
    Message mapping patterns
    Multi-mapping
    ABAP, Java, XSLT mapping overview "+
    What does Message mapping patterns mean?
    I have cert docs but nothing verifies this.
    Thanks for your time,
    Priya.

    Hi,
    Mapping “patterns” are some of the common mapping requirements found in the past which XSLT was used, because we did not think that Message Mapping provided the functionality
    Summarization
    Sequence–Number Generation
    Duplicating Subtrees
    Table / Value Lookups
    Tree–Reversal
    <removed_by_moderator>
    Read the "Rules of Engagement"
    Nilesh
    Edited by: Juan Reyes on Apr 3, 2009 11:15 AM

  • Need Clarification on Looping in Message Mapping.

    Hi All,
      I'm trying to implement the Dynamic emailing as explained in the Michals blog.
    /people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address
    I have this partially working for the scenario I have.
    XI will be receiving a ORDRSP IDoc from an external system and XI needs to do the following.
    1) Check the value of <b> E1EDP01-ABGRU </b> equals to Z2. If any of the E1EDP01-ABGRU has a value of Z2, it should do the following
             a) Get the email address from the E1EDKA1-ILNNR and map it to the TO field as shown in the blog.
              b) Get the values of BELNR-E1EDK01, MENEE, VPREI, POSEX, PEINH, ABGRT from the E1EDP01 segment and concatenate them all and map it to the Content tag as explained in Michals blog.
      I have this process partially working. The XI interface is only mapping for the first occurrence of E1EDP01 and not the subsequent occurrences of E1EDP01 which matches the criteria ( E1EDP01-ABGRU = Z2)
    Any help in getting fixing this problem??
    Thanks

    Make sure to define multiple target messages in your message and interface mappings, for the mail package message definition (occurrence = 0...unbounded).
    Also, in the logic of your message mapping, you need to create a new mail package message only if  E1EDP01-ABGRU = 'Z2'. Use it like this:
    ABGRU   ---   EqualS   ---   createIf   ---   Mail
    Constant[Z2]
    Regards,
    Henrique.

  • Regarding Message Mapping in JDBC Scenario

    Hello Experts,
            I got struct up in message mapping. In message mapping we can able to see different types of Functions. So I need some clarifications on it. Functions are available like...
    Conversions
    Boolean
    Node Functions
    Constants
    Date
    Text
    Static
    Arithmetic
    So please explain in simple for each functions.
    Points will be rewarded.
    Thank you

    Hi
    *Boolean*:-
    And -- checks for 2condition, return a true value if both condition are satisfied
    Or --checks for 2condition, return a true value if one condition is true.
    Not - checks if the condition is not equal to.
    Equals - Check whether 2 Boolean values are equal
    NotEquals
    If u2013 Returns second value if the first argument is true. otherwise returns third argument
    If WithoutElse u2013 Returns value of second argument, if first argument is true.
    Node Functions:-
    createIf - Produces empty value if argument is true; Resultlist.SUPPRESS otherwise
    removeContexts u2013 Produces plain stream of values with No context changes
    replaceValue u2013 replaces value of source field to value specified in Function Properties.
    Exists u2013 Returns true, if Node exists otherwise false
    SplitByValue u2013 inserts context changes after event specified
    collapseContexts u2013 Produces one empty string value out of each arguments context. All arguments are in one context
    useOneAsMany u2013 Use First Argument as IS on same level as third argument. second argument defines when next value of first argument is used
    sort u2013 sorts values in each context
    sortByKey u2013 Sorts values in second queue by keys from first queue
    mapwithDefault u2013 Inserts default values specified in the function properties into empty contexts
    formatByExample u2013 Takes values from the first queue and inserts them in the structure of second queue.
    Constants:-
    Constant u2013 Generates constant value
    CopyValue u2013 Takes specified value in argument stream and copies it an infinite number of times
    Sender u2013 Sender System
    Receiver u2013 Receiver System
    Date:-
    CurrentDate u2013 Return current date in specified format
    DateTrans u2013 Transforms date from input format to output format
    Dateafter u2013 Returns True if first date is after second otherwise false
    DAteBefore - Returns True if first date is before second otherwise false
    CompareDates u2013 Compares two dates
    Text:-
    Substring u2013 Returns substring depending upon the given parameters
    Concat u2013 concatenates 2 strings inserting delimiter string parameter between them
    Equals u2013 Check whether Strings are equal
    indexOf2 u2013 returns the index where the second string is found for the first time in the first string
    indexOf3 u2013 As with indexOf with 2 parameters, But starting search at the specified position
    lastindexOf2 u2013 Returns the index where the second string is found for the last time in the first string
    lastIndexOf3 u2013 As with lastIndexOf with 2 parameters starting search at the specified position
    compare u2013 compares 2 strings lexicographically
    replaceString u2013 Replaces each occurrence of pattern(2nd argument ) of source string(1st arg). By third string
    length u2013 returns length of string
    endsWith u2013 Tests whether string ends with specified suffix
    startsWith2 u2013 Tests whether string starts with specified prefix
    startsWith3 u2013 Tests whether string starts with specified prefix beginning at specified location
    toUpperCase u2013 Converts all characters in string to upper case
    trim u2013 Removes white space from both ends of string
    toLowerCase u2013 Converts all characters in String to Lower case
    Statistic:-
    sum u2013 calculates sum of all numbers in each context
    average u2013 calculates the average of all numbers in each context
    count u2013 Counts number of values in each context
    Index u2013 For each incoming value, this Function returns the index number of the incoming value in the context, String from the initial index and increasing by the increment defined in the parameters.
    Arithmetic:-
    Add u2013 add two values
    Subtract u2013 subtracts second value from the first value
    equalsA u2013 Returns true; If float numbers represented by argument strings are equal otherwise returns false
    abs u2013 returns Absolute value of argument
    sqrt u2013 Returns square root of the number
    sqr u2013 Returns square of the number
    sign u2013 Returns -1 if number is negative, +1 if positive, 0 if 0
    neg u2013 Multiplies number to -1
    1/x u2013 calculates 1/x
    Power u2013 Returns value of the first argument to the power of the second argument
    Less u2013 Returns true if the first number is less than the second number otherwise false
    Greater - Returns true if the first number is greater than the second number otherwise false
    Multiply u2013 Multiplies 2 values
    Divide u2013 Divides first value by the second value
    Max u2013 Returns maximum of 2 numbers
    Min u2013 Returns Minimum of the 2 numbers
    Ceil u2013 Returns the smallest (closest to the negative infinity) initial value that is not less than the argument and it is equal to the mathematical integer.
    Floor - Returns the largest (closest to the negative infinity) initial value that is not Greater than the argument and it is equal to the mathematical integer.
    Round u2013 Returns closest initial value to the argument
    Counter u2013 Counts number of invocations. Initial value and increment defined by Parameters.
    FormatNum u2013 Formats Number with given pattern.
    Conversions:-
    FixValues u2013 Creates a Local Table to perform a value Mapping
    ValueMapping u2013 Define jump to Value Mapping table of Integration Directory.
    Message Mapping(Node Function) Part-1
    Message Mapping Simplified - Part I
    Sravaya Talanki- Message Mapping(Node Function) Part-2
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    Standard Functions
    http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/frameset.htm
    Advanced mapping function(mapwithdefault,formatbyexample,sort,sortbykey)
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
    Hope this is useful
    Saiyog
    Edited by: Saiyog Gonsalves on Jul 11, 2008 1:14 PM

  • Set a variable in Adapter Module and read it during message mapping

    Hi guys,
    is there any way, how I could set some variable and store its value during the adapter module processing and read back this value in message mapping and use it? Without using a database or files.. I mean, some j2ee storage or something like that..
    Thanks for your help,
    Olian

    Hi guys,
    thanks for your answers..  just a clarification, what the problem is.
    I need to validate a message in the adapter module, if it's digital signature is valid. If it is, I need to send back to the sender a return code (message) OK, otherwise ERROR. I can't modify the message (or dynamic configuration) as I'm using a WSS in the sender channel. The system doesn't allow me to change anything in the message, so I can't find out in the mapping what the validation result was. I then tried to do the validation directly in the message mapping, but I have some issues there with libraries or what, because the validation code, which works in the adapter module, doesn't work in the mapping java class. So my final thought was maybe I could validate the message in the adapter module and pass the result to the message mapping and then create an appropriate return message (in the mapping). However, I see no way of passing a value there. I'm stuck and have no Idea how to resolve the problem. Any hints guys?
    Thanks a lot for your help!
    Olian

  • DeletionIndicatior in Message Mapping

    Hi Experts,
    I have an requirement like i need to suppress the field and its value in the output structure. the file i need to drop at the output is an xml file.
    the requirement is to drop a file with variable substitution method with
    input file looks like this:
    Field0 -- 000001
    Field1 -- Sai
    Field2 -- Krishna
    Field3 -- AppleSystems
    Field4 -- Bangalore
    all are one to one mapping, in the output fille i require
    Field1 -- Sai
    Field2 -- Krishna
    Field3 -- AppleSystems
    Field4 -- Bangalore
    Field0 is used for variable substitution for generating the file dynamically, so how could i suppress this field.
    I can go with dynamic file naming but i am using multimapping here so i cannot use dynamic configuration i should go ahead with varibale substitution..
    Second Clarification :
    In the data type decleration we have Deletable Option check box across the field decleration
    when we check it, In the message mapping we can see the DeletionIndicator,
    May i know the purpose of this option
    Your inputs are really appreciated..
    Thanks,
    --Sai
    Edited by: sai krishna on Oct 28, 2010 5:14 PM

    BABU,
    In your message mapping correct the UDF code.
    There is a problem in your textarea and you have missed to place semi colon ";".
    Regards,
    Sarvesh

  • Error while activating any message mapping in IR: very strange

    hi forum i m getting an error in IR while activating any messageMapping.
    the error is too long to be posted....i m posting a few lines of that:
    •     Internal error while checking object Message Mapping MM_sdptestFileToFile | http://sdzpoc.com.test/sdptest (ZPOC_TEST, 1.0 of zpoctest); see details (CHECK_EXCEPTION)
    •     Internal error while checking object Message Mapping MM_sdptestFileToFile | http://sdzpoc.com.test/sdptest (ZPOC_TEST, 1.0 of zpoctest); see details (CHECK_EXCEPTION)
    •     /usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapdddd0cb0100311dca6090012799eddc6/source/com/sap/xi/tf/_MM_sdptestFileToFile_.java (No such file or directory (errno:2))
    •     /usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapdddd0cb0100311dca6090012799eddc6/source/com/sap/xi/tf/_MM_sdptestFileToFile_.java (No such file or directory (errno:2))

    Sudeep,
    Let we try this way. I'm sure you might have some existing mapping objects in IR.
    Try to change that object(Description give some name) and activate again the object.
    Reply your results whether you are getting the same error.
    One sec before changing the object just test the mapping and change the object.
    Best regards,
    raj.

  • Error while activating message mapping

    Hi,
    We are trying to activate message mappings and getting error as CHECK_EXCEPTION and in error details its showing that usr/sap/server.........................../classpath_resolver/Map.......................no such file or directory.........
    What can be the issue?We can activate all other objects(DT,MT,IM,etc)
    Best Regards,
    Harleen Kaur Chadha

    Hi
    Check this thread you can find the reason for this error CHECK_EXCEPTION solved here
    Activating Object in IR - Getting Null Pointer Exception
    Re: mapping test error
    Internal error while checking object Message Mapping...
    Problem Activating Mappings in the IR
    Message Mapping activation Error
    Regards
    Abhishek

  • Error while opening Message Mapping

    Hi All,
    I have one MM in ESR, IDoc to EDI, it has been developed before, and the interface is working successfully.But when I open this MM in ESR, it given a STOP error with desc as 'For input string: ""'.
    and then there is nothing displayed on Screen under Definition,Test and Functions tab of MM.The Signature tab content is visible properly.
    I am working on PI 7.1.
    Is this issue is because of version comapatibilty or missing object. Please provide your inputs to resolve this issue,
    Thanks,
    Ruchi

    Hi All,
    I have checked with my basis team, but they suggested that the patches can not be installed as this problem is happening with single message mapping.
    When I open this MM, it gives the same STOP error :For input string: "". and when I click on Message Mapping -> Check button, it prompts a message 'Parameter #ParamName# has the invalid value null'.
    Please help me to resolve this.As the mapping itself is not getting loaded, so not getting how to set this parameter value(if it is used in MM).

  • PI 7.11: IDoc Message mapping

    Hi there,
    I'm currently working on a graphical message mapping using IDoc HRMD_A06 as source structure (HR master data transferred via PFAL).
    In my result structure I have to fill a field CostCenter with the following logic:
    If field KOSTL (cost center) is filled in node E1P0315, map this field to CostCenter in result structure, otherwise take KOSTL of node E1P0001.
    The end date (ENDDA) has to be '99991231' in each case.
    This is how the result structure looks like:
    <e>                       [1...1]
      <CostCenter>            [1...1]
    </e>
    This is the simplified source structure:
    <E1PLOGI SEGMENT="1">
      <E1PITYP SEGMENT="1">                        [0...n]
         <E1P0001 SEGMENT="1">                     [0...n]
           <INFTY>0001</INFTY>                     [0...1]
           <ENDDA>99991231</ENDDA>                 [0...1]
           <KOSTL>0000012345</KOSTL>               [0...1]
        </E1P0001>
      </E1PITYP>
      <E1PITYP SEGMENT="1">                        [0...n]
        <E1P0315 SEGMENT="1">                      [0...n]
          <INFTY>0315</INFTY>                      [0...1]
          <ENDDA>99991231</ENDDA>                  [0...1]
          <KOSTL>0000024001</KOSTL>                [0...1]
        </E1P0315>
      </E1PITYP>
    </E1PLOGI>
    How can I do the check if field KOSTL of node E1P0315 is null?
    I've tried an existence check for the whole node (E1P0315->exists), but then it fails, because all E1PITYP nodes are processed.
    I hope my problem is clear to you.
    Would it be better to use another mapping type?
    As I'm an ABAP developer, I would of course prefer some lines of code to this graphical drag&drop thing.
    Thanks in advance!

    Cheers, guys!
    I did it now like that:
    http://www.abload.de/image.php?img=mappingflknz.jpg
    Click on the image to enlarge it!
    The logic is as following (ABAP Pseudo-code ):
    IF 0315_KOSTL and 0315_ENDDA are populated.
      IF 0315_ENDDA equals '99991231'.
        map 0315_KOSTL to Cost_Center.
      ENDIF.
    ELSE.
      IF 0001_KOSTL and 0001_ENDDA are populated.
        IF 0001_ENDDA equals '99991231'.
          map 0001_KOSTL to Cost_Center.
        ENDIF.
      ENDIF.
    ENDIF.
    Is that a good way to do that mapping?
    Do I also have to use the removeContexts function or is it ok like that?
    Could I also do that with an ABAP mapping program?
    Thanks in advance!

  • Message Mapping activation error-Source code has syntax errors in UDF

    Hi all,
    I wrote a small UDF for sum of 2 numbers:
    import
    udf.*
    public String getsum(String a, String b, Container container) throws StreamTransformationException{
    int c = Integer.parseInt(a);
    int d = Integer.parseInt(b);
    int e = packageDemo.getSum(c,d);
    return e+"";}
    In imported archives, i imported pack.jar
    In D:\udf , I have packageDemo.java, packageDemo.class, aii_map_api.jar, pack.jar(has the other 3)
    packageDemo.java :-
    package udf;
    public class packageDemo{   
        public static int getSum(int a,int b)
            int c= a+b;
            return c;
    Did i miss anything?? Icant activate message mapping for 2 errors:-
    1.package udf does not exist
    2.Function getsum, Line 3:
    cannot find symbol symbol : variable packageDemo location: class com.sap.xi.tf._xml_mm_int e = packageDemo.getSum(c,d); ^Note: /usr/sap/P7R/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd4214d3099dc11dd9470001d090e4bbe/source/com/sap/xi/tf/_xml_mm_.java uses or overrides a deprecated API.Note: Recompile with -Xlint:deprecation for details.Note: /usr/sap/P7R/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd4214d3099dc11dd9470001d090e4bbe/source/com/sap/xi/tf/_xml_mm_.java uses unchecked or unsafe operations.Note: Recompile with -Xlint:unchecked for details.2 errors
    Edited by: NagaDurga Nannapaneni on Oct 16, 2008 1:07 PM

    Hi ,
    Think the error is coming because the content in imported archive is not being taken into message mapping at all...so package, class, method ..nothing is identified.
    Can anyone suggest the solution..
    Thanks,
    Durga

  • How do I resolve error message "mapi was unable to load aplzod.dll"? Outlook2010 on Win7

    Attempts to open Outlook calendar files (apparently located) on iCloud result in the error message "MAPI was unable to load the information service C:\PROGRA~2\COMMON~1\Apple\Internet Services\APLZOD.dll". Be sure the service is correctly installed and configured."
    I am running Outlook 2010 on Windows 7. I have uninstalled and reinstalled iTunes with no apparent effect. Is this a problem with iTunes or Outlook, how do I resolve it?

    That's part of my problem - I was getting the error message when I tried to click on iCloud in the Calendar portion of Outlook 2010. I don't know where it was generated (iCloud, iTunes, or as an add-in to Outlook).
    After my original post I tried restoring my computer to a date when I knew this worked, the restoration worked, and I can access my calendar. So that problem resolved itself.
    I do have another question, but I'll post it separately. Thanks for your response.

  • How to use the variables used in the message mapping

    Hi ,
    In the message mapping we can declare variables in the JAVA section , these variables could be used across the mapping .
    I have tried using it but I am unable to retrieve the values assigned to the variables in one UDF into the another UDF .
    Please guide me how to use the variables declared in the JAVA section in the message mapping .
    Thanks
    Anita Yadav

    Anita,
    I have worked on the Global variables and i found no issues. Make sure that the variable is declared in the Declaration Section and then initlaized in the Initialization section.
    If you declare a variable in the Declaration Section ,
    int i;
    then in any udf you can use if directly. No need to re declare  the variable in the UDF. If you do this, then it becomes a local variable.
    Regards,
    Bhavesh

  • To get exception value in Message Mapping

    Hi folks,
    I would like catch bpm step exception in one message mapping, for example:
    I have create on ccBPM using one block, in block i have createad "ex" exception variable and set ex in all step (send and transformation), i have created one exception branch in block using "ex" exception.
    How can i get "ex" value and pass for one message mapping ?
    In MM how can i get text values from excpetion ocurred in ccBPM ?
    Im am trying using Global Variables but not found any parameter of exceptions.
    Can anybody help me, please?

    hi,
    >>In MM how can i get text values from excpetion ocurred in ccBPM ?
    this is not possible
    Regards,
    Michal Krawczyk

  • Message Mapping error in UDF

    I am receiving errors when trying to activate my MM.  I believe the issues are in one of two UDF's.  These UDF's do work in another MM without error.  Below are the error's and UDF's.
    ERRORS:
    Activation of the change list canceled Check result for Message Mapping MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE | http://wawa.com/xi/erp/pos:  Starting compilation  Source code has syntax error:  /usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map5420e070cabe11dcab4b00306ef38da9/source/com/sap/xi/tf/_MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE_.java:3291: cannot resolve symbol symbol : variable container location: class com.sap.xi.tf._MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE_ map = container.getTransformationParameters(); ^ /usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map5420e070cabe11dcab4b00306ef38da9/source/com/sap/xi/tf/_MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE_.java:3293: cannot return a value from method whose result type is void return constant; ^ 2 errors
    UDF's:
    public String getSender(Container container){
    String constant;
    java.util.Map map;
    // get constant map
    map = container.getTransformationParameters();
    constant = (String) map.get (StreamTransformationConstants.SENDER_SERVICE);
    return constant;
    IMPORTS:  com.sap.xi.mapping.parse.dom.;javax.xml.parsers.;java.io.;com.sap.aii.mapping.lookup.;org.w3c.dom.*;
    public String getSeqNum(String fileType,String objNum,String Sender,Container container){
    String request = "<ns0:ZRFC_NUMBER_GET_NEXT xmlns:ns0=\"urn:sap-com:document:sap:rfc:functions\"><NR_RANGE_NR>" + fileType + "</NR_RANGE_NR><OBJECT>" + objNum + "</OBJECT><QUANTITY/></ns0:ZRFC_NUMBER_GET_NEXT>";
    InputStream isRequest = new ByteArrayInputStream(request.getBytes());
    SystemAccessor accessor = null;
    String num  = null;
    try{
         // 1. Determine a channel.
         Channel channel = LookupService.getChannel(Sender, "R_RFC_ERP");
         // 2. Get a system accessor for the channel.
         accessor = LookupService.getSystemAccessor(channel);
         // 3. Create a payload according to the data type which the adapter expects.
         //    Use service.getBinaryPayload() for binary payload,
         //    and service.getTextPayload() for text payloads.
         Payload payload = LookupService.getXmlPayload(isRequest);
         // 4. Execute lookup.
         Payload response = accessor.call(payload);
         //Parse response
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         DocumentBuilder builder = factory.newDocumentBuilder();
         InputStream resStream = response.getContent();
         Document doc = builder.parse(resStream);
         Element sequence = doc.getDocumentElement();
         NodeList number = sequence.getElementsByTagName("NUMBER");
         //Extract Number
         num = DOMUtil.getSimpleElementText((Element) number.item(0));
    } catch (Exception e) {
         return e.getMessage();
    } finally {
         try {
              if (accessor != null) accessor.close();
         } catch (Exception e) {
              return e.getMessage();
    GlobalContainer gc = container.getGlobalContainer();
    gc.setParameter("Num", num);
    return num;
    Any help is appreciated.
    Regards,
    Darrell

    Fauver,
    Just to narrow down the problem first remove the first udf and only use the 2nd user defined function. Also in the 2nd udf you have to change this line:
    try{
    // 1. Determine a channel.
    Channel channel = LookupService.getChannel(Sender, "R_RFC_ERP");
    In the above line instead of Sender you use the business service or business system where R_RFC_ERP RFC communication channel is created in Integration Directory. So you are hardcoding it first.
    Once you have done this changes do save and test it once again. If this works then you can change back to original and your first udf needs to be checked.
    Regards,
    ---Satish

Maybe you are looking for

  • Performance tuning in XI, (SAP Note 857530 )

    Could any one pls tell me where to find sap notes. I am looking for "SAP Note 857530 " Integration process performance(in sap XI). or how can I view the performance of the integration process ? or exactly how performance tuning is done. pls help, Bes

  • Where can I find a case for my 13 inch Macbook?

    I bought my MacBook in mid 2010. I need a case for it, but I can't find anything anywhere! My laptop is not a Pro or an Air. Any suggestions would be greatly appreciated!

  • Hi Experts.. How to make scripts & SmartFrom Unicode enable

    Hi Experts.. How to make Scripts & Smart From Unicode enable? i know for scripts we need to check with driver program &  For smart from we need to check the generated function module. Correct me if am wrong.  I wanna to know how to make layouts & fro

  • KI235 - can post without cost object if select "continue" in profit segment

    Hello all,  I have a GL account where cost object is required.  This works correctly and KI235 error message is given.  However, if I go into the profitability segment and select CONTINUE - even though no cost object is assigned, SAP allows posting t

  • Importing MP4's into Captivate 5

    I was told by a fellow e-learning developer that MP4's could be imported into Captivate 5.  I've looked through my training books, and I may have missed it, but I can't find where it states this is allowed.  Does anyone know for sure if MP4's can be