Mapping Error: Cannot cast to float

Hello Everyone,
Has anyone seen this error in Message Mapping in XI?  What did you do to resolve it?
13:59:10 Start of test
Compilation of JobPositionPublication2PositionOpening_M successful Runtime exception during processing target field mapping /ns1:PositionOpening/ns1:PositionProfile/ns1:PositionDetail. The message is: Exception:[java.lang.IllegalArgumentException: Cannot cast to float. ] in class com.sap.aii.mappingtool.flib3.Arithm method greater[, 0, com.sap.aii.mappingtool.tf3.rt.Context@8e6076] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns1:PositionOpening/ns1:PositionProfile/ns1:PositionDetail. The message is: Exception:[java.lang.IllegalArgumentException: Cannot cast to float. ] in class com.sap.aii.mappingtool.flib3.Arithm method greater[, 0, com.sap.aii.mappingtool.tf3.rt.Context@8e6076] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:284) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:352) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:309) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:194) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.IllegalArgumentException: Cannot cast to float. ] in class com.sap.aii.mappingtool.flib3.Arithm method greater[, 0, com.sap.aii.mappingtool.tf3.rt.Context@8e6076] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:56) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:41) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:41) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:41) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:220) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:352) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:309) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:194) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor248.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:47) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:41) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:41) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:41) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:220) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:352) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:309) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:194) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.IllegalArgumentException: Cannot cast to float. at com.sap.aii.mappingtool.flib3.Arithm.toFloat(Arithm.java:19) at com.sap.aii.mappingtool.flib3.Arithm.greater(Arithm.java:72) ... 27 more RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns1:PositionOpening/ns1:PositionProfile/ns1:PositionDetail. The message is: Exception:[java.lang.IllegalArgumentException: Cannot cast to float. ] in class com.sap.aii.mappingtool.flib3.Arithm method greater[, 0, com.sap.aii.mappingtool.tf3.rt.Context@8e6076]
13:59:12 End of test

