File Content Conversion (receiver) and special characters
Hi all,
I have a scenario that has a file receiver channel with content conversion. The record structure in the flat file is field-width delimited (hence no field separator) and the parameter 'fieldLengthTooShortHandling' has the value 'Cut' because the receiving system needs only specific widths for the fields. Hence if the field value exceeds the length permitted, the extra characters are clipped.
I observed that some characters are not handled properly while creating the text file. For example, one of the fields contained a "minus" character (not the hyphen). The flat file was created successfully. I opened the file in notepad and found that the "minus" character has appeared correctly and the column count in that record was as expected. However when the same file was opened in Textpad, the minus character was displayed as â | | ('a' with caret, bar, bar) So, all the fields after this field were shifted ahead by 2 characters and hence the total column count of the record had gone beyond the actual one.
All this started due to the error reported by the receiver system which processes the flat file. Due to shift of characters in the flat file, the processing failed. Moreover that system cannot process the special characters (like minus or non-Latin accented characters etc.) So although there is no issue in XI interface as such, I just want to know if anyone has more informtion on why the characters are displayed differently as mentioned above.
Regards,
Shankar
Define data type like
order_recordset
order_row 1..unbound
f1
f2
All are same except communication channel configuration,
Message Protcol : File content select, then below you got additional parameters.
there you fill
Document name : Your sender message type.
Document namespace : Give your scenario namespace
Recordset name : order_recordset ( mentioned in the data type)
Recordset structure : order_row, *
Name Value
order_recordset.fieldSeparator : 'nl'
order_row.fieldSeparator : ,
order_row.endSeparator : 'nl'
based on your text file you fill the above parameter values.
Similar Messages
-
File XML Content Conversion: Problem with special characters
Hello,
in a file sender cc content conversion is used to transform a flat structure to XML. What we experiencecd is that the message mapping failed due to a character that was not allowed in XML:
I was assuming that the file content conversion just creates XML messages with allowed characters. Is there any way to configure content conversion to remove control characters which are not allowed in XML? Unfortunately the sender system cannot be modified.
Thank you.Hi Florian,
Please use this UDF to remove special characters which prevent XML messages to form properly.
public static String removeSpecialChar(String s)
try
s=s.replaceAll("&","& amp ;");
s=s.replaceAll("<" , " & lt ;");
s=s.replaceAll(">", "& gt ;");
s=s.replaceAll("'", "& apos ;");
s=s.replaceAll("\"", "& quot ;");
catch(Exception e)
e.printStackTrace();
return s;
Please remove spaces between characters within double quotes. I have added them because otherwise you can't see this code properly. Please check this below link , please replace the characters with proper values as the display is causing a problem here
http://support.microsoft.com/kb/316063
regards
Anupam
Edited by: anupamsap on Jul 7, 2011 4:22 PM
Edited by: anupamsap on Jul 7, 2011 4:23 PM -
File Content Conversion - Receiver Adapter
Hi To All
I have an XML Structure
<LIST>
<Seg1>
<Element1>123</Element1>
</Seg1>
<Seg2>
<Element1>ABC</Element1>
<Element2>DEF</Element2>
<Element3>GHF</Element3>
</Seg2>
<LIST>
I'm using File content conversion in receiver Adapter
I want my output like this.
ABCDEFGHF
I don't need the Segment Seg1.
In my parameters RecordsetStructure only I have Seg2 and the details for this Segment
but When I receive a file, the adapter convert with segment 1.
123
ABCDEFGHF
can you help me?.easiest alternative is mentioned here already, drop it in the mapping.
You can also try to write a java pgm and invoke it as an OS command. that cuts the segment1 out before passing it to content conversion. ..more painful..but will work.
Regards
Ravi Raman -
Issue w/ File content conversion (Receiver side)
Folks, there seems to be an issue with the conversion. I've read several of threads on this forum, but none helped! Although the file is generated with 8 bytes there seems to be nothing in the file.
However when 'File' message protocol is used, the xml file is generated correctly as expected. All my other settings are fine.
Here is the scenario:
1) created Message type -
MTX
..Material
..BaseUnit
..MatGrp
..Division
2) comm. channel created for -
Transport protocol: File (NFS)
Message protocol: File content conversion
Recordset Structure: MTX
parameters:
MTX.fieldSeparator: ,
MTX.endSeparator: 'nl'
Should recordset struc. and parameters have 'ns0' prefix, i.e.,
Recordset Structure: ns0:MTX
parameters:
ns0:MTX.fieldSeparator: ,
ns0:MTX.endSeparator: 'nl'
What esle is missing? any thoughts are welcome.
Thanks and appreciate your responses.Hi ABAP JUNOON,
Could you please create another Test scenario and
try
MTI_XXX
- DATA(0..unbounded)
- fields?
i mean, without redundant RS(Record Structure).
and use
Transport protocol: File (NFS)
Message protocol: File content conversion
Recordset Structure: DATA.
it will written the complete output file.
some people create the Reciver data type for test scenario's as follows.
MTI_XXX
-RS
- DATA(0..unbounded)
- fields?
i mean with redundant RS
in this case file is generated, but nothing will be appear.
so plz take care while creating the reciver data type with FCC.
and the following case also will work i.e
MTI_XXX
-RS
-Header(0,1)
- fields?
- DATA(0..unbounded)
- fields?
- Trailer(0,1)
- fields?
Regards
Mahesh. -
File content conversion - Receiver config
Dear Experts ,
I am transferring data from an Idoc to a target structure ( flat file ) using file content conversion . But the problem is regarding the sequential order of writing the data .
>E1EDL24 ( parent ) [ IDoc ]
xxxxx
yyyyy
zzzzz
>E1EDL26 (child)
xxxxx
My target structure i have defined into which i pass the values from IDoc is as follows .No heirarchy , bcoz i want the child to be written in the next line
ROOTNODE
E1EDL24
xxxx
yyyy
zzzz
E1EDL26
xxxx
when the file content conversion is done it has to write to the target as below and they are unbounded repetitions
E1EDL24 xxxxx yyyyy zzzzzzz -
parent [ Flat File - Using file content conversion ]
E1EDL26 xxxxx -
child
E1EDL24 xxxxx yyyyy zzzzzzz
E1EDL26 xxxxx
E1EDL24 xxxxx yyyyy zzzzzzz
E1EDL26 xxxxx
Even my target payload is xml coming as below
<E1EDL24>
<SEGNAM>E1EDL24</SEGNAM>
<POSNR>000010</POSNR>
<MATNR>1SDA056161R1</MATNR>
<ARKTX>E3N3200/WMP/3P/PR121/LSI</ARKTX>
<WERKS>AEAV</WERKS>
<LFIMG>5</LFIMG>
<ABRDT>20120209</ABRDT>
<POSEX>000000</POSEX>
<VGBEL>4200512544</VGBEL>
<VGPOS>000010</VGPOS>
- <E1EDL26>
<SEGNAM>E1EDL26</SEGNAM>
<PSTYV>ARV</PSTYV>
</E1EDL26> </E1EDL24>
- <E1EDL24>
<SEGNAM>E1EDL24</SEGNAM>
<POSNR>000020</POSNR>
<MATNR>1SDA059669R1</MATNR>
<ARKTX>E3 WFP 3P HR-HR NEW</ARKTX>
<WERKS>AEAV</WERKS>
<LFIMG>5</LFIMG>
<ABRDT>20120209</ABRDT>
<POSEX>000000</POSEX>
<VGBEL>4200512544</VGBEL>
<VGPOS>000020</VGPOS>
- <E1EDL26>
<SEGNAM>E1EDL26</SEGNAM>
<PSTYV>ARV</PSTYV>
</E1EDL26> </E1EDL24>
It is giving me configuration error .
Should subnodes or child be mentioned in the record set structure or not. if not how will i clearly wite it to the next line as a child for every time it writes a parent unbounded times .
So can anyone tell me if the problem is with mapping or parent child relation or how do i map to get it in the sequence . Your replies can be really helpful
-Thanks in advance
Regards
GangaHI Bhaskar ,
This is not even so deeply nested . Its just one parent and child that it has to write in the flat file with unbounded times . The output xml is generated perfectly but giving the configuration error . in passing the values . Want to know how to write the child segments in the configuration profile in the content conversion parameters .
Regards
Ganga -
File Content Conversion Receiver
Hello,
I've the follow structure:
1 entrega 0..unbounded
1.1 entregas 0..unbounded
1.1.1 pedido 0..1
1.1.2 posicion 0..1
1.1.3 marcas 0..1
1.1.3.1 marca1 0..unbounded
1.1.4 cajas 0..unbounded
1.1.4.1 num_caja 0..1
1.1.4.2 ref_cliente 0..1
1.1.4.2.1 linea 0..unbounded
1.1.4.3 num_serie 0..unbounded
1.1.4.3.1 num 0..1
1.1.4.3.2 descr 0..1
1.1.4.3.2.1 linea 0..unbounded
The format output file is:
pedido,posicion,marca1,marca1,numcaja,linea,linea,num, num,linea,linea
pedido,posicion,marca1,marca1,numcaja2,linea2,linea2,num2
pedido,posicion,marca1,marca1,numcaja3,linea3,num3,linea3..
I don't know how to do in file content conversion for obtain this..
My file content conversion is:
recordset: entregas,marca1,cajas,ref_cliente,num_serie,descr
all fields has fieldSeparator and endSeparator
I had testing change this values however i can't obtain the output file..hi,
Content Conversion does not support more then 2 th depth levels I'm affraid
so you need to do it:
- either in the mapping (so only 2 levels will be visible)
- or in the adapter module (instead of mapping you can prepare the lines here)
Regards,
Michal Krawczyk -
File Content Conversion Receiver Channel
Hi,
I have a complex structure like:
<Header>
</Header>
<Item>
<SubItem>
<Info>
</Info>
</Subitem>
</Item
<Item>
<SubItem>
<Info>
</Info>
</Subitem>
</Item
When I follow the instructions for File Content conversion I cannot separate the Item / SubItem and Info segments into separate lines in my flat file.
The result is:
Header
Item Subitem Info
Item Subitem Info
I want
Header
Item
Subitem
Info
Item
Subitem
Info
How can i establish the correct result?
Best regards
Ron.Hi,
I specified the following
Name value
Header.addHeaderLine 0
Header.fieldSeparator ;
Header.endSeparator 'nl'
Item.addHeaderLine 0
Item.fieldSeparator ;
Item.endSeparator 'nl'
Subitem.addHeaderLine 0
Subitem.fieldSeparator ;
Subitem.endSeparator 'nl'
Info.addHeaderLine 0
Info.fieldSeparator ;
Info.endSeparator 'nl'
Best Regards
Ron -
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. -
File content conversion Receiver with no key fields
hi all,
I have a header structure with four fields all varying and also item structure with varying fields .. how do i go about to solve this .. as the regular Content Conversion uses key fields.. but there are no such key fields here... kindly help in this regard to proceedIf you dont have a key field, then the only option to read the file and convert it to XML would be in a record row format.
Here each line will go as one field in the XML. You will have to use some logic in your mapping to extract the right field.
Ref: /people/sravya.talanki2/blog/2005/08/16/configuring-generic-sender-file-cc-adapter
but in case your is a receiver File adapter then key fields are not required.
ref: /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion -
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 -
File Content Conversion Receiver side
hello friends:
I needed output file as with xml tags at beginning and ending and inbetween csv file
Eg for the desired output
<Main>
<Header>
<H1> headertext1 </H1>
<H2> headertext2 </H2>
</Header>
<BODY>
A,123,445,455, KUM1ABC
B,XX, YY,ZZ,KUM2ABC
B,12a,446,457,KUM3ABC
B,12b,447, 458,KUM4ABC
B,12c,448,459,KUM5ABC.
</BODY>
</Main>
1. I am receiving a table from sap rfc as source and mapped inside XI to a target structure.
COL1 COL2 COL3 COL4 COL5
A 123 445 455 KUM1ABC
B XX YY ZZ KUM2ABC
B 12a 446 457 KUM3ABC
B 12b 447 458 KUM4ABC
B 12c 448 459 KUM5ABC
2,Create Target structure
Target Structue:
Node
Header
H1
H2
Data
C1
C2
C3
C4
C5
3.At Receiver communication channel i used FCC with Body.fieldSeparator as ',' and i am getting the output as below with total csv file .How to get xml tags at beginning and at ending and in between csv file?
Output:
headertext1
headertext2
A,123,445,455, KUM1ABC
B,XX, YY,ZZ,KUM2ABC
B,12a,446,457,KUM3ABC
B,12b,447, 458,KUM4ABC
B,12c,448,459,KUM5ABC
thanks for reading my message! any clues are appreciatedHi,
You use like below.
Use StrictXml2PlainBean to convert the file in .csv format.The same like FCC paramters .
[http://help.sap.com/saphelp_nw70/helpdata/EN/44/748d595dab6fb5e10000000a155369/content.htm]
After that use adapter module and add the xml tag in the file.
Module should be present like,
1.StrictXml2PlainBean
2.Custom Adapter module
3.CallSapAdapter
Regards,
Prakasu.M -
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 in receiver file adapter
Hi All
I have a problem with file content conversion in receiver file adapter.
This is my recordset structure: Header_Record,1,Claim_Record,*,Check_Rec,1
These are the content conversion parameters:
Header_Record.fieldSeparator = ,
Header_Record.endSeparator = 'nl'
Claim_Record.fieldSeparator = ,
Claim_Record.endSeparator = 'nl'
Check_Rec.fieldSeparator = ,
Check_Rec.endSeparator = 'nl'
In SXMB_MONI, i can see that the data is correctly extracted from proxy, and correctly mapped to receiver message, and i see a checkered flag (success).
But, Adapter status is RED with the following error message:
Conversion initialization failed: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Parameter '1.fieldFixedLengths' or '1.fieldSeparator' is missing
In communication channel monitoring, i get the following error message:
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Channel has not been correctly initialized and cannot process messages
What is going wrong here? Can anyone please tell me?
Thanks
ChandraPosted in Incorrect forum.
Posted again in Process Integration forum -
Error in Receiver File adapter using File content Conversion
Hi,
I am getting the following error in the receiver file adapter.
Conversion initialization failed: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Parameter 'statement.fieldFixedLengths' or 'statement.fieldSeparator' is missing
I am using the below parameters for FCC:
Recordset Structure - statement
statement.endSeparator - 'nl'
statement.fieldSeparator - '0X09'
statement.fieldNames -xblnr,wrbtr,newbs,kostl,newko,prctr,xref1,rke_wwfud,rke_wwst3,blart,bukrs,bldate,budat,gjahr,monat,ctype,waers,bktxt,posnr,wbs_element,mwxkz,businessplace,businessplace,c_waers,c_wrbtr,g_ctype,g_waers,g_wrbtr,h_ctype,h_waers,h_wrbtr,trade_id,lob,sgtxt,zuonr,reason_rev,ldgrp,tcode,lifnr
ignoreRecordsetName - true
Please let me know where i am going wrong.
Thanks,
AparnaHi Aparna,
I feel the problem in your content conversion parameters is with
statement.fieldNames and ignoreRecordsetName
When you are confirguring receiver file adapter for file content conversion the above one is not required. Please refer below link for details on configuring content conversion in file adapter
[http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm]
Hope this helps !!
Regards,
Amit -
File is not creating on the Receiver for File Content Conversion
Hi,
i have created a scenario with this blog
/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
for sender side i am using File Content Conversion to read .txt file and on receiver side i need xml file i have done that.
when i placed the file in the sender folder it gets picked up and i checked in Communication Channel monitporing in Runtime WorkBench it is processed Successfully. but no XML File is created on the Receiver side. i am unable to see the messages on SXMB_MONI also.
Please suggest some ideas to solve this.
Thanks,
Giridhar.CHi Giridhar.
unable to see the messages on SXMB_MONI also
If the file got picked and in Communication Channel monitoring RWB you can see that it is processed without any errors ,, then i feel it should come in come.Please check the Audit log in RWB, there you can see the error message if any.
Please check the connection parameters in FTP and make sure that the same sender folder is
not being used by any other scenario.If you have done any recent changes then do a cache refresh .
Please post if you see any error in content conversion.
Regards
Srinivas
Maybe you are looking for
-
What's wrong with my macbook? It shuts down after 1 minute!
Last night I updated my macbook with something, didn't see what it was, but it required a restart, so I did that. After that, when I was using my macbook it froze all the time, so I tried restarting it a couple of times, but the freezing kept getting
-
Upgrade oracle 9i to 10g in apps 11i
I am trying to run dbua from 10g oracle_home. However it gives the following db to upgrade->FATST:/u02/fatstdb/10g:N (this is non-existent oracle home) But actually databse that i have to update is --> FATST:/u02/fatstdb/9.2.0:N We have the following
-
I need to delete music off my ipod how can I do that with out taking all the music off the ipod?
-
Speaker buzz and interference in Premiere Pro and Audition CS5.5
Several months ago I upgraded to an Asus G10AC PC for my editing. When I first started using the Asus I was using a basic 5.1 computer speaker system plugged in using the 3.5mm headphone jack for sound. I noticed right away that when I opened Premier
-
Inserting Hex Characters using SQL
How do I insert a special character (e.g. LF (Hex 0A)) in a column using sql (column is varchar)?