File name in sender file adapter
Hi,
Our ftp server is sending the file names as:
AP_INV_<i>nn</i>.XI.<i>sss</i>.<i>xxx</i>.D<i>yyyymmdd</i>.T<i>hhmmss</i>
where nn sss xxx yyyymmdd hhmmss are all variable. The only fix part is AP_INV_ & XI. I tried AP_INV_* but it does not work. I tried AP_INV_.XI... but it also does not work.
Any idea here please !!!!
Hi Dehra,
Check these thread. It may help you:
File name modification in a File adapter
Regards,
Subhasha Ranjan
Similar Messages
-
Configure receiver file name as Sender file name
Hi All,
In PI7.1. We have scenario(file to file). Here the sender system send multiple files and In the receiver system we need to populate the same filenames as Sender file Names.
Could you please let me know is there a configuration to have Receiver file schem name As like sender file names.
Thanks in Advance,
Naga.Hi Naga,
This can be achieved using either variable substitution or Dynamic Configuration by enabling Adapter Specific Message Attributes in sender and receiver file channels.
If the sender file name and receiver file name needs to be exactly same then just check Adapter Specific Message Attributes in advanced tab of both sender and receiver channels. Check on File Name under that.
Lot of help over this is already available in sdn, kindly serach and you will get lot of helpful blogs and wikis
Regards,
Gautam Purohit
Edited by: Gautam Purohit on Apr 16, 2010 11:26 AM -
Case Insensitive File Names in Sender File Adapter
Hi,
I've tried my best to search SDN on this issue with no help...
My sender file name can have any case (upper or lower) e.g.
ABC_123.txt
or
ABc_345.txt
or
aBC_456.txt
However configuring the file name in the sender file channel as 'ABC*' did not work
only files with name starting with the capital letters ABC got picked up and lower case did not get picked up...
any suggestions on how this can be overcome
Thanks
Bharath Saiwhat if my file name has to be F0215DBFR* ??
should I give 4*4 = 16 combinations ?
looks funny... but feasible..
was hoping SAP has a standard solution like
[Ff]0215[Dd][Bb][Ff][Rr]* ?
Anywise.. thanks a lot for your help Satish.. will use this technique (16 combinations for my req..)
Edited by: Bharath Sai R on Sep 25, 2009 4:37 PM -
Dynamic File name in sender file adapter
Hello,
We have a requirement to pull files from our vendor's SFTP folder, the file will be pulled once a day however the file would remain in the folder for 45 days. The filename follows the pattern STL-20110425.01.002.TAB where the date keeps changing every day.
I could not see any option in the adapter to achieve this. Has anyone done it before? Please share your thoughts.
Best Regards
ArvindDid you check this link...
Pick the file with dynamic name
Might be helpful -
Same file name from sender to receiver file adapter with out using UDF
Hi All,
I am working on FILE TO FILE. My requirement is same file name from sender to receiver file adapter. Is it possible to do using only Adapter Specific message properties? i mean with out using UDF.
Thanks
KarthikHi,
>>>Is it possible to do using only Adapter Specific message properties?
yes
just enable Adapter Specific message properties in sender and receiver channel for file name
and you're done
Regards,
Michal Krawczyk -
Flat file name from Sender Side Dynamically into subject of Receiver Mail
Hi All,
I am Using a file to Mail Scenario, My requirement is to get dynamically the file name from flat file of the Sender Side into Subject of Receiver Mail Adapter and attachment of file from the Sender Side. Can anyone help me out.
Thanks in AdvanceHi....
You can write udf in the message mapping to get the Dynamic file name and map that to the subject of the receiver mail.
DynamicConfiguration conf = (DynamicConfiguration) param.get(
StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey KEY_FILENAME = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
// read value
String Filename = conf.get(KEY_FILENAME);
Regards,
Leela -
How can transfer the read file name via own developed adapter module
Hello experts,
I want to know how I can handle the following issue:
I developed a J2EE adapter module for the file adapter "sender" with the aim to read the file name of incoming files. Thereto I implement the following code like this:
public ModuleData process(ModuleContext mc, ModuleData md) throws
ModuleException
Hashtable mp = (Hashtable)
md.getSupplementalData("module.parameters");
String fileName = null;
if (mp != null)
fileName = (String) mp.get("FileName");
Now I get the filename which includes a order nr. I need this order number to call a RFC Adapter via mapping. So my question is how can transfer this order nr to the RFC adapter?
Kind regards,
FatihHi,
>> to read the file name of incoming files
Use file adapter with Adapter specific identifiers selected.
>>Thereto I implement the following code like this:
use udf in message mapping and avoid module
>>Now I get the filename which includes a order nr. I need this order number to call a RFC Adapter via mapping. So my question is how can transfer this order nr to the RFC adapter?
use RFC Look up function in message mapping...
Is module so necessary in this case???
Regards
Suraj -
Error dynamic File Name in Receiver File Adapter
Hi all,
Dynamic file name for Receiver file Adapter Problem
my multi mapping look like this in design mode
messages
message1
SD01_E
FileName
row
message2
SD02_E
FileName
row
by processing the xml look like this:
<ns2:SD01_E xmlns:ns2="urn:lsv.de/SAP/XXX">
<FileName>L40SA939.xiConstant</FileName>
- <row>
or
<ns2:SD02_E xmlns:ns2="urn:lsv.de/SAP/XXX">
<FileName>L40SA939.xiConstant</FileName>
- <row>
in file receivere adapter i have try this but it dos not work
payload:SD01_E,1,FileName,1
Error:com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 0(:main:, row:1, col:0)
is there any way to have access to Filename in different root elements??
regards
RalfHi Ralf,
i think, you need for each XML msg (each different root element) a new adapter -> a new IF determination, new rec agreement and a new channel.
Regards,
Udo -
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 -
How to find the File name using the FTP Adapter
hi all,
how to find the File name using the FTP Adapter with BPEL.
RegardsFound the solution for this.
First In the mediator's routing rule use assign property $in.property.jca.file.FileName to $out.property.jca.file.FileName
In the BPEL's receive activity go to the properties tab and get the property to a BPEL variable. That should do it.
Thanks for the posts -
How to apply input file name to output file in file adapter
Hi Friends
In my file to file scenario,i want to use input file name to output file by using adapter specific attributes,for this i have java code.Please suggest me how can i use this java code in mesg mapping and to which field i need to mapping this.
Thanks
pullaraoHi Pullarao,
I have two questions ...
1. Are u want the static file name in the target file?
if yes...then follow the Bhavesh instruction.
2.If u want a dynamic file name in the target file using UDF....then your UDF should mapped to the <b>root element</b> of target structure.
/**********UDF********/
Imports: com.sap.aii.mapping.api.*;
Parameter: String filename
String filename;
filename = fileName + ".DAT";
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File", "FileName");
conf.put(key, filename);
return filename;
/*******END UDF*******/ -
How to set attched file name while sending email through ABAP
Hi All- tell me how to set attched file name while sending email through ABAP.
regards...
AbhaySure, when you are adding your entry to the packing list, give the name in the obj_name field.
*File 2
mailbin = 'This is file 2'.
append mailbin.
data: start type i.
data: end type i.
start = tab_lines + 1.
describe table mailbin lines end.
mailpack-transf_bin = 'X'.
mailpack-head_start = 1.
mailpack-head_num = 1.
mailpack-body_start = start.
mailpack-body_num = end.
mailpack-doc_type = 'TXT'.
mailpack-obj_name = 'TEST2'. "<- RIGHT HERE
mailpack-obj_descr = 'Subject'.
mailpack-doc_size = tab_lines * 255.
append mailpack.
Regards,
RIch Heilman -
Hi All,
I have a requirement to send the two file from the third party system(GXS) to SAP ECC via SAP PI(version - 7.4). We are using AS2 adapter at the sender side to pick the file and using File Adapter to place the file in ECC.
Its a pass through scenarion(No ESR part is used).
Requirement:
We are going to get 2 files ->Example: one from Axis and another one from ICICI -> each bank file will have a file name ->
We have to post the file at the target system with the same name as source file name, the source file name could come dynamically(with diff time stamp).
Please let me know, Is it possible to achieve the above requirement(we have to retain the file name in target that coming from source system) with Sender AS2 adapter, If yes then please suggest the best approach.
Regards,
Pradeep BawliaHi Guys,
The above requirement is solved now.
Solution - I used java mapping for extracting the same source file name and assignning the same to the target system.
Code:
public class ExtractFileName_ASMA extends AbstractTransformation{
public void transform(TransformationInput in, TransformationOutput out) throws StreamTransformationException
DynamicConfiguration conf=in.getDynamicConfiguration();
DynamicConfigurationKey key_AS2FileNmae = DynamicConfigurationKey.create("http://sap.com/xi/XI/AS2/AS2", "AS2Filename");
DynamicConfigurationKey key_FileNmae = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File", "FileName");
String As2FileName=conf.get(key_AS2FileNmae);
conf.put(key_FileNmae, As2FileName);
try{
byte b[]=new byte[in.getInputPayload().getInputStream().available()];
in.getInputPayload().getInputStream().read(b);
out.getOutputPayload().getOutputStream().write(b);
catch(Exception e)
2. Another solution we can use the graphical mapping and need to use the dynamic config UDF at mapping level to acheive this requirement but here is one drawback - we need to do content conversion is this case.
In case of Java mapping, no need to play with source file.
WITHOUT USING ESR, WE CAN NOT ACHEIVE THIS REQUIREMENT.
Regards,
Pradeep Bawlia -
How to put the file name in notepad file
dear frank,
how to put the file name in notepad file via power shell. I mean i want to put the file name in that notepad file
for example,
my file name is ABL and in this file data is
02/06/2015,180.00,182.00,176.01,180.50,1575500
02/06/2015,4.20,4.20,4.20,4.20,500
02/06/2015,113.50,113.70,112.91,113.09,157800
02/06/2015,682.01,695.90,682.00,683.19,4250
02/06/2015,213.98,215.00,213.00,214.87,326200
02/06/2015,21.52,21.65,21.52,21.60,4000
02/06/2015,111.00,111.25,108.25,108.91,17100
02/06/2015,52.00,52.00,52.00,52.00,500
and i want to data in this form
ABL,02/06/2015,180.00,182.00,176.01,180.50,1575500
ABL,02/06/2015,4.20,4.20,4.20,4.20,500
ABL,02/06/2015,113.50,113.70,112.91,113.09,157800
ABL,02/06/2015,682.01,695.90,682.00,683.19,4250
ABL,02/06/2015,213.98,215.00,213.00,214.87,326200
ABL,02/06/2015,21.52,21.65,21.52,21.60,4000
ABL,02/06/2015,111.00,111.25,108.25,108.91,17100
ABL,02/06/2015,52.00,52.00,52.00,52.00,500
There are many file like this that i want to be edit
plese tell me how can i do it, i think it is possible via windows power shell.
thanks in advance.Hi
Just for completeness, what version of VB.NET are you using?
Here is a complete project to copy all the files with the added "ABL," at the start of each line. You need to start a new Project with a BLANK default Form1, and replace all of Form1 code with the code below. When you run this project, you
need to use the 2 buttons to set up the ORIGINAL file folder and a folder to place the copies. You need to check if the file EXTENSION is correct (I assumed txt), and check the text to add to each line is correct. Once all is set up you should have a
big red button to start the operation.
NOTE: it is important that you try this out on a copy of some of the files to verify accuracy BEFORE trying on original files. Make sure you have a good back up of the original files before doing anything else.
' new project with default BLANK Form1
' replace all Form1 code with this code
' WARNING: make sure you have a backup of
' any files you use this application to
' operate on.
Option Strict On
Option Infer Off
Option Explicit On
Public Class Form1
Dim OrigFileFolderPath As String = Nothing
Dim CopyToFolderPath As String = Nothing
Dim lab1, lab2, lab3 As New Label
Dim tb1, tb2, tb3 As New TextBox
Dim b1, b2, b3, b4 As New Button
Dim fb As New FolderBrowserDialog
Dim bgw As New System.ComponentModel.BackgroundWorker
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.Size = New Size(731, 300)
With lab1
.Text = "Original Files Folder Path"
.Location = New Point(15, 5)
End With
With tb1
.Width = 560
.Location = New Point(10, 30)
.BackColor = Color.Khaki
.ForeColor = Color.Maroon
.Font = New Font(Me.Font.FontFamily, 12)
.BorderStyle = BorderStyle.FixedSingle
.Anchor = AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right
End With
With lab2
.Text = "Copy Files to Folder Path"
.Location = New Point(15, 125)
End With
With tb2
.Width = 665
.Location = New Point(10, 150)
.BackColor = Color.Khaki
.ForeColor = Color.Maroon
.Font = New Font(Me.Font.FontFamily, 12)
.BorderStyle = BorderStyle.FixedSingle
.Anchor = AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right
End With
With lab3
.Text = "File Ext"
.Location = New Point(600, 5)
.Anchor = AnchorStyles.Top Or AnchorStyles.Right
End With
With tb3
.Text = ".txt"
.Width = 80
.Location = New Point(590, 30)
.BackColor = Color.Khaki
.ForeColor = Color.Maroon
.TextAlign = HorizontalAlignment.Center
.Font = New Font(Me.Font.FontFamily, 12)
.BorderStyle = BorderStyle.FixedSingle
.Anchor = AnchorStyles.Top Or AnchorStyles.Right
End With
With b1
.Text = "Choose Original Files Folder Path"
.AutoSize = True
.Location = New Point(10, 65)
End With
With b2
.Text = "Choose Copy Files to Folder Path"
.AutoSize = True
.Location = New Point(10, 185)
End With
With b3
.Text = "DO THE COPY"
.AutoSize = False
.Size = New Size(240, 50)
.BackColor = Color.Red
.ForeColor = Color.White
.Font = New Font(Me.Font.FontFamily, 20, FontStyle.Bold)
.Location = New Point(420, 80)
.Anchor = AnchorStyles.Top Or AnchorStyles.Right
.Visible = False
End With
With b4
.Text = "CANCEL JOB"
.AutoSize = False
.Size = New Size(240, 50)
.BackColor = Color.Red
.ForeColor = Color.White
.Font = New Font(Me.Font.FontFamily, 20, FontStyle.Bold)
.Location = New Point(420, 80)
.Anchor = AnchorStyles.Top Or AnchorStyles.Right
.Visible = False
End With
Me.Controls.AddRange({lab1, lab2, lab3, tb1, tb2, tb3, b1, b2, b3, b4})
With bgw
.WorkerReportsProgress = True
.WorkerSupportsCancellation = True
End With
AddHandler bgw.DoWork, AddressOf bgw_DoWork
AddHandler bgw.RunWorkerCompleted, AddressOf bgw_Completed
AddHandler b1.Click, AddressOf b1_Click
AddHandler b2.Click, AddressOf b2_Click
AddHandler b3.Click, AddressOf b3_Click
AddHandler b4.Click, AddressOf b4_Click
End Sub
Private Sub b1_Click(sender As Object, e As EventArgs)
fb.SelectedPath = My.Computer.FileSystem.SpecialDirectories.MyDocuments
fb.ShowNewFolderButton = False
Dim r As DialogResult = fb.ShowDialog
If r = Windows.Forms.DialogResult.OK Then
tb1.Text = fb.SelectedPath
If IO.Directory.Exists(tb1.Text) AndAlso IO.Directory.Exists(tb2.Text) AndAlso Not (tb1.Text = tb2.Text) Then
If tb3.Text = Nothing Then
redo: tb3.Text = InputBox("Enter the file extension that you want to copy/change", "FILE EXTENSION")
If tb3.Text = Nothing Then GoTo redo
End If
b3.Visible = True
Else
b3.Visible = False
End If
End If
End Sub
Private Sub b2_Click(sender As Object, e As EventArgs)
fb.SelectedPath = My.Computer.FileSystem.SpecialDirectories.MyDocuments
fb.ShowNewFolderButton = True
Dim r As DialogResult = fb.ShowDialog
If r = Windows.Forms.DialogResult.OK Then
tb2.Text = fb.SelectedPath
If IO.Directory.Exists(tb1.Text) AndAlso IO.Directory.Exists(tb2.Text) AndAlso Not (tb1.Text = tb2.Text) Then
If tb3.Text = Nothing Then
redo: tb3.Text = InputBox("Enter the file extension that you want to copy/change", "FILE EXTENSION")
If tb3.Text = Nothing Then GoTo redo
End If
b3.Visible = True
Else
b3.Visible = False
End If
End If
End Sub
Private Sub b3_Click(sender As Object, e As EventArgs)
b3.Visible = False
b4.Visible = True
If Not tb3.Text.StartsWith(".") Then tb3.Text = "." & tb3.Text
bgw.RunWorkerAsync()
End Sub
Private Sub b4_Click(sender As Object, e As EventArgs)
bgw.CancelAsync()
End Sub
Private Sub ReadPWFile(fn As String)
Dim filename As String = My.Computer.FileSystem.GetName(fn)
Dim barename As String = IO.Path.GetFileNameWithoutExtension(fn)
Dim copyto As String = tb2.Text & "\" & filename
Dim line As String = Nothing
Dim lines As New List(Of String)
Using sr As IO.StreamReader = New IO.StreamReader(fn)
Do
line = sr.ReadLine()
If Not line = Nothing Then
lines.Add(barename & "," & line)
End If
Loop Until line = Nothing
End Using
Using sw As IO.StreamWriter = New IO.StreamWriter(copyto)
For Each s As String In lines
sw.WriteLine(s)
Next
End Using
End Sub
Private Sub bgw_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)
Dim ftc As Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetFiles(tb1.Text)
For Each f As String In ftc
If bgw.CancellationPending Then
e.Cancel = True
Exit For
End If
Dim ex As String = My.Computer.FileSystem.GetFileInfo(f).Extension.ToLower
If My.Computer.FileSystem.GetFileInfo(f).Extension.ToLower = tb3.Text.ToLower Then
ReadPWFile(f)
End If
Next
End Sub
Public Sub bgw_Completed(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs)
tb1.Text = Nothing
tb2.Text = Nothing
b3.Visible = False
b4.Visible = False
MessageBox.Show("Finished copying files", "Job Completed")
End Sub
End Class
Regards Les, Livingston, Scotland -
How to have files have 2 names, my file name and client file name?
I need to name files for a corporate client in a very specific way for them, however I'd rather also keep my file name structure. I could output the files and rename them, but then when they come back to me and ask for retouching etc on a particular file, I wouldn't have that name in my archive (I'm delivering several thousand files).
Is there a way to have 2 files names associated with the files, or embed the original file name in the files metadata somewhere. Please keep in mind there are several thousand files, so need this to be automatic.
Thanks!The way I solve a similar problem is to give each photo a copy name that matches the client's requested name. Then export the files with the option to rename using the copy name and send them. This way I can maintain my own naming structure and keep track of the files sent under a different file name. I do it in a much, much, smaller scale (tens of images at most each time) and it works really well for me, but using this method for several thousand images can be a huge task, that I'd rather not take
HTH
Maybe you are looking for
-
ADF Task Flow Question.
Hi everyone, Is it possible to call an unbounded task flow from a bounded task flow? Let me explain. I have created a template, with an af:navigationpane on top. Inside it, I have placed three commandNavigationItems: the first two go to simple views.
-
Hi, I got my work laptop a T420 along with me to india . I am here on a project for another 4 months. It is under warranty now. Can I get it repaired here in India under warranty , or should I ship it to the US for getting it repaired? It is my work
-
Link contract with another PO line item condition
Hi Need some solution for the following issue: Explanation of the issue: First the contract is created for the freight and insurance for vendor say V1. Then the PO is created for the material for vendor V2. In the PO line item the freight and insuran
-
Leopard Server on Dual 800MHz G4?
Sorry if this is a repost, I tried searching around for a while and couldn't find an answer to this... I'm looking to install OS X Server on an old dual 800MHz G4 tower. I was just wondering if the install would allow it, because the clock speeds are
-
Why we need the classloader?
Hi all, I got confuse on the classloader topic. If we need to include the corresponding class in our classpath environment variable, why do we need the classloader since the jvm will automatically load the class for us ? I saw one example of classloa