Target Directory in File Receiver Adapter
Experts,
I am trying for a scenario (File to File) and I am not sure if the target directory is a directory in XI server or my local machine. I used HTML client to send the message to the adapter. Also if any of you could give clear idea about source and target direcory without pointing to any weblog, I would greatly appreciate it. As I have tried every weblog available with a word File in it.
Thanks
Thilothama
Thilothama,
I've seen your previous posts and you never assigned any points. People in the forum spend their valuable time answering questions.
I request u to reward the people who have replied to your posts. IF u consider that the replies have helped u , u can assign,
2 points -- helpful
6 points -- very helpful
10 points -- problem solved..
If u are not able to see the assign point s button refer to this thread...
Unable to award points
regards
Shravan
Similar Messages
-
How to handle Directory in File receiver adapter
Hi
I have a Mail (attachment) to File scenario in PI 7.11, where I need to send the message to one directory, if a certain condition is meet and an other direktory if that condition i not meet.
More specifically, then my initial java mapping picks up 2 files and if the files cover the same period, then they should be merged and then sent to the following message mapping in the Operation mapping and after that sent to "Folder1". I have specified this Folder one in the receiver file communication channel.
If the two files are not covering the same period, then the message should be sent to "Folder2" (which works as a trash folder). This Folder2 is specified in the javamapping by using dynamic configuration.
In the receiver file communication channel I have ticked the "Directory" under Adapter-Specific Message Attributes.
However, it all works fine, when the two files are NOT covering the same period, cause then the "Directory" variable is set under dynamic configuration by the java mapping, but when the two files DO cover the same period, then the file adapter errors cause I have ticked the "Directory" under ASMA but not assigned the variable under dynamic configuration.
Of cause, one solution would be to assign the value for Folder1" in the java mapping, e.g. via a value mapping lookup, but I would like to avoid this.
Is there a smart way to solve this challenge?
Some code extracts:
if (samePeriod(sb6157,sb6158))
StringBuffer sboutput = mergeFiles(sb6157, sb6158);
os.write(sboutput.toString().getBytes());
else
updateDynamicConfiguration("http://sap.com/xi/XI/System/File","Directory","
test$
MILUN
trash");
copyStream(is,os);
private boolean samePeriod(StringBuffer sb6157, StringBuffer sb6158)
int startText6157 = sb6157.indexOf("<PROCESSING_PERIOD_START>");
int endText6157 = sb6157.indexOf("</PROCESSING_PERIOD_START>");
String date6157 = (sb6157.substring(startText6157 +25, endText6157));
int startText6158 = sb6158.indexOf("<PROCESSING_PERIOD_START>");
int endText6158 = sb6158.indexOf("</PROCESSING_PERIOD_START>");
String date6158 = (sb6158.substring(startText6158 +25, endText6158));
return (date6157.equalsIgnoreCase(date6158));
MikaelHi,
Why dont you use dynamic configuration for both Directory 1 & Directory 2???
I had a similar scenario where we have to define a directory name based on source file names. The sample code is as follows. You can modify this as per your requirement. Let me know if you have any issues.
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "FileName");
and
DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "Directory");
conf.put(key, arg)
String fileName = conf.get(key);
if(filename.equals("file1.txt")){
conf.put(key1, Directory1)
else
conf.put(key1, Directory2)
return "";
Warm Regards,
Gouri -
Error in file receiver adapter (Directory does not exist / cannot be create
I have a NFS reiceiver file NFS adapter with target directory:
10.128.68.38\arbo2000\UploadPinfos\arbodev
if I run this line in windows, windows access to this folder.
Full Error log:
Receiver Adapter v2123 for Party '', Service 'BS_0000_ARBO_DEV':
Configured at 2006-04-06 18:08:26 CEST
History:
- 2006-04-06 18:08:35 CEST: Error: Message processing failed: Exception: Message processing failed - configuration error in file receiver adapter (Directory does not exist / cannot be created)
Can somebody help me please??Hi Alvaro,
If your XI server is running on Unix platform then you'll get the access only after mounting 10.128.68.38 this system as a drive. This is equivalent to the windows network mapping.
Next thing is that once that is done then you can access the path /arbo2000/UploadPinfos/arbodev by mentioning it in your directory path.
To check whether the above mentioned is the problem then pls do try by doing it with FTP protocol. If it works then for acting as a local directory for NFS you need to mount the drive.
Cheers
JK -
Target directory in file adapter
Hi,
Please let me know how can we set the target directory in the receiver file adapter by reading the database (maybe from a table in the database).
regards,
Raghutry to avoid variable substitution. You can make use of adapter specific attributes in this case. For example for the same file name you can ref:
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
Similar logic can be used for directory also.
http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm -
Dynamic Configuration - Set Directory Path for File Receiver Adapter
Hi Experts,
I have a question regarding the dynamic configuration for the file adapter. Is it possible to set a directory path without a message mapping for the file receiver adapter? the problem is that I want to import a pdf document. this pdf document I want to store in a dynamic directory (depending on the filename). so I have to read the filename out of the dynamic configuration and generate (depending on the filename) a directory for this file. Is that possible without a message mapping? I cannot make a message mapping because the file has the pdf format and should not get changed.
best regards
Christopher KühnHi Gaurav,
I use the ASMA (respectively the filename) for the sender adapter. After the pdf was imported into XI this filename is in the ASMA.
But what then??? How can I get this filename with the help of the variable substitution? and if I have this filename I have to change this filename a bit to generate the name / path of the directory.
Please explain it to me detailled
Thanks and regards
christopher -
Hi Guys,
How can i read a text file using the File Receiver Adapter
Can anybody help me, please?> How can i read a text file using the File Receiver Adapter
For reading a text file you need to use Sender File Adapter. Receiver File adapter is used to write the file at target directory.
In order to read the file you have to do File Content Conversion (FCC).
What is the format of your text file. Is it csv or fixed length file.
For doing the FCC you can get many bolgs on sdn. If you want just search it.
Regards,
Sarvesh -
File receive adapter command line error handling
Hi,
This is our requirement - After the file receive adapter, we need to run a script. Based on the return code of the script, we need to handle the error handling of the interface (i.e. send an email about the error).
I have looked at the operating system command line in the file adapter. How does XI handle return codes for the command line? If the command line has a error return code, how to send an email from XI?
If anyone has ideas on this topic, please respond!!
thanks,
lasyaHi,
I don't think so, it is possible directly. You can not get the Response back to XI pipeline from the shell script.
But you can think, if you are able to call this from Mapping.
And one more option is using Transport Acknowledgement ( with BPM) if the file is not able to write into the target directory you can raise an alert-
Blog on this-
/people/michal.krawczyk2/blog/2006/06/22/xi-playing-with-the-file-adapters-acknowledgments
Regards,
moorthy -
Variable Substitution File Receiver Adapter
Hi,
I am in the process of implementing a scenario involving the conversion of a .jpg file to .bmp. In my scenario, I'd like to the .bmp file name to be dynamically controlled; therefore, I have used the Variable Substitution option in the File Receiver Adapter.
In both the File Sender & Receiver comm. channels, I have ticked 'Adapter Specific Messsage Attributes' check-box and selected the 'File Name' option.
The File Receiver comm. channel also has the following:
File Name Scheme*: %File_Name%.bmp
Variable Name: File_Name
Reference: message:FileName
Having done the above, I am getting the following error message in Comm. Channel Monitoring:
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: Unknown message header category 'FileName' for variable 'File_Name'.: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: Unknown message header category 'FileName' for variable 'File_Name'.
Would really appreciate your assistance on this.
Regards,
Reuben.
PS: The Sender File Adapter has theHi,
The full error message is s follows:
Runtime exception during processing target field mapping /ns0:MaterialBITMAP_In. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._Test_Conversion_ method setfilename$[17092008, osinef, com.sap.aii.mappingtool.tf3.rt.Context@d3b0d3b] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:MaterialBITMAP_In. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._Test_Conversion_ method setfilename$[17092008, osinef, com.sap.aii.mappingtool.tf3.rt.Context@d3b0d3b] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:350) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:312) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._Test_Conversion_ method setfilename$[17092008, osinef, com.sap.aii.mappingtool.tf3.rt.Context@d3b0d3b] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:56) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:294) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:312) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:47) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:294) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:312) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.NullPointerException at com.sap.xi.tf._Test_Conversion_.setfilename$(_Test_Conversion_.java:61) ... 24 more RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:MaterialBITMAP_In. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._Test_Conversion_ method setfilename$[17092008, osinef, com.sap.aii.mappingtool.tf3.rt.Context@d3b0d3b]
11:15:02 End of test
Reuben. -
Xml file in dynamic file name in file receiver adapter
Hi,
I'm doing the dynamic file name in file receiver adapter. I have done as per instructed in /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i
All turned out okay. I have got the file name I require. Except that the file format is XML and I need to suppress the filename node occupied by the dynamic file name.
The content conversion mentioned in /people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12, does not seem to solve my problem. As it is only for file format other than the XML one, because we only do the content conversion if we want to "convert" the format of the content from XML to the other format.
Does anybody have the solution to my problem? thanks in advanceThank you Raj for the direction
The way to do it is :
1. In ID, advanced tab, put a check on the adapter-specific message attributes - file name.
2. Put a "*" on the file name scheme
3. In IR, create a UDF to set up target file name :
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
// set up file name for receiver adapter
String SourceFileName = conf.get(key);
conf.put(key, TargetFileName);
return " ";
4. Map the above UDF to the header level of the target structure.
Regards,
Idi -
Using file receiver adapter with a different user
Hello.
I have a simple question (at least I think it is)
Can I use a file receiver adapter (where the transport protocol is NFS - not FTP)
so that a different user will access the directory (not the usual SAPServiceSID)?
I don't see any place for using username and password, and using the FTP protocol is not possible
because of security reasons.
Any help Appreciated.Hello.
Thanks for the quick answers.
I'm sorry for not being clear enough before.
I have a microsoft network share on a different server then the PI.
When I use the path:
server\share
I manage to successfully put a file via the file receiver adapter, with NFS as the transport protocol.
However in order to do this, the owner of the share had to give credentials to the user: SAPServiceSID of my PI system
which is an active directory user.
The owner wants me to use a local user instead.
Can this be done with a local user? -
File Receiver Adapter - Writing Attachments
Hello Folks,
i received a SOAP Message with some attachments. Now i want to write these files into a file system.
No i have seen, that the file receiver adapter has no support for attachments. is there any solution for that?
Thanks for answers.
Best regards
RobertHi,
I thought of creating files in the target with different format... i think i understood ur query other way...
Fine...
U can do other way..
Convert ur Attachments to XML first...
Then Pass this XML to File adapter and recreate the Files in Target file adapter...
I hope u can do in this way
Babu -
File Receiver Adapter - time stamp in front possible ?
Hi all together,
is it possible with the file receiver adapter to add a time stamp in front of the filename?
f.ex. <timestamp>_SUFFIX.dat
With file creation mode "use timestamp" and file name scheme
SUFFIX_.dat it will create
SUFFIX_<timestamp>.dat .
Thanx a lot for your help
regards
HansHi,
This is not possible in the communication channel, but if you want to add date time stamp on the filename, you can use dynamic configuration. For that you have to write an UDF in the message mapping concatenate the date tme stamp with the filename and extension.
In the communication channel you need to check on the message attributes so that when the adapter framework is called the filename generated in the message mapping would be used by the adapter. In the communication channel remove the filename and put * in the filename, as filename is one of the mandatory parameters in the comm channel.
Regards,
Indranil
Award points if helpful -
Whats the use of 'Maximum Councurrency' in File Receiver adapter?
Hi All,
Whats the use of 'Maximum Councurrency' in File Receiver adapter?
XierHello,
Refer the below thread and check it out my reply . I gave for JDBC adapter, but the concept is same for File/JDBC.
Re: JDBC Adapter - One Connection prior to SP20
Best regards,
raj. -
Content Conversion Parameter in File Receiver Adapter
Hi all,
I have created one File Receiver Adapter with Message Protocol 'File Content Conversion' and with the following configuration:
Recordset Structure: Message
Message.fieldFixedLengths: 1000
My Message Type is:
LogErro_MT
Message (Type: String) (Occurrence: 0..Unbounded) (Details: Min,Max Length: 1000)
But the file created by it has no data inside it. If I change the Message Protocol to 'File', the content of the file is the XML generated by the Outbound Proxy.
Would someone can help me?
Thanks in advance
LeoHi,
Please create a data type with
Records
Message ---0..unbounded
and hten MT for the same.
In the receiver file adapter:
Recordset Structure: Message
Message.fieldFixedLengths: 1000
Please check this weblog for the same:
/people/shabarish.vijayakumar/blog/2006/04/03/xi-in-the-role-of-a-ftp
IS this what you are trying to do.
Regards
Vijaya -
Operating system command in file receiver adapter
Hi,
How to use the Run Operating system command after message processing option in the parameters tab of the file receiver adapter.
I am working on a scenario wherein a batch file needs to be invoked after the file is written on the file system.
So how do i invoke this batch file from the file reciever adapter ( Run Operating system command after message processing ).Hi,
did you see this page?
http://help.sap.com/saphelp_nwpi71/helpdata/en/44/556cb799c93677e10000000a114a6b/content.htm
it shows all you need to know
Regards,
Michal KRawczyk
Maybe you are looking for
-
Adobe Application Manager does not work
I am afraid this is not the appropriate forum, but it is the closest I could find, sorry about that. I experience a problem where I can't update my Adobe products, the application manager gives two different erros. I've come across the issue when I t
-
Keyboard mapping problem with sunstudio
I'm a new sunstudio user and am having trouble with a setup issue. When I run sunstudio 11 from a sunray with a Sun keyboard all works fine (except the sunray has far too small of screen and it drive me crazy). When I run with my linux desktop being
-
Hello. I have problems saving a JSF diagram. I don't know if it's a problem with my installation or if it's actually a bug. I don't know if this is the appropiate place to post this. I'm using Jdeveloper 10g version 10.1.3.0.4 on windows xp professio
-
SEO - inbound links vs. organic site optimization
I recently started reading a book about Google, and even though I was already familiar with its origins, I'm still impressed with how they came up with the concept of ranking based on importance, and importance based on back links. And how they were
-
Page navigation with SelectOneRadio
Is it possible to do page navigation with just selectOneRadio choice and without link or command button? <h:form id="form1" styleClass="form"> <h:selectOneRadio disabledClass="selectOneRadio_Disabled" enabledClass="