Skip to Content
0

File-Content-Convesion, File-Adapter, PI, 7.4 Single Stack

Oct 19, 2016 at 12:58 PM

96

avatar image
Former Member


Hello

We are using a simple file-sender channel with content conversion (FCC, from a csv-file).
This is a small example input file:

81^2^10^2016-10-19
84^11^100^2016-10-19
END^2

As you can see, there is a field delimiter (^) and the field lengths vary, as expected using csv.
So any fixed-field-length stuff is off the table.

Therefore Recordset-Structure is defined as: DATA,*,FOOTER,1

This blog here
https://blogs.sap.com/2016/03/09/file-content-conversion-for-deeply-nested-structures-sender/
seems to adress the problem, but whenever I leave out the keyFieldValue for the DATA-Lines, I can't even start the channel without getting an error.

com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found:
Mandatory parameter 'DATA.keyFieldValue': no value found

Problem being, that the content of the key field (DATA.field#1) does also vary (as all other fields will) and the FCC parameter [NODE].keyFieldValue does not seem to have any wildcard or regex-magic.

How can I force the FCC to collect all sets that start with a number, or even a digit, or do not start with an E, or whatever comes to mind.

Best Regards

Thomas

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

avatar image
Former Member Oct 19, 2016 at 01:16 PM
1

Hi Thomas,

Read the entire file using record set structure as DATA,* then ignore the footer record in the mapping, i have created a blog for similar requirement, check the blog below.

Read File Using FCC Some with Key and Some without Key

Regards,

Praveen.

Share
10 |10000 characters needed characters left characters exceeded
Manoj K Oct 19, 2016 at 01:01 PM
0

Thomas,

Try this :

Recordset-Structure is defined as: DATA,99999,FOOTER,1

Br,

Manoj

Share
10 |10000 characters needed characters left characters exceeded