Problem with fixedlenthgs in receiver file adapter
HI,
I am doing XML to flat file scenario and using mutli mapping concept without BPM.
in the receiver file adapter I am using FCC with fixedlengths,then it generated just 3 output files out of nearly 100 source files.the errored one are succcessful in the SXMB_MONI and failing in RWB-->Message moni with waiting status and MDT says that XI_J2EE_ADAPTER_FILE ,Error Code PROCESSING_ERROR .
i tried in SDN and then found something like enable the disablesecurity check box in variable substitution parameters ,then I got 4 files out.
these are my FCC params for all structures:
struc1.fieldFixedLengths
struc1.fixedLengthTooShortHandling
struc1.endSeparator
and I tried with fieldSeparator then it gives successfully all output files.
so,where is the problem?I didnt understand?
any suggestion.
thank you,
regards,
Babu Sri
Bhavesh,
I felt the same way,but assumed that ,in that way fixedlenghths wont work.
in my target structure most of the fields have 0-1 occurences ,and even in the source structure too.so,I think it might be the reason.Then I have to make all my about 60fields 1-1 madatory and using mapWithDefaultValue function, as my sources are optional.
you think it will work just using the "mapWithDefaultValue" function without changing my occurences to 1-1 in the target structure(mandatory)?infact I can try but ,cos of pain for changing like 60 fields....:) and even dont know which fields are causing the problem,so that we can apply "mapWithDefaultValue" function only on those fields.
thank you,
Babu Sri
Similar Messages
-
Problem in Variable Substitution (Receiver File Adapter)
Hi,
I am facing problem in the variable substitution in receiver file Communication channel. My expected file name is A_C.xml; but my actual output filename obtained is C_C.xml for the below example target file:
<ProductionSch>
<CustomField>
<value>
<ValueString>A</ValueString>
</value>
</CustomField>
<CustomField>
<value>
<ValueString>B</ValueString>
</value>
</CustomField>
<CustomField>
<value>
<ValueString>C</ValueString>
</value>
</CustomField>
</ProductionSch>
I have used the following parameters in the file communication channel:
File Name Schema: %var1%_%var2%.xml
Variable Substitution:
Variable Name Reference
var1 payload:ProductionSch,1,CustomField,1,value,1,ValueString,1
var2 payload:ProductionSch,1,CustomField,3,value,1,ValueString,1
When I try using either of the one in the file name schema and the corresponding variable reference in the variable substitution I am getting the correct output filename as A.xml or C.xml. However, when I give either of the one variable in file name schema and both the variable references in the variable substitution I am getting only C.xml as per the example file.
Can any of you suggest me where I am wrong or any other suggestion which I can try?
I cannot use dynamic configuration as I am using multimapping. Multiple file names cannot be generated using dynamic configuration.
Regards
Sowmyahi Sowmya,
refer you to this [Note 1581988 - Variable Substitution option does not work properly|https://service.sap.com/sap/support/notes/1581988] (2011.05), as SAP says " when there is more than one variable using the same name as the last element, File Adapter does not select the correct one.... ".
regards.
Mickael -
Problem with NFS in sender file adapter
Hi everybody,
I´m facing the following problem.
The XI runs under a HP-UNIX server and I want to access into a windows server by using NFS in the file sender adapter.
I have created a shared folder in the windows server.
In the Source Directory field I have typed: //Windows_Server/Shared_folder.
In the file name field: FileA.txt
The error is the following:
History:
- 2006-11-24 13:16:41 CET: Retry interval started. Length: 10.000 s
- 2006-11-24 13:16:41 CET: Error: Directory //Windows_Server/Shared_folder does not exist
- 2006-11-24 13:16:41 CET: Processing started
Do I need to do anything else?
Any idea?
Thanks
Carloshi,
can you access the folder when you're logged onto the HP-UNIX server?
with this path //Windows_Server/Shared_folder.
(via console for example) ?
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Problems with text lenght in file adapter
Hi everyone.
I'm trying to move a file from a folder to another one.
Problem is that this file (plain text) contains only one field per row but this field contains more than 2000 chars.
When i get the result file, i only have the first 256 chars per row.
Is there any way to get the 2000 chars in destiny using XI ?
Regards,
Iñigo.Hi
you can use absoluteRowWidth parameter to restrict
<b>Fixed Column Width of the Text Document:</b>
<i>NameA.absoluteRowWidth=<noOfColumns></i>
If the separators do not contain any line breaks, the text document is generated as a single line of text. To restrict the width of the text, use this parameter. <noOfColumns> represents the maximum number of columns in this case. This parameter also functions together with the specification of a line break for xml.endSeparator.
<i>
This value requires NameA.addHeaderLine=0 to be specified.</i>
please go through the site
http://help.sap.com/saphelp_nw04s/helpdata/en/d2/bab440c97f3716e10000000a155106/frameset.htm -
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 -
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. -
Problem with Append mode in File Receiver
Hello,
I am facing some problem with Append Mode in File Receiver.
In channel config, i have given :
Construction Mode : Append
File Type : Text
Message Protocol : File Content Conversion
The size of the file which i am trying to send is about 9.5MB.
I got this error,
"Recovering from loss of connection to database; message
loaded into queue by recover job: System Job (Failover Recovery)".
So, it would seem that there was a loss of connnection to the database
while the file was being written.
Note - XI successfully recovered from the connection loss and
successfully wrote the file, however since the communication channel
was set to append, it appended to the partial file that was written
before the database connection loss. This is not correct. The file
should have been overwritten after the recovery even though the communication
channel was configured to append.
Can anyone help me on this regard.
Thanks,
Soorya.Hi Venkat,
I would suggest u to split the file in to chunks if u face any problem in processing at a time in append mode and also
Memory Requirements are must 4 processing huge files:
Q: Which memory requirements does the File Adapter have? Is there a restriction on the maximum file size it can process?
A: The maximum file size that can be processed by the File Adapter depends on a number of factors:
o The most important one is the size of the Java heap, which is shared among all messages processed at a certain point in time. In order to be able to process larger messages without an out of memory error (OOM), it is recommended to increase the size of the available Java heap and/or to reduce the concurrency in the system so that fewer messages are processed in parallel.
o Another factor negatively influencing the maximum message size in releases up to and including XI 3.0 SP 13 is an enabled charcter set (encoding) conversion if the message type is set to "Text".
o Using the transport protocol "File Transfer Protocol (FTP)" also uses more memory for processing than the transport protocol "File System (NFS)" (up to and including XI 3.0 SP 13).
o If the Message Protocol "File Content Conversion" is used in a File Sender channel, consider that not only the size of the input file affects the File Adapter's memory usage, but even more the size of the XML resulting from the conversion, which is usually a few factors larger than the original plain text file.
To reduce the memory consumption in this scenario, consider configuring the setting "Maximum Recordsets per Message" for the sender channel. This will cause the input file to be split into multiple smaller mesages.
Plz do refer the following links:
U may plan the availability of ur communication channel using "Planning Availability Times" feature
http://help.sap.com/saphelp_nw04/helpdata/en/45/06bd029da31122e10000000a11466f/frameset.htm
/people/sravya.talanki2/blog/2005/11/29/night-mare-processing-huge-files-in-sap-xi
hi check the below links for reference
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10748ef7-b2f0-2910-7cb8-c81e7f284af5
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/7086f109-aaa7-2a10-0cb5-f69bd2affd2b
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2498bf90-0201-0010-4884-83568752a857
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/cc1ec146-0a01-0010-90a9-b1df1d2f346f
Regards,
Vinod. -
Problem: The same filename from a sender to a receiver file adapter - SP14
Blog : /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
My Problem:
The thing works for me and i am able to get my input files name as my output file name. But one thing i noticed is that in my target message, the field where i have mapped the code it always returns the value "null" but finally when the file is created i get the required result.
My input file name is input.txt and i get the same name in my output file too.
In sxmb_moni if i check DynamicConfiguration link i see the following
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Response
-->
- <sap:DynamicConfiguration xmlns:sap="http://sap.com/xi/XI/Message/30">
<sap:Record namespace="http://sap.com/xi/XI/System/File" name="SourceFTPHost">10.25.116.98:21</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/File" name="Directory">/input/test</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/File" name="SourceFileTimestamp">20060228T112200Z</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/File" name="FileType">bin</sap:Record>
<b><sap:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">input.txt</sap:Record></b>
<sap:Record namespace="http://sap.com/xi/XI/System/File" name="SourceFileSize">770</sap:Record>
</sap:DynamicConfiguration>
But when i check my mapped field i see
<field3>BodyC</field3>
<keyfield>02</keyfield>
<field5>BodyE</field5>
<field6>BodyF</field6>
</Body>
- <Trailer>
<keyfield>03</keyfield>
<b><field2>null</field2> -> Null value instead of input.txt</b>
</Trailer>
</ns0:MT_Putfile>
The code i have used to map the field2 of the trailer is the following ....
<i>DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileType");
String valueOld = conf.get(key);
return valueOld; </i>
Any clues ?Gosh this is spooky
Anyway i tried with that line of code but it throws me an error during activation ...
Activation of the change list canceled Check result for Message Mapping mm_IS | http://t-systems.com/Shabarish: Starting compilation Source code has syntax error: /usr/sap/TXT/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map387c7300a9ac11da9d280011256afae8/source/com/sap/xi/tf/_mm_IS_.java:104: cannot resolve symbol symbol : method getTransformationParameters () location: interface com.sap.aii.mappingtool.tf3.rt.GlobalContainer DynamicConfiguration conf = (DynamicConfiguration) container.getGlobalContainer().getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION); ^ 1 error
The code is :
DynamicConfiguration conf = (DynamicConfiguration) container.getGlobalContainer().getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
//DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
//String valueOld = conf.get(key);
String valueOld = conf.toString();
return valueOld;
Thanx Renjith so far .. but i hope this gets resolved (else i will loose my sleep thinkin abt the situation) -
Receiver File Adapter with File content Conversion
I have a requirement to send 2 different files to the target directory. Source is the same and different mapping for the 2 files.
This I can achieve through multi-mapping but there is a problem. How can I use the File content for receiver File adapter which is using Multimapping.
The structure of the 2 files also different.Why would you need FCC on receiver file adapter? If you need different files to be generated from the source, you could create two receiver channels with different mappings and just add them to the same Receiver Detemination. Isn't feasible?
-
Problem in Overwriting the file in Receiver File adapter
Hi all,
I configured my scenario Proxy to File. Every day the back ground job runs in SAP and send all Employee Details to XI, XI then write it into File in XI server, in Receiver File adapter i enable overwrite existing file.
But some times its over writing the file some times came up with error like "Access Denied".
Can any one tell me what could be the problem.
Kind Regards,
Kiran> But some times its over writing the file some times
> came up with error like "Access Denied".
This can be a Authorization problem...may be at that time you are unable to write any file in that directory..or some other application is using it and it make a lock at that time.
Thanks
Farooq. -
Empty Message Handling with Receiver File adapter
Hi,
We were using the "Empty-Message-Handling" (status set to Ignore) of Receiver file adapter to stop a 0 KB file from being written to the specified directory.
However, inspite of this, a 0KB file continues to be written.
The specifications are given below-
File Construction Mode - Add Time Stamp
Put File - Directly
Empty Message Handling - Ignore
Maximum Concurrency - 1
File Type - Binary
Can anyone please help with this.
Thanks and Regards,
ShiladityaHI,
In one of thread the same problem was coming. Just look at the thread.
Receiver file adapter creates empty files, Empty-Message Handling SP19
Or
Follow the weblog for the same requirement.
/people/gowtham.kuchipudi2/blog/2006/01/13/stop-creation-of-an-empty-file-from-file-adapter-using-module
Thnx
Chirag
Reward points if it helps. -
Receiver File Adapter Content Conversion Problem.
Hi All,
I am getting in receiver file adapter due to content conversion setting. Problem is that all the fields coming in file adapter are optional. In content conversion , i have specified fieldfixedlengths. So whenever any optional field is not present , it fails . How should we handle it? is there any option to declare fields as optional, I know that is the there for sender adapter. But no. of fields is also very large, so putting each and every field as optional is very time consuming.
What should i do?
Ranjeet Singh.Hi Daniele,
Instead of using the standard funciton , i created a UDF for handling this situation.
My logic is UDF is like
//write your code here
int Size = Integer.parseInt(Truncate_Size);
String Return_Value = "";
if (!("".equals(Input)) )
if (Input.length() > Size )
Return_Value = Input.substring(0,Size);
else
Return_Value = Input.substring(0, Input.length());
else
for(int i = 0; i< Size ; i++)
Return_Value = Return_Value + " " ;
return Return_Value;
SO in this case also , it should be able to handle empy source element. But it is not working. -
Receiver file adapter with attachments.
Hi
I would like to pass a file receiver an attachment from a proxy. I have seen bits and pieces with attachments. I have read that its similar to the mail adapter.
In the module
localejbs/AF_Modules/PayloadSwapBean
module configuration:
Parameter Name: swap.keyName
Parameter Value: payload-name
Has anyone succeeded and would you explain the details?
Thanks in advance
IanHi,
As far as I know, receiver file adapters do not supprt attachments.
You can use the payloadSwapBean to swap the attachment and the actual proxy payload and then send it to the file adapter.
Don't think it will be possible to send both the attachment and the payload to the receiver file adapter though.
Regards
Bhavesh -
How to create multiple files with Receiver File Adapter in SAP PI 7.31 Java Stack
Dear Friends,
I am using Sender JDBC Adapter and Receiver File Adapter in Integration Flow in SAP PI 7.3 EHP 1 SP08 Java Stack environment. The requirement is that we need to create multiple files based on the row count in jdbc resultset. If there are 5 rows in resultset, we need to create 5 XML files with one row elements in one file. Similarly if there are 10 rows, we need to create 10 XML files.
So how can we create multiple files in this scenario. I tried placing a for loop in the Java Mapping as below in the transform method:
DynamicConfiguration conf = arg0.getDynamicConfiguration();
StringBuffer sbFileData = new StringBuffer();
for (int i =0; i < record.size(); i++ {
. // Create XML for each row and Marshal the object into to the String Buffer
String strFileName = "DC_" + new SimpleDateFormat("ddMMyyyyHHmm").format(new java.util.Date())+"_"+i+".xml";
conf.put(KEY_FILENAME, strFileName);
arg1.getOutputPayload().getOutputStream().write(sbFileData.toString().getBytes("UTF-8"));
arg1.getOutputPayload().getOutputStream().flush();
So here I'm flushing the OutputStream for each record. But it's not creating the multiple file, instead it creates only one file will all record XMLs appended to each other.
Please let me know if I missing something or need to do some thing else.
Regards,
Shreyansh ShahHi
You can easily achieve this using graphical mapping. Create your target message type like below
MT_Target
Details 0 to 1
Data 0 to 1
Source sample structure
<resultset>
<row>
<column-name>column-value</ column-name>
</row>
Then do the message mapping like below
map <row> with MT_Target
contant ----> Deatils
column-name ------>Data
In the signature tab of message mapping, choose the occurrence of your target message type as
0 to unbounded.
This will generate multiple files from multiple rows.
Let me know if you have any doubt. -
Receiving multiple files with dual extension using file adapter
Hi,
The scenario where I am implementing requires multiple files of different names to be picked(ABC.txt) and dropped at destination(ABC.txt.pgp) up by my File Sender and Receiver adapters. Any idea on about how the configuration for receiving multiple files with dual extension for receiver adapter is to be done?
Note:- currently, The scenario is working fine without dual extension. i.e Its picking all files which starts with ABC and creating at destination as it is. even I configured as ABC.txt.pgp, but its not creating the second extension.
Thanks in Advance
ManmadhaHi,
Try to concatenate '.pgp ' to the source file name to create the target file name for the receiver file adapter, by accessing the Adapter Specific Attributes using Java user defined function. This might work.
Reference links:
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm">SAP Help - Accessing Adapter Specific Attributes</a>
<a href="/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14 - XI: The same filename from a sender to a receiver file adapter - SP14</a>
Regards,
S.Santhosh Kumar
Maybe you are looking for
-
Hello all, Users have asked me to create an inventory report that combines data from MCBE and MCBR (batch + no batch inventory). So far so good. Now, users would like an additional display field for vendor. I was thinking of getting the vendor (for b
-
Can you change your security question on your itunes account ?
i created an itunes account and can't remember my security questions is there any way you can change them ?
-
I need to order old Mac Mini Install discs
I hear I can order from Apple, i need a phone number. I have a 1.5 Gh 2005 Mac Mini
-
Every time i try to open a itunes playlist or any music in front row it freezes the whole computer up. What is the problem?
-
LOV Displays the Return Value when Read Only
Greetings, I searched for a question/answer for this, but didn't find this exact scenario mentioned, but I may have missed it. If you know of this already been asked/answered just point me to the thread. On APEX version - 4.1.1.00.23 I have a LOV tha