Message mapping--Context related

<b>Input file:</b>
<?xml version="1.0" encoding="UTF-8" ?>
- <Group01>
  <Field1>A1</Field1>
  <Field2>A1_B1</Field2>
  <Field3>A1_B1_C1</Field3>
  </Group01>
- <Group01>
  <Field1>A1</Field1>
  <Field2>A1_B2</Field2>
  <Field3>A1_B2_C1</Field3>
  </Group01>
- <Group01>
  <Field1>A1</Field1>
  <Field2>A1_B2</Field2>
  <Field3>A1_B2_C2</Field3>
  </Group01>
- <Group01>
  <Field1>A2</Field1>
  <Field2>A2_B1</Field2>
  <Field3>A2_B1_C1</Field3>
  </Group01>
- <Group01>
  <Field1>A2</Field1>
  <Field2>A2_B2</Field2>
  <Field3>A2_B2_C1</Field3>
  </Group01>
- <Group01>
  <Field1>A2</Field1>
  <Field2>A2_B2</Field2>
  <Field3>A2_B2_C2</Field3>
  </Group01>
<b>Output file</b>
<?xml version="1.0" encoding="UTF-8"?>
   <Group1>
      <Feld1>A1</Feld1>
      <Group2>
         <Feld2>A1_B1</Feld2>
         <Group3>
            <Feld3>A1_B1_C1</Feld3>
         </Group3>
      </Group2>
      <Group2>
         <Feld2>A1_B2</Feld2>
         <Group3>
            <Feld3>A1_B2_C1</Feld3>
         </Group3>
         <Group3>
            <Feld3>A1_B2_C2</Feld3>
         </Group3>
      </Group2>
   </Group1>
   <Group1>
      <Feld1>A2</Feld1>
      <Group2>
         <Feld2>A2_B1</Feld2>
         <Group3>
            <Feld3>A2_B1_C1</Feld3>
         </Group3>
      </Group2>
      <Group2>
         <Feld2>A2_B2</Feld2>
         <Group3>
            <Feld3>A2_B2_C1</Feld3>
         </Group3>
         <Group3>
            <Feld3>A2_B2_C2</Feld3>
         </Group3>
      </Group2>
   </Group1>
Is it possible to do XI mapping without writing any UDF?
Thanks
Shubhankar

Hi Raj,
As per your suggestion I am getting below output
<?xml version="1.0" encoding="UTF-8" ?>
- <Group1>
  <Feld1>A1</Feld1>
- <Group2>
  <Feld2>A1_B1</Feld2>
- <Group3>
  <Feld3>A1_B1_C1</Feld3>
  </Group3>
  </Group2>
  </Group1>
- <Group1>
  <Feld1>A2</Feld1>
- <Group2>
  <Feld2>A1_B2</Feld2>
- <Group3>
  <Feld3>A1_B2_C1</Feld3>
  </Group3>
  </Group2>
  </Group1>
I was trying with below rule for Group2
                         Field2------------------
                                             formatByEample  Group2
Field1[Change Context to higher node]--SplitByValue[Value Changed]
and it is almost working and giving the snapshot of my output. You can see same value A1_B2 is coming twice but I am expecting only one A1_B1. that is not happening.
- <Group2>
  <Feld2>A1_B2</Feld2>
- <Group3>
  <Feld3>A1_B2_C1</Feld3>
  </Group3>
  </Group2>
- <Group2>
  <Feld2>A1_B2</Feld2>
- <Group3>
  <Feld3>A1_B2_C2</Feld3>
  </Group3>
  </Group2>
Thanks
Shubhankar

