Being SAP PI consultant we all know how Dynamic Configuration works with File adapter and how to set the target filename dynamically.Now we have started with SAP HCI era and need to find how to achieve the same.Here is the blog which showcase the same by using Apache Camel File Processing Parameters in Content Modifier.

Lets discuss various use cases in detail.

1. How to set Source File Name to Target File Name

Create integration Project like below

Step 1: Configure the Sender SFTP Channel

Step 2:Configure Content Modifier to set the source file name to target file name.

CamelFileName: Parameters which holds File Name in Apache Camel Framework (Upon which SAP HCI-PI is built on).

There are also other parameters which can utilized( See the below table )

Expression

Returns

file:name

HCI\InputFile.xml

file:name.ext

xml

file:name.noext

HCI\InputFile

file:onlyname

InputFile.xml

file:onlyname.noext

InputFile

file:ext

xml

Step 3:Configure the receiver SFTP Channel like below

Go ahead and deploy the integration project.Now you will have a file in the target SFTP folder with filename same as source filename.

2. How to set target filename dynamically based on key field from incoming message.

Configuration: Create integration project similar to Use Case 1 and repeat the Steps 1 and 3 .

Step 2: Content Modifier configuration

Below are parameters used in the content modifier.

${date:now:yyyyMMdd}: Captures current date of file processing.

${header.User}, ${header.Group}: Captures values from incoming file.

Go ahead and deploy the integration project.Now you will have a file in the target SFTP folder with dynamic filename based on input file.

3. How to set target filename and target folder structure directly (By leaving the Directory and FileName Blank)

Configuration: Create integration project similar to Use Case 1 and repeat the Step1

Step2:

${date:now:yyyyMMdd}: Captures current date of file processing.

${header.RecordCount}:Holds number of records in the input file.

${header.User}, ${header.Group}: Captures values from incoming file.

Step3:

Go ahead and deploy the integration project.Now you will have a file in the target SFTP server with dynamic filename based on input file and in the target folder which is set in the content modifier step.

Conclusion:

Hope this blog helped beginners to dynamically set filename and target folder in SAP HCI using Content Modifier.

Your expression is trying to capture the current date of file processing so if i am right first you need to capture the last modification date of the file and then try to compare it with current date which could be done with the help of any scripting code.

In order to capture the last modification date a file then modify your expression with help of below :