File Content Conversion on the Sender Adapter in PI 7.1
Hi Experts
I am working on a file to Proxy scenario where my file is fixed format length which will have only one Structures (Details Records) that would be coming from the text file but in the message type I have delcared Header, Detail , Trailer,
However I would be receiving the only Detail part (No header and Trailer) in some instances what value should I give for the header and trailer in the Content conversion part,
Thanks
PR
Since you are going to get values only some instances for header and trailer node, you can create
Header structure & Trailer structure - make the occurence 0 to 1
Note: if your Header and Trailer values are empty for some instances then no worries. You declare FCC fields for header and trailer similar to Details.
Refer SAP FCC help link.
Similar Messages
-
File Content conversion at the sender adapter without Key field
Hi All,
I have a requirement ....We are using Message Transform Bean at the sender adapter (we are not going for FCC as we are tranforming a decryption) ..its is a flat file...
we dnot have a key field for one of the node .....we have total 5 nodes under parent node and one of the node does not have key field ....
NOTE: I guess we have to do either Java mapping or XSLT ..but not getting proper weblogs with program...
and not well versed with coding...i got few codes which were either not fulfilling requiremment or they use stream tranformation where it is decaprecated in NWDS and does not allow to compile it properly .
Can somebody get me a code for Java which uses Abstract tranformation ...which can full fill below requirement
parent node
Node1
node 1a
node 1b
Node 2
Node 3
Input Flat file is in below format
example:
Employee Headre Flat files
Employee Detail Flat Files(this repeates numerous times as much as number of employees)
Employee Trailer Flat Files
Loan Headre Flat files
Load Detaisl Flat Files (this repeates numerous times as much as number of employees)
Loan Trailer Flat files
Assitance much appreciated thanks .
Regards
KiranHi Stefan,
I will rephrase the question i guess its communication gap...
1) we have an existing interface in 3.0..we are not copying the same interface to 7.1 as it was not according to standards and they are phasing out that system.
2) In 3.0 they are reading the Flat files under one record .. the structure is as follows:
Parent Node
Node
Row
They are reading all the flat files row by row.
and even in receiver they are reading in the similar fashion
3) In the current structure according to the FS we have to create a structure defined by them which is as below
Employee
Header
Details node 1
Details node 1a
Details node 1b
Trailer
Loan Header
Loan Detail
Loan Trailer
Receiver structure is
Employee
Node (this will have the receiver fields which is about 30 fields)
4) We have pulled a sample file from 3.0 for the existing interface as we din get the sample file for existing one in FS and Iam not sure whn are they gonna send it.
5) In the existing interface payload we have everything matching even the field lengths and postions and even key fields and key fields we got from the FS
6) problem is we donot have key fields for the Details node 1a and 1b even in FS or the existing payload and we got an update from the FS consultant that we will be receiving these fields but without keyfields...
see i donot have any problem taking out the details 1a and 1b out of the details header and create the structure ,,,,but the main issue is without key field we will not be able to generate the 1a and 1b nodes or read it in the FCC or MTB (i have to use MTB as we are decryting the file from the sender).
Or is there any other method apart from java mapping or module development to handle these files -
Issues in File Content Conversion in a Sender Adapter
Hi Folks ,
The XMl Structure of my input file is
<?xml version="1.0" encoding="UTF-8"?>
<ns:file_sender_mt xmlns:ns="urn:filetofiledemo">
<recordset>
<data>
<name />
<city />
<age />
</data>
<adress>
<fnaame />
<lanme />
</adress>
</recordset>
</ns:file_sender_mt>
In my file conversion paramaters i have mentioned
data.fieldSeparator ,
data.fieldNames name,city,age
adreess.fieldSeparator ,
adreess.fieldNames fnaame,lanme
ignoreRecordsetName true
recordset.fieldSeparator ,
data.endSeparator ,
I fail to understand when in my input file
i give
1,2,3
4,5
ie value of data and adrees on diff lines it works fine
bt when i give the imput as 1,2,3,4,5
it fails in adapater
giving the exception
Sender Adapter v1014 for Party '', Service 'filetofile_bs':
Configured at 12:11:43 2006-07-18
Last message processing started 05:22:34 2006-07-19, Error: Conversion of complete file content to XML format failed around position 0 with java.lang.Exception: ERROR converting document line no. 1 according to structure 'data':java.lang.Exception: ERROR in configuration: more elements in file csv structure than field names specified!
last retry interval started 05:22:34 2006-07-19
length 10,000 secs
I dont understand why i am getting this error as my data.endSeparator is ,
any inputs on this would be of grt help
Thanks
AmitMam if you look at my XML
<?xml version="1.0" encoding="UTF-8"?>
<ns:file_sender_mt xmlns:ns="urn:filetofiledemo">
<recordset>
<data>
<name />
<city />
<age />
</data>
<adress>
<fnaame />
<lanme />
</adress>
</recordset>
</ns:file_sender_mt>
I have 5 paramaters
name ,city ,age , fnaame , lname
and i am pasing those 5 -
File Content Conversion -All the input content was not shown in output file
Hi Experts,
In my scenario, I need to send data from .XML file to .txt file, using File Content Conversion at Receiver communication channel. This is File to File scenario.
This is my Input xml file.
<ns:FILEINPUT_MT xmlns:ns="http://File2FileTest">
<RECORD>
<Row>
<FirstName>Susie</FirstName>
<LastName>Tony</LastName>
<City>London</City>
<Country>UK</Country>
</Row>
</RECORD>
</ns:FILEINPUT_MT>
<b>Processing Parameters</b>
Target Directory = C:/Test
File Name Scheme = xi_output.txt
File Construction Mode = Add Time Stamp
File Type = Binary
<b>Content Conversion Parameters</b>
Recordset Structure : RECORD
RECORD.endSeparator = nl
RECORD.fieldSeparator = ;
After Activate and providing the input xml file, xi_output.txt file was generated. But the file content was shown only with Susie i.e. with First Name only. I need xi_output.txt file should have all the four fields (FirstName, LastName, City, Country)
Could some one help me to resolve the issue?
Thanks in advance
SreeCheck these blogs...Might help you.
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns
/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
/people/sap.user72/blog/2005/01/06/how-to-process-csv-data-with-xi-file-adapter
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
Link for SAP Help
http://help.sap.com/saphelp_nw2004s/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm -
File Content Conversion on the Receiving side
Is there a way in which if I want a Pipe Delimited File as a result, after the last field also I get a pipe with next record starting in the next line.
Hi,
For | (Pipe), use corresponding hex code as fieldSeparator i.e. 0x7C as fieldSeparator.
For FCC on receiver side refer -
[Simple FCC|http://www.riyaz.net/blog/index.php/2008/02/19/xipi-file-content-conversion-for-simple-structure/], [Complex FCC|http://www.riyaz.net/blog/index.php/2008/02/20/xipi-file-content-conversion-for-complex-structures/]
For separotor at the end of line you can try using a dummy field or use combination of pipe and newline i.e. '0x7C' and '0x0D' (stands for carriage return) or 'nl' as endSeparator
Edit: You might consider using 'nl' as beginSeparator parameter and 0x7C as endSeparator. This will do the trick. However, this would add a blank line in the beginning of the file.
Hope this helps.
Regards,
Riyaz
Edited by: Riyaz Sayyad on Aug 21, 2008 3:00 PM -
File content conversion using the Meaasge Transform bean
Hi
I have a scenario file with pipe delimited file.
What are content conversion parameters required
venkatSedamkar,
In file content conversion you give these parameters;
Header.fieldSeparator:|
Header.endSeparator:'nl'
DetailRecord.fieldSeparator:|
DetailRecord.endSeparator:'nl'
TrailerRecord.fieldSeparator:|
TrailerRecord.endSeparator:'nl'
In recordset structure you give as:Header,1,DetailRecord,*,TrailerRecord,1
Regards,
---Satish -
Error in File content conversion in the target
hi
I'm doing a content conversion at target.
my target structure while sending is like:
<MT>
<Header>
<a>
</Header>
<BODY>
<b>
</BODY>
<filename_output>
<filename>
</MT>
however in the target i have to ignore the last 2 fields: <filename_output> and <filename>.
I'm able to do it.
The problem is coming that in the target structure,when we open in Textpad, 2 trailing empty lines are there at the end.
we need to remove these lines.
Any idea how to do it?Hi Alok,
Try with parameters given in this blog:
/people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12
If didnot work try: FileName.endSeperator = '0' as given in this thread: Re: Blank Lines While writing files
else give .endSeparator as two backspaces (if you have two new lines). The ascii code is '0xBS'. see this code:
http://www.december.com/html/spec/ascii.html
---Satish -
File Content Conversion at the receiver side
Hello All,
I have a field which has to be truncated at 50th character. What content conversion parameters do I need to add ...?!?!?
Thanks,
SmitaHi Smita,
As understood by your question you want a target field to be of 50 character,
either you can apply substring function in your mapping to that target node.
It would be much more clear if you mention hows your source file structure is it fixed length or delimiter separated, if it fixedlength file you can apply this parameter in Content conversion <b>fixedLengthTooShortHandling</b> with value <b>Cut</b> nad mention your required length.
Rewards point if it is helpful,
Thanks
Anu Singhal -
How do we do File content conversion using SFTP SEEBURGER Adapter
HI All,
Can we do FCC using SFTP SEEBURGER adapter. If yes how?
XIerDynamic attributes are part of the XI message. They provide options for dynamical configuration of SFTP receiver channels (Outbound direction) using parameters that have been dynamically added or set by modules and mappings before the SFTP adapter. These attributes can be set using the Attribute Mapper module for example. Besides, the SFTP adapter dynamically adds specific parameters to the XI message on Inbound case, which can be used by the modules and mappings after SFTP adapter.
Check also
/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
/people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules
Regards
Naycho -
Regd file content conversion in receiver FTP adapter
Hi All,
I m trying to do FCC at receiver, i have to convert Idocxml in to a flat file.
Input structure is smthing like this:
MT_source
<Header>
<ZXw>test1<ZXw>
<ZYe>test2<ZYe>
<ZZR>test2<ZZR>
</Header>
<ZJDU>
<ZXd>xyz<ZXd>
<ZYE>wer<ZYE>
<ZZw>wer<ZZw>
</ZJDU>
I have to get the output as:
test1test2test2xyzwerwer..etc i mean to say i have not feildseparator and i have to revome all the tages in in put file and paste the only values in the output.Its like getting all the things in the same line.
it tried giving like . header.feildSeperater ""
ZJDU.feildseperater ""
I am very new to this,searched .. bt didnt get what to write when there is no feild seperator and i have to paste complete file in text format.
thanks
Anika> it tried giving like . header.feildSeperater ""
> ZJDU.feildseperater ""
>
I could see spelling mistate in the above line..... fieldSeparator
if the above setting didn't work. did u try with the running scripts after the adapter has finished it's job. You can replace the fieldSepartor with "" empty string. -
Sender File Adapter - File Content Conversion
Hello,
i do have a problem with the file content conversion at the sender file adapter.
I have configured the file content conversion with key field defined
keyfield: key
recordsetstructure is set as head,1,item,*
head.fieldSeparator |
head.beginSeparator |
head.endSeparator |
head.keyFieldValue H
head.fieldNames key,....
item.fieldSeparator |
item.beginSeparator |
item.endSeparator |
item.keyFieldValue I
item.fieldNames key,....
When i run it like this it will not read since it has a problem to identify the key fields.
When ever i change the whole logic to be not based on fieldseparator but on fixed length, everything is working perfectly fine.
but this unfortuantly doesn't help as i have no fixed structure for the rest of the fields.
also when i change the recordsetstructure to head,1,item,1 my file is also processed correctly, of corse only for the first line, it at least tells me that the file structure is correctly defined.
Can anyone help why the identification for the keyfields doesn't work with field names and separator but in the same set up with fixed lengths ?
thanks a lotHello All,
thanks for the helpful answers.
So i tried Jayan tip and removed the begin Separter.
Unfortuantly my file is really looking like this |H|...|...| for the header record
and for the item record |I|...|...| ( this was an" I" like in Item ...
In my opinion this means i really do have a begin seperator which is the same like the field separator.
When i removed it from both the file and the config it started to work.
So i wrote an java function which will trow away the first digit in this case and integrated it in my szenario.
So that when this file is read there is no | as a begin flag anymore.
And the whole thing starts to work, this sounds more like a bug then a feature but anyway i am happy.
so thanks a lot
Tina -
Sender Adapter File Content Conversion - question
Hi!
Could you help me to make xml-file from csv?
I have file like:
12345#254#9765#89654
55#9066#77127#47
And i need file like:
<dealings>
<deal>
<field1>12345</field1>
<field2>254</field2>
<field3>9765</field3>
<field4>89654</field4>
</deal>
<deal>
<field1>55</field1>
<field2>9066</field2>
<field3>77127</field3>
<field4>47</field4>
</deal>
</dealings>
I haven't key fields - all fields are accidental. And lengths of all fields are accidental.
How to put content conversion parameters?
Thank you.HI
File Content prameters for the Sender Adapter
http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
File content conversion sites
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
Please see the below links for file content conversion..
The specified item was not found. - FCC
The specified item was not found. - FCC
File Content Conversion for Unequal Number of Columns
File Content Conversion for Unequal Number of Columns - FCC
Content Conversion (Pattern/Random content in input file)
Content Conversion (Pattern/Random content in input file) - FCC
XI Configuration for MDM Integration - Sample Scenario - FCC - MDM
XI in the role of a FTP
XI in the role of a FTP
File content conversion sites
Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
Introduction to simple (File-XI-File)scenario and complete walk through for starters(Part2)
File Receiver with Content Conversion
Content Conversion (Pattern/Random content in input file)
NAB the TAB (File Adapter)
Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
Introduction to simple (File-XI-File)scenario and complete walk through for starters(Part2)
How to send a flat file with various field lengths and variable substructures to XI 3.0
Content Conversion (Pattern/Random content in input file)
NAB the TAB (File Adapter)
File Content Conversion for Unequal Number of Columns
Content Conversion ( The Key Field Problem )
The specified item was not found.
File Receiver with Content Conversion
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
Please see the below links for file content conversion..
The specified item was not found. - FCC
The specified item was not found. - FCC
cheers -
File content conversion using SOAP adapter
Hi,
I'm using a receiver SOAP adapter in my IDOC to file scenario and need to do file content conversion in the receiver side.
Are any standard modules available for file content conversion in the SOAP adapter or do I need to write custom EJB modules for this.
Please note that I have to use a SOAP adapter, can't use any other adapter.
Thanks in advance
ShiladityaHi,
XML Document Conversion Type
● Enter recordTypes as the parameter name.
Under Parameter Value, enter the complete, comma-separated list of all names of recordset types that occur in the document to be converted.
If you decide to use this method, you can define a different conversion type for each recordset type that occurs in the XML document.
For example, you could name the recordset types as follows: RecordType1,RecordType2,RecordType3.
● Enter singleRecordType as the parameter name.
Under Parameter Value, enter the name of a recordset type that is to be used to convert all elements that occur in the XML document.
If you decide to use this method, define the same conversion type for each recordset type that occurs in the XML document.
You must enter exactly one parameter only. Whichever parameter you choose, you automatically exclude the second parameter.
You define further parameters for each recordset type.
In the remainder of this documentation the parameters are specified by the prefix <RecordType>. In your configuration, replace this name with the name of the recordset type.
Conversion Type List with Separators
● <RecordType>.fieldSeparator
Enter the field separator that is written between the individual fields of a record.
This specification is mandatory.
Conversion Type List with Fixed Field Length
● <RecordType>.fieldLengths
Specify a character string that contains a list of fixed field lengths that are separated by commas and which determines the number and the length of fields generated in the text file.
For example, you want to write a recordset with three elements that have field widths of five, ten, and fifteen characters. Enter:
<RecordType>.fieldLengths = 5,10,15
This specification is mandatory.
● <RecordType>.fieldLengthExceeded
Specify how you want to handle fields that exceed the configured field length. Permitted values for the parameter value are:
○ error (default)
Interrupts processing of message with error
○ cut
Cuts off superfluous characters
○ ignore
Ignores the field length restriction
Further Entries
● <RecordType>.beginSeparator
Enter a string. The string is placed in front of the first field of a recordset.
● <RecordType>.endSeparator
Enter a string. The string is appended to the last field of a recordset as a concluding character. The default is \r\n.
● contentType
Enter the MIME type of the converted payload. The default value is text/plain.
● addHeaderLine
Only define this parameter if you have already defined singleRecordType.
Define whether a header line is to be added to the result of the conversion.
○ none (default)
Does not insert a header line
○ fromXML
The header line is generated from the element name of the first recordset of the XML document
○ fromConfiguration
The header line is determined by the configuration parameter headerLine.
● headerLine
Only define this parameter if you have already set addHeaderLine=fromConfiguration.
The value that you define is placed in front of the result of the conversion as a header line.
● fixedLineWidth
Enter the maximum line length n (in characters) that can be written to the resulting document. The separator specified by lineSeparator is inserted in the resulting document every n characters.
● lineSeparator
Only define this parameter if you have already defined fixedLineWidth.
Specify the string that is written to the resulting document at the end of each line that is written with fixedLineWidth. The default is \r\n.
Use of Special Characters
You can use special characters in the following parameters: <RecordType>.fieldSeparator, <RecordType>.beginSeparator, <RecordType>.endSeparator, headerLine, and lineSeparator.
● Tabulator: \t
● Carriage Return (CR): \r
● Line Feed (LF): \n
● Arbitrary character: \x<code>
<code>indicates the hexadecimal character code of the character to be displayed.
Regards,
Phani -
Inconsistency File Content Conversion
Hi,
My scenario is file to r/3 wherein the source file is a fixed length file. So I am using file content conversion in my sender adapter.
My source structure looks like:-
DT_TRAN
|__RECORD 1..unbounded
|_____HEADER 1
|_____QUOTE 0...unbounded
|_____ORDER 0...unbounded
|_____INVOICE 0...unbounded
|_____BILLING 0...unbounded
|_____CONTACT 0...unbounded
|_____FOOTER 1
I am getting this error while executing the scenario.
Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR consistency check in recordset structure validation (line no. 5: missing structure(s) before type 'Header'.
However, I checked the record in line no.5 and it's clean and perfect. But still getting the error. If I remove this record and execute, the file is picked and data is processed.
In File Content Conversion, I have used the following parameters:-
Recordset Name = Record
Recordset Structure = HEADER,1,QUOTE,,ORDER,,INVOICE,,BILLING,,CONTACT,*,FOOTER,1
I am using Key Fields to separately identify the details records. I used ignoreRecordsetName = true. In this case, in XML message payload does not contain <Record> node and so there is an error.
Can anyone suggest, how to overcome the issue such that all the records in the file are processed.
Thanks.
BalakrishnanThe content conversion parameters are:-
Record.endSeparator = 'nl'
Record.fieldNames = HEADER,QUOTE,ORDER,INVOICE,BILLING,CONTACT,FOOTER
Record.fieldSeparator = 'nl'
like the above, i have done for all the nodes. However, if i remove the record from line 5 and process the file, the file is picked up and processed succesfully. i have checked many times. the line no.5 record is not having any issues with structure or fixed length calculation. for some reaosn, it gives the error. -
When should message protocol be FILE CONTENT CONVERSION
HI one and all,
What doubt keeps haunting me is when should message protocol be selected FILE CONTENT CONVERSION.
for what format of sender information IS THIS USED ?
Ur answer is awaited.
Thanking you,
Ranjith.Ranjith,
Consider the below cases u are sending XML file as
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Test_MT xmlns:ns0="urn:test">
<EmpProfile_Msg>
<Empno>1001</Empno>
<EmpName>J</EmpName>
<DepartmentName>SAP</DepartmentName>
</EmpProfile_Msg>
</ns0:Test_MT>
But while writing the output u need the file as
1000 , J, SAP
Then u have to go for File Content Conversion at the Receiver adapter.
Similarly ,consider the other way around u are sending the file input as
1000 , J, SAP and u want XML , then u have to do FCC in sender adapter.
Hope it clears!!!
Best regards,
raj.
Maybe you are looking for
-
Duplicate calendar entries on iPhone, but not in iCal (NOT using mobile.me)
Hi, I've had a problem for a while (since iOS 3) where I get duplicate events on the iPhone (3GS and 4). It seems to happen for events that have been edited/deleted - they are not edited on the phone, rather a duplicate is made. It seems as if what i
-
How to use output of a Query as an input to another Query
Dear BI experts, We have a unique requirement. We are multinational company and employees moving from Country to another. I have created a Bex query to give me the list of countries that employees have been since they joined the company. The columns
-
Does anyone know if a logic board from Dual USB G3 12" will fit in a Dual USB G3 14"?
-
Basic questions about programing for J9 VM
I need to create a java application to run on a Pocket PC 2003 OS and I'm limited to using IBM's Websphere J9 Virtual Machine. I'm new to using java in this capacity and therefore have lots of questions which I'm guessing are pretty basic. Despite my
-
I have a wi fi network in my house it has been working fine with no problems at all. I can afirm that because my iPhone connects as soon as I get home. But my Mac sometimes it will connect without any problems but sometimes it will require me to inpu