cancel
Showing results for 
Search instead for 
Did you mean: 

File adapter sender

Former Member
0 Kudos

Hi all,

my customer provides files that are supposed to be processed by PI by an ftp script. After each payload-file it creates a second file to indicate that writing the payload-file is finished.

The actual payload-file has no extension, the second file has the same filename and an extension, and the payload-file's name as content.

For a file "xy" that is provided PI should

- Not start processing before "xy.eoj" is present

- If "xy.eoj" is present:

1. Process "xy"

2. After successful processing: Delete "xy" and "xy.eoj"

Any idea how to configure the communication channel to handle it this way?

Thanks in advance

Rainer

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

you can try achieving this using the Run Operating System Commands option given while configuring the Reciver Communication Channel.

In the batch file for "Run Operating System Commands before message processing" try detecting the the second file.

in the batch file for "Run Operating System Commands after message processing" try deleting both the files.

refer to the following link to know more about Run Os commands:

[]

[https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2411] [original link is broken] [original link is broken] [original link is broken];

[;

[http://en.wikibooks.org/wiki/Guide_to_Windows_commands#Built-in_commands]

[http://en.wikipedia.org/wiki/List_of_DOS_commands]

Award Points if useful

former_member192295
Active Contributor
0 Kudos

Hi,

In file adapter command line before and after lines execute batch command. Before process check file name along with extension if it is there mean skip the transaction else execute the transaction.

Find below link for dos commands

http://en.wikipedia.org/wiki/List_of_DOS_commands

Former Member
0 Kudos

Dear Rainer,

As your main criteria is selection of files out of two and extracting the content (Payload) from the second file name,

I hope you can proceed with Module Programming, and specify this module before the adapter module in the adapter processing.

Or you can achieve this using existing modules:

MessageSwapBean, MessageTransformBean.

Check this link how to create a module for Adapters

[https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/efa72219-0e01-0010-75ac-973bdc2fdcb3]

Best Regards

Praveen