Query regarding file content conversion using file adapter
Hi All
I have a question regarding file content conversion in file adapter.
I have a file coming in the following format.
AA,111,222,333
BB,444,555,666
CC,777,888,999
My incoming message structure has a hierarchy. The CC record is a structure part of BB record. BB record is a structure part of AA record. It is like this:
AA,111,222,333
<<BB,444,555,666>>
<<<<CC,777,888,999>>>>
After file content conversion, in the resulted xml, i am getting a flat hierarchy instead of nested hierarchy.
Is it possible to get a nested hierarchy as a result of file content conversion?
Please let me know
Thanks
Chandra
Hi Udo
According to your suggestion, I am trying to use mapping.
I am getting a flat file and i am reading it.
This is my source structure:
AA,11,22,33
BB,44,55,66
CC,77,88,99
This is my required targer structure:
AA,11,22,33
<<BB,44,55,66>>
<<<<CC,77,88,99>>>>
To explain this, BB record can have multiple records of CC records.
AA records can have multiple records of BB record.
I am using removecontext node function.
CC (Source) (removecontext)-> CC (target structure)
But here, when i rightclick on source CC field in the mapping editor, i cannot see any other context except root node. So, how can i proceed here??
Many Thanks
Chandra
Similar Messages
-
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 -
Blogs for File content conversion in File Adapter
hi all,
Can some one give me the links for File Content Conversion for File to File Scenario. please.
Thanks in advance.Hi
For Sender
/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
/people/sap.user72/blog/2005/01/06/how-to-process-csv-data-with-xi-file-adapter
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
SAP Help for sender
http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
For Receiver:
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
SAP Help for receiver
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm -
Doubt regarding file content conversion Recever File adapter.
target structure.
<?xml version="1.0" encoding="UTF-8"?>
<ns1:MT_ChangeOfAddress xmlns:ns1="urn:passhe.com/ChangeOfAddressISA28">
<BUSINESS_PARTNER>
<item>
<CAMPUSCODE>65</CAMPUSCODE>
<STUDENTNUMBER>6500000192</STUDENTNUMBER>
<ST_OBJID>732298498</ST_OBJID>
</item>
</BUSINESS_PARTNER>
</ns1:MT_ChangeOfAddress>
target structure is look like this.
MT_ChangeOfAddress
BUSINESS_PARTNER (1,1)
item (0 to unbounded)
CAMPUSCODE (0,1)
STUDENTNUMBER (0,1)
ST_OBJID (0,1)
I have given below parameters in recever file adapter (file content conversion)
Recordset Structure : item
item.fieldNames : CAMPUSCODE,STUDENTNUMBER,ST_OBJID
item.fieldSeparator: , (comma)
i am getting first two digits in my output file: that file has only first two digits that is : 65
may i know how hould i define file contente conversion recever adapter to get proper data in file adapter.
thanks,s
DhanushHi,
Go through these blogs:
/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/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/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/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/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
Thanks,
Satya -
Supress Column Heading - File Content Conversion in Sender Adapter
Hi,
Let me give a more clear picture about my scenario. I need to convert CSV File to XML output:-
My source file has column heading and values. The sample data is mentioned hereunder:-
PERNR;KID;PNALT;NACHN;NAME2;VORNA
;1200;1200;Angus
I have created a data type as under:-
DT_LegacyEmployee (Category - Complex Type)
Employees (Category - Element, Occurence - 1)
Header (Category - Element, Occurence - 0...1)
PERNR_H
KID_H
PNALT_H
NACHN_H
NAME2_H
VORNA_H
Employee (Categroy - Element, Type - DT_LegacyEmployee_Row, Occurence - 0...unbounded)
PERNR
KID
PNALT
NACHN
NAME2
VORNA
The file conversion parameters in the file sender adapter are mentioned hereunder:-
Document Name - MT_LegacyEmployee
Document Namespace - http://abc.com/xi
Recordset Name - Employees
Rescordset Structure - Header,1,Employee,*
Recordsets per Message - 1
Key Field Type - String (Case Sensitive)
Employee.fieldSeparator - ;
Employee.endSeparator - 'nl'
Employee.fieldNames - PERNR,KID,PNALT,NACHN,NAME2,VORNA
I dont' have a key field value. How do we remove the header and show only the values in the xml output. I have searched the forum topics as well checked many blogs related to file content conversion, but nothing helped. Kindly advice how to fix this issue. Thanks in advance.
Regards.
PraveenHi Praveen,
Change your File Adapter as below
Document Name - MT_LegacyEmployee
Document Namespace - http://abc.com/xi
Recordset Name - Employees
Rescordset Structure - Employee,*
Recordsets per Message - 1
Key Field Type - String (Case Sensitive)
Employee.fieldSeparator - ;
Employee.endSeparator - 'nl'
Employee.fieldNames - PERNR,KID,PNALT,NACHN,NAME2,VORNA
There is no need for the Header required in the data type.
DT_LegacyEmployee (Category - Complex Type)
Employees (Category - Element, Occurence - 1)
Employee (Categroy - Element, Type - DT_LegacyEmployee_Row, Occurence - 0...unbounded)
PERNR
KID
PNALT
NACHN
NAME2
VORNA
Now the trick is in the mapping program
Lets assume your mapping looks like
MT_LegacyEmployee ---> MT_TargetEmployee
- Employees ---> Records
- Employee ---> Record
- PERNR ---> TargetPERNR
- .. so on
When you do a mapping from Employee ---> Record apply the following logic.
(PERNR)--->
(TestEquals =) --->(NOT)--->
(Constant) ---> (IF)
(PERNR) (IF Without Else) ---> (Record)
(THEN)
(Employee)--->
When doing this make sure RightClick on PERNR and Select Context ---> Employees.
By default context would be from Employee and it will give you an error of XSD format. So make sure you are changing the context. -
File Content Conversion in Receiver Adapter Help
Hi,
I need to have a flat file at receiver side with the following structure.
Product
LineItem
Notes
Product
LineItem
Notes
But i am getting as
Product
Product
LineItem
Notes
Notes
Please suggest me the changes to be made in File Content Conversion Parameter
Your Help will be appreciated.
Thanks in advance,
AshokSingh,
I think we wont give field names in the receiver file adapter. Please find the details below:
RecordSet Structure: Product,LineItem,Notes.....
Parameters:
Product.fieldFixedLengths:30,10...
Product.endSeparator:'nl'
LineItem.fieldFixedLengths:30,10..
LineItem.endSeparator:'nl'
Notes.fieldFixedLengths:30,10...
Notes.endSeparator: 'nl'
Thanks
Ashok -
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 -
File Content Conversion CSV File
Hello All,
I have a CSV file in the below format.
a,b,c
And my content conversion works.
<1>a</1>
<2>b</2>
<3>c</3>
Sometimes I get the records in the file as
a,b,
My conversion is failing, I mean it give me file as
<1>a</1>
<2>b</2>
The last element <3></3> is not getting created.
I tried to use lastFieldsOptional its not working.
How can I achieve this.
Regards,Okay Satish I will give a last try to explain you my issue..
my CSV file is like this a,b,c,d
my conversion works fine so the xml is after conversion
<1>a</1>
<2>b</2>
<3>c</3>
<4>d</4>
Now few rows in the file may come as a,b,c, there is no d value it is blank.
so I expect the conversion to be now
<1>a</1>
<2>b</2>
<3>c</3>
<4></4>
like this, but what I am getting now is after conversion...
<1>a</1>
<2>b</2>
<3>c</3>
tag <4></4> is not getting created and my Outbound expects the XML to be in that format, so for this I tried to use lastfieldsoptional so that empty <4></4> tag is created but no luck...
This is what I want to do..
In the process even though <4></4> is not created File Content Conversion is successful and so Adapter Monitoring is showing success and my mapping fails.
Regards, -
File content conversion in File-to-RFC without BPM
Hi,
I am using FCC for file to RFc scenario.
My input record is in the following format:
Header record
data rec1
data rec2
Trailer record..
The parameters are used in File content conversion:
Recordset Name : Header,item
Recordset Structure: Header,1,item,*
key field name : data1
and in additional parameters:
Header.fieldNames HI,GenDate,Ftype,Fname,Fdate
Header.keyFieldValue Fname
Header.fieldFixedLengths 1,8,1,50,8
Header.endSeparator nl
item.endSeparator nl
item.fieldNames DATA1,DATA2,DATA3,DATA4
item.keyFieldValue item
item.fieldFixedLengths 231,240,241,120
item.lastFieldsOptional YES
Can anyone check whether any parameters are left, b'cos the file is not being read with this settings. and in the C.C its just showing file processing successfully but not able to see the actual file.Hi,
I assume you have header, item and trailer structure in source file.
Source Data Type will be as follows.
RecordSet
--> Header
--> KeyField(Value OH)
--> H1
--> H2
--> Item
--> KeyField (Value OL)
--> I1
--> I2
-->Trailer
--> KeyField (Value OT)
--> T1
--> T2
Where Item Strucutre can come multiple times.
Please use following settings.
Recordset name: RecordSet
RecordSet Structure: Header,1,Item,*,Trailer,1
Key Field Name: KeyField
Header.fieldNames: KeyField,H1,H2
Header.fieldFixedLengths: 2,3,4
Header.processFieldNames: fromConfiguration
Header.keyFieldValue: OH
Header.LastFieldsOptional: YES
Item.fieldNames: KeyField,I1,I2
Item.fieldFixedLengths: 2,5,6
Item.processFieldNames: fromConfiguration
Item.keyFieldValue: OL
Item.LastFieldsOptional: YES
Trailer.fieldNames: KeyField,T1,T2
Trailer.fieldFixedLengths: 2,8,9
Trailer.processFieldNames: fromConfiguration
Trailer.keyFieldValue: OT
Trailer.LastFieldsOptional: YES
Regards,
Gouri -
File content conversion for file with hierarchical structure
Hi
I want to read a flat file in the following message structure using file content conversion.
Message structure is :
01 ( occurence = 1)
_ 1B (occurence = unbounded)
_ 1G (occurence = unbounded)
_1H (occurence = 1)
_1N ( occurence = unbounded)
99 (occurence = 1, trailer record)
In short there will be one 01 ( header record) in file. There will multiple 1B records. Under one 1B record there will multiple 1G records. Under each 1G record there will be one 1H recoprd and multiple 1N record. At the end there will one 99 record.
File format : Fixed length
Data in the text file would be as follows :
01Test
1BF0001MS005 4855390859
1GF000172075F31501 GBPINV 040806
1HF000172075F
1NF000172075F0011MS0051125002FOOUKSTFOOD
1NF000172075F0021MS0056540003ICOMSIEARCA
1BF0111TT005 3454390859
1GF011172075F31501 INRINV 040806
1HF011172075F
1NF011172075F0011MS0051125002FOOUKSTFOOD
1NF011172075F0021MS0056540003ICOMSIEARCA
99002187004855390859
Is it possible to do above using file content conversion or is there any method to do it. Please suggest.
Thanks
Varunyou cant acheive this heirarchy using the file adapters cont. conv, cos it supports only to a single level.
Maybe you can have a module or use the conversion agent !!
Some good reads on the Conv. agent!!!
/people/william.li/blog/2006/03/17/how-to-get-started-using-conversion-agent-from-itemfield
/people/paul.medaille/blog/2005/11/18/conversion-agent-a-free-lunch
/people/alexander.bundschuh/blog/2006/03/14/integrate-sap-conversion-agent-by-itemfield-with-sap-xi
/people/paul.medaille/blog/2005/11/17/more-on-the-sap-conversion-agent-by-itemfield -
File content conversion:move files to a new directory
hi all,
I have a file content conversion sender and receiver scenario.Now my doubt is: XI is running on sap27 server.Input file is being created by an ABAP program in r/3 and file being put in sap29 server.
In source directory if i am giving the sap29 path it is not working.Is there any way that i can write a OS command to move files from 29 to 27 before message processing ??
Any other option available??
thanks,
Nisheetahi,
Yes the basis people have shared the folder and they have mapped the sap29 folder into sap27 using I:\ drive
But the files are not getting picked....am i giving the source directory wrong??
I am giving I:\Folder_Name
suggestions needed
thanks,
Nisheeta -
Problem with File Content Conversion (Receiver FIle Adapter)
Hi Experts,
I have following structure in receiver side:
MT_Test
F1
F2
F3
F4
Now I want a CSV file in target side in below format:
F1,F2,F3,F4
I have provided below config in receiver file adapter under content conversion tab:
Recordset Structure : MT_Test
MT_Test.fieldSeperator= ,
MT_Test.endSeperator= 'nl'
But this is generating blank CSV files in target directory..What might be the reason.. I have checked the msg in adapter engine, the XML file is correct and contains valid values for the fields..Its something like below:
<?xml version="1.0" encoding="UTF-8" ?>
<MT_Test>
<F1>Hai</F1>
<F2>Hello</F2>
<F3>Bye</F3>
<F4>Hi</F4>
</MT_Test>
I should get CSV file as
Hai,Hello,Bye,Hi
But I am getting a blank file with above said config parameters in content conversion tab.
What might be the reason for getting blank CSV files in target side???
Thanks,
AdiHi Adi,
>>My target structure in below format:
<?xml version="1.0" encoding="UTF-8" ?>
- <MT_Test>
<F1>Hai</F1>
<F2>Hello</F2>
<F3>Bye</F3>
<F4>Hi</F4>
</MT_Test>
So, try to edit Data type and include hierarchy level above <F1>.
Finally your Target Structure will resembles like this.
<?xml version="1.0" encoding="UTF-8" ?>
- <MT_Test>
<Structure>
<F1>Hai</F1>
<F2>Hello</F2>
<F3>Bye</F3>
<F4>Hi</F4>
</Structure>
</MT_Test>
FCC Parameters will be like this.
Structure.fieldSeparator = ,
Structure.endSeparator = 'nl'
Hope you were clear.
Thanks,
Siva. -
.csv file Vs .txt file Content conversion sender file channel
Hi Experts,
I have a file with filename say input.csv.I want to do content conversion for these .CSV file.Is it same like we have to do for .txt file say input.txt.
when i open my .csv file in notepad, i get multiple rows with each field separated by ';'.what are the content conversion parameters we have to define for .csv file and can we mention input.csv as the file name as a source file name.
Thanks
DeepakHi,
Use the following parameters for Sender file channel in case of reading .csv file
Recordset Structure.fieldSeparator -
Recordset Structure.endSeparator -
'nl'
Recordset Structure.fieldNames -
provide field names separated with ,
Regards
Seshagiri -
File Content Conversion: Empty File
Dear Experts,
I'm doing a file to file scenario with FCC. My file gets picked up from the source folder but the communication channel doesn't send the file for processing ahead. This is the error I get in Communication channel monitoring:
Channel Send_Acceptance_File: Entire file content converted to XML format
2008-10-10 12:09:38| Warning |Channel Send_Acceptance_File: Empty document found. Proceed without sending message
2008-10-10 12:09:38| Success |Confirmation mode test found. File will be resent next time
I don't see any entry in sxmb_moni.
What could be the possible reason for this.
Thanks and Regards,
MerrillyHi Merrily
Problem is with your FCC.
Are you using Key field in FCC with and keyFieldInStructure as ignore?
This problem arises due to incorrect keys or Data type mis match for the record structure in FCC.
Thanks
Gaurav -
File Content Conversion -- Receiver File Adpter
Hi,
In the Receiver file adapter, we need to convert the
following XML file to CSV file.
Recordset
-|File (1)
-|Item (1 to unbounded)
-|BottomData(1)
and in the CSV file we just need Item and BottomData information
not the File content. We are putting File content
into file adapter to make the varibale substitution
in the file naming and It should not go into the
file content.
I configured the receiver file adapter as
Recordset Structure :File,Item,BottomData
File.addHeaderLine 0
File.noOfColumns 0
File.fieldFixedLengths 0
File.fixedlengthTooShortHandling 'Cut'
Item.addHeaderLine 0
Item.fieldFixedLengths 8,6,4,3,20,14,6,30,1,2,18,6,4,12,4,4,1,6,6,8,7,4,6,10,20,1,10
BottomData.addHeaderLine 0
BottomData.fieldFixedLengths 8,6,4,3,40,2,3,2,3,1,19,15,27,7,27
But it is not working. File is still coming.
Is there any way to delete one line in the receiver
file adapter.
Any input is appreciated.
Regards,
SrinivasHi Srinivas,
There are other ways also to get the filename. See this link for this:
http://wiki.sdn.sap.com/wiki/display/XI/CombiningthreedifferentaspectsofPIinoneshot
Regards,
---Satish
Maybe you are looking for
-
Hi All, I am developing a Report which should call the FBL5N Tcode in the drill down. In FBL5N i have display all items ( Both Open and Cleared Items) and should pass Clearing Date also as input. If i pass Clearing date , open items are not d
-
Hold switch on then off = crash and reset
Everytime I put my ipod nano on hold then take it off hold. Anything on the screen gets half cleared out, then any button after that will reset the ipod. After it comes back up I cannot use the buttons. Tried several format/reset (menu and select), r
-
I have a circa 2004 1.5 GHz 17" PB with one 512 Mb DIMM. Where would be good place to go for a 1 Gig DIMM for the second slot? And what should I expect to pay? Thanks, gang, in advance! PowerBook Mac OS X (10.3.9)
-
hi all, The below tutorial worked first time for me and i was hoping someone could suggest a way on using it for multiple pieces of audio i.e. creating a music player. I'm not quite sure on how this would be done, any help would be greatly appreciate
-
Fm Converting Fax Id Number to Filename
Hi, I am using FM RSPO_NUMBER_TO_FILENAME to take my spool no. as exporting parameter and importing filename. My spool no. is filled from the close_form. Spool Id is generated in close_form and passing it to above Fm and getting filename and saving