Similar Messages

  • Help with Message Mapping - Context Change

    I need help with the following message mapping.  I am filtering by EMP_STAT in the Message Mapping.  I have this working for the ROW structures, but I can get the HEADER/REC_COUNT field to calculate.  I can do just a record count of ROW and get it to work, but I can't get it to work with the filter EMP_STAT = 'REG' added.  I get a context error.  Could someone send me the mapping code.
    Sender XML----
    <RECORD>
    <ROW>
    <EMPLOYEE>111</EMPLOYEE>
    <EMP_STAT>REG</EMP_STAT>
    </ROW>
    <ROW>
    <EMPLOYEE>222</EMPLOYEE>
    <EMP_STAT>PT</EMP_STAT>
    </ROW>
    <ROW>
    <EMPLOYEE>333</EMPLOYEE>
    <EMP_STAT>REG</EMP_STAT>
    </ROW>
    </RECORD>
    Receiver XML----
    <RECORD>
    <HEADER>
    <REC_COUNT>2</REC_COUNT>
    </HEADER>
    <ROW>
    <EMPLOYEE>111</EMPLOYEE>
    <EMP_STAT>REG</EMP_STAT>
    </ROW>
    <ROW>
    <EMPLOYEE>333</EMPLOYEE>
    <EMP_STAT>REG</EMP_STAT>
    </ROW>
    </RECORD>

    Hello,
    You can use this mapping
    For REC_COUNT:
    EMP_STAT -> equalsS: constant:REG -> ifWithoutElse -> removeContext -> count -> REC_COUNT
                                     EMPLOYEE -> /
    For ROW:
    EMP_STAT -> equalsS: constant:REG -> ifWithoutElse -> removeContext -> ROW
                                     EMPLOYEE -> /
    For EMPLOYEE:
    EMP_STAT -> equalsS: constant:REG -> ifWithoutElse -> removeContext -> SplitByValue -> EMPLOYEE
                                     EMPLOYEE -> /
    For EMP_STAT:
    Constant: REG -> EMP_STAT
    Hope this helps,
    Mark

  • Graphical Message Mapping - context issue

    Hi experts,
    This is the source structure I have http://www.flickr.com/photos/45449397@N03/4273866518/
    Now, for the target segment, I need to do the following:
    For every block of EAN, I need to check the CHECK fields.
    So for EAN 1111, I see 4 X's. But I need to check the distinct values.
    So, 1 x for CHECK_1, 1 x for CHECK_2 and 1 X for CHECK_5.
    As soon as there is an X, I need to create a target. Even if there are several X values in the same column, I only need it once.
    --> target will be 3 different segment groups.
    For EAN 2222, I only need 1 target segment group.
    Please advice.
    Thanks a lot!
    Dimitri

    I was about to write this that you will face this blank issue.
    You have to remove those blank vaues. We have to choices to do that either we modify the current UDF or we write one more very samll advanced UDF of type "queue".
    If we go for option 2 then the new UDF2 code will be like this..
    while creating the udf just select the type as queue (you will see 3 options: single value, context & queue)
    I guess the default argument will be "var1", if yes you can leave it as it is and the just copy and paset the code.
    for (int i = 0; i < var1.length; i++ )
    if (! var1<i>.equals(""))
    result.addValue( var1<i> );
    Now the mapping will be something like this..
    Source --> old UDF--->RemoveContext--->new UDF --->Target.
    But if you like to go for option 1 then first change the type of UDF to Queue and then in the code modify the "return" statement e.g.
    if (RegTH.equals('X'))
    result.addValue( ExpTH );
    else if (RegHI.equals('X'))
    result.addValue( ExpHI );
    else if (RegLO.equals('X'))
    result.addValue( ExpLO );
    else if (RegPE.equals('X' ))
    result.addValue( ExpPE );
    else if (RegLOW.equals('X'))
    result.addValue( ExpLOW );
    result.addValue( ResultList.SUPPRESS );
    Note: for option 1 you have to set context of source value to their heighest level, so that there shouldn't be a context change. Or you can use RemoveContext.

  • Message Mapping: Map value from the first element in a context in target el

    Hi experts,
    I have a problem with a message mapping in XI. I hope you can help me. At first I will give you a source and a target structure. Then I will explain the problem.
    <u>Source structure:</u>
    <E1EDP01>
       <E1EDPT1>
          <TDID> ... </TDID>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
       </E1EDPT1>
    </E1EDP01>
    The structure can contain more than one E1EDP01-Elements, more than one E1EDPT1-Elements and more than one E1EDPT2-Elements.
    <u>target structure:</u>
    <LineItem>
       <vendmemo> ... </vendmemo>
    </LineItem>
    For every E1EDP01-Element my mapping creates one LineItem-Element in the target structure. To fill the element <vendmemo> the mapping should do the following steps:
    The mapping should search in E1EDP01 for a E1EDPT1 with the TDID = Z505. And from this E1EDPT1-Element (with the TDID=Z505) the mapping should take the value <TDLINE> from the first E1EDPT2-Element in the context of the E1EDPT1-Element (the E1EDPT1 with the TDID=Z505) and put this value in <vendmemo>.
    The mapping should do this action for every E1EDP01 -> so for every LineItem.
    I tried it with UDF but I didn't found a solution. Can anybody help me?
    best regards
    Christopher

    Hello experts,
    i was wrong ... my mapping isn't still working. I had created a test instance. and only for this test instance the mapping (see above) works.
    Can anybody help me? I'm trying the whole day but I can't find a solution. Here a second description of my problem:
    <u>Source Structure:</u>
    <E1EDP01>
       <E1EDPT1>
          <TDID> ... </TDID>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
       </E1EDPT1>
    </E1EDP01>
    <E1EDP01>
       <E1EDPT1>
          <TDID> ... </TDID>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
       </E1EDPT1>
    </E1EDP01>
    <u>Target Structure:</u>
    <LineItem>
       <vendmemo> ... </vendmemo>
    </LineItem>
    <LineItem>
       <vendmemo> ... </vendmemo>
    </LineItem>
    <u>Description of my Problem:</u>
    For each E1EDP01 in the source structure the mapping creates one LineItem in the target structure.
    The element "vendmemo" should be created in any case ... also if it will be empty.
    To fill the element "vendmemo" the mapping should search in E1EDP01 for a E1EDPT1 with the TDID=Z505. If there is an element E1EDPT1 with the TDID=Z505, the mapping should write the TDLINE from the first E1EDPT2 (under the element E1EDPT1 with the TDID=Z505) in the target field "vendmemo".
    The Problem is that TDLINE an TDID are not in the same context. I tried it with setting the context of both to E1EDP01. But it was not working ... have you any idea oder suggestion?
    Thank you very much
    best regards
    Christopher

  • Message Mapping - Initialize counter every context change

    Hi all,
    is there any way to develop a counter customer function in a graphical message mapping so every context change of a field the counter initializes?
    Imagine i have the following structure:
    1 DATA
    1.1 DETAIL
    1.2 DETAIL
    2 DATA
    2.1 DETAIL
    2.2 DETAIL
    and i wanna count DETAIL fields but initialize the counter every DATA field. Is there any way to do it?
    Thanks a lot.

    Hi,
    If your Source structure is
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://yash.com.YH1309">
       <DATA>
          <DETAIL/>
          <DETAIL/>
       </DATA>
       <DATA>
          <DETAIL/>
          <DETAIL/>
          <DETAIL/>
       </DATA>
    </ns0:MT_DATA>
    and You want the Target as
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://yash.com.YH1309">
       <DATA>
          <DETAIL>COUNTER=1</DETAIL>
          <DETAIL>COUNTER=2</DETAIL>
       </DATA>
       <DATA>
          <DETAIL>COUNTER=1</DETAIL>
          <DETAIL>COUNTER=2</DETAIL>
          <DETAIL>COUNTER=3</DETAIL>
       </DATA>
    </ns0:MT_DATA>
    Create the below UDF with one argument (DETAIL)  and select Execution type all values of a Context
    for (int i =1;i<=DETAIL.length;i++)
    result.addValue("COUNTER=" + i);
    but if you want Your Target as
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://yash.com.YH1309">
       <DATA>
          <DETAIL>1</DETAIL>
          <DETAIL>2</DETAIL>
       </DATA>
       <DATA>
          <DETAIL>1</DETAIL>
          <DETAIL>2</DETAIL>
          <DETAIL>3</DETAIL>
       </DATA>
    </ns0:MT_DATA>
    So please Follow abhishek salvi's reply

  • What is context in message mapping

    Hi All,
    What is context in message mapping?
    Thanks,
    Anil.

    Hi Anil
    Go thru the following blogs by Sravya
    <a href="/people/sravya.talanki2/blog/2005/08/16/message-mapping-simplified--part-i Mapping Simplified - Part 1</a>
    <a href="/people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii Mapping Simplified - Part 2</a>
    Regards
    Santhosh

  • Query related message mapping: Play with queue.

    Hi
    i have a text file which i converting using File Content Conversion of file sender adapter. My file was very nested so i couldn't convert it the way i wanted i.e.
    <Header></Header>
    <Detail>
        <Weights></Weights>
    </Detail>
    <Trailer></Trailer>
    So now I m left with this kind of source xml:
    <ns: MT_REQ>
    <header>
    </header>
    <Detail>
    </Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    <Detail>
    </Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    <trailer>
    </trailer>
    And i want to map it to the same message type <ns: MT_REQ> but due to queuing of data it gives the following result:
    <ns: MT_REQ>
    <header>
    <Identifier>H</Identifier>
    </header>
    <Detail>
    <Identifier>D</Identifier>
    Identifier>
    </Detail>
    <Detail>
    <Identifier>D</Identifier>
    </Detail>
    <Weight>
    <Identifier>W</Identifier>
    </Weight>
    <Weight>
    <Identifier>W</Identifier>
    </Weight>
    <Weight>
    <Identifier>W</Identifier>
    </Weight>
    <Weight>
    <Identifier>W</Identifier>
    </Weight>
    <trailer>
    <Identifier>T</Identifier>
    </trailer>
    i.e. all detail together then weights and header trailer on top and bottom. Now the problem is there is no relation between the weights and detail except that in the monitoring it comes like
    1. First detail tag opens and closes with its data
    2  then weights which are the heirarchy  detail 1 open and closes
    3  then second detail opens and closes and then weights of second detail comes under it before any third detail tag opens
    So i was wondering if with the help of functions provided in the message mapping it will generate exact mirror image of my source  <ns: MT_REQ>  into the target  <ns: MT_REQ1> which is the exact replica of the former.
    I tried it with FormatByExample but dd not work. Is there any Userdefined function or something foe my problem.
    Please help !!
    Naina

    Stefen
    My Inbound file was coming correctly like this :
    record
    - detail
    - weight
    - weight
    record
    - detail
    - weight
    but when mapping to the target in same style it was going this way
    - detail
    - detail
    - weight
    - weight
    - weight
    so what i did...i asked the portal people to add an identifier to the details and weights so that i can read it and write a UD to finally map it correctly:
    - 1detail
    - 2detail
    - 1weight
    - 1weight
    - 2weight
    - 2weight
    it is working properly now....thanks to you all.....have given the points

  • Resource Exception   -  Message mapping

    Hi all,
    I get this error  when I process large number of records in a message(>50,000). We use the oracle data source to get the connection in Message mapping. Connections are nowhere reaching to max number of connections set in the DS. This error is not consistent. Sometimes even if the records are more than 100,000 , it works fine. We call the datasource from pure java . We don't use the EJB.
    Thanks in advance,
    Satya.
    Here is error :
       <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_SAP_APPL_test_MM_</Trace>
      <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Exception:[java.lang.RuntimeException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Error in ResourceSet.addAndEnlist("[email protected]8267e[com.sap.engine.services.dbpool.cci.ConnectionHandle@463c88c8](delisted:false) -> [email protected]71c8e6 --> 74(locTrSupp:false)").] in class com.sap.xi.tf._SAP_APPL_test_MM_ method getMapValue$[1492-N17 A, 1, com.sap.aii.mappingtool.tf3.rt.Context@23c363ec] at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:303) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy34.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor3008.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171) 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:95) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.RuntimeException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Error in ResourceSet.addAndEnlist("[email protected]8267e[com.sap.engine.services.dbpool.cci.ConnectionHandle@463c88c8](delisted:false) -> [email protected]71c8e6 --> 74(locTrSupp:false)").] in class com.sap.xi.tf._SAP_APPL_test_MM_ method getMapValue$[1492-N17 A, 1, com.sap.aii.mappingtool.tf3.rt.Context@23c363ec] 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.AMappingProgram.processNode(AMappingProgram.java:186) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:298) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy34.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor3008.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171) 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:95) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor3328.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.AMappingProgram.processNode(AMappingProgram.java:186) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:298) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy34.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor3008.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171) 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:95) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160) Caused by: java.lang.RuntimeException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Error in ResourceSet.addAndEnlist("[email protected]8267e[com.sap.engine.services.dbpool.cci.ConnectionHandle@463c88c8](delisted:false) -> [email protected]71c8e6 --> 74(locTrSupp:false)"). at com.racs.gpt.xref.util.DBConnect.getConnection(DBConnect.java:25) at com.racs.gpt.xref.scan.PerformScanPartial.populateResultset(PerformScanPartial.java:136) at com.racs.gpt.xref.scan.PerformScanPartial.getTargetValue(PerformScanPartial.java:60) at com.racs.gpt.xref.scan.PerformScanFactory.getScanner(PerformScanFactory.java:43) at com.racs.gpt.CrossReferenceAPI.getData(CrossReferenceAPI.java:21) at com.sap.xi.tf._SAP_APPL_test_MM_.getMapValue$(_SAP_APPL_test_MM_.java:110) ... 33 more</Trace>
      <Trace level="1" type="T">Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_SAP_APPL_test_MM_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Exception:[java.lang.RuntimeException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Error in ResourceSet.addAndEnlist("[email protected]8267e[com.sap.engine.services.dbpool.cci.ConnectionHandle@463c88c8](delisted:false) -> [email protected]71c8e6 --> 74(locTrSupp:false)").] in class com.sap.xi.tf._SAP_APPL_test_MM_ method getMapValue$[1492-N17 A, 1, com.sap.aii.mappingtool.tf3.rt.Context@23c363ec]</Trace>
      <Trace level="1" type="T">com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_SAP_APPL_test_MM_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Exception:[java.lang.RuntimeException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Error in ResourceSet.addAndEnlist("[email protected]8267e[com.sap.engine.services.dbpool.cci.ConnectionHandle@463c88c8](delisted:false) -> [email protected]71c8e6 --> 74(locTrSupp:false)").] in class com.sap.xi.tf._SAP_APPL_test_MM_ method getMapValue$[1492-N17 A, 1, com.sap.aii.mappingtool.tf3.rt.Context@23c363ec] at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:73) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy34.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor3008.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171) 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:95) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Exception:[java.lang.RuntimeException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Error in ResourceSet.addAndEnlist("[email protected]8267e[com.sap.engine.services.dbpool.cci.ConnectionHandle@463c88c8](delisted:false) -> [email protected]71c8e6 --> 74(locTrSupp:false)").] in class com.sap.xi.tf._SAP_APPL_test_MM_ method getMapValue$[1492-N17 A, 1, com.sap.aii.mappingtool.tf3.rt.Context@23c363ec] at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:303) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy34.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor3008.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171) 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:95) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.RuntimeException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Error in ResourceSet.addAndEnlist("[email protected]8267e[com.sap.engine.services.dbpool.cci.ConnectionHandle@463c88c8](delisted:false) -> [email protected]71c8e6 --> 74(locTrSupp:false)").] in class com.sap.xi.tf._SAP_APPL_test_MM_ method getMapValue$[1492-N17 A, 1, com.sap.aii.mappingtool.tf3.rt.Context@23c363ec] 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.AMappingProgram.processNode(AMappingProgram.java:186) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:298) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy34.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor3008.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171) 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:95) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor3328.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.AMappingProgram.processNode(AMappingProgram.java:186) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:204) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:298) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:63) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:77) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:94) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy34.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor3008.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171) 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:95) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160) Caused by: java.lang.RuntimeException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Error in ResourceSet.addAndEnlist("[email protected]8267e[com.sap.engine.services.dbpool.cci.ConnectionHandle@463c88c8](delisted:false) -> [email protected]71c8e6 --> 74(locTrSupp:false)"). at com.racs.gpt.xref.util.DBConnect.getConnection(DBConnect.java:25) at com.racs.gpt.xref.scan.PerformScanPartial.populateResultset(PerformScanPartial.java:136) at com.racs.gpt.xref.scan.PerformScanPartial.getTargetValue(PerformScanPartial.java:60) at com.racs.gpt.xref.scan.PerformScanFactory.getScanner(PerformScanFactory.java:43) at com.racs.gpt.CrossReferenceAPI.getData(CrossReferenceAPI.java:21) at com.sap.xi.tf._SAP_APPL_test_MM_.getMapValue$(_SAP_APPL_test_MM_.java:110) ... 33 more</Trace>

    Hi Satya,
    <i>This error is not consistent.</i> - So it is related to the physical memory and cache memory of your XI server.........this error may happen because some background process of your XI  server is consuming some of your server's memory sometimes...so your msg mapping is failing for less memory space for making a connection to your oracle data source sometimes......
    The only solution to your problem which i think is that you should increase the physical memory of your XI server.....or you need to redesign your scenario.....
    Thanks,
    Rajeev Gupta
    Message was edited by:
            RAJEEV GUPTA

  • Mapping Context problem-----it is urget

    Hi All,
              My source is Idoc Debmas06 and my target is Siebel XSD.source data come from 2 segments are 1) E1KNA1M in the fields are SORLT and NAME
                             2) E1KNVPM in the fields is KNREF and PARVW
    Target side structure are like this
      NpbackOfficeAccountRelationship(header level 0.1)
    NpbackOfficeAccountRelationship(itemlevel 0.unbounded)
       Fields are AccountId
                       RelateadedAccount ID
                       Name
                       Relationshiptyp
                       BORrowid
    I did mapping like this:
      1)  SORTL-------&#61664;
              E1KNA1M---- >  UseoneAsMany----
    >NpbackOfficeAccountRelationship
              E1KNVPM-&#61664;
    Set context also but I got error
    <b>I got error like</b> :
    Runtime exception during processing target field mapping /SiebelMessage/ListOfNpAccountNp/NpAccount/ListOfBackOfficeAccountRelationship/BackOfficeAccountRelationship. The message is: Exception:[com.sap.aii.mappingtool.tf3.IllegalInstanceException: Too few values in second queue in function useOneAsMany. It must have over all contexts the same number of values as third queue] in class com.sap.aii.mappingtool.flib3.NodeFunctions method useOneAsMany[, , ]
    com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /SiebelMessage/ListOfNpAccountNp/NpAccount/ListOfBackOfficeAccountRelationship/BackOfficeAccountRelationship. The message is: Exception:[com.sap.aii.mappingtool.tf3.IllegalInstanceException: Too few values in second queue in function useOneAsMany. It must have over all contexts the same number of values as third queue] in class com.sap.aii.mappingtool.flib3.NodeFunctions method useOneAsMany[, , ]
    at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:275)
    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.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:338)
    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:259)
    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:304)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
    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:[com.sap.aii.mappingtool.tf3.IllegalInstanceException: Too few values in second queue in function useOneAsMany. It must have over all contexts the same number of values as third queue] in class com.sap.aii.mappingtool.flib3.NodeFunctions method useOneAsMany[, , ]
    at com.sap.aii.mappingtool.tf3.rt.Q2QFunctionWrapper.cacheQueue(Q2QFunctionWrapper.java:105)
    at com.sap.aii.mappingtool.tf3.rt.Q2QFunctionWrapper.gotoNextContext(Q2QFunctionWrapper.java:43)
    at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:178)
    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.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:338)
    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:259)
    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:304)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
    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)
    RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /SiebelMessage/ListOfNpAccountNp/NpAccount/ListOfBackOfficeAccountRelationship/BackOfficeAccountRelationship. The message is: Exception:[com.sap.aii.mappingtool.tf3.IllegalInstanceException: Too few values in second queue in function useOneAsMany. It must have over all contexts the same number of values as third queue] in class com.sap.aii.mappingtool.flib3.NodeFunctions method useOneAsMany[, , ]
    06:55:02 End of test
    <b>I want like this format of target side :
    - <ListOfBackOfficeAccountRelationship>
    - <BackOfficeAccountRelationship>
      <AccountId>1-11VIP</AccountId>
      <Name2>XYZ PP Ltd</Name2>
      <RelatedAccountId>1-11VIP</RelatedAccountId>
      <RelationType>Bill To</RelationType>
      <BORowId>1-1U3JA</BORowId>
      </BackOfficeAccountRelationship>
    - <BackOfficeAccountRelationship>
      <AccountId>1-11VIP</AccountId>
      <Name2>XYZ PP Ltd</Name2>
      <RelatedAccountId>1-11VIP</RelatedAccountId>
      <RelationType>Sold To</RelationType>
      <BORowId>1-11VJ6</BORowId>
      </BackOfficeAccountRelationship>
      </ListOfBackOfficeAccountRelationship></b>

    Hi,
    1) Check out the incoming  value  from the  sender  side ..
    2) try to  give  account id and related  account  as  string  ..like  relation type.
    3) if java  code  is  used  for  mapping...re-import  again  and activate ,,the object...
    4) do you do  any  java validation..if so  check  the  code..is it  similar  to  the relation type..data type including  the way how  it is defined..
    Regards
    Agasthuri Doss

  • Upgrading from XI/PI7.0 to 7.1 having problems with message mapping

    Hello,
    We are in the process over the past week of testing our XI/PI functionality after upgrading our 7.0 XI/PI environment to PI7.1; in particular several maps that were accessible in 7.0 will not open or diaplay in 7.1 complaining of a missing node in the mapping structure. Currently working with SAP on a possible fix but wanted to know if anyone else has done a true migration on top of an existing XI/PI7.0 system and experiencing similar issues (note: the maps can execute in the runtime environment but we can't display the maps source within message mapping; this also does not occur for all maps and there is no clear consistant theme to those that can be displayed and those that can't).
    The lattest issue just encountered related to message mapping is that in test mode of a map (that can be displayed) attempting to display the data queue for the mapped elements are blank no data being displayed giving an error noting that the source text of object message mapping: name of the map; has syntax errors, java area import line x, package ibm.com.xi.mapping does not exist/ import ibm.com.xi.mapping UDF:
    Has anyone upgraded from PI7.0 to 7.1 and experienced errors with existing maps that worked ok (ans still work in our QX/PRD systems) in their 7.0 envirinment but encountereing strange errors once upgrated to 7.1?
    Thanks
    Dereck Purnell
    NewellRubbermaid

    Here is the solution we received from SAP to address the issue, there were several mapping related issues we started havng from maps that worked in our 7.0 system prior to the upgrade to PI 7.1. I will try to encorporate the solutions in this response.
    a) From Customer to SAP
    1. We are unable to open some massage mapping, it is throwing
    exception
    2. Number Format functions throw exception.
    But following issue is still unresolved:
    3. When we display message queue, it throws exception
    ***) 05.02.2009 - 12:34:33 CET - Reply by SAP     
    The patch has been released at the Service Marketplace.
    Please update the scas described in the note 1264871.
    The "FormatNum" function issue has also been taken care in this patch.
    Please go through the Note 1264871 for other behaviour changes after
    upgrade. Let us know if you need any further help.
    Regards,
    B) From Customer to SAP
    04.02.2009 - 00:23:44 CET - Info for SAP
    We discovered another issue with mapping.
    For some of the mappings, we are unable to display mapping queue. When
    we execute, Interface mapping and Massage mapping, it works fine. But
    display queue throws exception. Itu2019s not able to recognize libraries
    used from dependent software component.
    Please find document "Display Mapping Queue Issue" providing example
    problem.
    25.02.2009 - 07:05:28 CET - *Reply by SAP*     
    Thank you for your update. I wanted to check with "CopyValue"
    function's index. It has to take an input integer and the problem that
    found while debugging the opening of your mapping is that the input
    was empty thus causing the exception.
    I was going to suggest the intended use of "CopyValue" function.
    When the input to "copyValue" is a constant, "copyValue" is totally
    not necessary. Thus constant can be directly mapped to other function.
    When the input is a node with values in context, you can treat one of
    values say input[0] to used in mapping by using CopyValue[0].
    But please make sure that input[0] will always produce a value.
    Note 877964 will describe in detail on Copyvalue usage.
    I am marking this Message as complete. Please confirm.

  • UK E-Filing: Message Mapping Transformation

    Hello Everyone,
    Just curious to know if anyone has seen this error while working on E-Filing for the UK, while trying to send data to the Inland Revenue:
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:GovTalkMessage/ns0:Body/ns1:IRenvelope. 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
    Helpful, readable, and easy to understand reponses which provide a resolution to this issue, will be rewarded accordingly.
    Thanks for your help!
    John

    Hi John,
    1) Your problem is related to Message mapping only.
    2) This type of error means in mapping you have context problem. Some where your context is mismatched for IRenvelope node.
    3) Take your runtime xml and check directly in message mapping.
    4) Your output instances for IRenvelope is more than its occurances.
    5) Try by using RemoveContext function before your target node.
    Regards Rohit,
    Reward points if helpful

  • Not Able to Activate the Message Mapping in XI

    Hi All,
    I am facing error while activating a simple Message Mapping (Mapping which I have created using XI’s graphical mapping tool). What I understood from the error log is that, even though we are doing the graphical mapping, internally XI is creating a java mapping program. And while activation its basically compiling the graphical mapping (internally a java program) and while compilation this java program we are getting the error.
    we have XI 3 with SP17 version java 1.4.2_06 running
    i have copied the part of default.trace file which has the error
    #1.5#0011433286D800590000095B000023BC00041BABC8FCF82A#1156324532170#com.sap.engine.compilation#sap.com/com.sap.xi.repository#com.sap.engine.compilation.ExternalCompiler.compile()#RAKESHR#302#SAP J2EE Engine JTA Transaction : [657ffffffa42600cffffffac]#iscsapapp4w_NW2_106406950#RAKESHR#d9a3dc50328711dbbc700011433286d8#SAPEngine_Application_Thread[impl:3]_40##0#0#Error##Plain###Error while compiling :
    java.io.IOException: CreateProcess: null
    bin
    javac -J-Xmx256m @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/O1156324532061.txt @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/S1156324532124.txt error=2
         at java.lang.Win32Process.create(Native Method)
         at java.lang.Win32Process.<init>(Win32Process.java:66)
         at java.lang.Runtime.execInternal(Native Method)
         at java.lang.Runtime.exec(Runtime.java:566)
         at java.lang.Runtime.exec(Runtime.java:491)
         at java.lang.Runtime.exec(Runtime.java:457)
         at com.sap.engine.compilation.ExternalCompiler.compile(ExternalCompiler.java:73)
         at com.sap.aii.ib.server.cmpl.Compiler.compile(Compiler.java:192)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:203)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapService.java:361)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCodeWithoutAndWithArchives(ServerMapService.java:301)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileWithoutSave(ServerMapService.java:264)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compile(ServerMapService.java:222)
         at com.sap.aii.ibrep.server.check.mapping.XiMappingChecker.check(XiMappingChecker.java:113)
         at com.sap.aii.ibrep.server.mapping.xitrafo.XiTransformationChecker.check(XiTransformationChecker.java:114)
         at com.sap.aii.ibrep.server.check.mapping.InternalCheckServiceImplXiTransformation.checkObject(InternalCheckServiceImplXiTransformation.java:37)
         at com.sap.aii.ib.core.check.CheckServiceProvider$CheckServiceImpl.checkObject(CheckServiceProvider.java:98)
         at com.sap.aii.ib.server.oa.ServerObjectAccess.checkBeforeIntegrate(ServerObjectAccess.java:2205)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.releaseChangeList(ChangeListMgmtImpl.java:767)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.submitChangeList(ChangeListMgmtImpl.java:217)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:132)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:124)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtBean.submitChangeList(ChangeListMgmtBean.java:92)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10.submitChangeList(ChangeListMgmtRemoteObjectImpl10.java:435)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10p4_Skel.dispatch(ChangeListMgmtRemoteObjectImpl10p4_Skel.java:343)
         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)
    #1.5#0011433286D800590000095D000023BC00041BABC8FDCA9D#1156324532217#XIREP.com.sap.aii.ib.server.mapping.exec.ServiceUtil#sap.com/com.sap.xi.repository#XIREP.com.sap.aii.ib.server.mapping.exec.ServiceUtil#RAKESHR#302#SAP J2EE Engine JTA Transaction : [657ffffffa42600cffffffac]#iscsapapp4w_NW2_106406950#RAKESHR#d9a3dc50328711dbbc700011433286d8#SAPEngine_Application_Thread[impl:3]_40##0#0#Error#1#/Applications/ExchangeInfrastructure/Repository#Plain###Compilation process error : CreateProcess: null
    bin
    javac -J-Xmx256m @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/O1156324532061.txt @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/S1156324532124.txt error=2
    Thrown:
    MESSAGE ID: com.sap.aii.ib.server.cmpl.CompilerException
    com.sap.aii.ib.server.cmpl.CompilerException: Compilation process error : CreateProcess: null
    bin
    javac -J-Xmx256m @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/O1156324532061.txt @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/S1156324532124.txt error=2
         at com.sap.aii.ib.server.cmpl.Compiler.compile(Compiler.java:209)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:203)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapService.java:361)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCodeWithoutAndWithArchives(ServerMapService.java:301)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileWithoutSave(ServerMapService.java:264)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compile(ServerMapService.java:222)
         at com.sap.aii.ibrep.server.check.mapping.XiMappingChecker.check(XiMappingChecker.java:113)
         at com.sap.aii.ibrep.server.mapping.xitrafo.XiTransformationChecker.check(XiTransformationChecker.java:114)
         at com.sap.aii.ibrep.server.check.mapping.InternalCheckServiceImplXiTransformation.checkObject(InternalCheckServiceImplXiTransformation.java:37)
         at com.sap.aii.ib.core.check.CheckServiceProvider$CheckServiceImpl.checkObject(CheckServiceProvider.java:98)
         at com.sap.aii.ib.server.oa.ServerObjectAccess.checkBeforeIntegrate(ServerObjectAccess.java:2205)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.releaseChangeList(ChangeListMgmtImpl.java:767)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.submitChangeList(ChangeListMgmtImpl.java:217)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:132)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:124)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtBean.submitChangeList(ChangeListMgmtBean.java:92)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10.submitChangeList(ChangeListMgmtRemoteObjectImpl10.java:435)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10p4_Skel.dispatch(ChangeListMgmtRemoteObjectImpl10p4_Skel.java:343)
         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.engine.compilation.CompilerProcessFailureException: Compilation process error : CreateProcess: null
    bin
    javac -J-Xmx256m @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/O1156324532061.txt @E:/usr/sap/NW2/DVEBMGS10/j2ee/cluster/server0/./temp/classpath_resolver/Mapec86e9c0328711dbb0ab0011433286d8/S1156324532124.txt error=2
         at com.sap.engine.compilation.ExternalCompiler.compile(ExternalCompiler.java:77)
         at com.sap.aii.ib.server.cmpl.Compiler.compile(Compiler.java:192)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:203)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
         at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapS

    are you facing the problem for every mapping created ? Else try to delete the existing mapping and recreate the same.

  • CHECK_EXCEPTION in message mapping ??

    Hi XI friends..
    i am getting error like this ..while activating message mapping..
    <b>nternal error while checking object Message Mapping MM_MES_WorkOrderCompletion_To_BAPI</b>
    details...log..
    <i>#6 17:37:30 [AWT-EventQueue-0] ERROR com.sap.aii.utilxi.swing.toolkit.ExceptionDialog: Throwable
    Thrown:
    MESSAGE ID: com.sap.aii.ib.server.oa.rb_all.CHECK_EXCEPTION
    com.sap.aii.ib.core.clmgmt.ChangeListMgmtException: Internal error while checking object Message Mapping MM_MES_WorkOrderCompletion_To_BAPI | http://aaaa.com/xi/SAP_ERP/PPE/ERP_MES (AL_PPE_ERP_MES , 1.0 of aaaa); see details
         at com.sap.aii.ib.core.clmgmt.ChangeListMgmtException.createFromException(ChangeListMgmtException.java:35)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmtImpl.submitChangeList(ChangeListMgmtImpl.java:227)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:132)
         at com.sap.aii.ib.server.clmgmt.ChangeListMgmt.submitChangeList(ChangeListMgmt.java:124)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtBean.submitChangeList(ChangeListMgmtBean.java:92)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10.submitChangeList(ChangeListMgmtRemoteObjectImpl10.java:435)
         at com.sap.aii.ib.sbeans.clmgmt.ChangeListMgmtRemoteObjectImpl10p4_Skel.dispatch(ChangeListMgmtRemoteObjectImpl10p4_Skel.java:343)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java)
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java)
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java)
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java)
    </i>
    please guide me..
    regards
    ram

    Hi friends..
    i am getting error like this when i am trying to do static test...
    <b>There is not enough space in the file system.</b>
    details...log..
    <i>#23 19:33:37 [AWT-EventQueue-0] ERROR com.sap.aii.utilxi.swing.toolkit.ExceptionDialog: Throwable
    Thrown:
    MESSAGE ID: com.sap.aii.ib.server.cmpl.CompilerException
    com.sap.aii.ib.core.mapping.exec.ExecuteException: There is not enough space in the file system.
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:207)
         at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
         at com.sap.aii.ibrep.
    </i>
    plz..guide me..
    ram

  • Problem in message Mapping SAP PI 7.1

    Hi Experts,
    I have a problem in my Message Mapping,
    Design: [Design|http://www.life-4-music.de/prob.jpg]
    Messagemapping: [MappingTest|http://www.life-4-music.de/probII.jpg]
    The Problem is, that ElementC from SourceMessage occours "0 to n" times in Element A, but I need to check every ElementC in ElementA to TargetElementA with a IF Statement.
    I tried a lot of things, like change the CONTEXT of the ELEMENT or use SPLIT BY VALUE but without success.
    Rgds,
    Steffen

    Hello, thanks a lot for the fast awnser. I tried this allready to change the Context of the Elements "system" in this Mapping: Changed Context
    For Example in one field I check for Entry "ERP" in Source Field "system" , if "ERP" is in the first ELEMENT then it will be mapped correctly: Example ERP works
    But If "ERP" is in an element below, then it doesn´t work, so it seems to be, that he only map the first occurrence of the Elements. : Example SCADA don´t work
    Here is the View of the QUEUE from the don´t working Example: Show QUEUE of not working Example
    maybe u have a tip for me again , because I´m allready desperate
    Thanks a lot.
    Rgds,
    Steffen

  • Message mapping in sap pi 7.3

    Hi all,
    I am using SAP PI 7.3. In ESR, I have declared one source data type & message type and one target data type & message type. I have also completed message mapping. But in message mapping, If I do right click on the target message type, I am getting one option "Add variable" in the context.
    Can anyone tell me what is the use of it?
    Thanks & Regards,
    Moumita

    Hi Moumita
    This is mainly used to store some values in it and then use it later in the same mapping.
    For example suppose there is a field which contains amount and it occurs in many times in the source structure.
    So we can populate the sum of all this fields into this variable and later used that for populating any target field.
    Another example is suppose we want to make an RFC look up in PI to store some data in ECC tables.
    In that also we map the RFC look up function to this variable.
    This variable will be not present in the map output.
    Check this
    SAP PI 7.1 Mapping Enhancements Series: Using Graphical Variable

Maybe you are looking for