Skip to Content

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.

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