Hi All,

I have a requirement where I need to pick files from multiple source directories and place it to on target file server using one file channel. The interface was passthrough interface so I created dummy structures as I would be needing service interfaces and operation mapping to call JAVA mapping.

To achieve this I prefer to write Adapter Module but sometimes due to BASIS dependency, we have to go for JAVA mapping. Here I am putting up my JAVA code but ADAPTER MODULE code will be shared soon.

Source directories were like




and target directories were /X, /Y, /Z

PFB the code:


* Created on May 26, 2015


* To change the template for this generated file go to

* Window>Preferences>Java>Code Generation>Code and Comments


package global;


* @author ashutosh.a.upadhyay


* To change the template for this generated type comment go to

* Window>Preferences>Java>Code Generation>Code and Comments


import java.io.InputStream;

import java.io.OutputStream;

import java.util.Map;

import com.sap.aii.mapping.api.AbstractTransformation;

import com.sap.aii.mapping.api.DynamicConfiguration;

import com.sap.aii.mapping.api.DynamicConfigurationKey;

import com.sap.aii.mapping.api.StreamTransformationConstants;

import com.sap.aii.mapping.api.StreamTransformationException;

import com.sap.aii.mapping.api.TransformationInput;

import com.sap.aii.mapping.api.TransformationOutput;

public class DynamicDirectory extends AbstractTransformation {

  public void transform(TransformationInput transformationInput, TransformationOutput transformationOutput)throws StreamTransformationException{

  try {

    InputStream inputstream = transformationInput.getInputPayload().getInputStream();

      OutputStream outputstream = transformationOutput.getOutputPayload().getOutputStream();

    Map mapParameters = (Map) transformationInput.getInputHeader().getAll();

    // Dynamic Confguration

    mapParameters.put(DynamicConfigurationKey.create(“http://sap.com/xi/XI/Dynamic“, StreamTransformationConstants.DYNAMIC_CONFIGURATION), “”);

    DynamicConfiguration conf = (DynamicConfiguration) mapParameters.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

    DynamicConfigurationKey key = DynamicConfigurationKey.create(“http://sap.com/xi/XI/System/File“, “Directory”);

    //Check the input directory and set the output directory

    String inputDir = “”;

    String outputDir = “”;


    inputDir = conf.get(key);


    outputDir = “/X/”;


    else if (inputDir.endsWith(“Y”)){

    outputDir = “/Y/”;



    else if(inputDir.endsWith(“Z”)){

    outputDir = “/Z/”;


  //Set the directory parameter


    //copy Input file content to Output file content

    byte[] b = new byte[inputstream.available()];




    catch (Exception exception){


    throw new StreamTransformationException(exception.toString());




To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply