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!
DimitriI 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
ChristopherHello 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 !!
NainaStefen
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-------
E1KNA1M---- > UseoneAsMany----
>NpbackOfficeAccountRelationship
E1KNVPM-
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
NewellRubbermaidHere 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!
JohnHi 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 XIs 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(ServerMapSare 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
ramHi 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,
SteffenHello, 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,
MoumitaHi 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
-
Hi, I know the problem is in the movies & I need to download it too
Hi, thanks for your help, but I know the problem is in the movies & I need to download it too, SO, what to do next to import all of them? AND, after I import it all at the Image Capture how can I move them to IPhoto. P.S: its my 1st time ever to be p
-
My laptop crashed and i have lost all my music. does anyone know how i can can get everything i purchased from I-Tunes back? Can i re-download all the content? Thanks
-
How do I select range and require end date in it crystal report
I'm trying to select a range of dates in my records however it must include the end date from my parameters what is the syntax for that record selection and anything after the Start Date (open). If the Date range doesn't end in the specified End Dat
-
Unable to download itunes or quicktime
I'm having some problems installing itunes and quicktime on my computer. My computer is an acer 5920g and my os is windows vista. After I download itunes and try to run it, it starts to install but then I get the following message: "Could not open ke
-
Just downloaded 10.4.11 and did some preliminary RAW tests with my 40D. Aperture seems to working brilliantly with them. Just thought there would be a few people here interested in knowing. John