If you are using a UDF, then the input and the output from the UDF is in the form of a string.If a float value is passed to the UDF,and if there are some arithmetic operations done on that float value then you need to convert the string to float - something like the below.
String s = "100.00";
      try {
         float f = Float.valueOf(s.trim()).floatValue();
         System.out.println("float f = " + f);
      } catch (NumberFormatException nfe) {
         System.out.println("NumberFormatException: " + nfe.getMessage());
Then before returning the value to the target field,convert the value back to string  like this -
Float.toString(float f)
In case you are using some other standard functions,do let us know of that as well so that we can suggest resolutions to this error.
thanks\
Priyanka

Similar Messages

  • Mapping error: cannot produce target element

    Hello all,
    I am trying to test a mapping. i have 3 messages in my source and one Msg in my target. when i test execute it
    i get this msg:
    1) compilation of mapping successful
    2) cannot produce target elements/Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd.
    I am not sure what the error might be, can somebody please advice..
    Thanks in advance

    Hi Harika,
    how many Elements do u have In your Source Message Type(for example you have 3 elements and how u want to see these elements in your Target Message Type, define that much elements in your Target Message Type and Mappe those)
    1. usually people will go with one to one element mappaing, in such case define your souce and Target Message type Elements equal
    other wise you can do one Source having 3 elements and you want to see only one output from them then use Standard Function like "Contacte" that will add the 3 elements in one.
    if you are satisfied with this please provide points to me.
    Ashok

  • Cannot cast java.io.serialiazable to int Error

    Dear Members,
    I have procedure in AM which is as follows:
    public int countRecs(String headerID)
    int count=0;
    count= integer value assigned from SQL Query*
    return count;
    I am calling this procedure from the CO of the page as follows:
    String headerID="123"
    int     count=0;
    *Serialiazable para[]={headerID};*
    count=(int)am.invokeMethod("countRecs",headerID);
    When I am compiling my CO I am getting the below error:
    Cannot cast java.io.serialiazable to int
    Kindly please help me in resolving this error.
    Many thanks in advance.
    Best Regards,
    Arun Reddy D.

    the signature of the method you are invoking is
    public Serializable invokeMethod(String methodName,
    Serializable[] methodParams)
    so the return type is also serializable. so you should change your method signature accordingly
    public int countRecs(String headerID)
    int count=0;
    count= integer value assigned from SQL Query*
    return count;
    public String countRecs(String headerID)
    //just change last statement
    return ""+count;}
    your CO call should be
    count=(int)am.invokeMethod("countRecs",headerID);count = Integer.parseInt(am.invokeMethod("countRecs",para));
    so finally your count variable will hold an integer
    you may need to keep the above statement in try catch block
    Regards
    Ravi

  • Mapping Error during BPM

    Hi Gurus,
      Im configuring a scenario to perform idoc collections using BPM.
      When im testing the scenario, the SXMB_MONI transaction is telling me that there is a mapping error. I went thru the messages in SXMB_MONI but im unable to find out where the is the mapping error. In addition, I tried to test the scenario by sending 2 idocs and but its seems that the BPM is not triggered. It seems like somehow the erroneous BPM is stuck and im unable to trigger it anymore. I created a new BPM and tested it, it got triggered but is still giving me the mapping error.
    Any advice?
    Thanks in advance.

    Hi,
    I referred to the below blog but i do not have the option for Create New Transformation under the Transformation step.
    Transactional Behavior in BPM.
    But i managed to get some information on the mapping error
    Cannot produce target element /ns0:Messages/ns0:Message1/PEXR2001/IDOC.
    Im trying to collect all the PEXR2001 idocs, i.e. im going a N to 1 mapping. I've mapped the PERX2001 element of the source to element IDOC of the target. Is this correct? I've change the source from 0 to Unbounded.
    In addition, now in SXMB_MONI, after i click on PE, im getting the following message
    Message DD8878FE218C60F1948400170853600D held at process 000000002001 but not yet processed.
    Is there any tcode i can goto to trigger this process?
    Thanks!!!

  • XSU Problem:Error-- Cannot map Unicode to Oracle character

    Hi, I am using XSU to get the resultset from database(oracle 9.2.0.6.0) as XML.When I query data from some columns and get the XMLString, they give me error -"Cannot map Unicode to Oracle character". The database charset is "US7ASCII" .
    One column is storing Chinese with ''US7ASCII".When xmlString Result contianer
    the column,there is "oracle.xml.sql.OracleXMLSQLException: Cannot map Unicode to Oracle character".But If xmlString Result don't container that column,it run very good.
    The program container these libs: ojdbc14.jar,xmlparserv2.jar,xdb.jar,nls_charset12.jar,xsu12.jar.
    The program code:
    public class OracleXmlParse {
    public static void main(String[] args) {
    try{
    DriverManagerDataSource dataSource = new DriverManagerDataSource("oracle.jdbc.driver.OracleDriver",
                        "jdbc:oracle:thin:@168.1.1.136:1521:imis","ims","ims");
    String selectSQL = "select AREA_CODE,AREA_NAME,REGION_CODE,AREA_NAME_CN from CDM_AREA";
    OracleXMLQuery query = new OracleXMLQuery(conn,selectSQL);
    query.setEncoding("UTF-8");
    String str = query.getXMLString();
    System.out.println(str);
    conn.close();
    }catch(SQLException e){
                   e.printStackTrace();
    Exception:
    Exception in thread "main" oracle.xml.sql.OracleXMLSQLException: Cannot map Unicode to Oracle character.
         at oracle.xml.sql.core.OracleXMLConvert.getXML(OracleXMLConvert.java:1015)
         at oracle.xml.sql.query.OracleXMLQuery.getXMLString(OracleXMLQuery.java:267)
         at oracle.xml.sql.query.OracleXMLQuery.getXMLString(OracleXMLQuery.java:221)
         at oracle.xml.sql.query.OracleXMLQuery.getXMLString(OracleXMLQuery.java:198)
         at procedure.OracleXmlParse.main(OracleXmlParse.java:34)
    The column that store chinese is AREA_NAME_CN .When "selectSQL " is equal to "select AREA_CODE,AREA_NAME,REGION_CODE from CDM_AREA",the program is ok.
    Please help.
    Message was edited by:
    user542404
    Message was edited by:
    user542404

    So, What is the solution ? Is there something I can do in my code ? My program gives the exception and stops. I am not even interested to fetch the data, which are giving this error.

  • Cannot cast from SOMETHING to SOMETHING (Error in 1.4) (Works in 1.6)

    Our company have developed an accounting program, and it is already near completion.
    We developed it with JavaBean and Eclipse in Windows Environment with JRE 1.6.0_05
    When we tried to compile and run the program in our linux environment (Server) that runs on 1.4 , the casting error occured..
    we have written a program to generate all casting errors that occurred in our project.
    import java.math.*;
    import java.util.*;
    public class testnow {
         public static void main(String[] args){
              //Declare ALL Primitive!
              int TestINT = 150;
              Boolean TestBOOL = true;
              String TestSTR = "Streng" + "th";
              BigDecimal TestDCM = BigDecimal.valueOf(20);
              Date TestDATE = new Date();
              //Declare ALL Object
              Object TestINTObj = 150;
              Object TestSTRObj = "Strength";
              Object TestDCMObj = BigDecimal.valueOf(20);
              Object TestBOOLObj = true;
              Object TestDATEObj = new Date();
              if(TestINT == (Integer)TestINTObj){
                   System.out.println("TEST Integer PASSED");
              if(TestSTR.equals((String)TestSTRObj)){
                   System.out.println("TEST String PASSED");
              if(TestDCM.equals(TestDCMObj)){
                   System.out.println("TEST Decimal PASSED");
              if(TestBOOL == (Boolean)TestBOOLObj){
                   System.out.println("TEST Boolean PASSED");
              if(TestDATE.equals((Date)TestDATEObj)){
                   System.out.println("TEST Date PASSED");
    }the following is what happened when i run javac testnow.java
    1. ERROR in testnow.java
    (at line 6)
    Integer TestINT = 150;
    ^^^^^^^
    Type mismatch: cannot convert from int to Integer
    2. ERROR in testnow.java
    (at line 7)
    Boolean TestBOOL = (Boolean)true;
    ^^^^^^^^^^^^^
    Cannot cast from boolean to Boolean
    3. ERROR in testnow.java
    (at line 11)
    Object TestINTObj = (Object)150;
    ^^^^^^^^^^^
    Cannot cast from int to Object
    4. ERROR in testnow.java
    (at line 14)
    Object TestBOOLObj = true;
    ^^^^^^^^^^^
    Type mismatch: cannot convert from boolean to Object
    4 problems (4 errors)
    in our windows development JRE 1.6 , it run well and gives the following output :
    TEST Integer PASSED
    TEST String PASSED
    TEST Decimal PASSED
    TEST Boolean PASSED
    TEST Date PASSED
    how do we solve this? i mean we have been using this "convenience" casting all over our code . :(
    please help
    thanks a lot.
    Cheers and God Bless,
    Chowi

    You've got a lot of problems there, and not all of them are due to Java version incompatibilites. I'll take them in the order I see them. public static Object FindDataInTable(ArrayList TargetTable, String TypeColumn,
             String TargetColumn, Object TargetData, String ReturnedColumn){ The convention is to give methods and variables names that start with lowercase letters. That makes your code easier to read, which makes it easier for us to help you. Later on, I see you also use a mix of underscores and camelcase. Underscores should be used only in constant names; class, method and variable names should use only camelcase.
    Also, if you don't have a good reason to make that first argument an ArrayList, you should declare it as a List instead. That leaves the calling code the option of using a different List implementation should they need to.
    Next, you assign a primitive value to an Object reference: Object ReturnedObject = 0; That requires autoboxing, as others have pointed out, which didn't exist in JDK 1.4. Even if you could use autoboxing though, that assignment would be a bad idea; a variable of type Object should be assigned a default value of {color:000080}null{color}, not a number. However, you may not need to declare that variable at all, as I explain later.
    Next you use a "foreach" loop, another feature that was added in JDK 1.5; you'll have to switch to the old-style loop if you want this code to work under JDK 1.4. While you're at it, you should declare your "SingleRow" variable inside the loop, since it's not used anywhere else: for (Iterator it = TargetTable.iterator(); it.hasNext(); ) {
        Model_DatabaseQuery SingleRow = (Model_DatabaseQuery)it.next(); Next I see you using matches() to compare String values: if(TypeColumn.matches("String")){
        if(((String)TargetData).matches((String)CheckData)){ You get away with that because the strings contain only letters, but you need to look up the docs for matches() so you'll understand why you shoudn't be using it here. But this is nothing compared to the next issue: if((Integer)TargetData == (Integer)CheckData){ // WRONG WRONG WRONG That can't possibly have worked right, no matter what version of Java you ran it under. You NEVER use == to compare the values objects! You should have been using equals() for all those comparisions, not matches(), and definitely not ==.
    But I don't see why you're doing all those checks on the column type anyway. All you ever do after that is compare the same two values, so just do it: for (Iterator it = targetTable.iterator(); it.hasNext(); ) {
        Model_DatabaseQuery SingleRow = (Model_DatabaseQuery)it.next();
        Object CheckData = SingleRow.Get_object(TargetColumn);
        if (CheckData != null && CheckData.equals(TargetData)) {
            return SingleRow.Get_object(ReturnedColumn);
    } If there are other columns that you're supposed to ignore, you may still need to check the column type, but you could do that in one {color:000080}if{color} statement; you don't have to check them all separately.

  • E75 Maps Updater Error Cannot get enough informati...

    Hi, 
    I have problem with application maps updater... after update the firmware in my cell phone to 202.12.01 I can't install maps application
    I have error :
    Error Cannot get enough information about the phone[3]
    "Unspecified error [1]"
    I've tried this multiple times and still no progress....
    Help please???
    Thanks.

    vvojtek wrote:
    Hi, 
    I have problem with application maps updater... after update the firmware in my cell phone to 202.12.01 I can't install maps application
    Nokia Ovi Maps 3.01 application
    http://static.s2g.gate5.de/nokiamaps-client/nokia_​maps_3.01_09wk44_b01_s60_3.1_lm_rom.sis
    Install & run once then exit before installing maps.
    Maps
    Extract contents of zip file to cities\diskcache
    Warning: large downloads for most of these.
    Request individual countries if you need them.
    Africa
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/173.zip
    Asia
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/174.zip
    Australia/Oceania (Australia & New Zealand)
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/175.zip
    Europe
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/172.zip
    America (includes USA, Canada & South America)
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/171.zip
    USA only (just the USA - not needed if installing 'America', above)
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/1710.zip
    Index files (allows offline searches)
    Extract contents of zip file to cities\diskcache\ClientIndex
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/Africa.zip
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/AustraliaOceania.zip
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/SouthAmerica.zip
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/Asia.zip
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/NorthCentralAmerica.zip
    http://static.s2g.gate5.de/map5/maploaderzip-00.01​.23.112/Europe.zip
    Voices
    Extract contents of zip file to cities\diskcache\voices
    f = female
    m = male
    http://static.s2g.gate5.de/navigation2/lua/afrikaa​ns_f.zip
    http://static.s2g.gate5.de/navigation2/lua/arabic_​f.zip
    http://static.s2g.gate5.de/navigation2/lua/basque_​f.zip
    http://static.s2g.gate5.de/navigation2/lua/bulgari​an_f.zip
    http://static.s2g.gate5.de/navigation2/lua/cantone​se_f.zip
    http://static.s2g.gate5.de/navigation2/lua/catalan​_f.zip
    http://static.s2g.gate5.de/navigation2/lua/croatia​n_f.zip
    http://static.s2g.gate5.de/navigation2/lua/czech_f​.zip
    http://static.s2g.gate5.de/navigation2/lua/danish_​f.zip
    http://static.s2g.gate5.de/navigation2/lua/dutch_f​.zip
    http://static.s2g.gate5.de/navigation2/lua/english​_f.zip
    http://static.s2g.gate5.de/navigation2/lua/english​_m.zip
    http://static.s2g.gate5.de/navigation2/lua/english​_us_m.zip
    http://static.s2g.gate5.de/navigation2/lua/estonia​n_f.zip
    http://static.s2g.gate5.de/navigation2/lua/farsi_f​.zip
    http://static.s2g.gate5.de/navigation2/lua/finnish​_f.zip
    http://static.s2g.gate5.de/navigation2/lua/finnish​_m.zip
    http://static.s2g.gate5.de/navigation2/lua/french_​f.zip
    http://static.s2g.gate5.de/navigation2/lua/french_​ca_f.zip
    http://static.s2g.gate5.de/navigation2/lua/french_​m.zip
    http://static.s2g.gate5.de/navigation2/lua/galicia​n_f.zip
    http://static.s2g.gate5.de/navigation2/lua/german_​f.zip
    http://static.s2g.gate5.de/navigation2/lua/german_​m.zip
    http://static.s2g.gate5.de/navigation2/lua/greek_f​.zip
    http://static.s2g.gate5.de/navigation2/lua/hindi_f​.zip
    http://static.s2g.gate5.de/navigation2/lua/hungari​an_f.zip
    http://static.s2g.gate5.de/navigation2/lua/indones​ian_m.zip
    http://static.s2g.gate5.de/navigation2/lua/italian​_f.zip
    http://static.s2g.gate5.de/navigation2/lua/korean_​f.zip
    http://static.s2g.gate5.de/navigation2/lua/latvian​_f.zip
    http://static.s2g.gate5.de/navigation2/lua/lithuan​ian_f.zip
    http://static.s2g.gate5.de/navigation2/lua/malay_f​.zip
    http://static.s2g.gate5.de/navigation2/lua/mandari​n_chinese_f.zip
    http://static.s2g.gate5.de/navigation2/lua/taiwane​se_chinese_f.zip
    http://static.s2g.gate5.de/navigation2/lua/norwegi​an_f.zip
    http://static.s2g.gate5.de/navigation2/lua/polish_​f.zip
    http://static.s2g.gate5.de/navigation2/lua/brazili​an_f.zip
    http://static.s2g.gate5.de/navigation2/lua/portugu​ese_f.zip
    http://static.s2g.gate5.de/navigation2/lua/romania​n_f.zip
    http://static.s2g.gate5.de/navigation2/lua/russian​_f.zip
    http://static.s2g.gate5.de/navigation2/lua/slovak_​f.zip
    http://static.s2g.gate5.de/navigation2/lua/sloveni​an_f.zip
    http://static.s2g.gate5.de/navigation2/lua/spanish​_f.zip
    http://static.s2g.gate5.de/navigation2/lua/mexican​_m.zip
    http://static.s2g.gate5.de/navigation2/lua/swedish​_f.zip
    http://static.s2g.gate5.de/navigation2/lua/tamil_m​.zip
    http://static.s2g.gate5.de/navigation2/lua/thai_m.​zip
    http://static.s2g.gate5.de/navigation2/lua/turkish​_f.zip
    http://static.s2g.gate5.de/navigation2/lua/urdu_f.​zip
    All downloads are from Nokia's official download servers.
    I hope this helps.

  • Exception:[java.lang.IllegalArgumentException: Cannot cast 02 to boolean]

    Hi Friends,
    I am facing a issue in mapping. My scenario is IDOC to JDBC.
    I have done mapping in the give below way.
    If segment1 and segment2 both exists and attyp(field of segment1) is equal to '00' or '01' then segment1 replicate into table.
    I am facing a error while testing the mapping is:
    RuntimeException in Message-Mapping transformation: Exception:[java.lang.IllegalArgumentException: Cannot cast 02 to boolean] in class com.sap.aii.mappingtool.flib3.Bool method or[02, 01, com.sap.aii.mappingtool.tf3.rt.Context@459926e5]
    Kindly suggest me on this.
    Regards,
    Narendra Goyal

    My Mapping in such a way:
                              01      attyp
                                \          \               segment1
                                or   -  equals           \
                                 /          \                then
                               02         and   -    if              ->       Table
    segment1 - exists   \      /                 else
                                  and                      /
    segmen2 - exists   /             some more condition

  • RUNTIME EXCEPTION-Cannot cast null to boolean'.

    Hi Friends,
    I have the below mapping.The if condition is satisfied,even though 'then' value is going to the target field.
    When i try to check the queue of the 'IF' function it is throwing error RUNTIME EXCEPTION-Cannot cast null to boolean
                   >splitbyvalue(eachvalue)----> then
                  ->splitbyvalue(eachvalue)>if---->target field
                                     ->mapwithdefault->else
    Please help !!!
    Regards,
    Suresh.

    Hi,
    Thanks for the input!!
    In the below mapping suppose both 'equals' are satisfied then constant value '123' will go to target field otherwise 'else' value will go.
    constant(123)----
                              >concat>splitbyvalue(eachvalue)----
    > then
    E1K1456(source segment)-->\
    equals/
             >and--
    ---equals-\
                                                             concat>splitbyvalue(eachvalue)>if------>target field
    E1K1456(source segment)----
    >\
                                                              source field ->mapwithdefault->else
    Regards,
    Suresh.

  • Exception:[com.sap.aii.mappingtool.tf7.FunctionException: Cannot cast '' to

    Hi Experts,
    i need to map sourse type as decimal with target type also decimal. in the mapping logic i need perform arthemetic logic like exchange rate=exchangerate*sourceunit/targetunit
    i mapped as per the logic but i tested in display queue i am getting this below error
    Exception:[com.sap.aii.mappingtool.tf7.FunctionException: Cannot cast '' to decimal number] in class com.sap.aii.mappingtool.flib7.Arithm method mul[, , com.sap.aii.mappingtool.tf7.rt.Context@13133cec] See error logs for details
    is this required to  use UDF to perform my logic. if it required please suggest me the UDF.
    thanks,
    pavan
    Edited by: Pavan Kumar Thiruveedula on Dec 19, 2011 7:12 AM

    Enter the value in test tab for the field and then check Display queue.
    i Guess you are testing with blank value

  • Multi Mapping error

    Hi,
    I am required to have a IP recieve 3 IDOC types triggered from BD10 . It can trigger 3 or more IDOCs. For Eg.
    1 ARTMAS (only 1) , 2 INFRECs and 1 LIKOND.
    If anyone IDOC has come then after a waiting period of 1 minute it should come out of FORK.
    My IP is like this.
    In a FORK there are 4 branches.
    1) ARTMAS receiver
    2) Loop(infinite) with INFREC Receiver and a Container Operation to collect all IDOCs
    3) Loop(infinite) with LIKOND Receiver and a Container Operation to collect all IDOCs
    4) A wait Step with a container operation to initialize endtime variable
    necesary branches: 4
    The Fork Comes out when the end condition is met ie the End variable is Set or if all the IDOCS have  come.
    Corelation on MATNR.
    Next I have the transormation and send step.
    In the MM i have 3 Source and 1 Target.
    Artmas 0-1 occurance
    INFREC 0 - unbounded
    LINKND 0-unbounded
    I have created the Target with External Definition and have set the correct occurance in the XSD file
    I have mapped the neceessary Segments from INFREC and LIKOND and all the Segments of ARTMAS to the Target structure.
    In SXMBMONI it says error on Outbound side and
    I see Mapping Exception  when I seen in WORKFLOW.
    Is my design Correct?
    I have tested the Interface & Message Mapping they are correct
    Request your help.
    John Rajesh
    <?xml version="1.0" encoding="utf-8" ?>
    - <MappingTrace>
      <Trace level="1" type="T">Mapping-Namespace:http://test.com/usa/SapRetail/ARTICLE_CLASSIFY/TESTDEMO</Trace>
      <Trace level="1" type="T">Mapping-Name:IM_ARTMAS04_TO_ZARTMAS04_PUB01</Trace>
      <Trace level="1" type="T">Mapping-SWCV:00000000000000000000000000000000</Trace>
      <Trace level="1" type="T">Mapping-Type:JAVA</Trace>
      <Trace level="1" type="T">Mapping-Program:com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_</Trace>
      <Trace level="3" type="T">Multi mapping required.</Trace>
      <Trace level="3" type="T">Creating Java mapping com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_.</Trace>
      <Trace level="3" type="T">Load b8f12d30-2c45-11da-90af-ef160a892024, http://test.com/usa/SapRetail/ARTICLE_CLASSIFY/TESTDEMO, -1, com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_.class.</Trace>
      <Trace level="3" type="T">Search com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_.class (http://test.com/usa/SapRetail/ARTICLE_CLASSIFY/TESTDEMO, -1) in swcv b8f12d30-2c45-11da-90af-ef160a892024.</Trace>
      <Trace level="3" type="T">Loaded class com.sap.xi.tf._MM_ARTMAS04_TO_ZARTMAS04_PUB_</Trace>
      <Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._MM_ARTMAS04_TO_ZARTMAS04_PUB_</Trace>
      <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_MM_ARTMAS04_TO_ZARTMAS04_PUB_</Trace>
      <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns4:Messages/ns4:Message1/ZARTMAS04_PUB/IDOC. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:292) at

    Check the following
    1. Have u mapped the root level element?
    2. Inside interface mapping, when u say read interface, is it diplaying both the interface.
    Also check ur input
    may be u r not providing proper input
    Regards,
    Prateek

  • Strange Data Mapping Errors after SEM 6 Upgrade. Please assist.

    Hi All, I encountered these sudden Mapping errors after I tried to do Testing in Post Upgrade Sand Box. Here I am trying to to perform Collected Reported Financial Data under Data Collection Method for a particular Company Code 3040. Kindly help me with some quick responses as this is kind of high priority. The errors and the Diagnosis Notes I am unable to follow as I do not where I shall write those Mapping Rules they are referring to. I do not even know if that need to apply any SAP Notes as such. Once again Highly appreciate your quick response and Many Thanks in Advance.
    Regards, BIP
    Input conversion for field Period Value LC has invalid format Message no. UCT8210 Diagnosis The mapping rule for target field Period Value LC contains a move with a selected Input Conversion indicator. Therefore, the system performs an input conversion prior to creating the target data. However, an error in the input conversion occurred while moving the source key figure to the target key figure Period Value LC. This means that the format used for the input conversion is incompatible with the target data. System Response The system will not perform the move. Procedure Examine the mapping rule for field Period Value LC. Either select the Conversion Exit indicator or deselect the Input Conversion indicator. Execute the method again. -
    3040 is incompatible with input format for field /1FB/COMPANY Message no. UCT8258 Diagnosis During execution, the method derives the source selection for source field /1FB/COMPANY from the mapping rule for the target field. 3040 is one of the values that were derived for the source selection. The system requires that this value is in the correct SAP-internal format because the Conversion Exit indicator has been selected in the move operator for field /1FB/COMPANY. However, the value 3040 is incompatible with the SAP-internal format. System Response The system attempts to interpret value 3040 as an external format and convert it to the internal format. If this fails, the system is unable to restrict the source selection using source field /1FB/COMPANY. In this case, the system may read more source data than was originally intended, which can affect performance. Procedure In the log, choose the Source button to display the source selections that are used to read the source data. When this appears, examine values selected for field /1FB/COMPANY. If the correct values were selected, you can ignore this message. To prevent this message from being issued, you can select the indicator in the mapping rule used by source field /1FB/COMPANY. If incorrect values were selected, make sure that the mapping rule used by source field /1FB/COMPANY has been defined correctly. If the mapping rule is correct and value (3040) derived for the source selection does not affect the overall result, you can ignore this message. If the source selection does not contain the value 3040 for field /1FB/COMPANY and, because of this, source data that is supposed to be read is not being read, make sure that the mapping rule has been defined correctly. If the source selection does not contain any value for field /1FB/COMPANY, make an estimation as to how much excess source data is being read and whether this might affect system performance. If you do not expect any performance problems, you can ignore this message. In any event, you have the following alternatives if the mapping rule is defined correctly, but the source selection on field /1FB/COMPANY is unsatisfactory: You can define a source selection for field /1FB/COMPANY in the Customizing settings for the method on the Selection tab page. Then the method uses this source selection instead of the source selection derived from inverse interpretation of the mapping rule. You can implement the Business Add-In (BAdI) UC_DATATRANSFER and use the method INVERT to determine the source selection on field /1FB/COMPANY. Then the method uses the result of the INVERT method for the source selection instead of the source selection derived from inverse interpretation of the mapping rule. -
    Cannot derive the source selection from target field Version Message no. UCT8252 Diagnosis Field Version has one of the following roles: Consolidation unit Group currency key Fiscal year Posting period Version To delimit the volume of the source data to be read, the system usually derives the source selection from the target selection of such a field. However, the system cannot derive a source selection from field Version. System Response It is possible that a greater volume of source data is being read than is necessary. This can lead to performance issues. Procedure Check whether a mapping rule is defined for field Version. If a mapping rule is defined, you can disregard this warning message. However, if you discover after method execution that the system did not process a large amount of data, and that system performance was not satisfactory, you may want to examine the source selection by choosing the Source button in the log. If the reason for the disregarded data is that too much source data was read because of the unrestricted selection on the source field (which is linked with target field Versionthrough mapping), choose one of the alternatives below: Change the mapping rule for field Version so that the system can derive a delimiting source selection. Implement the Business Add-In (BAdI) UC_DATATRANSFER with the method INVERT to delimit the selection for the source field that is linked via mapping to the target field Version. -
    Cannot derive the source selection from target field Group Currency Message no. UCT8252 Diagnosis Field Group Currency has one of the following roles: Consolidation unit Group currency key Fiscal year Posting period Version To delimit the volume of the source data to be read, the system usually derives the source selection from the target selection of such a field. However, the system cannot derive a source selection from field Group Currency. System Response It is possible that a greater volume of source data is being read than is necessary. This can lead to performance issues. Procedure Check whether a mapping rule is defined for field Group Currency. If a mapping rule is defined, you can disregard this warning message. However, if you discover after method execution that the system did not process a large amount of data, and that system performance was not satisfactory, you may want to examine the source selection by choosing the Source button in the log. If the reason for the disregarded data is that too much source data was read because of the unrestricted selection on the source field (which is linked with target field Group Currency through mapping), choose one of the alternatives below: Change the mapping rule for field Group Currency so that the system can derive a delimiting source selection. Implement the Business Add-In (BAdI) UC_DATATRANSFER with the method INVERT to delimit the selection for the source field that is linked via mapping to the target field Group Currency
    1 is incompatible with input format for field FISCPERIOD Message no. UCT8258 Diagnosis During execution, the method derives the source selection for source field FISCPERIOD from the mapping rule for the target field. 1 is one of the values that were derived for the source selection. The system requires that this value is in the correct SAP-internal format because the Conversion Exit indicator has been selected in the move operator for field FISCPERIOD. However, the value 1 is incompatible with the SAP-internal format. System Response The system attempts to interpret value 1 as an external format and convert it to the internal format. If this fails, the system is unable to restrict the source selection using source field FISCPERIOD. In this case, the system may read more source data than was originally intended, which can affect performance. Procedure In the log, choose the Source button to display the source selections that are used to read the source data. When this appears, examine values selected for field FISCPERIOD. If the correct values were selected, you can ignore this message. To prevent this message from being issued, you can select the indicator in the mapping rule used by source field FISCPERIOD. If incorrect values were selected, make sure that the mapping rule used by source field FISCPERIOD has been defined correctly. If the mapping rule is correct and value (1) derived for the source selection does not affect the overall result, you can ignore this message. If the source selection does not contain the value 1 for field FISCPERIOD and, because of this, source data that is supposed to be read is not being read, make sure that the mapping rule has been defined correctly. If the source selection does not contain any value for field FISCPERIOD, make an estimation as to how much excess source data is being read and whether this might affect system performance. If you do not expect any performance problems, you can ignore this message. In any event, you have the following alternatives if the mapping rule is defined correctly, but the source selection on field FISCPERIOD is unsatisfactory: You can define a source selection for field FISCPERIOD in the Customizing settings for the method on the Selection tab page. Then the method uses this source selection instead of the source selection derived from inverse interpretation of the mapping rule. You can implement the Business Add-In (BAdI) UC_DATATRANSFER and use the method INVERT to determine the source selection on field FISCPERIOD. Then the method uses the result of the INVERT method for the source selection instead of the source selection derived from inverse interpretation of the mapping rule
    Input must be in the format ___,___,__~ Message no. 00088 Diagnosis Your entry does not match the specified input format. System Response The entry in this field was rejected. Procedure The entry must comply with the edit format. The following edit format characters have a special meaning: "_" (underscore) There should be an input character at this point; this should be a number for numeric fields. "." (decimal point) (applies to numeric fields) The decimal point occurs here (setting in the user master record). "," (thousands separator) (applies to numeric fields) This separator occurs (optionally) for more than three figures. Depending on the setting in the user master record, it can be a period or a comma. "V" (applies to numeric fields) The operational sign appears here. If used, it must by at the right margin of the field. The sign is either "-" or " "(space). "~" (tilde) (applies to numeric fields) As of and including this character, leading zeros must also be entered. Otherwise, this character has the same meaning as an underscore. Leading zeros need not be entered on the left of the tilde. They are not output at this position. All other characters have their normal meanings and must be entered in the same position as in the edit format.

    Hi Dan,
    Could you Kiindly advise me where we need to write the Mapping Rules in Consolidation Monitor? All he time the errors refering to Mapping Rules. The only Tab I seen "Mapping" is in Data Basis But as per my Understanding Iwe do not have much to do there as it is system generated Mapping Tab.
    Where we actually go and select/deselct those Input Conversion Indicator/ Conversion exit Indicator.
    Highly appreciate your advise.
    Thanks and Regards,
    BIP

  • Catch mapping error message in BPM Exception branch

    Hi dudes,
    Does anyone know how to catch the mapping runtime error message into a BPM exception branch? I know how to create an exception branch and how to trigger it, but I wonder whether it's possible to pass the mapping error message as shown in SXI_MONITOR (i.e. 'Cannot create target element XXXXX. Values missing in queue context').
    Otherwise, everytime my BPM fails I will have to take the payload and run the mapping test in order to find out the reason of the error.
    Many thanks in advance!
    Paco

    Thanks,
    My problem is not about handling exception in BPM, but getting the mapping error description and then passing it to the exception branch.
    I can see in the workflow log that this info is contained into the Exception container EXCEPTIONS[2] / T100MSG:
    Message Class: SAI_MAPPING
    Message Number: 217
    Message Type: E
    Message Variable: com/sap/xi/tf/_<MM name>
    Message Variable: com.sap.aii.mappingtool.tf7.IllegalInstanceExcepti
    Message Variable: on: Cannot create target element /ns1:<path/field>.Message Variable: Values~
    The text in bold is the one I am interested in to be get and mapped into the exception branch.

  • BPM Collect Pattern: N:1 Mapping error in trnsformation step

    Dear All,
    I am using collect pattern Payload Dependant.
    I have one source data type and one target data type. Mapping is one to one.
    Data type contains 3 fields, Value Name and Surname.
    In Loop I have used condition when Counter is equal to value stop the loop.
    I have used Transformation step as I am using N:1 mapping.
    I have used abastrct to abastract message mapping.
    Source message is 0 to unbounded.
    In interface mapping target message occourance is 1. But in mapping program target message occourance is 0 to unbounded.
    When I am running my scenario, Third party to IP is working fine. But in IP i am getting error in transformation step.
    "com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:Collect_Receiver_MT. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.start"
    Can anybody will help me to solve this problem?
    Warm Regards,
    Gouri

    Have a look
    http://help.sap.com/saphelp_nw04/helpdata/en/de/766840bf0cbf49e10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/cb/15163ff8519a06e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    /people/kannan.kailas/blog/2005/12/07/posting-multiple-idocs-with-acknowledgement
    Also have a look at these seminars,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/daea5871-0701-0010-12aa-c3a0c6d54e02
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/e8515171-0701-0010-be98-e37bec4706cc
    Thanks

  • Message Mapping error:  RuntimeException in Message-Mapping transformation

    Hi,
    Being new to XI, I am struglling to sort out a basic mapping error. Appreciate if you could help out.
    Its an File->XI->R/3 scenario.
    My FCC successfully reads the File and creates an XML. However this XML is not transferred to the target XML structure which is exactly same except the root element name is different at top.
    I tried various forum tips but I still am getting the error.
    ( When I Test the Message mapping in test mode..it seems fine, however if I copy the XML from SXMB_MONI, it then throws the above error)
    I looked at the MM in text mode: below is the extract
    /ns0:MT_REQUEST_TO_SAP/REQUEST_DETAILS/MSG_HEADER=/ns0:MT_REQUEST/REQUEST_DETAILS/MSG_HEADER=
    /ns0:MT_REQUEST_TO_SAP/REQUEST_DETAILS/MSG_HEADER/SOURCE=/ns0:MT_REQUEST/REQUEST_DETAILS/MSG_HEADER/SOURCE=
    /ns0:MT_REQUEST_TO_SAP/REQUEST_DETAILS/MSG_HEADER/DESTINATION=/ns0:MT_REQUEST/REQUEST_DETAILS/MSG_HEADER/DESTINATION=
    /ns0:MT_REQUEST_TO_SAP/REQUEST_DETAILS/MSG_HEADER/MESSAGE_ID=/ns0:MT_REQUEST/REQUEST_DETAILS/MSG_HEADER/MESSAGE_ID=
    As seen the name space in both starts with nS0 and end of each line has '=' sign. Is that ok.
    I have run out of options and dont know , whats the problem. Please help.
    The target and Source XML structures are exactly same as shown below
    MT_REQUEST                                 MT_REQUEST_TO_SAP
       |__MSG_HEADER                            |__MSG_HEADER  
         |__SOURCE                                |__SOURCE
         |__DESTINATION                           |__DESTINATION
         |__MESSAGE_ID                            |__MESSAGE_ID
    And the SXMB_MONI Trace shows the following error
    <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation:
    Cannot produce target element /ns0:MT_REQUEST_TO_SAP.
    Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at ..
    Thanks
    Shirin
    Edited by: Shirin K on May 29, 2008 10:29 AM

    Hi Prakasu,
    As structure are exactly same, I have done 1:1 mapping. So all the fields in target structure are mapped, so no field has beeen left.
    In this structure, I do not have any 1:n relation. So 1:1 mapping should be fine.
    Apart from this could teher be any other reason.
    Regards
    Rajiv

Maybe you are looking for