on 06-06-2006 12:18 PM
Hello,
I am trying to convert a text file to an XML using File Content Conversion in XI 3.0.
The incoming text file gets picked up but no message is sent and hence no message is received in the monitor.I get the following log-
<b>Success</b> Channel FILE_SENDER_XML_1: Entire file content converted to XML format
<b>Warning</b> Channel FILE_SENDER_XML_1: Empty document found. Proceed without sending message
<b>Success</b> File "C:\xi_public\i033066\dme_in.txt" deleted after processing
Can somebody help me on this
Thanks
Sandeep
hi,
when you try to send an empty message it just gets deleted
it doens't go to the integration engine I believe
fom sap note 821267
"31. Empty File Processing
Q: How does the File Adapter handle empty files and messages with a zero-sized payload?
A: Empty files in the sender adapter will not trigger the creation of a message. If an empty message is sent to a receiver channel, no output file will be created."
Regards,
michal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sandeep,
<i>Success Channel FILE_SENDER_XML_1: Entire file content converted to XML format
Warning Channel FILE_SENDER_XML_1: <b>Empty document found.</b> Proceed without sending message
Success File "C:\xi_public\i033066\dme_in.txt" deleted after processing</i>
Your error msg clearly states that you are passing an empty file. As mentioned by michal, an empty file will be ingnored by the file adapter and wil not be sent to the integration engine and hence no entry in SXMB_MONI.
Regards,
Bhavesh
Hello,
I am not sure of why the empty Payload is created.
I have the following TXT file -
<b>LINE 1</b> 01 22 Sandeep ASKDJKLASD HDFC Bank 12342 asdasd 123569
<b>LINE 2</b> 02 22 Sagar 23123 ICICI 4234 ASDASD 254636 12304 ASDAsdqwe
<b>LIME 3</b> 03 22 1 12304
Ignore 'Lines' above.They are not part of the file.
I have given the following parameters -
<b>Document Name -</b> SampleMessageType
<b>Document Namespace -</b> http://sandeep/xi/bpm_example
<b>Recordset Name -</b> Header,Item,Trailer
<b>Recordset Namespace -</b> http://sandeep/xi/bpm_example
<b>Record Structure -</b> Header,,Item,,Trailer,*
<b>Recordset Sequence -</b> Ascending
<b>Key Field Name -</b> Record Type
<b>Key Field Type -</b> String(Case Sensitive)
<b>Header.fieldFixedLengths</b> 3,4,15,20,15,15,20,10
<b>Header.fieldNames</b> RecordType,RecordLength,CompanyName,CompanyAddress,BankName,BankCode,BankAddress,AccountNumber
<b>Header.processFieldNames</b> fromConfiguration
<b>Header.keyFieldValue</b> 01
<b>Header.lastFieldsOptional</b> YES
<b>Item.fieldFixedLengths</b> 3,4,15,20,15,15,15,10,6,10
<b>Item.fieldNames</b> RecordType,RecordLength,BeneficiaryName,BeneficiaryAddress,BankName,BankCode,BankAddress,AccountNumber,Amount,NoteToPayee
<b>Item.processFieldNames</b> fromConfiguration
<b>Item.keyFieldValue</b> 02
<b>Item.lastFieldsOptional</b> YES
<b>Trailer.fieldFixedLengths</b> 3,4,6,6
<b>Trailer.fieldNames</b> RecordType,RecordLength,TotalRecords,TotalAmount
<b>Trailer.processFieldNames</b> fromConfiguration
<b>Trailer.keyFieldValue</b> 03
<b>Trailer.lastFieldsOptional</b> YES
If I don't give these parameters then channel will give me errors.I don't know what other parameter to give to create a file.
I had tried the same thing with the following and it worked
<b>Document Name -</b> SampleMessageType
<b>Document Namespace -</b> http://sandeep/xi/bpm_example
<b>Record Structure -</b> Substr,*
<b>Recordset Sequence -</b> Ascending
<b>Key Field Name -</b> Record Type
<b>Key Field Type -</b> String(Case Sensitive)
<b>Substr.fieldFixedLengths</b> 3,4,15,20,15,15,20,10,3,4,15,20,15,15,15,10,6,10,3,4,6,6
<b>Substr.fieldNames</b> RecordType,RecordLength,CompanyName,CompanyAddress,BankName,BankCode,BankAddress,AccountNumber,RecordType,RecordLength,BeneficiaryName,BeneficiaryAddress,BankName,BankCode,BankAddress,AccountNumber,Amount,NoteToPayee,RecordType,RecordLength,TotalRecords,TotalAmount
<b>Substr.processFieldNames</b> fromConfiguration
<b>Substr.keyFieldValue</b> 01
<b>Substr.lastFieldsOptional</b> YES
But the problem here is my mapping has the Header,Item and Trailer as the structure names but he XML created here will be like
<?xml version="1.0" encoding="utf-8" ?>
- <ns:SampleMessageType xmlns:ns="http://sandeep/xi/bpm_example">
- <Recordset>
- <Substr>
<RecordType>21</RecordType>
<RecordLength>22</RecordLength>
<CompanyName>Sandeep</CompanyName>
<CompanyAddress>ASKDJKLASD</CompanyAddress>
<BankName>HDFC Bank</BankName>
<BankCode>12342</BankCode>
<BankAddress>asdasd</BankAddress>
<AccountNumber>123569</AccountNumber>
</Substr>
- <Substr>
<RecordType>02</RecordType>
<RecordLength>22</RecordLength>
<CompanyName>Sagar</CompanyName>
<CompanyAddress>23123</CompanyAddress>
<BankName>ICICI</BankName>
<BankCode>4234</BankCode>
<BankAddress>ASDASD 25463</BankAddress>
<AccountNumber>6 12304</AccountNumber>
<RecordType>AS</RecordType>
<RecordLength>DAsd</RecordLength>
</Substr>
- <Substr>
<RecordType>03</RecordType>
<RecordLength>22 1</RecordLength>
</Substr>
</Recordset>
</ns:SampleMessageType>
In this case my mapping fails
Thanks,
Sandeep
Hello,
I am not sure of why the empty Payload is created.
I have the following TXT file -
<b>LINE 1</b> 01 22 Sandeep ASKDJKLASD HDFC Bank 12342 asdasd 123569
<b>LINE 2</b> 02 22 Sagar 23123 ICICI 4234 ASDASD 254636 12304 ASDAsdqwe
<b>LIME 3</b> 03 22 1 12304
Ignore 'Lines' above.They are not part of the file.
I have given the following parameters -
Document Name - SampleMessageType
Document Namespace - http://sandeep/xi/bpm_example
Recordset Name - Header,Item,Trailer
Recordset Namespace - http://sandeep/xi/bpm_example
Record Structure - Header,,Item,,Trailer,*
Recordset Sequence - Ascending
Key Field Name - Record Type
Key Field Type - String(Case Sensitive)
Header.fieldFixedLengths 3,4,15,20,15,15,20,10
Header.fieldNames RecordType,RecordLength,CompanyName,CompanyAddress,BankName,BankCode,BankAddress,AccountNumber
Header.processFieldNames fromConfiguration
Header.keyFieldValue 01
Header.lastFieldsOptional YES
Item.fieldFixedLengths 3,4,15,20,15,15,15,10,6,10
Item.fieldNames RecordType,RecordLength,BeneficiaryName,BeneficiaryAddress,BankName,BankCode,BankAddress,AccountNumber,Amount,NoteToPayee
Item.processFieldNames fromConfiguration
Item.keyFieldValue 02
Item.lastFieldsOptional YES
Trailer.fieldFixedLengths 3,4,6,6
Trailer.fieldNames RecordType,RecordLength,TotalRecords,TotalAmount
Trailer.processFieldNames fromConfiguration
Trailer.keyFieldValue 03
Trailer.lastFieldsOptional YES
If I don't give these parameters then channel will give me errors.I don't know what other parameter to give to create a file.
I had tried the same thing with the following and it worked
Document Name - SampleMessageType
Document Namespace - http://sandeep/xi/bpm_example
Record Structure - Substr,*
Recordset Sequence - Ascending
Key Field Name - Record Type
Key Field Type - String(Case Sensitive)
Substr.fieldFixedLengths 3,4,15,20,15,15,20,10,3,4,15,20,15,15,15,10,6,10,3,4,6,6
Substr.fieldNames RecordType,RecordLength,CompanyName,CompanyAddress,BankName,BankCode,BankAddress,AccountNumber,RecordType,RecordLength,BeneficiaryName,BeneficiaryAddress,BankName,BankCode,BankAddress,AccountNumber,Amount,NoteToPayee,RecordType,RecordLength,TotalRecords,TotalAmount
Substr.processFieldNames fromConfiguration
Substr.keyFieldValue 01
Substr.lastFieldsOptional YES
But the problem here is my mapping has the Header,Item and Trailer as the structure names but he XML created here will be like
<?xml version="1.0" encoding="utf-8" ?>
- <ns:SampleMessageType xmlns:ns="http://sandeep/xi/bpm_example">
- <Recordset>
- <Substr>
<RecordType>21</RecordType>
<RecordLength>22</RecordLength>
<CompanyName>Sandeep</CompanyName>
<CompanyAddress>ASKDJKLASD</CompanyAddress>
<BankName>HDFC Bank</BankName>
<BankCode>12342</BankCode>
<BankAddress>asdasd</BankAddress>
<AccountNumber>123569</AccountNumber>
</Substr>
- <Substr>
<RecordType>02</RecordType>
<RecordLength>22</RecordLength>
<CompanyName>Sagar</CompanyName>
<CompanyAddress>23123</CompanyAddress>
<BankName>ICICI</BankName>
<BankCode>4234</BankCode>
<BankAddress>ASDASD 25463</BankAddress>
<AccountNumber>6 12304</AccountNumber>
<RecordType>AS</RecordType>
<RecordLength>DAsd</RecordLength>
</Substr>
- <Substr>
<RecordType>03</RecordType>
<RecordLength>22 1</RecordLength>
</Substr>
</Recordset>
</ns:SampleMessageType>
In this case my mapping fails
Thanks,
Sandeep
Hi sandeep,
try repeating the same thing but delete
Recordset Name - Header,Item,Trailer and the corresponding name space.
parameter from the content conversion.
so the content conversion will be
Document Name - SampleMessageType
Document Namespace - http://sandeep/xi/bpm_example
Record Structure - Header,,Item,,Trailer,*
Recordset Sequence - Ascending
Key Field Name - Record Type
Key Field Type - String(Case Sensitive)
Header.fieldFixedLengths 3,4,15,20,15,15,20,10
Header.fieldNames RecordType,RecordLength,CompanyName,CompanyAddress,BankName,BankCode,BankAddress,AccountNumber
Header.processFieldNames fromConfiguration
Header.keyFieldValue 01
Header.lastFieldsOptional YES
Item.fieldFixedLengths 3,4,15,20,15,15,15,10,6,10
Item.fieldNames RecordType,RecordLength,BeneficiaryName,BeneficiaryAddress,BankName,BankCode,BankAddress,AccountNumber,Amount,NoteToPayee
Item.processFieldNames fromConfiguration
Item.keyFieldValue 02
Item.lastFieldsOptional YES
Trailer.fieldFixedLengths 3,4,6,6
Trailer.fieldNames RecordType,RecordLength,TotalRecords,TotalAmount
Trailer.processFieldNames fromConfiguration
Trailer.keyFieldValue 03
Trailer.lastFieldsOptional YES
regards
jithesh
not sure if this works....but you can give a try
Change field lengths as below for the test purposes...
fieldFixedLengths 3(change it to 2),4(change it to 5),15,20,15,15,20,10
since you have defined key field as 3 characters and may be content conversion is trying to do string comparision ie comparing '01' with '01 '.
Make sure there are no leading spaces at the begining of the file.
Also try changing key field type to integer.
Regards
Anand
User | Count |
---|---|
85 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.