cancel
Showing results for 
Search instead for 
Did you mean: 

Complex mapping scenerio.

Former Member
0 Kudos

Hi Experts,

in my scenerio, in the Interface mapping, data from source reaches target through 3 stages. 2 XSL mapping, and then a graphical mapping.

In my scenerio, file is picked from FTP and posted to SAP through RFC .

In the sender File Adapter, I have to go for the FILE CONTENT Conversion. But In the interface mapping, data first enters the two XSL mappimgs and then the graphical mapping.

Now I dont understand hw to maintain the CONTENT CONVERSION mandatory parameters, becasue if I do so on the basis of the Graphical mapping source fields, that wont be correct, as data firsts passes through the 2 XSLT mappings, and then reaches the Graphical mapping.

I got the following errors in the communication channel.

Conversion initialization failed: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Parameter 'ROOT.fieldFixedLengths' or 'ROOT.fieldSeparator' is missing Mandatory parameter 'ROOT.fieldNames': no value found.

I donno hw to handle this.

Also , mine is a .DAT file, I dont understand how can i send it for drytesting and see hw is the load reacting to the FIRST XSL mapping, I mean is there any way i can check this??

Pls comment.

Regards,

Arnab.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

If you are using SAP given content like store connectivity and gm store connectivity.Use communication channel template.

On the Edit Communication Channel screen, go to the menu Communication

Channel and choose Import template.

Thanks,

Tuhin

Former Member
0 Kudos

Hi Tuhin,

Use communication channel template.

On the Edit Communication Channel screen, go to the menu Communication

Channel and choose Import template.

Hw on earth did u get to knw that I was working on GM store connectivity and store connectivity.

😛

Many thanks ... still workin on it, may ask u more questions on this .

Regards,

Arnab .

Former Member
0 Kudos

Hi, did as u instructed, used the standard templete : GMTLogSenderFileChannelTemplate. The Interface Mappig used here is: GMTLog2POSDM.

Now I am getting the following error:

15:33:27 Start of test

Call XSLT processor with stylsheet GMTLog2IXRetailPOSLog.xsl.

TransfromerException during XSLT processing:

javax.xml.transform.TransformerException: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1429 at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:255) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepSequenceMapping.execute(RepSequenceMapping.java:54) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:319) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:200) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) 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(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1429 at com.sap.engine.lib.xsl.xpath.DTM.getAttributeAndNSNodes(DTM.java:406) at com.sap.engine.lib.xsl.xslt.XSLCopyOf.copyElementNode(XSLCopyOf.java:70) at com.sap.engine.lib.xsl.xslt.XSLCopyOf.copyNode(XSLCopyOf.java:151) at com.sap.engine.lib.xsl.xslt.XSLCopyOf.process(XSLCopyOf.java:214) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLForEach.process(XSLForEach.java:116) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLForEach.process(XSLForEach.java:116) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:281) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.callTemplate(XSLStylesheet.java:1355) at com.sap.engine.lib.xsl.xslt.XSLCallTemplate.process(XSLCallTemplate.java:111) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:281) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.callTemplate(XSLStylesheet.java:1355) at com.sap.engine.lib.xsl.xslt.XSLCallTemplate.process(XSLCallTemplate.java:111) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLIf.process(XSLIf.java:32) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:281) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:469) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:437) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:394) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:412) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:244) ... 19 more

15:33:28 End of test

Pls comment.

Regards,

Arnab.

Former Member
0 Kudos

Hi Arnab,

Can you use some tool(altova xml spy) where you can test individual xslt mapping step one by one,if you are on PI 7.1 than also you can test each step one by one.

Thanks,

Tuhin

Former Member
0 Kudos

Hi Tuhin,

I tried to take the payload from SXMB_MONi and put it in XML editor and see if there is any error. didnt find any. would like to know wether this trouble shooting method is right or not?Is there any other way to check the correctness of XSLT mapping individually??

But the noce thing is tht the POS guy gave me another file, which matced with teh 3 layers of mapping, and WORKED.

I must thank you for the Tip on using standard template for communication channel.

Wouil like to know, where did u come to know about it. Any document / manula u follow, where its there?

If possible, can u share?

Regards,

Arnab.

Answers (1)

Answers (1)

VijayKonam
Active Contributor
0 Kudos

First run your existing scenario. Have a look at the incoming XML. This is the input for your first xslt program. Now configure your file adapter for FCC. Then create a mapping that converts this xml to the source of you first XSLT mapping program. Add this in the list of mappings as the first one in the interface mappings. You are done.

The errors that you got now are related to FCC parametes. Take a look at help.sap.com and search for sender file adapter content conversion. You will be able to fix the errors.

VJ