cancel
Showing results for 
Search instead for 
Did you mean: 

File adapter mapping - parser: no data allowed here

Former Member
0 Kudos

Hello,

something really nice:

Scenario picks up a file to move it renamed with timestamp to another destination via FTP protocoll.

File picked up: ok

But in pipeline:

Message in trace:

<Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_mm_test_</Trace>

<Trace level="1" type="T">Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_mm_test_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 4f, 6e, 6c(:main:, row:1, col:3)</Trace>

Test file is really simple:

Data type: "test" - xsd string,

connected to message type "head"

Message mapping / Interface mapping in Int. Dir. :

Test: OK

RWB: "message successfully transmitted to endpoint < Xi pipeline URL > using connection AFW"

Would be very helpful if someone here has an idea where this comes from!

best regards

Dirk

Search help: file content conversion

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Dirk,

It is mapping error.Test ur mapping in integration repository itself.If it is executed succesfully over there then check the payload that is coming from file.The

structure should be the same as what you are getting through test in IR.Suppose you are getting below structure after test in IR for the source message.

<ns:Head> xmlns:ns="http://sapr3/fi/masterdata">

<ID>H</ID>

</ns:Head>

Your payload coming from file should also look like this.For that maintain configurations in communication channel.

If still you get error you mail me screeen shot for Mapping and communication channel.

Hope it helps you.

Thanx

Rekha

Message was edited by: Rekha Lather

Former Member
0 Kudos

Hi Rekha,

possibly I have a bad understanding of the file adapter?

The file is a simple one. It is txt file and contains only one entry, lets say "oneword" .

Our idea was that the message type is going down to the structure on first level which is only one element, defined as xsd string.

So, is there a special requirement for the file to be accepted by the mapping?

I have searched but nowhere is an example available.

All checks in the XI are fine. Mapping tests in Rep. are OK on interface level and on message mapping level.

Best regards

Dirk

Former Member
0 Kudos

Hi Dirk,

You need to make ur data type in this form:

<root>

<str1>

<str2>

</str2>

</str1>

</root>

This is bocs you are using contenet conversion ie you use a txt file.

pls hae a look at this link:

http://help.sap.com/saphelp_erp2004/helpdata/en/e3/94007075cae04f930cc4c034e411e1/frameset.htm

hope this helps.

Regards

Priyanka

Message was edited by: Priyanka Balagangadharan

former_member187339
Active Contributor
0 Kudos

Hi Dirk,

Go thru this link, it might be helpful :

http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm

<i>

>>So, is there a special requirement for the file to be accepted by the mapping?</i>

As priyanka told you have to use file content conversion.

You can also refer these weblogs on content conversion :

/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30

/people/sap.user72/blog/2005/01/06/how-to-process-csv-data-with-xi-file-adapter

Regards

Suraj

Former Member
0 Kudos

Hello,

hups, I am a little bit disappointed about XI now

.

My understanding is now that it is not possible to send a simple flat file through XI from A to B w/o conversion independent from the fact that you only want to use XI as a distributor?

So my question is: Do I really need a file conversion to transport a simple file from A to B via XI?

Best regards

Dirk

former_member187339
Active Contributor
0 Kudos

Hi Dirk,

<i>

>>Do I really need a file conversion to transport a simple file from A to B via XI?</i>

If it is a flat file then you will need a file conversion, so that the file can be converted to xml format by the adapter. If you are going to specify the inputs via xml tags then you can go for simple File Adapter.

Regards

Suraj

Former Member
0 Kudos

Hi Rekha,

expected:

-


<ns:Head> xmlns:ns="http://test/example">

<ID>H</ID>

</ns:Head>

Your payload coming from file should also look like this.

-


hm, my payload looks not liek this, it is more simple:

ONEWORD

So there is no change into XML as I am picking up dirctly a flat file!

How to get a better result?

Best regards

Dirk

Former Member
0 Kudos

Hi,

In order to send an XML input file via XI u dont need to use content conversion. However, if ur input is a comma separated file u can use file content conersion.u neednt be dissapointed as it is not very tough.

Arpit's blog will help you do this. Check out -

https://www.sdn.sap.com/sdn/weblogs.sdn?blog=/pub/wlg/177. [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken]

In this case, i think u will need to use content conversion.

Cheers,

Divya

Message was edited by: Divya Vidyanandan Prabhu

Former Member
0 Kudos

.

Former Member
0 Kudos

Hi Dirk,

Please have a look at following link:

http://help.sap.com/saphelp_erp2004/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm

about converting file content in receiver adapter.

Regards

Priyanka

Answers (3)

Answers (3)

rodrigoc_souza
Explorer
0 Kudos

I know that the post is marked as answered, but if somebody reach this in a search, I found that is possible to do the simple transfer file from one place to another without repository objects (conversion data) and keeping the original name of the file from the origin to the destination.

This two links will help with this task in a very easy solution way.

Transfer file without repository objtects: http://saptechnical.com/Tutorials/XI/File2File/Demo1.htm

Keep the file name from origin to destiny:

Best regards.

Former Member
0 Kudos

Hello again,

your replies were really helpful to move a step forward. The error message has changed now. I have an xml format now in the payload.

Here is an example:

(Don´t ask about the reason for the naming! )

But now the error message is:

com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns:mt_blob. 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

Ok! I changed the receiver channel to conversion too!

recordset structure (same name def. as in sender channel)is added with addheaderline and fieldSeparator.

My understanding: (using of naming)

- incoming message linked to message typ abc

- text conversion to fff (rec,structure) in sender channel

- "re"conversion from fff (from payload) in receiver channel

- the "re"conversion is automatically linked to the message type I am using.

Do you have an idea what I forgot to do or where my misunderstanding is?

Best regards

Dirk

Former Member
0 Kudos

Hi,

check ur mapping......whether u have mapped ur substructures and chk their occuraces also.

These blogs mite help you :

/people/sap.user72/blog/2005/01/06/how-to-process-csv-data-with-xi-file-adapter

/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion

/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30

Regards

Priyanka

Former Member
0 Kudos

sorry that was not the intended post.

Regards

Priyanka

Message was edited by: Priyanka Balagangadharan