cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping Error Message

Former Member
0 Kudos

I have completed the mapping of an IDOC to File Data Structure.

I ran the testing once and it said successful bu no target fields were populated. I then mapped all of the root nodes to a constant to see if it made a difference and I get the following message

09:58:51 Start of test

Compilation of msgMAP_IDOCINVOICE02_INVOICE successful Exception:[java.lang.IllegalArgumentException: Cannot cast to boolean] in class com.sap.aii.mappingtool.flib3.Bool method equals[, 009, com.sap.aii.mappingtool.tf3.rt.Context@191361] com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.IllegalArgumentException: Cannot cast to boolean] in class com.sap.aii.mappingtool.flib3.Bool method equals[, 009, com.sap.aii.mappingtool.tf3.rt.Context@191361] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:56) at com.sap.aii.mappingtool.flib3.IfWithoutElse.getValue(IfWithoutElse.java:18) 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.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: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 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.flib3.IfWithoutElse.getValue(IfWithoutElse.java:18) 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.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) Caused by: java.lang.IllegalArgumentException: Cannot cast to boolean at com.sap.aii.mappingtool.flib3.Bool.toBoolean(Bool.java:17) at com.sap.aii.mappingtool.flib3.Bool.equals(Bool.java:37) ... 26 more RuntimeException in Message-Mapping transformation: Exception:[java.lang.IllegalArgumentException: Cannot cast to boolean] in class com.sap.aii.mappingtool.flib3.Bool method equals[, 009, com.sap.aii.mappingtool.tf3.rt.Context@191361]

09:58:56 End of test

Could this be because in the IDOC there are various conditions i.e. PARTN------>ID only if PARVW = constant (10)

NAME1----


>NAME only if PARVW = Constant 5

so you see in the mapping this all looks ok but in testing I am unable to give all of these conditions I can only give 5 or 10 but not both. So could it be that the mapping is correct but until I test with a real document where all the fields are complete and all the conditions are met then it wont work?

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Wojtek,

Could you elaborate on that a little...

In all of my mapping scenarios I have the ifwithoutelse suppress value to true.... Could this be a problem. Below is the typical mapping. Could you tell me if you think this would work and if so what you think it is saying.... This way I will know if I have given the right instructions.

I have

QUALF----


> EQUALS

CONSTANT (009)--> EQUALS

EQUALS----


> TOP INPUT OF IF THEN (IF WITHOUT ELSE)

DATUM----


> BOTTOM INPUT OF IF THEN (IF WITHOUT ELSE)

IT THEN (IF WITHOUT ELSE) OUTPUT VALUE -


> INVDATE

What I am trying to achieve from this is the mapping looks at the QUALF and sees if it is equal to 009. If this is the cae then I want to Map DATUM to INVDATE.

If not the case then DATUM does not get mapped at all. Is the above the right scenario.

Former Member
0 Kudos

Hi,

Please check if you have always elements when you are making a comparision. Maybe in some cases you don't have value in QUALF and due that you have this error.

regards,

wojtek

Former Member
0 Kudos

hi,

these error look like that for one of the if blocks you are passing wrong check value (it's not 0,1,true,false). Please check all of your if blocks.

regards,

wojtek

former_member192798
Active Contributor
0 Kudos

Hi Alex,

Go thro' this link:-

/people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters

Other IDoc Scenarios:

/people/ravikumar.allampallam/blog/2005/02/28/creating-sales-order-through-idoc

/people/ravikumar.allampallam/blog/2005/03/03/creating-purchase-order-idoc-through-xi

/people/ravikumar.allampallam/blog/2005/02/23/configuration-steps-required-for-posting-idocsxi

Hope this provides you a solution.

Regards.

Praveen