File Content Conversion-Error in receiver channel
hi gurus,
In moni its displaying success message but in adater monitoring, Reciver channel error displayed as
Parameter 'Record.fieldFixedLengths' or 'Record.fieldSeparator' is missing
can any one help me with this.
regards,
kiran.
Hi,
NameA.fieldSeparator
If you specify a character string here, it is added as a separator to all columns except the last. You can also specify this string in addition to NameA.fieldFixedLengths.
If you made no specification for NameA.fieldFixedLengths, this is the only specification to identify the individual columns in a row.
If you made a specification for NameA.fieldFixedLengths, the length of the separator is not taken into account.
You must specify at least either NameA.fieldFixedLengths or NameA.fieldSeparator.
If you have only specified NameA.fieldSeparator, the structures of the XML document can have differing numbers of elements that are added to each other separately in the text file by the value from NameA.fieldSeparator. If you specify NameA.fieldFixedLengths this is not possible since the number of columns is defined when the column widths are given.
NameA.endSeparator
If you enter a character string here, the system adds it to the last column as a closing character. You can also make this specification in addition to NameA.fieldFixedLengths. To include a line break following the closing character, you must explicitly define it by attaching ´nl´ (including the quotation marks) to the string.
The default value is a line break (no explicit separator after the last column; instead the structures are arranged line-by-line).
Similar Messages
-
** File Content Conversion Error in Receiver CC - How to solve this?
Hi friends,
My target structure looks like below.
EmployeeJobDetails --> Message Type
JobCode --> Node
EmployeeNumber xsd:string
Domain xsd:string
JobTrack --> Node
Department xsd: string
Position xsd: string
I use the FCC parameters in the receiver CC as below:
Recordset Structure: JobCode,JobTrack
JobCode.fieldSeparator = |
JobCode.endSeparator = 'nl'
JobTrack.fieldSeparator = |
JobTrack.endSepartor = 'nl'.
Because, we want the output like below
1099|Raja
Accts|JuniorAccountant
1100|Ram
HR|Recruiter
like this.
In this scenario Source is XML and target is txt file.
I am using XSLT Mapping. The FCC works fine, if my source input file contains some records. But, when we send empty source XML file as below
<?xml version="1.0" encoding="UTF-8"?>
<EMPLOYEE_DATA/>
Mapping works fine. Message is processed successfully in SXMB_MONI. The payload in response also comes with Message Type name like below
<EmployeeJobDetails namespace >
</EmployeeJobDetails>
While convert this, the system throws below error.
Error Message:
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure '' found in document', probably configuration error in file adapter (XML parser error)': java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure '' found in document', probably configuration error in file adapter (XML parser error)'
Friend, how to convert this when source XML is empty.
But, if we remove JobTrack node in target strucutre and remove the JobTrack parameters in CC, then if we send the same empty XML file FCC is working fine and we get the target text file 0 KB. (Amazing !!)
But, in the first case, how to solve the issue?
Kind Regards,
Jegathees P.Hi friends,
If we remove JobTrack node in target strucutre and remove the JobTrack parameters in CC, then if we send the <b>same empty XML file</b> FCC is working fine and<b> we get the target text file 0 KB</b>. (Amazing !!)
But, if we give parameters like JobCode,JobTrack then send pass the same empty file, we face the problem 'File Content Conversion' Error.
Searching solution for this problem ... -
Multiline file content conversion-- error
Hi All
I am sending a txt file to CSV format (txt file), I have done IR and ID without errors. Adaptor Monitor shows that
Initialization error: Conversion initialization failed with java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found:
Parameter '.fieldFixedLengths' or '.fieldSeparator' is missing
I have given '.fieldFixedLengths' or '.fieldSeparator' in the Content conversion parameters in the receiver dommunication channel.
Could you please let me know what could be wrong?
Thanks,
RamThanks Krishnamoorthy, Bhavesh, Priyanka for your reply
The Problem is the file is picked up from the source but not reaches the destination
<u><b>Sender Communication Channel Details:</b></u>
Source File format----test.txt (Notepad)
<b>Source Datatype:</b>
FILEINPUT
Record
Row
FirstName
LastName
MiddleName
City
Place
State
Country
<b>Content conversion paramerters:</b>
Row.fieldNames---FirstName,LastName,MiddleName,City,Place,State,Country
Row.fieldSeparator---,
Row.endSeparator---'nl'
Transport Protocol---NFS
Message Protocol---File Content Conversion
<u><b>Receiver Communication Channel Details:</b></u>
Target File format----Test.txt
<b>Target Datatype:</b>
FOUTPUT_TEST
Record
Row
FirstName
LastName
MiddleName
City
Place
State
Country
<b>Content conversion paramerters:</b>
Row.addHeaderLine-----0(zero)
Row.fieldSeparator------,(comma)
Record.fieldSeparator-----'nl'
Row.endSeparator-----'nl'
Transport Protocol---NFS
Message Protocol---File Content Conversion
I am sending a text file and I want to receive it as a text file.
In both, Sender communication channel and Receiver communication channel I am using file content conversion.
Thanks
Ram -
File Content Conversion Error in PI 7.1 (file to Proxy)
Hi
I am working on File to Proxy Scenario and I gave the File content conversion as below, File is picking up by the PI Server when I look at Communication Channel Monitoring, However when I open the Message ID in the CC monitoring it says as
404 Not Found
The requested resource does not exist.
and I do not see any message SXMB_MONI(Because the content is not converted), Can anyone give an idea how to debug this
Thanks
PR
Please find the details below which I gave in the content Conversion
Document Name : MT_TW_AK
Document NameSpace : http://aiwcd.com/Claims_Management(CM)_Rel2.0
RecordSet Name : FROISROIAcknowledgement
RecordSet Structure : Header,1,Record,*,Trailer,1
Recordset Sequence : Ascending
KeyField Name :TransactionSetID
Key Field Type : String (Case Sensitive)
IgnoreRecordsetName : true
Header.fieldNames :TransactionSetID,SenderID,ReceiverID,DateTransmissionsent,TimeTransmissionsent,OriginalTransmissionDate,OriginalTransmissionTime,TestProductionCode,InterchangeVersionID
Header.fieldFixedLengths: 3,25,25,8,6,8,6,1,5
Header.keyFieldValue : H
Record.fieldSeparator :
Record.fieldNames : TransactionSetID,RecordSequenceNumber,DateProcessed,TimeProcessed,InsurerFEIN,ClaimAdministratorPostalCode,ClaimAdministratorFein,AcknowledgementTransactionSetID,ApplicationAcknowledgmentCode,InsuredReportNumber,ClaimAdministratorClaimNumber,JuridictionClaimNumber,MaintenanceTypeCode,MaintenanceTypeCodeDate,RequestCode,FreeFormText,NumberofErrors,MaintenanceTypeCorrectionCode,MaintenanceTypeCorrectionCodeDate,JurisdictionBranchOfficeCode,ClaimAdministratorAlternatePostalCode,NumOfErrors
Record.fieldFixedLengths: 3,9,8,6,9,9,9,3,2,25,25,25,2,8,3,60,2,2,8,2,9,19
Record.keyFieldValue : A
Trailer.fieldNames:TransactionSetID,DetailRecordCount,TransactionCount
Trailer.fieldFixedLengths: 3,9,9
Trailer.keyFieldValue : T
ignoreRecordsetName: truePR,
Can you check the error in sender communication channel?
Go to RWB ---> Component Monitoring ---> Adapter Engine ---> Communication cahnnel monitoring --> it displays new page. Then give your file sender communication cahnnel name. There you will definitely see some error.
The error what you are getting is a different to this one. Can you please check the error what I have given above path.
Regards,
---Satish -
Hello,
I have Async. File receiver scenario in which the following is the XML message structure. This is received by the file adpater.
<ns1:MT_Info_File xmlns:ns1="urn:http://freemanco.com/xi/info_list">
<TYPE>
<FileItem>
<FileName>DD11022007</FileName>
</FileItem>
</TYPE>
<DATA>
<LineItem> <LineEntry>234567891234567890123456789012345678901234567890</LineEntry>
</LineItem>
<LineItem>
<LineEntry>95473523647586969587265245437586979798376524253586</LineEntry>
</LineItem>
<DATA>
<LineItem</ns1:MT_Info_File>
<u><b>I want to write only folowiing DATA structure to file. I do not want to wite contents of TYPE structure</u>
<DATA>
<LineItem> <LineEntry>234567891234567890123456789012345678901234567890</LineEntry>
</LineItem>
<LineItem>
<LineEntry>95473523647586969587265245437586979798376524253586</LineEntry>
</LineItem>
<DATA></b>
In the receiver file adpater I have follwoing <u><b>File content conversion parameters</b></u>.
RecordSetStructure: DATA,LineItem,*
*.addHeaderLine 0
*.fieldFixedLengths 301
*.fixedLengthTooShortHandling Error
*.endSeparator nl
LineItem.fieldSeparator nl
DATA.fieldSeparator nl
While testing I got following error. Looks like it is expecting some values for FileItem element in the XML.
<b>Error</b> Attempt to process file failed with java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'FileItem' found in document', probably configuration error in file adapter (XML parser error)'
<b>Error</b> MP: exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'FileItem' found in document', probably configuration error in file adapter (XML parser error)': java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'FileItem' found in document', probably configuration error in file adapter (XML parser error)'
<b>Error</b> Exception caught by adapter framework: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'FileItem' found in document', probably configuration error in file adapter (XML parser error)'
<b>Error</b> Delivery of the message to the application using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'FileItem' found in document', probably configuration error in file adapter (XML parser error)': java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'FileItem' found in document', probably configuration error in file adapter (XML parser error)'.
How to resolve this issue? I appreciate your help.
Thank you,
BalajiBalaji,
I would suggest to remove FileItem and LineItem in your receiver datatype. They are increasing the hierarchy of your content conversion. If you do that then you will have
<ns1:MT_Info_File xmlns:ns1="urn:http://freemanco.com/xi/info_list">
<TYPE>
<FileName>DD11022007</FileName>
</TYPE>
<DATA><LineEntry>234567891234567890123456789012345678901234567890</LineEntry>
<LineEntry>95473523647586969587265245437586979798376524253586</LineEntry>
<DATA>
</ns1:MT_Info_File>
Then in content converstion give this parameters:
Record structure : TYPE,FileName,DATA,LineEntry
TYPE.fieldfixedlengths : 0
FileName.fieldfixedlenghts:0
DATA.fieldfixedlenghts:0
LineEntry.fieldfixedlengths:301
LineEntry.endSeparator:'nl'
Then it should work. Also you can use FileName in your variable substituition. Also please see this weblog on how to use FileName in variable substitution:
/people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12
If you dont want to remove FileItem and LineItem then add these also in your content conversion. Then the parameters would be:
Recordset: TYPE,FileItem,FileName,DATA,LineItem,LineEntry
TYPE.fieldfixedlengths : 0
FileItem.fieldfixedlengths:0
FileName.fieldfixedlenghts:0
DATA.fieldfixedlenghts:0
LineItem.fieldfixedlengths : 0
LineEntry.fieldfixedlengths:301
LineEntry.endSeparator:'nl'
Regards,
---Satish -
File Content Conversion - Error in keyfield Value
Hello experts,
I am doing file content conversion for a file to file scenario. The input file is a csv file which is converted to xml using the file content conversion. The key field of input file is used for implementing conversion.
While testing the FCC, I noticed that if the keyfield value is wrong for a record in the file, the record is ignored altogether without throwing any errors or warnings. Is there any way to notify if any records have been ignored as a result of incorrect keyfield value??
Thanks in advance!
RRThere seems to be NO way to handle it in FCC.
File Content Conversion - Key Field Value
u can think of work arounds by handling it in mapping....
-santosh. -
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 error ? Can anyone help?
The Error that shows is :
Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR consistency check in recordset structure validation (line no. 6: missing structure(s) before type 'headerData'
What could be the possible reason for this error? It is urgent and poits to be rewarded. Thanks in advance.
My structure is like the one below :
<HEADER>
<.Field1..>
< Field2 >
</HEADER>
<headerData>
<fields>
</headerData>
<itemData>
<fields>
</itemData>
<textData>
<fields>
</textData>
<Footer>
<fields>
</Footer>I checked the source file and the first field is having value "4". Also there is no other line bofore it.
4GIPS2SAP.DAT GIPS ME P.R .TRANSMISSION 20071002200710021901GIPS ME TORINO 0000000#
10027879961 00662522 PL11619 12PL11031000 PL11031000ZDUM 33610 PL11EUR
227879961 120071002N.2 BANCHI PER RACCOLTA STILLICIDIO KONIECZNY 000000000001000EA 2007113000000500000
327879961 1001FORNITURA N°2 BANCHI PER RACCOLTA STILLICIDIO PER #
327879961 1002LINEA LAVORAZIONE TESTE CILINDRI. #
10027879958 00662522 PL11619 14PL11031000 PL11031000ZDUM 33610 PL11EUR
227879958 120071002NUOVI SAG PER LINEA BASAMENTO MOTORE KONIECZNY 000000000001000EA 2007113000000500000
327879958 1001Fornitura scaffali a gravita per materiali della #
327879958 1002linea di lavorazione besamento motore. #
10027879959 00662522 PL11619 13PL11031000 PL11031000ZDUM 33210 PL11EUR
227879959 120071002FORNITURA PEDANE ANTIFORUNISTICHE KONIECZNY 000000000001000EA 2007113000000500000
327879959 1001FORNITURA E POSA DELLE PEDANE ANTIFORTUNISTICHE PER #
327879959 1002LINEE DI LAVORAZIONE BASAMENTO MOTORE E TESTE #
327879959 1003CILINDRI COME DA SPECIFICA DEL 10/09/2007. #
5GIPS2SAP.DAT GIPS ME TEXAS 000 0 0 0000015################################################################## -
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 -
Hierarchy on file content conversion for receiver?
Y'all,
I'm stuck in this problem and I haven't find a solution to solved it... so, all your clues and reply's are really appreciate...
The basic problem is a File content conversion for a receiver C.C. that is not working and it's raising some errors in the RWB, I have gone thru some blogs but I still having a lot of doubts...
I want to produce a flat TXT file that will have a line for every node or subnode, it doesn't matter if it's not represented as hierarchical structure like this one... but the records must be produced or written in the same order...
Man_Del_Header as main node with Man_Header, Delete_Detail and Trailer as subnodes...
<?xml version="1.0" encoding="UTF-8"?>
<ns1:MT_DISTRIBUTOR_DELETE xmlns:ns1="http://xxx.com/xi/POSout">
<Man_Del_Header>
<MD_Header>|HM|1|</MD_Header>
<MD_StoreNumber>051</MD_StoreNumber>
<MD_filler1>|2|0000|3|</MD_filler1>
<MD_EffDate>09/17/07</MD_EffDate>
<MD_filler2>|4|005|5|dsdvnd|7|</MD_filler2>
<MD_BatchNumber>500</MD_BatchNumber>
<MD_fiiller3>|8|</MD_fiiller3>
<MD_BatchDescr>DELETE PREV CST BTCH</MD_BatchDescr>
<MD_filler4>|10|D|</MD_filler4>
<MD_linef>1</MD_linef>
<Man_Header>
<Man_Header>|HM|1|</Man_Header>
<Man_StoreNumber>051</Man_StoreNumber>
<Man_filler1>|2|0000|3|</Man_filler1>
<Man_EffDate>09/17/07</Man_EffDate>
<Man_filler2>|4|005|5|dsdvnd|7|</Man_filler2>
<Man_BatchNumber>500</Man_BatchNumber>
<Man_filler3>|8|</Man_filler3>
<Man_BatchDescription>Delete Distributor</Man_BatchDescription>
<Man_filler4>|</Man_filler4>
<Man_linef>Constant</Man_linef>
</Man_Header>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005010</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005011</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Trailer>
<Trailer>|T|1|</Trailer>
<TotalRecCnt>00005</TotalRecCnt>
<filler1>|2|</filler1>
<NoOfHeaders>00002</NoOfHeaders>
<filler2>|3|</filler2>
<NoOfAdds>00000</NoOfAdds>
<filler3>|4|</filler3>
<NoOfChanges>00000</NoOfChanges>
<filler4>|5|</filler4>
<NoOfDeletes>00002</NoOfDeletes>
<filler5>|13|</filler5>
<NoOfSubstitution>00000</NoOfSubstitution>
<filler6>|</filler6>
<linef>1</linef>
</Trailer>
</Man_Del_Header>
<Man_Del_Header>
<MD_Header>|HM|1|</MD_Header>
<MD_StoreNumber>061</MD_StoreNumber>
<MD_filler1>|2|0000|3|</MD_filler1>
<MD_EffDate>09/17/07</MD_EffDate>
<MD_filler2>|4|005|5|dsdvnd|7|</MD_filler2>
<MD_BatchNumber>500</MD_BatchNumber>
<MD_fiiller3>|8|</MD_fiiller3>
<MD_BatchDescr>DELETE PREV CST BTCH</MD_BatchDescr>
<MD_filler4>|10|D|</MD_filler4>
<MD_linef>1</MD_linef>
<Man_Header>
<Man_Header>|HM|1|</Man_Header>
<Man_StoreNumber>061</Man_StoreNumber>
<Man_filler1>|2|0000|3|</Man_filler1>
<Man_EffDate>09/17/07</Man_EffDate>
<Man_filler2>|4|005|5|dsdvnd|7|</Man_filler2>
<Man_BatchNumber>500</Man_BatchNumber>
<Man_filler3>|8|</Man_filler3>
<Man_BatchDescription>Delete Distributor</Man_BatchDescription>
<Man_filler4>|</Man_filler4>
<Man_linef>Constant</Man_linef>
</Man_Header>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005012</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005013</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005014</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Trailer>
<Trailer>|T|1|</Trailer>
<TotalRecCnt>00006</TotalRecCnt>
<filler1>|2|</filler1>
<NoOfHeaders>00002</NoOfHeaders>
<filler2>|3|</filler2>
<NoOfAdds>00000</NoOfAdds>
<filler3>|4|</filler3>
<NoOfChanges>00000</NoOfChanges>
<filler4>|5|</filler4>
<NoOfDeletes>00003</NoOfDeletes>
<filler5>|13|</filler5>
<NoOfSubstitution>00000</NoOfSubstitution>
<filler6>|</filler6>
<linef>1</linef>
</Trailer>
</Man_Del_Header>
</ns1:MT_DISTRIBUTOR_DELETE>
|HM|1|051|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|DELETE PREV CST BTCH|10|D|1
|HM|1|051|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|Delete Distributor|Constant
|D|901|170|0000005010|1
|D|901|170|0000005011|1
|T|1|00005|2|00002|3|00000|4|00000|5|00002|13|00000|1
|HM|1|061|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|DELETE PREV CST BTCH|10|D|1
|HM|1|061|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|Delete Distributor|Constant
|D|901|170|0000005012|1
|D|901|170|0000005013|1
|D|901|170|0000005014|1
|T|1|00006|2|00002|3|00000|4|00000|5|00003|13|00000|1
So as you can see, i wanna produce a flat file that will have line or record for each node, it doesn't matter that it has a hierarchy or a deeper level, it should be a simple flat file...
The thing is that i have been trying to setup the receiver comm. channel and it's raising some errors like Could not process due to error:
<i>java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Consistency error: more fields found in XML structure than specified in conversion parameters! (Value 'XXXX')', probably configuration error in file adapter (XML parser error)'</i>
I have checked this blog:
/people/karthiknarayan.kesavan2/blog/2007/08/22/file-content-conversion-for-multi-hierarchical-structure
Unfortunately i don't know if there's another way to achieve this...Jerry,
it easy if you go with multi mapping concept and without BPM if you are above >XI3.0 SP14.and use Append mode in the receiver file adapter.
just create the target structure like root under that Man_Del_Header,Man_Header,Detail,Trailer at the same level but got be careful with occurences.
<b>Source:</b>
I think from your structure you have
Man_Del_Header (1-unb)
Man_Header (1-1)
detail (0-unb ) may be (1-unb)
trailer (1-1)
create <b>target DT</b> like:
ROOT
..Man_Del_Header (1-1)
..Man_Header (1-1)
..detail (0-unb ) may be (1-unb)
..trailer (1-1)
all are at same level under ROOT.
create MT,MI,MM,IM.
in MM just map correspoding fields and if you have any unbounded onces map the nodes too. and map Man_Del_Header in the source to MT_XYZ (important)
and in the MM go to MESSAGES tab and change the occurences of the target Message to 0-unbounded same way in the interface mapping 0-unbounded.
here it create anothe extra node in the mapping something like Message1,this is ok.
and in ID just create all other objects like as usual except creating Interface determination ,in that select the extended radio button.
in reciever File CC use FCC ,would be very simple in the recordsetstrcture give
your four nodes Man_Del_Header,Man_Header,Detail,Trailer.
and use either fixed or field seperator.use append mode in recv File CC otherwise it will generate files as many occurences your source "Man_Del_Header" has ,cos we are mapping it to the MT--xyz .
thats it you are ready to go...
if any error post back here again.
you can make use of this thread
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible (here there are two target DT ,but you just create one DT,remaining are similar)
good luck.
Babu -
Receiver File content conversion - NO Output
Hi, yesterday i posted already to this topic but i chose to make a new thread.
I have an IDoc2File Scenario where i put the generated File to the filesystem of the XI-Server.
I try to do a file content conversion at the receiver side. I already read several blogs and also the official documentation (which is kind of bad - because the arne't posted all supported parameters which could be used on the recordset)
But anyway, the is a txt file written but without any details inside, no data is deliverd.
I do a message mapping and try to put only some data to the end-file.
here is my MT which i try to convert:
MT_Tafel
++TafelRecordset
+++TafelDetailsStructure
++++TAFIST
++++TAFSOLL
My parameters at the receiver communication channel are:
Recordset: TafelDetailsStructure
TafelDetailsStructure.endSeparator = 'nl'
TafelDetailsStructure.addHeader = 0
TafelDetailsStructure.fieldSeparator = ,
I have the right message protocol, i am trying to write a simple text file, i have no file-coding like ASCII, file is directly written into an empty one - and that's all.
The file is written but without data inside.
Do i have to announce the filednames i want to write? Like TafelDetailsStructure.fieldNames??
Do i have to add Parameters concerning the tags on the higher level, like TafelRecordset?
Is there a general overview about all parameters you can use on this file content conversion?
Can anybody help me with my scenario - i have no clue what i have done wrong. Communcation channel says everthing is fine, message succesfully transfered.
best regards, Jenshi,
you need to mention the names of the field by
TafelDetailsStructure.fieldNames where u need to specify the filed names.
and also chk the similar thread
content conversion
plsz check the blog
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
check this like below,
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
hope this helps,
kvr
Message was edited by:
PrasadBabu Koribilli -
File Content Conversion Parameters in FIle Adapter
Hi
I am doing a scenario - XML file to Text file using File content conversion parameters in Receiver File Adapter Channel.
I given FCC Parameters like:
DATA.addHeaderLine - '0'
DATA.fieldSeparator - ,
DATA.endSeparator - 'nl'
But im getting error in Receiver File Adapter as - fieldSeparator not specified.
i would be greatful if any one help me.
Regards
RajeshHi Rajesh,
There are lot of blogs which explain File Content Conversion in different scenarios:-
/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
I hope this helps.
Regards.
Praveen -
hi,
i have sender and received side -file content conversion.
in sender communication channel -
Recordset structure is -> Header,1,Detail,*
Message type structure is
MT1 has 2 subnodes Header and Detail.
In my message type,there is no field identical in Header and Details. All fields are different.
(1) Is Key Field Name mandatory in this case ? If I am not giving Key field name,sender channel gives error. How to resolve it ?
(2) Input file comes from customer and in the input file there is no specific data to identify header and detail. 1st line shud be header and other lines shud be Detail ,they say. If no identification coming in incoming data,how can we set the key field name ?
rgdsHi SAP PI,
For this moment try this.
Let the file content is like this
03456451 TESTDATABC 7645649 8746464
12344 60042
45678 60043
You try reading the file like this
<MT_S>
<RECORDSET>
<ROW>
<field1>03456451</field1>
<field2>TESTDATABC 7645649 8746464</field1>
</ROW>
<ROW>
<field1>03456451</field1>
<field2>TESTDATABC 7645649 8746464</field1>
</ROW>
<ROW>
<field1>03456451</field1>
<field2>TESTDATABC 7645649 8746464</field1>
</ROW>
</RECORDSET>
</MT_S>
FCC is like this
Document Name : MT_S
Document Namespace: "put name space here"
Recordset Name: RECORDSET
Recordset Structure: ROW,*
ROW.fieldNames field1,field2
ROW.endSeparator 'nl'
ROW.fieldSeparator 0x20
Once you get this in mapping use a simple UDF to ignore the first ROW values and read the rest.
Populate the target structure from the output of UDF for each field value.
Please let me know if you need the uDF and further mapping for this.
Regards
Anupam -
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 -
ERR: EXCEPTION_DURING_EXECUTE while using FILE CONTENT CONVERSION
Hi,
I'm trying a file to file scenario with File Content Conversion for Sender communication channel. But am getting the following error in SXMB_MONI
<SAP:Category>Application</SAP:Category>
<SAP:Code area=<b>"MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code> </b>
<SAP:P1>com/sap/xi/tf/_MM_ContentBased_</SAP:P1>
<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
<SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>During the application mapping com/sap/xi/tf/_MM_ContentBased_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
I tried the same message mapping for normal file to file scenario without using File Content Conversion. It went through fine.
<b>Our file structure follows</b>
<Header>
<Sysnum>01</Sysnum>
</Header>
<Body>
<Name>ABCDE</Name>
<Age>25</Age>
<Stream>XYZ</Stream>
</Body>
<b>The Sender Communication Channel Parameters follows:
</b>
Recordset Str: Header,1,Body,1
Header.fieldFixedLengths : 2
Header.fieldNames : Sysnum
Body.fieldFixedLengths : 5,2,3
Body.fieldNames : Name,Age,Stream
ignoreRecordsetName : true
Looking for a solution
Thanks,
Ajay.Hi Ajay,
your message mapping failed.
Copy the XML message from monitoring and exectute the mapping in Integration Builder with maximal trace to get the reason.
Regards,
Udo
Maybe you are looking for
-
Some error in cluster alertlog but the cluster and database is normal used.
hi.everybody i used RAC+ASM,RAC have two nodes and ASM have 3 group(+DATA,+CRS,+FRA),database is 11gR2,ASM used ASMlib,not raw. When i start cluster or auto start after reboot the OS,in the cluster alertlog have some error as follow: ERROR: failed to
-
"IOException: Bad file descriptor" thrown during readline()
I'm working on a system to send data to bluetooth devices. Currently I have a dummy program that "finds" bluetooth devices by listening for input on System.in, and when one is found, the system sends some data to the device over bluetooth. Here is th
-
Problem in web enabling ALV ABAP report via ITS. Please help!
Hi Experts, I have a report that has a selection screen. On executing the selection screen an ALV output loads displaying data based on the selection criteria. I have web enabled it via ITS. I have used SICF transaction. When I run the intern
-
Reminders (GPS based) keep popping up, yet they are not visible to delete.
Everytime I return to my house, I get the same reminder (which I did set), yet, once I open Reminders, it's not visible -- so I cannot delete it. When I search for it, it shows up in the list, but I'm still not able to delete. Any tips?
-
Cuando utilizó Safari y voy a Google traductor, al poner la vista clásica se cierra automáticamente el navegador. Cual es el problema, incompatibilidad? Si lo dejo con la vista optimizada para iPad no se cierra pero no me gusta, prefiero vista clásic