File Adapter Queries
Hi Experts,
I am facing issue with huge files while fetching from source, so please suggest me, what is a maximum file size range PI file adapter can poll from source ? Is ther any range and limitation ? .
Regards
Raja
Hi,
Depends whether if you are opening (reading the file) or passing it as it is without reading.
In my previous project,
1) where we were reading the file using content conversion, the max size used to be around 5 mb.(In this case if you want to read bigger files , please go for recordset per messges,where you can specify how many records could be present in oe message)
2)Also, for passthrough interfaces where we were just passing the file using ICO, we could transfer files of size 20mb.(Here for even bigger files you can break the file into pieces and then combine them at receiver file channel)
But , basically it depends on the hardware configurations.There are many links for similar questions.
http://scn.sap.com/thread/1021753
http://scn.sap.com/thread/1021753
http://scn.sap.com/thread/1993889
Similar Messages
-
File adapter to pick a single file
The scenario is PI File adapter would pick files from a 3rd party FTP location. The 3rd party is placing files with file names using date time stamp.
The requirement is to process one file at a a time - I have mentioned the Processing Sequence as 'By Date' which means the adpater would pick the files sequentially. But I want the adapter to pick only one file at a time rather than picking all the available files in the system.
Is that possible to do?
Thanks.
Anuradha.Hi Anuradha,
Could you please kindly provide answers to the queries below so that forum members can have a clear picture of your requirement
1. What is the operating system of your PI server?
2. What is the version of PI you are working on?
3. What exactly do you mean by statement " I want the adapter to pick only one file at a time rather than picking all the available files in the system." since adapter will actually pick up files one by one only in each polling interval. This goes in PI pipeline
one after another in quick succession.
4. Do you mean that you want to insert delays between successive file pick up then Baskar has already answered your question.
5. Do you want the channel to pick up only one file in a day out of all possible file?
6. Could you please kindly provide any sample file name you are receiving in PI ?
regards
Anupam -
File Adapter and "permanent" module exceptions
Hi folks,
We have written a custom module for the file adapter which works fine .. In case of issues it will throw the standard "ModuleException".
The file adapter is configured to move erroneous files to a specific directory .. The SAP help specifically mentions that this happens when a "permanent" exception occured ... I quote the guide: "A permanent error occurs either during the conversion of the file content, or in a module in the module processor"
So in case of an exception in the module processor this should work ... unfortunately it doesn't ...
Our module throws an exception but the file is not moved and the adapter keeps on retrying to process the faulty file ...
Anyone faced the same problem ? Anyone any suggestion on how it should work ?
Thanks,
StevenHi,
When an error occurs, a module must raise a module exception.
ModuleException can contain an exception that describes the cause of the error. To provide hints about resolving the error, the error cause is written to the trace.
To process the message again, you do not need to set a special exception.
In the case of receiver adapters, the messaging service for the adapter framework processes the message again. The conditions for this are set in the communication channel monitor.
In the case of sender adapters, you must decide in the adapter implementation whether processing the message again makes sense.
You can revert back for further queries.
Reward if satisfied.
Regards,
Sushama -
File Adapter-handling erroneous files and let channel continue to poll file
Hello,
Even tough there is not an out-of-the-box solution in PI, I'd like to hear your suggestions. When having a file sender communication channel to pick and send files, there are cases where we get errors at the adapter level. These errors are generally due to errors in the file, which will, for example, lead to conversion errors. When this happens, this communication channel will present us an error and will continuously try to pick the erroneous file till we fix the error in that file. Now imagine the situation where in the same folder you have another 1000 files to be picked up and these are all right. Despite this fact, the communication channel will continue to be in an error state till it can process the first file. My question is, what's your generic and standard solution to automatically place this erroneous file in an erroneous folder directory enabling the communication channel to process the other 1000 files?
Thank you for your suggestions.
Goncalo Mouro VazHi,
As said above...that option need to be utilised in case of error files....
search SDN if need more details...and coming to the second u mentioned that if 1000 files are there for processing and waiting...
if file adapter criteria for processing the file matches and if file is correct then those files will get processed inspite of one error file also...
Hope this clears your queries...
HTH
Rajesh -
Hi Experts,
My scenario ECC......>PI........>FILE
RFC SOAP
We are signing and encrypting xml files ,in order to do this we need soap adapter because we get security parameters options but now instead of sending this signed and encrypted file to webservice can we send it to file directory of the receiving system
If i use RFC to file scenario ,i dont get any security paramter option for file adapter,so I ahve to use soap adapter but how to send it to file directory of the receiving system
But if I use file adapter then how xml will convert to soap meeesage
I want to send a soap message from PI to file system of receiving system(not to web service)
Please AdviseHi Bhaskar
As per expert suggestion ,i am following the link
Please answer my queries
as per document :BAPI - BAPI_COMPANY_GETDETAIL. The scenario works like this- XI receives the file ,do the request mapping send the request to BAPI get back the response from BAPI do the response mapping and write it to the file.
In my scenario: the scenario works like this- XI receives the Rfc data,do the request mapping send the request to Ecc(RFC)get back the response from RFC do the response mapping and write it to the file.
Question:
How is the payload sent to file system,do soap adapter have any option like file adapter to specify the target directory and path,if not how the soap paylod is sent to file system -
File Adapter not showing in Adapter Monitoring
I have created a basic scenario and when I go to check the file adapters they are not showing... Why is this what should I do
Hi Ricardo,
Please check the adapters in RWB...Is the File adapter is avialble or not?
If you can able to see then it should get appear in the Adapter list otherwise please deploye the the adapters once again.
Please let me know if you have any queries.
Regards,
chandu. -
Restricting the File adapter to pick up only a part of the payload
Hi ,
I have a csv file like below,
$H$,Header1, xyz, xyz
$H$,Header2, xyz, xyz
$H$,Header3, xyz, xyz
$D$,Detail1,xyz,xyz
$D$,Detail2,xyz,xyz
$D$,Detail3,xyz,xyz
Header and Details links have no link to each other!!! I just wanted to check if at all it is possible for the file adapter to skip the header llines and take only the detail lines.
Does this require any tweaking in the nxsd that is generated??
Any light on this would help... :)Hi Anuradha,
Could you please kindly provide answers to the queries below so that forum members can have a clear picture of your requirement
1. What is the operating system of your PI server?
2. What is the version of PI you are working on?
3. What exactly do you mean by statement " I want the adapter to pick only one file at a time rather than picking all the available files in the system." since adapter will actually pick up files one by one only in each polling interval. This goes in PI pipeline
one after another in quick succession.
4. Do you mean that you want to insert delays between successive file pick up then Baskar has already answered your question.
5. Do you want the channel to pick up only one file in a day out of all possible file?
6. Could you please kindly provide any sample file name you are receiving in PI ?
regards
Anupam -
File Adapter FTP SSL SSL Certificate Exception
After reviewing the results of searching on this error, I do not find anything that fits my situation:
SAP File Adapter (PI 7.1) using FTP with FTPS connection security.
I am not using X.509 certificate for client authentication.
My connection is using a non-public certificate.
I have added the SSL certificate to TrustedCAs and DEFAULT keystores.
I am getting the following error:
Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error when getting an FTP connection from connection pool: com.sap.aii.af.lib.util.concurrent.ResourcePoolException: Unable to create new pooled resource: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier
Since I am using an non-public certificate, it will not validate. Even adding to the TrustedCAs and DEFAULT keystore it seems the configuration is still attempting to validate the certificate.
Any recommendations?Hi,
The main reasons for this error are:
1. The correct server certificate could not be present in the TrustedCA
keystore view of NWA. Please ensure you have done all the steps
described in these two URLs:
Security Configuration at Message Level
http://help.sap.com/saphelp_nwpi71/helpdata/EN/ea/c91141e109ef6fe1000000
0a1550b0/frameset.htm
2. The server certificate chain contains expired certificate. Check for
it (that was the cause for other customers as well) and if it's the case
renew it or extend the validation.
3. Some other people have reported similar problem and mainly the
problem was that the certificate chain was not in correct
order. Basically the server certificate chain should be in order
Own->Intermedite->Root. To explain in detail, if your server certificate
is A which is issued by an intermediate CA B and then B's certificate is
issued by the C which is the root CA (having a self signed certificate).
Then your certificate chain contains 3 elements A->B->C. So you need to
have the right order of certificate in the chain. If the order is B
first followed by A followed by C, then the IAIK library used by PI
cannot verify the server as trusted. Please generate the certificate in
the right order and then import this certificate in the TrustedCA
keystore view and try again. Please take this third steps as the
principal one.
Hope it solves your querie.
Regards,
Caio Cagnani -
How to use File Adapter in BPEL
Hi,
How to use File Adapter in BPEL. I am using Oracle SOA 10g. Any sample or best example in blog or elsewhere ?Hi,
Please check the below links for samples on how to use file adapter in BPEL (in 10g/11g usage is same) and let me know any further queries.
11g - http://blogs.oracle.com/theshortenspot/entry/soa_suite_integration_part_3_l
10g - http://erpschools.com/articles/bpel-file-adapter-tutorial -
FileName in Sender File Adapter Module
Hi Folks,
In my sender file adapter have written a module to read the picked file name. The protocol used is NFS.
Notice that the file name read in the module has the absolute path, including the directory path. E.g The file name xyz has to be picked from source directory
XIServer\Outbound. In the module when I retrieve the file name, it comes up as
XIServer\Outbound\xyz. Is this expected behaviour?
I was expecting just the file name<xyz> to be retrieved.
Thanks,
AnandHI,
Create an UDF and write this code.
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key =
DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
String ourSourceFileName = conf.get(key);
return ourSourceFileName;
in Adapter u will have Adapter specific parameters check the file name check box.
Using this UDF u will get the file name at target side.
Regards,
Phani. -
Getting Error while running a file adapter.
Hi all,
I am doing a small application where I need to read an image from a shared path and send the base64code of that image in response. For that I am using File Adapter and Read
operation. I have just hard coded the image name didnt give any wild card or expressions. I generated a service which is a proxy using the jca of that File Adapter. I added a stage
replacing the response body with the opaque element of the request body. When I run the proxy I am getting something like *"The invocation resulted in an error: "* in response
and in the stack trace I am getting *"Failed to set the value of context variable "body". Value must be an instance of {http://schemas.xmlsoap.org/soap/envelope/}Body."* as the fault
reason I am unable to detect where exactly I am going wrong. Kindly help me in resolving this.
Thanks,
Phanindra.Not sure why you want to replace. Since the response of the proxy would remain to hold the request body by default.
If you have stored the opaque element in a variable ($var_opaque), then you can do the following.
XPath : .
In variable : body
Expression : $var_opaque
Check - "Replace node content" -
Using a variable in "arrayTerminatedBy" clause while using a file adapter
Hi All,
How can read a file of sample shown below using a file adapter.
ABC|20081010|
2008|xxxxxxx|
2007|yyyy|
2009|zzzzzzz|
3|20081010|
first line is the header
last line is footer
middle portion is the body
'3' in the footer is the total no of record count in the body
I am able to read the header and body.
The problem i am facing is; when it is reading the footer it is treating the footer as a record in the body and is throwing an error stating - expected the format as "yyyy"
I have to use "arrayTerminatedBy" to indicate the end of the body. But that terminating field is a varying field. How can i use this variable field in the "arrayTerminatedBy" clause.
Can any one help in reading this file
Thanks in advance
Edited by: user10308218 on 11-Oct-2008 02:23
Edited by: user10308218 on 11-Oct-2008 02:24See if this helps, I haven't tested it but it will give you a hint in how to achieve it. As you can see I use the startsWith command. I'm not sure how to handle your detail as it seems to start with different elements every time.
cheers
James
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
targetNamespace="http://TargetNamespace.com/Write_File"
xmlns:tns="http://TargetNamespace.com/Read_File"
elementFormDefault="qualified"
attributeFormDefault="unqualified" nxsd:encoding="ASCII" nxsd:stream="chars" nxsd:version="NXSD">
<xsd:element name="FileRecord">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Header" nxsd:startsWith="ABC|" maxOccurs="1">
<xsd:complexType>
<xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
<xsd:element name="FileDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="""/>
<xsd:element name="Record" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
<xsd:element name="DetailData1" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|" nxsd:quotedBy="""/>
<xsd:element name="DetailData2" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="""/>
<xsd:element name="Footer" nxsd:startsWith="3|" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence nxsd:style="array" nxsd:arrayTerminatedBy="${eol}">
<xsd:element name="FooterData" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="""/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema> -
hi all,
i'm using file adapter receiver and want to generate an fixed length text file. the name of the text file i want to generate it dynamically based on a field of the xml.
the structure of xml:
<mt_PO>
<Header>
</Header>
<Detail>
</Detail>
<Filename>
</name>
</Filename>
</mt_PO>
For generate the name of the file i'm using variable substitution in this way:
var1 -> payload:mt_PO,1,filename,1,name,1
and in the file name schema field: PO.%var1%.txt
this it's correctly done.
After, for generate the text file in the format i want i use content conversion:
RecordSet structure: Header,Detail,filename
Name Value
Header.addHeaderLine 0
Header.fieldFixedLengths 2,2,10,10,8,100
Header.endSeparator 'nl'
Detail.fieldFixedLengths 2,5,18,35,35,13,3,13,5,35,12,40,60,40,10
Detail.endSeparator 'nl'
filename.fieldFixedLengths 0
filename.fixedLengthTooShortHandling Cut
The problem is that resulting text file is generated with an empty line to the end, and that is my problem. i don't know how to avoid generate that empty line.
has anybody been in the same scenario and know how to solve this issue?
Thanks.Hi,
Ok No problem, let me give you the blog which contains all the steps,
Dynamic Configuration of Some Communication Channel Parameters using Message Mapping
Here you need to create one UDF in mapping and have to map it with target Message Type.
Remove the filename from Target side structure.
Thus at runtime it will take the value from Source side payload (Or you may pass any values in mapping )
and that will be used in communication channel.
The given blog have used HTTP as receiver communciation channel.
For file adapter you need to fill-up below parameters with variable substitution.
File Name Scheme : %Var1%
Variable substitution -- enable
>Var1----
>message:message_id
Adapter Specific Attributes
Mark Filename & Use Adapter Specific attributes.
PS Note : once you apply this UDF the mapping will give exception while testing from test tab. Let it be.
This UDF will work on Runtime. Thus execute the scenario to see the results.
Thanks
Swarup -
Hi,
We are in XI 30, SP12 and we were trying out passing the payload value as the file name.
SAP help says that in the Variable Substitution, we should be giving as follows:
Variable Name FileName
Reference payload: Record,1,DT_HEADER,1,FILE_IDENTIFIER,1
(Reference will show the XML path traversal till the least node to get the relevant value from the payload as per SAP help).
In the filename Scheme we are mentioning the variable name <b>%FileName%</b>. But its not taking the value contained in the variable FileName which should hold the payload value. But its not happening.
Anyone did some trial on the same pls throw some light on this issue..
Thanks in advance
JayakrishnanTo make the example if the online help run, you have to do following:
File Access Parameters:
-> File Name Scheme: %var1%.xml
Processing Parameters
-> File Construction Mode: Add Time Stamp
Variable Substitution
-> Enable: x
Variable Name: var1
Reference: payload:root,1,e1,1,e2,2
Send this payload (use sender file adapter)
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<dummy>
<e1>
<e2>Data_1</e2>
<f/>
<g attr="abc">text</g>
<e2>Data_2</e2>
</e1>
</dummy>
<e1>
<e2>illegal/value</e2>
<f/>
<g attr="abc">text</g>
<e2 attr="fghij">Example Value</e2>
</e1>
</root>
Result: Your file name looks like this:
Example Value20050607-131921-414.xml
=====================================================
The example of Michal was ( _ omitted):
payload:
<?xml version="1.0"?>
<OutputTag>
<From>newfilename</From>
</OutputTag>
same config as above, besides:
Reference: payload:OutputTag,1,From,1
Result: newfilename20050607-133624-145.xml
Hope this helps
Stefan -
File Adapter - special character in Filename
Hi,
i have a question concerning file adapter.
Scenario: we are polling files via file sender adapter (FTP).
Problem: if the filename contains a special character, an error is thrown with 'The System cannot find the file specified'
Scope: Special character in filename (not in payload)
Installed: XI 3.0 SP 19 on Linux
Questions:
- what FTP implementation does XI use?
- What do i have to check/upgrade to unicode?
- is it an OS problem or an Java problem or a XI problem?
- or is it not possible copiing files with special characters in filename?
Thank you very much in advance.
MichaelHi Michael,
The file/FTP adapter supports both passive and active FTP data connection. You can select the data connection while configuring the adapter.
The file/FTP adapter follows specification RFC 959. The specification can be found on the Internet under www.ietf.org/rfc/rfc0959.txt.
For FAQs about the file/FTP adapter, see SAP Note 821267. Please note that you'll need an account to log in on service.sap.com.
Question: How are you specifiying the file name? i.e. Are you using placeholders, like ?, *, *.txt, etc ?
If there's a problem with the filenames, then it should be a problem in the JAVA implementation of the adapter I assume. So you could for instance build your own adapter extension to by-pass that problem.
Just for your information; I haven't encounter a problem with filenames in other projects.
Good luck!
Maybe you are looking for
-
Hi there, I'm Very sorry for asking this. I guess it's a very basic problem, but I'm very new to Flash and Flash media Server and I need a very fast answer... Currently I'm working on a Director project using a flash program which connects to Flash M
-
How to send a ttachment with email.
Dear all , i have written the below code to send mails ..it is workiing fine my problem is data to be shown in the mail is contained in itab mailtxt77 .... but i want the data contained in this itab to be sent as attachment ... how to do dat. *& Repo
-
i am trying to put a digital copy from univeraldigitalcopy.com on my i tunes so i can put it on my ipad but it tells me my code has already been redeemed is there anything i can do to make this work thanks for your help
-
Does Azure SQL support AD and Security Roles
I would like to create Reporting Service reports using Azure SQL Database. It is possible to attach Azure SQL to Active Directly and use its Security Roles so that I can filter reports based on AD groups of report user? Kenny_I
-
I7 and Lightroom performance?
I wan to trim my Lightroom catalog and find my G5 tower too slow to handle my huge library and ws wondering how the new i7 IMac is working with Lightroom 2 or the Beta 3? Opinions please from owners only and does Aperture seem to be better choice wit