cancel
Showing results for 
Search instead for 
Did you mean: 

File Adapter - Create File Name from Payload

Former Member
0 Kudos

Hello,

I have a scenario where I'm sending deductions to external vendors (wage types) following a payroll run, via XI. Part of the message payload includes a data element 'Vendor Name' (e.g. Zurich Insurance). When the XI File Adapter creates the file, I want to create the files as /usr/file/xi/<Vendor Name>.csv

How to I pick up the 'Vendor Name' from the message payload and pass this into the "File Name:" field of the "File Access Parameters in the File Adapter communication channel configured?

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Brown,

Enable variable substitution.

var name: v1

reference: payload:messagetype,1,<field reference>

Give in file name schema is : %v1%.

It works

Venu.

MichalKrawczyk
Active Contributor
0 Kudos

Hi Cameron,

if you have XI SP14 or above there's a great way to do that:

/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14

so all you need to do is to set this key in your mapping

("http://sap.com/xi/XI/System/File","FileName");

and supply any value and the file will be

created with this name

so if you have sp14 you this way instead of all the rest

more on this method:

/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping

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>

bhavesh_kantilal
Active Contributor
0 Kudos

hi,

The dynamic filename generation concept is as follows.

In your filename field. just give a variable with % symbols. (eg: %file% ).

Now, under the option Variable Name Substitution, you can give how the value has to be created.

It can be your interface name, sender service name, etc or it can be some value dynamically from your payload.

For the former, your give

message:interface_name ,etc

and for the payload part you give,

Payload: "your element root which u wanna acecss"

Just check this link out,

http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm

And read the contents under variable substitution and it will help you understand the concepts better.

If you have any clarifications, do get back,

Regards,

Bhavesh