Can we control the triggering of sender file adapter
Hi,
Can we control the tiggering of Sender file adapter with option of Run OS command before message processing
This option is available in Sender communication channel, what are the limitations of this option?
My actual requirement is to see the target folder whether it is empty or not, if empty then I can trigger the interface.
For this I want to write shell script whihc execute at OS level to check whether the target is empty or not, But the constraint is will this can control the triggering of sender adapter.
Hi Sekhar,
I guess this can help you control the file pick up.
If your shell script works well then using the same you can modify the filename or its extension if the target folder is empty.
Say in the sender file adapter you set the source-filename as "inbound_*.ready". Now when originally the source file is dropped into the source folder (by any other process) let it be named as "inbound_001.pending" and your script will change the file name to "inbound_001.ready" if the target directory is empty. I dont think you need to use the pre processing OS command for this.
Does it make any sense?
Regards,
Suddha
Similar Messages
-
Changing of the timestamp in sender file adapter in archive mode
Hi,
I have a requirement where in I have to archive a file with timestamp different from that generated by XI.
Please let me know if this can be done and if so how can we handle the changes to be made to the timestamp in the sender adapter in archive mode.
regards,
Srinivas.Srinivas,
Option 1) Create a bat file..to run the perl script you call..
Perl script..
#!/usr/bin/perl -w
print("Starter that you want to change: ");
chomp($badex = <STDIN>);
print("Starter that you want added: ");
chomp($goodex = <STDIN>);
foreach $file (<$badex*>){
@fields = split(/$badex/,$file);
$goodfile = ("$goodex" . "$fields[1]");
rename("$file","$goodfile");
Run that on the os
That should fix it.........
Option 2) On your local Machine create a java file..add this code to it
public class Utils
public static int Randomizer(){
int randomInt = 0;
randomInt = (int) (Math.random()*1000);
return randomInt;
public static void main(String[] args)
Randomizer();
save and compile..
Create a bat file to add the number returned from the random to your targetFilename
so it would be something like..
mv oldFileName Newfilename+randomizer... and also get this command written to a file..helpful later on.........
Hope that helps
Regards
Ravi Raman
PS:Dont forget the points if helpful -
Vaildating File name with the data in the file using sender file adapter
Hi,
Below is the scenario
1) Pick up files from a FTP server, the file name is dynamic, how do I put dynamic name in sender file adapter?
2) Determine if the user correctly named the file based on data in the file.
a. File naming structure that we will be concerned with is <company_code><accounting_time_period>.<extension>
b. The company code and the time period in the file name have to match the data in the file.
i. For example. If the file name is 1001_200712.csv and the data in the file is for company code 1005, time period 200712, the file is incorrectly named. Both values must be correct.
How do we do this?Hi Sachin,
As Rightly said by Krishna, You can not put Dynamic name in sender File Adapter .You have to provide the name of the file like "*.txt" in Sender Adapter and at runtime you can access this file name by using following UDF:
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
String valueOld = conf.get(key);
return (valueOld);
As now you have picked up the file name at runtime.
Now concatenate source file fields Company_code and Accounting_timeperiod using "_" as delimiter in properties.Also concat the extension .Now you have required file name.
So using EQUALS standard function ,compare it with File Name fetched at runtime using above given UDF, and pass result as you desire to process further or not or to raise Alert to resend the file.
Thanks & Regards,
Anurag Garg
You can validate this file name in Mapping itself. -
Issue while fetching the file through *.extension by FTP sender file adapte
Hello Experts,
I am facing a issue while fetching the data through sender File adapter with ' *.file extension' .I am illustarting the scenario as below .
It is a simple scenarion of File to File inboumd scenarion.Here file is getting picked up from a third party system
through FTP sender chanel and stored in a temp folder of PI through NFS rceiver file adapter .
The problem is however I am getting, while picking the file with file name as "*.exo"(where exo is the file extension).
But while fetching the file with particular name like"abcd_10032011*.exo"(file naming has been done by combination of abcd(always same)_currentdate(change according to current date)),file picked successfully .
So here ,in the prior case file not getting picked up,but in later case it dose .
Can anyone please let me know what might be the issue?Hi Sunit,
Connect from your PI System to 3rd Party System (where are placed the Source Files)
FTP <PartySystemHostName>
eg. FTP 10.2.3.456 (then insert Username & Password to Login)
Go to source directory
cd \<SourceDirectory>
eg. cd \donaldduck\directory\
Execute a File List command
ls -la *.<extension>
eg. ls -la *.exo
In this way you should be able to view all files with this extension (*.exo), the same action that Sap XI perform to pickup the file.
Then, try to copy that file to your Local PI System (to check if there're some permissions issue):
mget <filename>.exo
eg. mpget File1_01012011.exo -
Module processing inside Sender File Adapter
Hello,
I am trying to analyze whether I can create a specialized module inside Sender File Adapter. As of right now, the Sender File Adapter and Receiver as well, assume endSeparator character in the end of each record. For files that do not have this field, it is just on continuous string, I assumed I can create an
adapter module
call it BEFORE data in the file is being converted to XML format
Insert 'nl' character (since the record length is fixed)
Call regular adapter processing (converting to/from XML)
However, creating any module inside Sender File Adapter, the payload of the main document is already in XML format. Is there anyway to avoid it?
Thanks for your help,
Dmitriy MindichIt is not possible with the standard functionality.
So maintain the sender file adapter with no conversion, but in the module tab enter following modules:
1. Your module
2. The conversion module (*)
3. The standard module.
(*) for details look here:
Look here:
http://service.sap.com/nw-howtoguides
-> Exchange Infrastructure
-> How To Use the Content Conversion Module in JMS Adapter
Regards
Stefan -
Sender File Adapter - Fixed Length
We have a Fixed File(Sender). With 3 fields. NO Header. Space is the separator for each fields
VendorNumber 10 bytes
VendorName 10 bytes
City 5 bytes
In the File we can have multiple records.
The Root Node is Vendor.
I am trying to define the SENDER FILE ADAPTER in the following way (I have referred mostly all the blogs) but my file is not picking up for some reason.
File looks like this
V123456789 A123456789 Bosto
V234567890 B123456789 Atlan
V334587900 C123456789 Austi
Note : I have been asked to give the Transport Protocol as "NFS" (Whether this is the problem???) I have summarised the complete details below. Please help me
Adapter Type : File Sender
Transport Protocol : NFS
Message Protocol : File Content Convervsion
Adapter Engine : Integration Server
FILE ACCESS PARAMETERS
Source Directory : /business
file Name : vendor.txt
Content Conversion Parameters
Document Name : Vendor
Document NameSpace: http://sap.com/xi/XI/SplitAndMerge
Recordsetname : Message1
Record Structure : File_MT,*
Recordset Sequence: Ascending
Key Field type : String(Case Sensitive)
Additional Parameters
File_MT.fieldFixedLengths 10,10,5
File_MT.fieldNames VendorNumber,VendorName,City
File_MT.fieldSeparator
File_MT..processFieldNames fromConfiguration.Hi Naveen,
Do check the following things,
>>Note : I have been asked to give the Transport Protocol as "NFS" (Whether this is the problem???) I have summarized the complete details below. Please help me
1.If your file resides on your local network/local computer give NFS(Network file system). if your file resides on a FTP location give FTP and also give the FTP log on parameters.
Additional Parameters
File_MT.fieldFixedLengths 10,10,5
File_MT.fieldNames VendorNumber,VendorName,City
File_MT.fieldSeparator
File_MT..processFieldNames fromConfiguration
2.If this structure does not match with the input file structure the file adapter wont pick up the file. So check for the help document provided by SAP in the following path.
help.sap.com --> Documentation --> SAPNetWeaver --> SAPNetWeaver '04 --> English --> process integration --> SAP Exchange Infrastructure --> connectivity --> Adapters --> File Adapter
Your file contains three records
V123456789 A123456789 Bosto
V234567890 B123456789 Atlan
V334587900 C123456789 Austi
You have mentioned the fieldSeperator as space but there is no File_MT.endSeparator '/n' which differentiates between each and every row (record).
Parameters for Record set Structures mentioned in the sender adapter configuration does not match with the actual file structure .
Try giving exact structures in the configuration of sender file adapter.
regards,
Aravindh. -
File Content Conversion - Sender File Adapter - Record Delimeter ~
The inbound file has file has ~ as record delimeter. I am using the FCC at sender file adapter to covert this file into XML. Somehow, the file adapter is not able to interpret "~" as my record delimeter even thoough I specified "record.endSeparator = ~" in FCC.
Would someone help me with a solution?Raju,
You can also try to use the '0x7E' as endSeperator condition.
I am not sure if the HTML tag will work but this should do the trick. This should be the HEX corresponding entry
char description hex char code html
" ~ " "Tilde" "0x7e" "~" &!tilde; (without !)
greets.
in adition to this see SAP help
http://help.sap.com/saphelp_nwpi71/helpdata/en/44/655453b48a4ddfe10000000a1553f7/frameset.htm
Special Characters in Strings for Separators
In all strings for separators (NameA.fieldSeparator, NameA.beginSeparator, NameA.endSeparator), you can specify non-printable ASCII characters. These characters can each be inserted individually in the strings in the form ´0xHH´ (including the quotation marks), where HH represents the character encoded as a hexadecimal value.
Please also ensure that the "recordSet Structure" also need to be configured Correctly
for example:
Header,1,Detail,*
Header.fieldSeperator --> %parameter%
Detail.fieldSeperator --> %parameter%
Detail.endSeparator --> '0x7e'
Greets -
Archive file with errors in sender file adapter not working! please help!
Hi Experts,
I have a file to RFC scenario. the input is a XML file. I have setup the flag in sender file adapter channel for archiving the input files with errors. But it is not working.
For testing I have used an invalid xML file for example without the main XML tag. I have also tested with a MSWORD file saved with.xml extension. But in both the cases the files are not getting archived.
My archive location permissions are fine and in fact normal archive operation is happening. That is, if I select the processing mode as "Archive" and gave the Archive directory then files are getting archived. The problem is only with the "Archive faulty source files" option.
What am I missing? DO I need to do some more configurations?
What are the prerequisites if any for this option?
How to test this?
Please help me! I will be greatfull to you all!
Thanks & Regards
Gopaland go thru this links
Creating a Single Archive of the Version Files
http://help.sap.com/saphelp_nw04/helpdata/en/79/1e7aecc315004fb4966d1548447675/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/31/8aed3ea86d3d67e10000000a114084/frameset.htm
Note: reward points if solution found helpfull
Regards
Chandrakanth.k -
How can I control the image size when I export form iphoto, the choice is too limited, I need to send a photo under 3 MB but if I choose high quaulity it is only 1.1 and i need to keep the best quaulity I can. Thanks for help.
Any image can only be as large as the Original. With a program like Photoshop you can UpRes an image and get it to a bigger size, larger files size as well, but the actual quality of the image will be degraded, depending on the UpRes system and the original quality of the image.
iPhoto is not the program to be doing that in and I don't think it even has that option.
So I suspect the image you are trying to send isn't much bigger than what you are getting. You can also try Exporting it from iPhoto to yopur desktop and see what size you end up with. If it is still that 209KB +/- file size then that is the size of the original image. -
can we control the PDF file name that is generated by BI Publisher based on the content in the input PDF?
No, there isn't. The way you're using the file is not recommended. You
should use a review tracker to avoid getting in the way of one another. -
Selective Polling in the Sender File Adapter
Hi,
I have the following requirement
1) File X is placed in the directory which is the source file for the sender adapter to poll
2) File X is appended regulary with data until it is polled. During this appending the sender adapter should not poll this file
3) Current process (without PI) they use a control file to stop this happening. i.e. they place a File Y in the directory to show the file is being updated and not to be touched. Once The file is appended File Y is removed and the file should be polled
So ultimately I have to configure the sender adapter to poll for File X (say every minute) except when there is File Y in the directory.
Any ideas?Hello,
You can use the "Msec to wait before modification check" feature in sender file adapter to achieve the requirement.
No need to place the "File Y"...i.e step 3 to perform.
Check the below link for more details:
http://help.sap.com/saphelp_nwpi711/helpdata/en/44/658ac3344a4de0e10000000a1553f7/frameset.htm
-Rahul -
HOW CAN U CORRECT THE DATA IN UR FILE WHICH CONTAINS 1 LAKSH RECS
Hai Frnds,
i Attend an interview they asked this questions can u know the answeres . tell me .
In File to file scenario how can we reprocess records which failed records.
HOW CAN U CORRECT THE DATA IN UR FILE WHICH CONTAINS 1 LAKSH RECS
Thanks in advance
thahirHi,
Refer these links:
this might help you
Generic Approach for Validating Incoming Flat File in SAP XI - Part 1
Generic Approach for Validating Incoming Flat File in SAP XI - Part 1
validating against schema file for the output XML file
Informing the sender about bad records
Regards,
Nithiyanandam -
What is the use of additional file(s) in sender file adapter?
Hi experts,
what is the use of additional files parameter in sender file adapter?
give me some example.......
Thanks & Regards
E.Ravi Chandra ReddyHi,
please check the below link,
you can specify additional files to be included in the XI message as attachments.
http://help.sap.com/saphelp_tm90/helpdata/en/44/692ab8a4b633eae10000000a1553f6/content.htm
Regards -
Sender File Adapter- Incrementing the counter in file name
Hello,
We have a requirement to read a different file name with every read. Every subsequent file would have a numeric counter updated when we receive it, we need to read that file as the directory would hold the previous files as well.
File structure :- EP<counter>.txt ; so first file would be EP001.txt, next one would be EP002.txt.
How could i do this in Sender file adapter, as there is no variable substitution available like receiver file adapter.
I cannot use wild card characters as the directory would contain previous files as well and we ned to pick the latest file.
RegardsHi,
>>How could i do this in Sender file adapter, as there is no variable substitution available like receiver file adapter.
Yes true this is not available in sender channel
>>I cannot use wild card characters as the directory would contain previous files as well and we ned to pick the latest file.
You can use EP* as the filename and use processing mode as Set to Read-Only
Regards
Suraj -
Using sender file adapter to read the most current file
Hi,
in my sender file adapter , i have to read the latest file- all files in the source directory are named as <filename><timestamp>.txt . I need to read the file with the latest timestamp (i.e. the most current file )
How do i configure this using file adapter.
thanksHi Sreeram,
thanks for the answer- but i found that the option can only be used with NFS transport protocol. what if i am using FTP ?
alos, by date option means- files are processed according to their time stamp in the file system, starting with the oldest file.
However in my case i only want to read the latest file and ignore the older files.
Thanks
Maybe you are looking for
-
Can two different itunes accounts share one purchased icloud backup storage?
My husband and I each have an iTunes account, I purchased 25GB of memory for my iPad and iPhone iCloud backup for the year and am only using about 5 of that. He is out of free iCloud memory for his iPad and iPhone and I would like him to be able to
-
How to call a secure external Web Service using Oracle BPEL and OWSM
Hi, i have to invoke an external secure Web Service using SOA Suite 10.1.3.1, but i don´t know how to do this. Do i use OWSM gateway or Agent? how to configure the gateway or agent to pass the required security to the external secure web service. tha
-
Hi List I have a problem similar to others within here, but the fixes that have worked for others are no use with me! Recently had a hd failure, rebuilt with new drive Segate baracuda 160 Resinstalled 10.4.3 since then Spotlight just keeps searching
-
I tried checking off everything but it doesn't give me my desktop.
-
Problem with transition.
I downloaded the trial version of flash catalyst. Really enjoy the app and im thinking of buying it. However I have issues with my slides where the images are getting very choppy and not smooth in the "move" transitions. I have read that it might be