Skip to Content

Syndicator Batch and Java Wrapper

MDM Syndicator branch of tools include:

1. Syndicator GUI:

Used to Create/Save/Export/Import Mappings, Configure Output Types etc. Can not run without a user

2. Syndication Server:

Runs as an OS Service and executes configured Syndication Ports. Once configured, produces output in a designated location. Less flexible to integrate with external tools

3. Syndicator Batch:

Executes syndication process in batch mode without launching fat GUI and it is highly configurable and allows flexibility to create Wrappers to work with external tools such as XML/XSL Transformers, FTP Clients and anything under your imagination

This blog walks you thru using Syndicator batch from Windows Command and creating a Java Wrapper to dynamically execute

Syndicator Batch

requires a special installation and is available only on windows OS. Upon installation, it will create a windows executable “SyndicatorBatch.exe” in the designated folder and here are the options available:

image

The following shows how Syndicator Batch output when executed with appropriate parameters:

image

Caveat:Syndicator batch is required to be executed inside the installation folder. You should navigate to the installation folder in Command shell.

No big deal right? Now, I will show you how to create a simple java program that passes all Syndicator Batch parameters dynamically:

/*

  • Created on Jan 5, 2007

*

*/

package com.sitacorp.mdm.util;

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;

/**

  • @author Venkat Vadlamannati

  • A Java Wrapper to Syndicator Batch 

*

*/

public class SBDemo {

     

     

     public static String SYN_BAT_DIR = “D:
Program Files
SAP MDM 5.5
Syndicator Batch”;

     public static String SYN_BAT_EXE = “SyndicatorBatch.exe”;

     

     public static void main(String[] args) {

          

          

          //Define and assign required parameters

          String host = args[0];

          String port = args[1];

          String outputFile = args[2];

          String user = args[3];

          String password = args[4];

          String language = args[5];

          String synMap = args[6];

          String clientSystem = args[7];

          

          if(args.length “);

               System.exit(-1);

          }

          

          //Construct a Command to be executed

          

          String COMMAND = “\””SYN_BAT_DIR
SYN_BAT_EXE“\” -f \””outputFile“\” -o “+

                               ” -s “host” -p “port” -u “user” -w “password

                               ” -r \””language” \” -a “clientSystem” -n “+synMap;

                              

          //Make sure command is constructed correctly

          System.out.println(“COMMAND: “+COMMAND);                              

          

          Runtime rt = Runtime.getRuntime();

          try {

               //Execute Command

               Process proc = rt.exec(COMMAND,null,new File(SYN_BAT_DIR));

               

               //Buffer console output

               BufferedReader consoleOutput = new BufferedReader(new InputStreamReader(proc.getErrorStream()));

               

               String str = null;

               //Show buffred output to console

               while((str = consoleOutput.readLine()) != null) {

                    System.out.println(str);     

               }

               int retVal = proc.exitValue();

               System.out.println(“Syndicator Batch Exited with Return Code “+retVal);

               

          } catch (IOException e) {

               System.out.println(“Error in Syndicator Batch Location “+SYN_BAT_DIR);

               e.printStackTrace();

          }     

     }

}

Compile this java code and running it will invoke Syndicator Batch dynamically and you can add your own functionality to enhance it.

Be the first to leave a comment
You must be Logged on to comment or reply to a post.