Skip Headers
Oracle® Fusion Middleware Developer's Guide for Oracle Data Integrator
11g Release 1 (11.1.1)

Part Number E12643-06
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

A Oracle Data Integrator Tools Reference

This appendix provides a reference of the Oracle Data Integrator Tools. It is intended for application developers who want to use these tools to design integration scenarios.

This appendix includes the following sections:

A.1 Using the Oracle Data Integrator Tools

Oracle Data Integrator Tools (also called Oracle Data Integrator Commands) are commands provided for performing specific tasks at run-time. These tasks may be as simple as waiting for a certain time or producing a sound, or as sophisticated as executing ANT Scripts or reading emails from a server.

They are used in Packages, in Procedure Commands, in Knowledge Modules Commands or directly from a command line.

Note:

Previous versions of Oracle Data Integrator that supported calling built-in tools from Jython or Java scripts using their internal Java classes (such as SnpsSendMail and SendMail). The usage of tools using this method is deprecated since version 10.1.3.2.0 and should be avoided.

Note:

The carriage return in a command is not allowed.

A.1.1 Using a Tool in a Package

How to add and use an Oracle Data Integrator Tool in a Package is covered in Section 10.3.1.4, "Adding Oracle Data Integrator Tool Steps".

It is possible to sequence the tools steps within the package, and organize them according to their success and failure. For more information, refer to Section 10.4, "Defining the Sequence of Steps" and Section 10.3.6, "Arranging the Steps Layout".

In a package, it possible to use directly in the tool parameters variable values, sequences or Oracle Data Integrator substitution method calls. Refer to Chapter 12, "Working with Procedures, Variables, Sequences, and User Functions" for more information.

A.1.2 Using a Tool in a Knowledge Module or a Procedure Command

How to use an Oracle Data Integrator Tool in a KM or Procedure is covered in Section 12.1, "Working with Procedures".

In a knowledge module or a procedure, it possible to use directly in the tool parameters variable values, sequences, Oracle Data Integrator substitution method calls or the results from a SELECT statement. Refer to Chapter 12, "Working with Procedures, Variables, Sequences, and User Functions" for more information.

A.1.3 Using a Tool from a Command Line

Note:

The command line scripts, which are required for performing the tasks described in this section, are only available if you have installed the Oracle Data Integrator Standalone Agent. See the Oracle Fusion Middleware Installation Guide for Oracle Data Integrator for information about how to install the Standalone Agent.

To use an Oracle Data Integrator Tool from a command line:

  1. Launch a Shell (UNIX), a Command Prompt (Windows).

  2. Go to the oracledi/agent/bin sub-directory of the Oracle Data Integrator installation directory.

  3. Launch the startcmd.bat (Windows) or startcmd.sh (UNIX) command, with the following syntax:

    startcmd <command_name> [<command_parameters>]*
    

Important Notes

Note the following when launching a tool from a command line:

  • On Windows platforms, it is necessary to surround the command arguments containing "=" signs or spaces, by using double quotes. The command call may differ from the UNIX command call. For example:

    The <command_name> parameter is case-sensitive.

    startcmd.bat OdiSleep "-DELAY=5000" (Windows)
    ./startcmd.sh OdiSleep -DELAY=5000 (UNIX)
    
  • Certain tools require a connection to the repositories to run. Make sure that repository connection is configured in the odiparams file. See Section 4.3, "Managing Agents" for more information.

  • The following ODI tools don't support direct invocation through a command line:

    • OdiInvokeWebService

    • OdiRetrieveJournalData

    • OdiRefreshJournalCount

A.2 Using Open Tools

The Open Tools feature provides an extensible platform for developing custom third-party tools that you can use in Packages and Procedures. Just like the standard tools that are delivered with Oracle Data Integrator, they can interact with the operating system or manipulate data.

Open Tools are written in Java. Writing your own Open Tools is covered in Section A.3, "Developing Open Tools".

Open Tools are delivered as a Java package (.zip or .jar) containing several files:

A.2.1 Installing and Declaring an Open Tool

Before you can use an Open Tool, you need to install and add it.

A.2.1.1 Installing an Open Tool

To install an Open Tool, you must add the open tool Jar into the classpath or the component using this open tool.

Open tools Jars must be added in the same directory as the drivers for the Standalone Agent and Studio. See "Add Additional Drivers and Open Tools" in the Oracle Fusion Middleware Installation Guide for Oracle Data Integrator for more information.

For deploying an Open tool Jar with a Java EE agent, you should generate a server template for this agent. The open tool will appear in the Libraries and Drivers list in the Template Generation Wizard. See Section 4.3.2.1.2, "Create a Server template for the Java EE Agent" for more information.

Note:

This operation must be performed for each ODI Studio from when the tool is being used, and for each agent that will run sessions using this tool.

A.2.1.2 Declaring a New Open Tool

This operation declares an open tool in a master repository and allows this open tool to appear in the Oracle Data Integrator Studio.

To declare a new tool, either:

  1. In the Oracle Data Integrator Studio, select the ODI menu and then select Add/Remove Open Tools.... The Add Open Tools dialog opens.

  2. Enter the name of the class in the Open Tool Class Name field of the Add/remove Open Tools dialog.

or:

  1. Click Find in the ClassPath, then browse to the name of the Open Tool's Java class. To search for the class by name, enter a part of the name in the field at the top.

  2. Click OK.

    Note that all classes currently available to Oracle Data Integrator are shown including all those which are not Open Tools. You must know the name of your class to be able to add it.

  3. Click Add Open Tool.

  4. Select the line containing your Open Tool.

    • If it was correctly found on the classpath, then the supplied icons, and its syntax, description, provider and version number are shown.

    • If it was not found, an error message is displayed.

      You should either change the classpath, or move the Open Tool to the right directory.

    Note:

    This operation must be performed only once for a given master repository.

    Note:

    An Open Tool name cannot start with Snp or Odi. An Open Tool with a name starting with these strings will be ignored.

A.2.2 Using Open Tools in a Package or Procedure

You can use Open Tools in a Package or a Procedure, similarly to the tools provided out of the box in Oracle Data Integrator.

A.3 Developing Open Tools

An Open Tool is a Java package that contains a compiled Java class that implements the interface oracle.odi.sdk.opentools.IOpenTool. For a complete description of all the classes and methods, see the Oracle Data Integrator Open Tools API Reference (Javadoc).

An Open Tool Package should usually also contain two icons, which are used to represent the Open Tool in the Oracle Data Integrator graphical interface.

A.3.1 Classes

The following table describes Open Tool classes and interfaces.

Class or Interface Description

IOpenTool

Interface that every Open Tool must implement.

OpenToolAbstract

Abstraction of interface with some helper methods. Preferably extend this class rather than implementing the interface directly.

IOpenToolParameter

Interface that parameters used by Open Tools must implement. In most cases, OpenToolParameter should be used rather than implementing this interface.

OpenToolParameter

Complete implementation of IOpenToolParameter. Each OpenToolParameter holds one parameter.

OpenToolsExecutionException

Exception class that should be thrown if necessary by Open Tool methods.

SimpleOpenToolExample

A simple example of an Open Tool, that can be used as a starting point.


A.3.2 Developing a New Open Tool

The following explanation covers the development of a basic Open Tool, SimpleMessageBox. The source code for this class is available in the demo/plugins/src directory.

  1. Define the syntax. In this example, the Open Tool is called as follows:

    SimpleMessageBox "-TEXT=<text message>" "-TITLE=<window title>"
    
  2. Create 16x16 and 32x32 icons (usually in .gif format)

  3. Create and implement the class. See Section A.3.2.1, "Implementing the Class".

  4. Compile the class and create a package with the two icon files.

  5. Install and declare the Open Tool as described in Section A.2.1, "Installing and Declaring an Open Tool".

A.3.2.1 Implementing the Class

Implementing the class consists of the following steps:

  1. Declaration

  2. Importing Packages

  3. Defining the Parameters

  4. Implementing Informational Functions

  5. Execution

A.3.2.1.1 Declaration

Before you declare the class, you need to name the package.

Naming the Package

Put the class in a package named appropriately. The package name is used to identify the Open Tool when installing it.

package com.myCompany.OpenTools;

Declaring the Class

There are two basic approaches to developing an Open Tool:

  • Extending an existing class which you want to convert into an Open Tool. In this case, you should simply implement the interface IOpenTool directly on the existing class.

  • Developing a new class. In this case, it is easiest to extend the abstract class OpenToolAbstract. This also contains additional helper methods for working with parameters.

public class SimpleMessageBox extends OpenToolAbstract {

A.3.2.1.2 Importing Packages

Almost every Open Tool will need to import the following Open Tool SDK packages.

import oracle.odi.sdk.opentools.IOpenTool; /* All Open Tool classes need these three classes */

import oracle.odi.sdk.opentools.IOpenToolParameter;

import oracle.odi.sdk.opentools.OpenToolExecutionException;

import oracle.odi.sdk.opentools.OpenToolAbstract; /* The abstract class we extend for the Open Tool */

import oracle.odi.sdk.opentools.OpenToolParameter; /* The class we use for parameters */

In this particular example, we also need a package to create the message box:

import javax.swing.JOptionPane; /* Needed for the message box used in this example */
A.3.2.1.3 Defining the Parameters

Add a property to store the OpenToolParameter objects. This is used both to define them for the syntax, and to retrieve the values of the parameters from the eventual user. It is easiest to define the parameters of the Open Tool with a static array as follows. This array should be private, as it will be accessed via an accessor function.

private static final IOpenToolParameter[] mParameters = new IOpenToolParameter[]
{
    new OpenToolParameter("-TEXT", "Message text", "Text to show in the messagebox (Mandatory).", true),
    new OpenToolParameter("-TITLE", "Messagebox title", "Title of the messagebox.", false)
};

The four parameters passed to the OpenToolParameter() constructor are:

  1. The code of the parameter, including the initial hyphen. It is critical that this code corresponds to the syntax returned by getSyntax().

  2. The user-friendly name, which is used if the user is using the graphical interface to set parameters.

  3. A descriptive help text.

  4. Whether the parameter is mandatory or not. This is an indication to the user.

    Note:

    Oracle Data Integrator does not enforce the mandatory flag on parameters. Your class must be able to handle any combination of parameters being provided.

You must implement the accessor function getParameters() to retrieve them:

public IOpenToolParameter[] getParameters()
{
      return mParameters;
}
A.3.2.1.4 Implementing Informational Functions

Implement functions to return information about your Open Tool: getDescription(), getVersion(), getProvider()

public String getDescription() { return "This Open Tool displays a message box when executed."; }
public String getVersion() { return "v1.0"; }
public String getProvider() { return "My Company, Inc."; }

The getSyntax() function determines the name of the Open Tool as it appears in the Oracle Data Integrator graphical interface, and also the initial values of the parameter. Make sure the names of the parameters here match the names of the parameters returned by getParameters().

public String getSyntax()
{
        return "SimpleMessageBox \"-TEXT=<text message>\" \"-TITLE=<window title>\"";
}

The getIcon() method should then return paths to two appropriately sized images. It should look something like this:

public String getIcon(int pIconType)
{
        switch (pIconType)
        {
               case IOpenTool.SMALL_ICON:
               return "/com/myCompany/OpenTools/images/SimpleMessageBox_16.gif";
             case IOpenTool.BIG_ICON:
             return "/com/myCompany/OpenTools/images/SimpleMessageBox_32.gif";
             default:
             return "";
     }
}
A.3.2.1.5 Execution

Finally, the execute() method which actually carries out the functionality provided by the Open Tool. In this case, a message box is shown. If extending the OpenToolAbstract class, use the getParameterValue() method to easily retrieve the values of parameters as they are set at run time.

Note:

You must catch all exceptions and only raise an OpenToolExecutionException.

public void execute() throws OpenToolExecutionException
{
     try
     {
     if (getParameterValue("-TITLE") == null || getParameterValue("-TITLE").equals("")) /* title was not filled in by user */
     {
               JOptionPane.showMessageDialog(null, (String) getParameterValue("-TEXT"), (String) "Message", JOptionPane.INFORMATION_MESSAGE);
          } else
          {
               JOptionPane.showMessageDialog(null, (String) getParameterValue("-TEXT"),
                       (String) getParameterValue("-TITLE"),
                       JOptionPane.INFORMATION_MESSAGE);
          }
     }
     /* Traps any exception and throw them as OpenToolExecutionException */
     catch (IllegalArgumentException e)
     {
          throw new OpenToolExecutionException(e);
     }
}

A.3.3 Open Tools at Run Time

In general, your Open Tool class is instantiated only very briefly. It is used in the following ways:

Installation

When the user chooses to install an Open Tool, Oracle Data Integrator instantiates the class and calls the methods getDescription(), getProvider(), getIcon() and getVersion() to retrieve information about the class.

Use in a Package

When the Open Tool is used in a package, the class will be instantiated briefly to call the methods getDescription(), getProvider(), getIcon() and getVersion(). Additionally, getSyntax() will be called to retrieve the code name of the Open Tool and its default arguments. The method getParameters() is called to display the list of arguments to the user.

Execution

Each time the Open Tool is executed in a package or procedure, the class is instantiated again - it has no persistence after its execution. The execute() method is called exactly once.

Tip:

See also Appendix A, "Using Open Tools" and Open Tools SDK documentation (JavaDoc).

A.4 ODI Tools per Category

This section lists the Oracle Data Integrator tools per category:

A.5 Alphabetic List of ODI Tools

This section provides an alphabetical list of the Oracle Data Integrator tools.

A.5.1 OdiAnt

Use this command to execute an Ant buildfile.

For more details and examples of Ant buildfiles, please refer to the online documentation http://jakarta.apache.org/ant/manual/index.html

Usage

OdiAnt -BUILDFILE=<file> -LOGFILE=<file> [-TARGET=<target>]
[-D<property name>=<property value>]* [-PROJECTHELP] [-HELP]
[-VERSION] [-QUIET] [-VERBOSE] [-DEBUG] [-EMACS]
[-LOGGER=<classname>] [-LISTENER=<classname>] [-FIND=<file>]

Parameters

Parameters Mandatory Description

-BUILDFILE=<file>

Yes

Ant Buildfile. XML file containing the Ant commands.

-LOGFILE=<file>

Yes

Use given file for logging.

-TARGET=<target>

No

Target of the build process.

-D<property name>=<property value>

No

List of properties with their values.

-PROJECTHELP

No

Displays the help on the project.

-HELP

No

Displays Ant help.

-VERSION

No

Displays Ant version.

-QUIET

No

Run in non verbose mode

-VERBOSE

No

Run in verbose mode

-DEBUG

No

Prints debug information.

-EMACS

No

Displays the logging information without adornments.

-LOGGER=<classname>

No

Java class performing the logging.

-LISTENER=<classname>

No

Adds a class instance as a listener.

-FIND=<file>

No

Looks for the Ant Buildfile from the root of the file system and uses it.


Examples

Download the *.html files from the directory /download/public via ftp from ftp.mycompany.com to the directory C:\temp:

Step 1: Generate the Ant buildfile:

OdiOutFile -FILE=c:\temp\ant_cmd.xml
<?xml version="1.0"?>
<project name="myproject" default="ftp" basedir="/">
     <target name="ftp">
          <ftp action="get" remotedir="/download/public" 
          server="ftp.mycompany.com" userid="anonymous"
          password="me@mycompany.com">
                <fileset dir="c:\temp">
           <include name="**/*.html"/>
                </fileset>
     </ftp>
   </target>
</project>

Step 2: Run the Ant buildfile:

OdiAnt -BUILDFILE=c:\temp\ant_cmd.xml -LOGFILE=c:\temp\ant_cmd.log

A.5.2 OdiBeep

Use this command to play a default beep or sound file on the machine hosting the agent.

The following file formats are supported by default:

  • WAV

  • AIF

  • AU

Note:

To play other file formats, you must add the appropriate JavaSound Service Provider Interface (JavaSound SPI) to the application classpath.

Usage

OdiBeep [-FILE=<sound_file>]

Parameters

Parameters Mandatory Description

-FILE

No

Path and filename of sound file to play. If not specified, the default beep sound for the machine is used.


Examples

Plays the sound file c:\wav\alert.wav

OdiBeep -FILE=c:\wav\alert.wav

A.5.3 OdiDataQuality

Use this command to execute a Batch File to launch a Data Quality project.

Usage

OdiDataQuality -BATCH_FILE=<batch_file> [-OUT_FILE=<stdout_file>]
[-ERR_FILE=<stderr_file>] [-SYNCHRONOUS=<yes|no>]

Parameters

Parameters Mandatory Description

-BATCH_FILE=<batch_file>

Yes

Location of the Data Quality batch file to execute. File name must be an absolute path. The batch file depends on the operating system and is called runprojectN.

Example:

C:\oracle\oracledq\metabase_data\metabase\oracledq\project2\scripts\runproject2.cmd

-OUT_FILE=<stdout_file>

No

File to redirect standard output to (leave blank for no redirection, use absolute path).

-ERR_FILE=<stderr_file>

No

File to redirect standard error to (leave blank for no redirection, use absolute path).

-SYNCHRONOUS=<yes|no>

No

If set to YES, the tool waits for the quality process to complete before returning, with possible error code. If set to NO, the tool ends immediately with success and does not wait for the quality process to complete.


Examples

The following command executes a data quality project exported to the C:\oracle\oracledq\metabase_data\metabase\oracledq directory.

OdiDataQuality 
"-BATCH_FILE=C:\oracle\oracledq\metabase_data\metabase\oracledq\project2\scripts\runproject2.cmd "
"-OUT_FILE=C:\temp\output file" "-SYNCHRONOUS=YES"

A.5.4 OdiDeleteScen

Use this command to delete a given scenario version.

Usage

OdiDeleteScen -SCEN_NAME=<name> -SCEN_VERSION=<version>

Parameters

Parameters Mandatory Description

-SCEN_NAME=<name>

Yes

Name of the scenario to delete.

-SCEN_VERSION=<version>

Yes

Name of the scenario to delete.


Examples

Delete the DWH scenario in version 001

OdiDeleteScen -SCEN_NAME=DWH -SCEN_VERSION=001

A.5.5 OdiEnterpriseDataQuality

Use this command to invoke an Oracle Enterprise Data Quality (Datanomic) Job.

Note:

The EnterpriseDataQuality Tool supports Oracle Enterprise Data Quality version 8.1.6 and higher.

Usage

OdiEnterpriseDataQuality "-JOB_NAME=<EDQ job name>" 
"-PROJECT_NAME=<EDQ project name>" "-HOST=<EDQ server hostname>" 
"-PORT=<EDQ server JMX port>" "-USER=<EDQ user>"
"-PASSWORD=<EDQ user's password>" "-SYNCHRONOUS=<yes|no>" "-DOMAIN=-<EDQ_DOMAIN>"

Parameters

Parameters Mandatory Description

-JOB_NAME=<EDQ job name>

Yes

Name of the Enterprise Data Quality Job

-PROJECT_NAME=<EDQ project name>

Yes

Name of the Enterprise Data Quality Project

-HOST=<EDQ server hostname>

Yes

Hostname of Enterprise Data Quality Server. Example: localhost

-PORT=<EDQ server JMX port>

Yes

JMX port of Enterprise Data Quality Server. Example: 9005

-USER=<EDQ user>

Yes

Username of Enterprise Data Quality Server user. Example: dnadmin

-PASSWORD=<EDQ user's password>

Yes

Password of Enterprise Data Quality user

-SYNCHRONOUS=<yes|no>

No

If set to yes, the tool waits for the quality process to complete before returning, with possible error code. If set to no, the tool ends immediately with success and does not wait for the quality process to complete

-DOMAIN=<EDQ_DOMAIN>

No

Name of the MBean domain. Default is dndirector.


Examples

The following command executes an Enterprise Data Quality Job called CLEANSE_CUSTOMERS located in the project named CUSTOMERS:

EnterpriseDataQuality "-JOB_NAME=CLEANSE_CUSTOMERS" "-PROJECT_NAME=CUSTOMERS"
"-HOST=machine.oracle.com" "-PORT=9005" "-USER=odi" "-PASSWORD=odi”
"DOMAIN=dndirector"

A.5.6 OdiExportAllScen

Use this command to export a group of scenarios from the connected repository.

The export files are named SCEN_<scenario name><scenario version>.xml. This command reproduces the behavior of the export feature available in Designer and Operator.

Usage

OdiExportAllScen -TODIR=<directory> [-FORCE_OVERWRITE=<yes|no>] 
[-FROM_PROJECT=<project_id>] [-FROM_FOLDER=<folder_id>]
[-FROM_PACKAGE=<package_id>] [-RECURSIVE_EXPORT=<yes|no>]
[-XML_VERSION=<1.0>] [-XML_CHARSET=<charset>]
[-JAVA_CHARSET=<charset>] [-EXPORT_PACK=<YES|NO>]
[-EXPORT_POP=<YES|NO>] [-EXPORT_TRT=<YES|NO>]
[-EXPORT_VAR=<YES|NO>]

Parameters

Parameters Mandatory Description

-TODIR=<directory>

Yes

Directory into which the export files are created.

-FORCE_OVERWRITE=<yes|no>

No

If set to yes, existing export files are overwritten with no warning. Default is No.

-FROM_PROJECT=<project_id>

No

ID of the project containing the scenarios to export. It is the Internal Identifier that appears in the Version tab of the project window. If this parameter is not set, scenarios from all projects are taken into account for the export.

-FROM_FOLDER=<folder_id>

No

ID of the folder containing the scenarios to export. It is the Internal Identifier that appears in the Version tab of the folder window. If this parameter is not set, scenarios from all folders are taken into account for the export.

-FROM_PACKAGE=<package_id>

No

ID of the source package of the scenarios to export. It is the Internal Identifier that appears in the Version tab of the package window. If this parameter is not set, scenarios from all components are taken into account for the export.

-RECURSIVE_EXPORT=<yes|no>

No

If set to yes, all child objects (schedules) are exported with the scenarios. Default is yes.

-XML_VERSION=<1.0>

No

Sets the XML version that appears in the XML header. Default is 1.0.

-XML_CHARSET=<charset>

No

Encoding specified in the XML export file in the tag <?xml version="1.0" encoding="ISO-8859-1"?>. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-JAVA_CHARSET=<charset>

No

Target file encoding. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-EXPORT_PACK=<YES|NO>

No

Indicates if the scenarios attached to packages should be exported. The Default value is YES.

-EXPORT_POP=<YES|NO>

No

Indicates if the scenarios attached to interfaces should be exported. The Default value is NO.

-EXPORT_TRT=<YES|NO>

No

Indicates if the scenarios attached to procedures should be exported. The Default value is NO.

-EXPORT_VAR=<YES|NO>

No

Indicates if the scenarios attached to variables should be exported. The Default value is NO.


Examples

Export all scenarios from the DW01 project of Internal Identifier 10022 into the /temp/ directory, with all dependant objects.

OdiExportAllScen -FROM_PROJECT=10022 -TODIR=/temp/ -RECURSIVE_EXPORT=yes

A.5.7 OdiExportEnvironmentInformation

Use this command to export the details of the technical environment into a comma separated (.csv) file into the directory of your choice. This information is required for maintenance or support purposes.

Usage

OdiExportEnvironmentInformation -TODIR=<toDir> -FILE_NAME=<FileName>
[-CHARSET=<charset>] [-SNP_INFO_REC_CODE=<row_code>]
[-MASTER_REC_CODE=<row_code>] [-WORK_REC_CODE=<row_code>]
[-AGENT_REC_CODE=<row_code>] [-TECHNO_REC_CODE=<row_code>]
[-RECORD_SEPARATOR_HEXA=<rec_sep>]
[-FIELD_SEPARATOR_HEXA=<field_sep] [-TEXT_SEPARATOR=<text_sep>]

Parameters

Parameters Mandatory Description

-TODIR=<toDir>

Yes

Target directory for the export.

-FILE_NAME=<FileName>

Yes

Name of the CSV export file. Default is snps_tech_inf.csv.

-CHARSET=<charset>

No

Character set of the export file.

-SNP_INFO_REC_CODE=<row_code>

No

Code used to identify rows that describe the current version of Oracle Data Integrator and the current user. This code is used in the first field of the record. Default is SUNOPSIS.

-MASTER_REC_CODE=<row_code>

No

Code for rows containing information about the master repository. Default is MASTER.

-WORK_REC_CODE=<row_code>

No

Code for rows containing information about the work repository. Default is WORK.

-AGENT_REC_CODE=<row_code>

No

Code for rows containing information about the various agents that are running. Default is AGENT.

-TECHNO_REC_CODE=<row_code>

No

Code for rows containing information about the data servers, their versions, etc. Default is TECHNO.

-RECORD_SEPARATOR_HEXA=<rec_sep>

No

One or several characters in hexadecimal code separating lines (or records) in the file. Default is O0D0A.

-FIELD_SEPARATOR_HEXA=<field_sep>

No

One or several characters in hexadecimal code separating the fields in a record. Default is 2C.

-TEXT_SEPARATOR=<text_sep>

No

Character in hexadecimal code delimiting a STRING field. Default is 22.


Examples

Export the details of the technical environment into the /temp/snps_tech_inf.csv export file.

OdiExportEnvironmentInformation "-TODIR=/temp/"
"-FILE_NAME=snps_tech_inf.csv" "-CHARSET=ISO8859_1" 
"-SNP_INFO_REC_CODE=SUNOPSIS" "-MASTER_REC_CODE=MASTER"
"-WORK_REC_CODE=WORK" "-AGENT_REC_CODE=AGENT"
"-TECHNO_REC_CODE=TECHNO" "-RECORD_SEPARATOR_HEXA=0D0A"
"-FIELD_SEPARATOR_HEXA=2C" "-TEXT_SEPARATOR_HEXA=22"

A.5.8 OdiExportLog

Use this command to export the execution log into a ZIP export file.

Usage

OdiExportLog -TODIR=<toDir> [-EXPORT_TYPE=<logsToExport>]
[-ZIPFILE_NAME=<zipFileName>] [-XML_CHARSET=<charset>]
[-JAVA_CHARSET=<charset>] [-FROMDATE=<from_date>] [-TODATE=<to_date>] 
[-AGENT=<agent>] [-CONTEXT=<context>] [-STATUS=<status>] 
[-USER_FILTER=<user>] [-NAME=<sessionOrLoadPlanName>]

Parameters

Parameters Mandatory Description

-EXPORT_TYPE=<logsToExport>

No

Specify if you want to export the log of :

  • LOAD_PLAN_RUN: All the Load Plan runs which match the export criteria will be exported, including all the sessions launched bythe Load Plan runs along the child session's hierarchy.

  • SESSION: All the session logs which match the export filter criteria will be exported. All the Load Plan sessions will be excluded when exporting the session logs.

  • ALL: All the Load Plan runs as well as the session logs matching the filter criteria will be exported.

-TODIR=<toDir>

Yes

Target directory for the export.

-ZIPFILE_NAME=<zipFileName>

No

Name of the compressed file.

-XML_CHARSET=<charset>

No

XML Version specified in the export file. Parameter xml version in the XML file header. <?xml version="1.0" encoding="ISO-8859-1"?>. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-JAVA_CHARSET=<charset>

No

Result file java character encoding. Default value is ISO8859_1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-FROMDATE=<from_date>

No

Beginning date for the export, using the format yyyy/MM/dd hh:mm:ss. All sessions from this date will be exported.

-TODATE=<to_date>

No

End date for the export, using the format yyyy/MM/dd hh:mm:ss. All sessions until this date will be exported.

-AGENT=<agent>

No

Exports only sessions executed by the agent named like <agent>.

-CONTEXT=<context>

No

Exports only sessions executed in the context which code is <context>.

-STATUS=<status>

No

Exports only sessions in the specified state. The possible states are Done, Error, Queued, Running, Waiting and Warning.

-USER_FILTER=<user>

No

Exports only sessions launched by <user>.

-NAME=<sessionOrLoadPlanName>

No

Name of the session or Load Plan to be exported.


Examples

Export and zip the log into the /temp/log2.zip export file.

OdiExportLog "-EXPORT_TYPE=ALL" "-TODIR=/temp/" "-ZIPFILE_NAME=log2.zip"
"-XML_CHARSET=ISO-8859-1" "-JAVA_CHARSET=ISO8859_1"

A.5.9 OdiExportMaster

Use this command to export the master repository to a directory or a zip file. The versions and/or solutions stored in the master repository are optionally exported.

Usage

OdiExportMaster -TODIR=<toDir> [-ZIPFILE_NAME=<zipFileName>]
[-EXPORT_SOLUTIONS=<yes|no>] [-EXPORT_VERSIONS=<yes|no>]
[-XML_CHARSET=<charset>] [-JAVA_CHARSET=<charset>]

Parameters

Parameters Mandatory Description

-TODIR=<toDir>

Yes

Target directory for the export.

-ZIPFILE_NAME=<zipFileName>

No

Name of the compressed file.

-EXPORT_SOLUTIONS=<yes|no>

No

Exports all solutions that are stored in the repository.

-EXPORT_VERSIONS=<yes|no>

No

Exports all versions of objects that are stored in the repository.

-XML_CHARSET=<charset>

No

XML Version specified in the export file. Parameter xml version in the XML file header. <?xml version="1.0" encoding="ISO-8859-1"?>. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-JAVA_CHARSET=<charset>

No

Result file java character encoding. Default value is ISO8859_1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html


Examples

Export and zip the master repository into the export.zip file located in the /temp/ directory.

OdiExportMaster "-TODIR=/temp/" "-ZIPFILE_NAME=export.zip"
"-XML_CHARSET=ISO-8859-1" "-JAVA_CHARSET=ISO8859_1"
"-EXPORT_VERSIONS=YES"

A.5.10 OdiExportObject

Use this command to export an object from the current repository. This command reproduces the behavior of the export feature available in the user interface.

Usage

OdiExportObject -CLASS_NAME=<class_name> -I_OBJECT=<object_id>
[-EXPORT_DIR=<directory>][-EXPORT_NAME=<export_name>|-FILE_NAME=<file_name>] 
[-FORCE_OVERWRITE=<yes|no>][-RECURSIVE_EXPORT=<yes|no>] [-XML_VERSION=<1.0>]
[-XML_CHARSET=<charset>] [-JAVA_CHARSET=<charset>]

Parameters

Parameters Mandatory Description

-CLASS_NAME=<class_name>

Yes

Class of the object to export. The list of classes is given below.

-I_OBJECT=<object_id>

Yes

Object identifier. It is the Internal Identifier that appears in the Version tab of the object edit window.

-FILE_NAME=<file_name>

No

Export file name. This may be an absolute path or a relative path from EXPORT_DIR.

This file name may or not comply with the Oracle Data Integrator standard export file prefix and suffix. If you want to comply with these standards, use the EXPORT_NAME parameter instead. This parameter cannot be used if EXPORT_NAME is set.

-EXPORT_DIR=<directory>

No

Directory where the object will be exported. The export file created in this directory will be named depending on the FILE_NAME and EXPORT_NAME parameters.

If FILE_NAME or EXPORT_NAME are left unspecified, the export file will be automatically named <object_prefix>_<object_name>.xml. For example, a project called Datawarehouse would be exported to PRJ_Datawarehouse.xml.

-EXPORT_NAME=<export_name>

No

Export Name. Use this parameter to generate an export file named <object_prefix>_<export_name>.xml. This parameter cannot be used along with FILE_NAME.

-FORCE_OVERWRITE=<yes|no>

No

If set to yes, an existing export file with the same name will be forcibly overwritten. Default is No.

-RECURSIVE_EXPORT=<yes|no>

No

If set to yes, all child objects are exported with the current object. For example, if exporting a project, all folders, KMs, etc. in this project will be exported into the project export file. Default is Yes.

-XML_VERSION=<1.0>

No

Sets the XML version that appears in the XML header. Default is 1.0.

-XML_CHARSET=<charset>

No

Encoding specified in the XML File, in the tag <?xml version="1.0" encoding="ISO-8859-1"?>. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-JAVA_CHARSET=<charset>

No

Target file encoding. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html


List of Classes

Object Class Name

Column

SnpCol

Condition/Filter

SnpCond

Context

SnpContext

Data Server

SnpConnect

Datastore

SnpTable

Folder

SnpFolder

Interface

SnpPop

Language

SnpLang

Model

SnpModel

Package

SnpPackage

Physical Schema

SnpPschema

Procedure or KM

SnpTrt

Procedure or KM Option

SnpUserExit

Project

SnpProject

Reference

SnpJoin

Scenario

SnpScen

Sequence

SnpSequence

Step

SnpStep

Sub-Model

SnpSubModel

Technology

SnpTechno

User Functions

SnpUfunc

Variable

SnpVar

Version of an Object

SnpData


Examples

Export the DW01 project of Internal Identifier 10022 into the /temp/dw1.xml export file, with all of its dependant objects.

OdiExportObject -CLASS_NAME=SnpProject -I_OBJECT=10022
-FILE_NAME=/temp/dw1.xml -FORCE_OVERWRITE=yes
-RECURSIVE_EXPORT=yes

A.5.11 OdiExportScen

Use this command to export a scenario from the current work repository.

Usage

OdiExportScen -SCEN_NAME=<scenario_name> -SCEN_VERSION=<scenario_version>
[-EXPORT_DIR=<directory>][-FILE_NAME=<file_name>|EXPORT_NAME=<export_name>]
[-FORCE_OVERWRITE=<yes|no>][-RECURSIVE_EXPORT=<yes|no>] [-XML_VERSION=<1.0>]
[-XML_CHARSET=<encoding>] [-JAVA_CHARSET=<encoding>]

Parameters

Parameters Mandatory Description

-SCEN_NAME=<scenario_name>

Yes

Name of the scenario to be exported.

-SCEN_VERSION=<scenario_version>

Yes

Version of the scenario to be exported.

-FILE_NAME=<file_name>

Yes

Export file name. This may be an absolute path or a relative path from EXPORT_DIR.

This file name may or not comply with the Oracle Data Integrator standard export file prefix and suffix for scenarios. If you want to comply with these standards, use the EXPORT_NAME parameter instead. This parameter cannot be used if EXPORT_NAME is set.

-EXPORT_DIR=<directory>

No

Directory where the scenario will be exported. The export file created in this directory will be named depending on the FILE_NAME and EXPORT_NAME parameters.

If FILE_NAME or EXPORT_NAME are left unspecified, the export file will be automatically named "SCEN_<scenario_name> <scenario_version>.xml".

-EXPORT_NAME=<export_name>

No

Export Name. Use this parameter to generate an export file named SCEN_<export_name>.xml. This parameter cannot be used along with FILE_NAME.

-FORCE_OVERWRITE=<yes|no>

No

If Yes, overwrites the file export if it already exist.

-RECURSIVE_EXPORT=<yes|no>

No

Forces the export of the objects under the scenario. Default is Yes.

-XML_VERSION=<1.0>

No

Version specified in the generated XML File, in the tag <?xml version="1.0" encoding="ISO-8859-1"?>. Default value is 1.0.

-XML_CHARSET=<encoding>

No

Encoding specified in the XML File, in the tag <?xml version="1.0" encoding="ISO-8859-1"?>. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-JAVA_CHARSET=<encoding>

No

Target file encoding. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html


Examples

Export the LOAD_DWH scenario in version 1 into the /temp/load_dwh.xml export file, with all of its dependant objects.

OdiExportScen -SCEN_NAME=LOAD_DWH -SCEN_VERSION=1
-FILE_NAME=/temp/load_dwh.xml -RECURSIVE_EXPORT=yes

A.5.12 OdiExportWork

Use this command to export the work repository to a directory or a ZIP export file.

Usage

OdiExportWork -TODIR=<directory> [-ZIPFILE_NAME=<zipFileName>]
[-XML_CHARSET=<charset>] [-JAVA_CHARSET=<charset>]

Parameters

Parameters Mandatory Description

-TODIR=<directory>

Yes

Target directory for the export.

-ZIPFILE_NAME=<zipFileName>

No

Name of the compressed file.

-XML_CHARSET=<charset>

No

XML Version specified in the export file. Parameter xml version in the XML file header. <?xml version="1.0" encoding="ISO-8859-1"?>. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-JAVA_CHARSET=<charset>

No

Result file java character encoding. Default value is ISO8859_1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html


Examples

Export and zip the work repository into the /temp/workexport.zip export file.

OdiExportWork "-TODIR=/temp/" "-ZIPFILE_NAME=workexport.zip"

A.5.13 OdiFileAppend

Use this command to concatenate a set of files into a single file.

Usage

OdiFileAppend -FILE=<file> -TOFILE=<target_file> [-OVERWRITE=<yes|no>]
[-CASESENS=<yes|no>] [-HEADER=<n>] [-KEEP_FIRST_HEADER=<yes|no]

Parameters

Parameters Mandatory Description

-FILE=<file>

Yes

Full path of the files to concatenate. Use * to specify generic characters.

Examples:

/var/tmp/*.log (All files with the "log" extension in the folder /var/tmp)

arch_*.lst (All files starting with arch_ and with "lst" extension)

-TOFILE=<target_file>

Yes

Target file.

-OVERWRITE=<yes|no>

No

Indicates if the target file must be overwritten if it does exist. By default, the value is set to No.

-CASESENS=<yes|no>

No

Indicates if Oracle Data Integrator should be case sensitive when looking for the files. By default, files are searched in uppercase.

-HEADER=<n>

No

Number of header lines to be removed from the source files before concatenation. By default, no line is removed.

When the HEADER parameter is omitted, the concatenation does not require file edition, and therefore runs faster.

-KEEP_FIRST_HEADER=<yes|no>

No

Used to keep the header lines of the first file during the concatenation.


Examples

Concatenation of the files *.log of the folder: /var/tmp into the file /home/all_files.log

OdiFileAppend -FILE=/var/tmp/*.log -TOFILE=/home/all_files.log

Concatenation of the files of the daily sales of each shop while keeping the header of the first file

OdiFileAppend -FILE=/data/store/sales_*.dat -TOFILE=/data/all_stores.dat
-OVERWRITE=yes -HEADER=1 -KEEP_FIRST_HEADER=yes

A.5.14 OdiFileCopy

Use this command to copy files or folder.

Usage

OdiFileCopy -DIR=<directory> -TODIR=<target_directory> [-OVERWRITE=<yes|no>]
[-RECURSE=<yes|no>] [-CASESENS=<yes|no>]

OdiFileCopy -FILE=<file> -TOFILE=<target_file>|-TODIR=<target_directory>
[-OVERWRITE=<yes|no>] [-RECURSE=<yes|no>] [-CASESENS=<yes|no>]

Parameters

Parameters Mandatory Description

-DIR=<directory>

Yes if -FILE is omitted

Directory (or folder) to copy

-FILE=<file>

Yes if -DIR is omitted

The full path of the files to copy. Use * to specify the generic character.

Examples:

/var/tmp/*.log (All files with the "log" extension in folder /var/tmp)

arch_*.lst (All files starting with arch_ and having the "lst" extension)

-TODIR=<target_directory>

Yes if -DIR is specified

Target directory for the copy.

If a directory is copied (-DIR), this parameter indicates the name of the copied directory.

If one or several files are copied (-FILE), this parameter indicates the destination directory.

-TOFILE=<target_file>

Yes if -TODIR is omitted

Destination file(s). This parameter cannot be used with parameter -DIR.

This parameter contains:

  • The name of the destination file if one file only is copied (no generic character)

  • The mask of the new name of the destination files if several files are copied

Note that TODIR and TOFILE are exclusive parameters. If they are both specified, then only TODIR is taken into account, and TOFILE is ignored.

-OVERWRITE=<yes|no>

No

Indicates if the files of the folder are overwritten if they already exist. By default, the value is set to No

-RECURSE=<yes|no>

No

Indicates if files are copied recursively when the directory contains other directories. The value No indicates that only the files within the directory are copied, not the sub-directories. Default is Yes.

-CASESENS=<yes|no>

No

Indicates if Oracle Data Integrator should be case sensitive when looking for the files. By default, all searched files are uppercases (set to No).


Examples

Copy the file "hosts" from the directory /etc to the directory /home:

OdiFileCopy -FILE=/etc/hosts -TOFILE=/home/hosts

Copy all *.csv files from the directory /etc to the directory /home and overwrite:

OdiFileCopy -FILE=/etc/*.csv -TODIR=/home -OVERWRITE=yes

Copy all *.csv files from the directory /etc to the directory /home while changing their extension to .txt:

OdiFileCopy -FILE=/etc/*.csv -TOFILE=/home/*.txt -OVERWRITE=yes

Copy the directory C:\odi and its sub-directories into the directory C:\Program Files\odi

OdiFileCopy -DIR=C:\odi "-TODIR=C:\Program Files\odi" -RECURSE=yes

A.5.15 OdiFileDelete

Use this command to delete files or directories.

The most common use cases of this tool are described in the following table where:

  • x means is supplied

  • o means is ommited

-DIR -FILE -RECURSE Behavior

x

x

x

Every file with the name or with a name matching the mask specified in -FILE is deleted from -DIR and from all its subdirectories.

x

o

x

The subdirectories from -FILE are deleted.

x

x

o

Every file with the name or with a name matching the mask specified in -FILE is deleted from -DIR.

x

o

o

The -DIR is deleted.


Usage

OdiFileDelete -DIR=<directory> | -FILE=<file> [-RECURSE=<yes|no>] [-CASESENS=<yes|no>]
[-NOFILE_ERROR=<yes|no>] [-FROMDATE=<from_date>] [-TODATE=<to_date>] 

Parameters

Parameters Mandatory Description

-DIR=<directory>

Yes, if -FILE is omitted

  1. If -FILE is omitted, specifies the name of the directory (folder) to delete.

  2. If -FILE is supplied, specifies the path where files should be deleted from.

-FILE=<file>

Yes, if -DIR is omitted

Name or mask of file(s) to delete. If -DIR is not specified, then a full path should be given. Use * to specify wildcard characters.

Examples:

/var/tmp/*.log (all .log files in the directory /var/tmp)

/bin/arch_*.lst (all .list files starting with arch_)

-RECURSE=<yes|no>

No

  1. If -FILE is omitted, the -RECURSE parameter has no effect: all subdirectories are implicitly deleted.

  2. If -FILE is supplied, the -RECURSE parameter specifies if the files should be deleted from this directory and from all subdirectories.

Default is Yes.

-CASESENS=<yes|no>

No

Specifies that Oracle Data Integrator should distinguish upper-case and lower-case when matching file names.

-NOFILE_ERROR=<yes|no>

Yes

Specifies that an error should be generated if the specified directory or files are not found.

-FROMDATE=<from_date>

No

All Files with a modification date later than this date will be deleted. The date needs to be provided in the format yyyy/MM/dd hh:mm:ss.

The FROM_DATE is not inclusive.

If -FROMDATE is omitted, all files with a modification date earlier than the -TODATE date will be deleted.

If both FROMDATE and TODATE parameters are omitted, all files matching the -FILE parameter value will be deleted.

-TODATE=<to_date>

No

All Files with a modification date earlier than this date will be deleted. The date needs to be provided in the format yyyy/MM/dd hh:mm:ss.

The TO_DATE is not inclusive.

If -TODATE is omitted, all files with a modification date later than the -FROMDATE date will be deleted.

If both FROMDATE and TODATE parameters are omitted, all files matching the -FILE parameter value will be deleted.


Note:

It is not possible to delete a file and a directory at the same time by combining the -DIR and -FILE parameters. To achieve that, you must make two calls to OdiFileDelete.

Examples

To delete the file my_data.dat from the directory c:\data\input, generating an error if it is missing.

OdiFileDelete -FILE=c:\data\input\my_data.dat -NOFILE_ERROR=yes

To delete all .txt files from the bin directory, but not .TXT files:

OdiFileDelete "-FILE=c:\Program Files\odi\bin\*.txt" -CASESENS=yes

This statement has the same effect:

OdiFileDelete "-DIR=c:\Program Files\odi\bin" "-FILE=*.txt" -CASESENS=yes

To delete the directory /bin/usr/nothingToDoHere.

OdiFileDelete "-DIR=/bin/usr/nothingToDoHere"

To delete all files under the C:\temp directory whose modification time is between 10/01/2008 00:00:00 and 10/31/2008 22:59:00 where 10/01/2008 and 10/31/2008 are not inclusive:

OdiFileDelete -DIR=C:\temp -FILE=* -NOFILE_ERROR=NO -FROMDATE=FROMDATE=10/01/2008 00:00:00 -TODATE=10/31/2008 22:59:00

To delete all files under the C:\temp directory whose modification time is earlier than the 10/31/2008 17:00:00. An error is thrown, if the directory contains no files to delete meeting the date criteria:

OdiFileDelete -DIR=C:\temp -FILE=* -NOFILE_ERROR=YES -TODATE=10/31/2008 17:00:00

To delete all files under the C:\temp directory whose modification time is later than 10/01/2008 08:00:00:

OdiFileDelete -DIR=C:\temp -FILE=* -NOFILE_ERROR=NO -FROMDATE=10/01/2008 08:00:00

A.5.16 OdiFileMove

Use this command to move or rename files or a directory into files or a directory.

Usage

OdiFileMove -FILE=<file> -TODIR=<target_directory>|-TOFILE=<target_file>
[-OVERWRITE=<yes|no>] [-RECURSE=<yes|no>] [-CASESENS=<yes|no>]

OdiFileMove -DIR=<directory> -TODIR=<target_directory> [-OVERWRITE=<yes|no>]
[-RECURSE=<yes|no>] [-CASESENS=<yes|no>]

Parameters

Parameters Mandatory Description

-DIR=<directory>

Yes if -FILE is omitted

Directory (or folder) to move or rename.

-FILE=<file>

Yes if -DIR is omitted

Full path of the file(s) to move or rename. Use * for generic characters.

Examples:

/var/tmp/*.log (All files with the "log" extension in the directory /var/tmp)

arch_*.lst (all files starting with arch_ and with "lst" extension)

-TODIR=<target_directory>

Yes if -DIR is specified

Target directory of the move.

If a directory is moved (-DIR), this parameter indicates the new name of the directory.

If a file or several files are moved (-FILE), this parameter indicates the target directory.

-TOFILE=<target_file>

Yes if -TODIR is omitted

Target file(s). This parameter cannot be used with parameter -DIR.

This parameter is:

- The new name of the target file if one single file is moved (no generic character)

- The mask of the new files names if several files are moved.

-OVERWRITE=<yes|no>

No

Indicates if the files or directory are overwritten if they exist. By default, the value is no

-RECURSE=<yes|no>

No

Indicates if files are moved recursively when the directory contains other directories. The value no indicates that only the files contained in the directory to move (not the sub-directories) will be moved.

-CASESENS=<yes|no>

No

Indicates if Oracle Data Integrator should be case sensitive when looking for the files. By default, all searched files are uppercases.


Examples

Rename the "host" file into "hosts.old"

OdiFileMove -FILE=/etc/hosts -TOFILE=/etc/hosts.old

Move the file "hosts" from the directory "/etc" to the directory "/home/odi":

OdiFileMove -FILE=/etc/hosts -TOFILE=/home/odi/hosts

Move all files *.csv from directory "/etc" to directory "/home/odi" with overwrite:

OdiFileMove -FILE=/etc/*.csv -TODIR=/home/odi -OVERWRITE=yes

Move all *.csv files from directory "/etc" to directory "/home/odi" and change their extension to ".txt":

OdiFileMove -FILE=/etc/*.csv -TOFILE=/home/odi/*.txt -OVERWRITE=yes

Rename the directory C:\odi into C:\odi_is_wonderful

OdiFileMove -DIR=C:\odi -TODIR=C:\odi_is_wonderful

Move the directory C:\odi and its sub-folders into the directory C:\Program Files\odi

OdiFileMove -DIR=C:\odi "-TODIR=C:\Program Files\odi" -RECURSE=yes

A.5.17 OdiFileWait

Use this command to manage files events. This command scans regularly a directory and waits for a number of files matching a mask to appear, until a given timeout is reached. When the specified files are found, an action on these files is triggered.

Usage

OdiFileWait -DIR=<directory> -PATTERN=<pattern>
[-ACTION=<DELETE|COPY|MOVE|APPEND|ZIP|NONE>] [-TODIR=<target_directory>]
[-TOFILE=<target_file>] [-OVERWRITE=<yes|no>] [-CASESENS=<yes|no>]
[-FILECOUNT=<n>] [-TIMEOUT=<n>] [-POLLINT=<n>] [-HEADER=<n>]
[-KEEP_FIRST_HEADER=<yes|no>] [-NOFILE_ERROR=<yes|no>]

Parameters

Parameters Mandatory Description

-ACTION=

<DELETE|COPY|MOVE|APPEND|ZIP|NONE>

No

Action taken on the files found:

DELETE: Delete the files found

COPY: Copy the files found into the directory TODIR

MOVE: Move or rename the files found into folder TODIR by naming them as specified by TOFILE

APPEND: Concatenates all files found and creates a result file TOFILE. Source files are deleted.

ZIP: Zip the files found and store them into the ZIP file TOFILE

NONE: No action is performed. This is the default behaviour.

-DIR=<directory>

Yes

Directory (or folder) to scan

-PATTERN=<pattern>

Yes

Mask of filenames to scan. Use * to specify the generic characters.

Examples:

*.log (All files with the "log" extension)

arch_*.lst (All files starting with arch_ and with the extension "lst")

-TODIR=<target_directory>

No

Target directory of the action. When the action is:

COPY: Directory where the files are copied

MOVE: Directory where the files are moved

-TOFILE=<target_file>

No

Destination file(s). When the action is:

MOVE: Renaming mask of the moved files.

APPEND: Name of the file resulting from the concatenation.

ZIP: Name of the resulting ZIP file.

COPY: Renaming mask of the copied files. Renaming rules:

  • any alphanumeric character is replaced in the original filename with the alphanumeric characters specified for <target_file>.

  • '?' at -TOFILE leaves origin symbol on this position

  • '*' at -TOFILE means all remaining symbols from origin filename

-OVERWRITE=<yes|no>

No

Indicates if the destination file(s) will be overwritten if they exist. By default, the value is set to no

Note that if this option is used with APPEND, then the target file will only have the contents of the latest file processed.

-CASESENS=<yes|no>

No

Indicates if file search is case sensitive. By default, searched files are uppercase.

-FILECOUNT=<n>

No

Maximum number of files to wait for (default is 0). If this number is reached, the command ends.

The value 0 indicates that we wait for all files until the timeout is reached.

If this parameter is 0 and the timeout is also 0, this parameter is then forced implicitly to 1.

-TIMEOUT=<n>

No

Maximum waiting time in milliseconds (default is 0)

If this delay is reached, the command yields control to the following command, and this no matter what is the value of parameter FILECOUNT.

The value 0 is used to specify an infinite waiting time (wait until the maximum number of messages to read as specified in parameter FILECOUNT).

-POLLINT=<n>

No

Interval in milliseconds to search for new files. Default is set to 1000 (1 second), which means that Oracle Data Integrator looks for new messages every second. Files written during the OdiFileWait are taken in account only after being closed (File size unchanged) during this interval.

-HEADER=<n>

No

This parameter is valid only for the APPEND action.

Number of header lines to suppress from the files before concatenation. Default is no processing (0).

-KEEP_FIRST_HEADER=<yes|no>

No

This parameter is only valid for the action APPEND.

It is used to keep the header lines of the first file during the concatenation. Default is Yes.

-NOFILE_ERROR=<yes|no>

No

Indicates the behavior to have if no file is found.

The value No (default) indicates that no error must be generated if no file is found.


Examples

Wait indefinitely for file flag.txt in directory c:\events and proceed when this file is detected.

OdiFileWait -ACTION=NONE -DIR=c:\events -PATTERN=flag.txt -FILECOUNT=1
-TIMEOUT=0 -POLLINT=1000

Wait indefinitely for file flag.txt in directory c:\events and suppress this file when it is detected.

OdiFileWait -ACTION=DELETE -DIR=c:\events -PATTERN=flag.txt -FILECOUNT=1
-TIMEOUT=0 -POLLINT=1000

Wait for the sales files *.dat for 5 minutes and scan every second in directory c:\sales_in, then concatenate into file sales.dat in directory C:\sales_ok. Keep the header of the first file.

OdiFileWait -ACTION=APPEND -DIR=c:\sales_in -PATTERN=*.dat
TOFILE=c:\sales_ok\sales.dat -FILECOUNT=0 -TIMEOUT=350000 -POLLINT=1000
-HEADER=1 -KEEP_FIRST_HEADER=yes -OVERWRITE=yes

Wait for the sales files *.dat for 5 minutes every second in directory c:\sales_in, then copy these files into directory C:\sales_ok. Do not overwrite.

OdiFileWait -ACTION=COPY -DIR=c:\sales_in -PATTERN=*.dat -TODIR=c:\sales_ok
-FILECOUNT=0 -TIMEOUT=350000 -POLLINT=1000 -OVERWRITE=no

Wait for the sales files *.dat for 5 minutes every second in directory c:\sales_in and then archive these files into a zip file.

OdiFileWait -ACTION=ZIP -DIR=c:\sales_in -PATTERN=*.dat
-TOFILE=c:\sales_ok\sales.zip -FILECOUNT=0 -TIMEOUT=350000
-POLLINT=1000 -OVERWRITE=yes

Wait for the sales files *.dat for 5 minutes every second into directory c:\sales_in, then move these files into directory C:\sales_ok. Do not overwrite. Append .bak to the file names.

OdiFileWait -ACTION=MOVE -DIR=c:\sales_in -PATTERN=*.dat
-TODIR=c:\sales_ok -TOFILE=*.bak -FILECOUNT=0 -TIMEOUT=350000
-POLLINT=1000 -OVERWRITE=no

A.5.18 OdiFtpGet

Use this command to download a file from a FTP server.

Usage

OdiFtpGet -HOST=<ftp server host name> -USER=<ftp user> 
[PASSWORD=<ftp user password>] -REMOTE_DIR=<remote dir on ftp host>
[-REMOTE_FILE=<file name under the -REMOTE_DIR>] -LOCAL_DIR=<local dir>
[-LOCAL_FILE=<file name under the –LOCAL_DIR>] [-PASSIVE_MODE=<yes|no>] 
[-TIMEOUT=<time in seconds>] 

Parameters

Parameters Mandatory Description

-HOST=<host name of the Ftp server>

Yes

The host name of the FTP server

-USER=<host name of the Ftp user>

Yes

The user on the FTP server

-PASSWORD=<password of the Ftp user>

No

The password of the FTP user

-REMOTE_DIR=<dir on ftp host>

Yes

The directory path on the remote FTP host

-REMOTE_FILE=<file name under -REMOTE DIR>

No

The file name under the directory specified in the -REMOTE_DIR argument. If this argument is missing then file will be copied with the -LOCAL_FILE file name. If -LOCAL_FILE argument is also missing then the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR

-LOCAL_DIR=<local dir path>

Yes

The directory path on the local machine

-LOCAL_FILE=<local file>

No

The file name under the directory specified in the -LOCAL_DIR argument. If this argument is missing then all the files and directories under the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR.

To filter the files to be copied use * to specify the generic characters.

Examples:

  • *.log (All files with the "log" extension)

  • arch_*.lst (All files starting with arch_ and with the extension "lst")

-PASSIVE_MODE

No

If set to No the FTP Session will use Active Mode. The Default value is yes, it runs in passive mode

-TIMEOUT=<timeout value>

No

The time in seconds after which the socket connection will timeout


Examples

To copy the remote directory /test_copy555 on the FTP server machine recursively to the local directory C:\temp\test_copy:

OdiFtpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp\test_copy -REMOTE_DIR=/test_copy555

To copy all files matching the Sales*.txt pattern under the remote directory / on the FTP server machine to the local directory C:\temp\. It also uses the Active Mode for FTP connection:

OdiFtpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales*.txt -REMOTE_DIR=/ -PASSIVE_MODE=NO

A.5.19 OdiFtpPut

Use this command to upload a local file to FTP server.

Usage

OdiFtpPut -HOST=<ftp server host name> -USER=<ftp user> 
[PASSWORD=<ftp user password>] -REMOTE_DIR=<remote dir on ftp host>
[-REMOTE_FILE=<file name under the -REMOTE_DIR>] -LOCAL_DIR=<local dir>
[-LOCAL_FILE=<file name under the –LOCAL_DIR>] [-PASSIVE_MODE=<yes|no>] 
[-TIMEOUT=<time in seconds>] 

Parameters

Parameters Mandatory Description

-HOST=<host name of the Ftp server>

Yes

The host name of the FTP server

-USER=<host name of the Ftp user>

Yes

The user on the FTP server

-PASSWORD=<password of the Ftp user>

No

The password of the FTP user

-REMOTE_DIR=<dir on ftp host>

Yes

The directory path on the remote FTP host

-REMOTE_FILE=<file name under -REMOTE DIR>

No

The file name under the directory specified in the -REMOTE_DIR argument. If this argument is missing then file will be copied with the -LOCAL_FILE file name. If -LOCAL_FILE argument is also missing then the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR

-LOCAL_DIR=<local dir path>

Yes

The directory path on the local machine

-LOCAL_FILE=<local file>

No

The file name under the directory specified in the -LOCAL_DIR argument. If this argument is missing then all the files and directories under the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR.

To filter the files to be copied use * to specify the generic characters.

Examples:

  • *.log (All files with the "log" extension)

  • arch_*.lst (All files starting with arch_ and with the extension "lst")

-PASSIVE_MODE

No

If set to No the FTP Session will use Active Mode. The Default value is yes, it runs in passive mode

-TIMEOUT=<timeout value>

No

The time in seconds after which the socket connection will timeout


Examples

To copy the local directory C:\temp\test_copy recusively to the remote directory /test_copy555 on the FTP server machine:

OdiFtpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password>
 -LOCAL_DIR=C:\temp\test_copy -REMOTE_DIR=/test_copy555"

To copy all files matching the Sales*.txt pattern under the local directory C:\temp\ to the remote directory / on the FTP server machine:

OdiFtpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales*.txt -REMOTE_DIR=/

To copy the Sales1.txt file under the local directory C:\temp\ to the remote directory / on the FTP server machine as a Sample1.txt file:

OdiFtpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales1.txt -REMOTE_DIR=/Sample1.txt 

A.5.20 OdiGenerateAllScen

Use this command to generate a set of scenarios from design-time components (Packages, Interfaces, Procedures, or Variables) contained in a folder or a project, filtered by markers.

Usage

OdiGenerateAllScen -PROJECT=<project_id> [-FOLDER=<folder_id>]
[-MODE=<REPLACE|CREATE>] [-GRPMARKER=<marker_group_code>
-MARKER=<marker_code>] [-GENERATE_PACK=<YES|NO>]
[-GENERATE_POP=<YES|NO>] [-GENERATE_TRT=<YES|NO>]
[-GENERATE_VAR=<YES|NO>]

Parameters

Parameters Mandatory Description

-PROJECT=<project_id>

Yes

ID of the Project containing the components to generate scenarios for.

-FOLDER=<folder_id>

No

ID of the Folder containing the components to generate scenarios for.

-MODE=<REPLACE|CREATE>

No

Scenario generation mode:

  • Replace (default): causes the last scenario generated for the component to be replaced by the new one generated, with no change of name or version. Any schedules linked to this scenario will be deleted.

    If no scenario exists yet, a new one is generated.

  • Create: creates a new scenario with the same name as the latest scenario generated for the component, with the version number automatically incremented (if the latest version is an integer) or sets to the current date (if the latest version is not an integer).

    If no scenario has been created yet for the component, a first version of the scenario is automatically created.

    New scenarios are named after the component according to the Scenario Naming Convention user parameter.

-GRPMARKER=<marker_group_code>

No

Group containing the marker used to filter the components for which scenarios must be generated.

When GRPMARKER and MARKER are specified, scenarios will be (re-)generated only for components flagged the marker identified by the marker code and the marker group code.

-MARKER=<marker_code>

No

Marker used to filter the components for which scenarios must be generated.

When GRPMARKER and MARKER are specified, scenarios will be (re-)generated only for components flagged the marker identified by the marker code and the marker group code.

-GENERATE_PACK=<YES|NO>

No

Specifies whether scenarios attached to packages should be (re-)generated. The Default value is YES.

-GENERATE_POP=<YES|NO>

No

Specifies whether scenarios attached to interfaces should be (re-)generated. The Default value is NO.

-GENERATE_TRT=<YES|NO>

No

Specifies whether scenarios attached to procedures should be (re-)generated. The Default value is NO.

-GENERATE_VAR=<YES|NO>

No

Specifies whether scenarios attached to variables should be (re-)generated. The Default value is NO.


Examples

OdiGenerateAllScen -PROJECT=1003 generates all scenarios in the project whose id is 1003 for the current repository.

A.5.21 OdiImportObject

Use this command to import the contents of an export file into a repository. This command reproduces the behavior of the import feature available from the user interface.

Be careful when using this tool. It may work incorrectly when importing objects that depend on objects that do not exist in the repository. It is recommended that you use this API for importing high-level objects (Projects, models, and so forth).

WARNING:

The import type and the order in which objects are imported into a repository should be carefully specified. Refer to Chapter 20, "Exporting/Importing" for more information on import.

Usage

OdiImportObject -FILE_NAME=<FileName> [-WORK_REP_NAME=<workRepositoryName>]
-IMPORT_MODE=<DUPLICATION | SYNONYM_INSERT |  SYNONYM_UPDATE | SYNONYM_INSERT_UPDATE> [-IMPORT_SCHEDULE=<yes|no>]

Parameters

Parameters Mandatory Description

-FILE_NAME=<FileName>

Yes

Name of the XML export file to import.

-WORK_REP_NAME=<workRepositoryName>

No

Name of the work repository into which the object must be imported. This work repository must be defined in the connected master repository. If this parameter is not specified then the object is imported into the current master or work repository.

-IMPORT_MODE=<DUPLICATION | SYNONYM_INSERT | SYNONYM_UPDATE | SYNONYM_INSERT_UPDATE>

Yes

Import mode for the object. Default value is DUPLICATION. For more information see Section 20.1.3, "Import Types".

-IMPORT_SCHEDULE=<yes|no>

No

If the selected file is a scenario export, imports the schedules contained in the scenario export file. Default is no.


Examples

Imports the /temp/DW01.xml export file (a project) into the WORKREP work repository using DUPLICATION mode .

OdiImportObject -FILE_NAME=/temp/DW01.xml -WORK_REP_NAME=WORKREP
-IMPORT_MODE=DUPLICATION

A.5.22 OdiImportScen

Use this command to import a scenario into the current work repository from an export file.

Usage

OdiImportScen -FILE_NAME=<FileName> [-IMPORT_MODE=<DUPLICATION |
SYNONYM_INSERT | SYNONYM_UPDATE | SYNONYM_INSERT_UPDATE>] [IMPORT_SCHEDULE=<yes|no>

Parameters

Parameters Mandatory Description

-FILE_NAME=<FileName>

Yes

Name of the export file.

-IMPORT_MODE=<DUPLICATION | SYNONYM_INSERT | SYNONYM_UPDATE | SYNONYM_INSERT_UPDATE>

No

Import mode of the scenario. Default value is DUPLICATION. For more information on the import types, see Section 20.1.3, "Import Types".

-IMPORT_SCHEDULE=<yes|no>

No

Imports the schedules contained in the scenario export file. Default is no.


Examples

Imports the /temp/load_dwh.xml export file (a scenario) into the current work repository using DUPLICATION mode .

OdiImportScen -FILE_NAME=/temp/load_dwh.xml -IMPORT_MODE=DUPLICATION 

A.5.23 OdiInvokeWebService

Note:

This tool replaces the OdiExecuteWebService tool.

Use this command to invoke a web service over HTTP/HTTPS and write the response to an XML file.

This tool invokes a specific operation on a port of a web service whose description file (WSDL) URL is provided.

If this operation requires a web service request that is provided either in a request file, or directly written out in the tool call (<XML Request>). This request file can have two different formats (XML which correspons to the XML body only or SOAP which corrsponds to the full-formed SOAP envelope including a SOAP header and body) specified in the RESPONSE_FILE_FORMAT parameter. The response of the web service request is written to an XML file that can be processed afterwards in Oracle Data Integrator. If the web service operation is one-way and does not return any response, no response file is generated.

Note:

This tool cannot be executed in a command line with startcmd.

Usage

OdiInvokeWebService -URL=<url> -PORT=<port> -OPERATION=<operation>
[<XML Request>][-REQUEST_FILE=<xml_request_file>] [-RESPONSE_MODE=<NO_FILE|NEW_FILE|FILE_APPEND>]
[-RESPONSE_FILE=<xml_response_file>] [-RESPONSE_XML_ENCODING=<charset>]
[-RESPONSE_FILE_CHARSET=<charset>] 
[-RESPONSE_FILE_FORMAT=<XML|SOAP>][-HTTP_USER=<user>]
[-HTTP_PASS=<password>] [-TIMEOUT=<timeout>]

Parameters

Parameters Mandatory Description

-URL=<url>

Yes

URL of the Web Service Description File (WSDL) file describing the web service.

-PORT_TYPE=<port_type>

Yes

Name of the WSDL port type to invoke.

-OPERATION=<operation>

Yes

Name of the web service operation to invoke.

<XML Request>

No

Request message in SOAP (Simple Object Access Protocol) format. This message should be provided on the line immediately following the OdiInvokeWebService call.

The request can alternately be passed via a file which location is provided with the REQUEST_FILE parameter.

-REQUEST_FILE=<xml_request_file>

No

Location of the XML file containing the request message in SOAP (Simple Object Access Protocol) format.

The request can alternately be directly written out in the tool call (<xmlRequest>).

-RESPONSE_MODE=<NO_FILE|NEW_FILE|FILE_APPEND>

No

Generation mode for the response file. This parameter takes the following values:

  • NO_FILE (default): No response file is generated.

  • NEW_FILE: A new response file is generated. If the file already exists, it is overwritten.

  • FILE_APPEND: The response is appended to the file. If the file does not exist, it is created.

-RESPONSE_FILE=<file>

Depends

The name of the result file to write. Mandatory if -RESPONSE_MODE is NEW_FILE or APPEND.

-RESPONSE_FILE_CHARSET=<charset>

Depends

Response file character encoding. See the table below. Mandatory if -RESPONSE_MODE is NEW_FILE or APPEND.

-RESPONSE_XML_ENCODING=<charset>

Depends

Character encoding that will be indicated in the XML declaration header of the response file. See the table below. Mandatory if -RESPONSE_MODE is not NO_FILE.

-RESPONSE_FILE_FORMAT=<XML|SOAP>

No

Format of the request and response file.

  • If XML is selected (default), the request is processed as a SOAP body. The tool adds default SOAP header and envelope content to this body before sending the request. The response is stripped from its SOAP envelope and headers and only the response's body is written to the response file.

  • If SOAP is selected, the request is processed as a full-formed SOAP envelope and is sent as is. The response is also written to the response file with no processing.

-HTTP_USER=<user>

No

User account authenticating on the HTTP server.

-HTTP_PASS=<password>

No

Password of the HTTP user.

-TIMEOUT=<timeout>

No

The web service request waits for a reply for this time before considering that the server will not provide a response and an error is produced. Default is 15 seconds.


The following table lists some of the most common XML/Java character encoding schemes. A more complete list is available at:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

XML Charset Java Charset

US-ASCII

ASCII

UTF-8

UTF8

UTF-16

UTF-16

ISO-8859-1

ISO8859_1


Examples

The following web service call returns the capital city for a given country (the ISO country code is sent in the request). Note that the request and response format, as well as the port and operations available, are defined in the WSDL passed in the URL parameter.

OdiInvokeWebService -
-URL=http://www.oorsprong.org/websamples.countryinfo/CountryInfoService.wso
?WSDL -PORT_TYPE=CountryInfoServiceSoapType -OPERATION=CapitalCity
-RESPONSE_MODE=NEW_FILE -RESPONSE_XML_ENCODING=ISO-8859-1
"-RESPONSE_FILE=/temp/result.xml" -RESPONSE_FILE_CHARSET=ISO8859_1 -RESPONSE_FILE_FORMAT=XML
<CapitalCityRequest>
<sCountryISOCode>US</sCountryISOCode>
</CapitalCityRequest>

The generated /temp/result.xml file contains the following:

<CapitalCityResponse>
<m:CapitalCityResponse>
<m:CapitalCityResult>Washington</m:CapitalCityResult>
</m:CapitalCityResponse>
</CapitalCityResponse>

Packages

Oracle Data Integrator provides a special graphical interface for calling OdiInvokeWebService in packages. See Chapter 15, "Working with Web Services in Oracle Data Integrator" for more information.

A.5.24 OdiKillAgent

Use this command to kill a standalone agent.

Java EE Agents deployed in an application server cannot be killed using this tool and must be stopped using the application server utilities.

Usage

OdiKillAgent (-PORT=<TCP/IP Port>|-NAME=<physical_agent_name>) [-IMMEDIATE=<yes|no>] [-MAX_WAIT=<timeout>]

Parameters

Parameters Mandatory Description

-PORT=<TCP/IP Port>

No

If this parameter is specified, the agent running on the local machine with the specified port is killed.

-NAME=<physical_agent_name>

Yes

If this parameter is specified, the physical agent whose name is provided is killed. This agent may be a local or remote agent. It must be declared in the master repository.

-IMMEDIATE=<yes|no>

No

If this parameter is set to yes then the agent is killed without waiting for completion of its running sessions. If it is set to no then the agent is killed after all its running sessions reach completion or after the MAX_WAIT timeout is reached. Default value is No.

-MAX_WAIT=<timeout>

No

This parameter can be used when IMMEDIATE is set to No. It defines a timeout in milliseconds after which the agent is killed regardless of the running sessions. Default is 0, meaning no timeout and the agent is killed after all its running sessions reach completion.


Examples

Stop immediately the ODI_AGT_001 physical agent.

OdiKillAgent -NAME=ODI_AGT_001 -IMMEDIATE=yes

A.5.25 OdiMkDir

Use this command to create a directory structure.

If the parent directory does not exist, this command will recursively create the parent directories.

Usage

OdiMkDir -DIR=<directory>

Parameters

Parameters Mandatory Description

-DIR=<directory>

Yes

Directory (or folder) to create.


Examples

Creates the directory "odi" in C:\temp. if C:\temp does not exist, it will also be created.

OdiMkDir "-DIR=C:\temp\odi"

A.5.26 OdiOSCommand

Use this command to invoke an operating system command shell to carry out a command, and redirects the output result to files.

The following operating systems are supported:

  • Windows 95, 98, ME, using "command.com"

  • Windows NT, 2000, XP, using "cmd"

  • POSIX-compliant OS's, using "sh"

The following operating systems are not supported:

  • Mac OS

Usage

OdiOSCommand [-OUT_FILE=<stdout_file>] [-ERR_FILE=<stderr_file>]
[-FILE_APPEND=<yes|no>] [-WORKING_DIR=<workingdir>]
[-SYNCHRONOUS=<yes|no>]]  [CR/LF <command> |
-COMMAND=<command>]

Parameters

Parameters Mandatory Description

-COMMAND=<command>

Yes

The command to execute. Arguments with spaces should be enclosed in quotes as appropriate for the command shell. For a multi-line command, pass the whole command as raw text after the OdiOSCommand line without the -COMMAND parameter.

-OUT_FILE=<stdout_file>

No

The absolute name of the file to redirect standard output to.

-ERR_FILE=<stderr_file>

No

The absolute name of the file to redirect standard error to.

-FILE_APPEND=<yes|no>

No

Whether to append to the output files, rather than overwriting it.

-WORKING_DIR=<workingdir>

No

The directory in which the command is executed.

-SYNCHRONOUS=<yes|no>

No

If "yes", the session awaits for the command to terminate. If "no", the session continues immediately with error code 0. By default, it executes in Synchronous mode.


Examples

The following command executes the file c:\work\load.bat (on a Windows machine), appending the output streams to files.

OdiOSCommand "-OUT_FILE=c:\work\load-out.txt"
"-ERR_FILE=c:\work\load-err.txt" "-FILE_APPEND=YES"
"-WORKING_DIR=c:\work" c:\work\load.bat

A.5.27 OdiOutFile

Use this command to write or append content to a text file.

Usage

OdiOutFile -FILE=<file_name> [-APPEND] [-CHARSET_ENCODING=<encoding>]
[-XROW_SEP=<hexadecimal_line_break>] [CR/LF <text> | -TEXT=<text>]

Parameters

Parameters Mandatory Description

-FILE=<file_name>

Yes

Target file. Its path may be absolute or relative to the execution agent location.

-APPEND

No

Indicates whether <Text> must be appended at the end of the file. If this parameter is not specified, the file is overwritten if it does exist.

-CHARSET_ENCODING=<encoding>

No

Target file encoding. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-XROW_SEP=<hexadecimal_line_break>

No

Hexadecimal code of the character used as a line separator (line break). Defaults to 0A (Unix line break). For a windows line break, the value should be 0D0A.

CR/LF <text> or -TEXT=<text>

Yes

Text to write in the file. This text can be typed on the line following the OdiOutFile command (A carriage return - CR/LF - indicates the beginning of the text), or can be defined with the -TEXT parameter. The -TEXT parameter should be used when calling this Oracle Data Integrator command from an OS command line. The text can contain variables or substitution methods.


Examples

The command generates the file /var/tmp/my_file.txt on the UNIX machine of the agent that executed it:

OdiOutFile -FILE=/var/tmp/my_file.txt
Welcome to Oracle Data Integrator
This file has been overwritten by <%=odiRef.getSession("SESS_NAME")%> 

This command adds the entry PLUTON into the file hosts of the NT machine of the agent that executed it:

OdiOutFile -FILE=C:\winnt\system32\drivers\etc\hosts -APPEND
195.10.10.6 PLUTON pluton

A.5.28 OdiPingAgent

Use this command to perform a test on a given agent. If the agent is not started, this command raises an error.

Usage

OdiPingAgent -AGENT_NAME=<physical_agent_name>

Parameters

Parameters Mandatory Description

-AGENT_NAME=<physical_agent_name>

Yes

Name of the physical agent to test.

Note that the old syntax with AGENT_NAME is still valid but deprecated.


Examples

Test the physical agent AGENT_SOLARIS_DEV

OdiPingAgent -AGENT_NAME=AGENT_SOLARIS_DEV

A.5.29 OdiPurgeLog

Use this command to purge the execution logs.

The OdiPurgeLog tool purges all the session logs and/or Load Plan runs which match the filter criteria.

The PURGE_TYPE parameter defines the objects to purge:

  • Select SESSION to purge all the session logs matching the criteria. Child sessions and grand child sessions are purged if the parent session matched the criteria. Note that sessions launched by a Load Plan execution, including the child sessions, are not purged.

  • Select LOAD_PLAN_RUN to purge all the load plan logs matching the criteria. Note that all the sessions launched from the Load plan run are purged even if the sessions attached to the Load Plan runs themselves do not match the criteria.

  • Select ALL to purge both session logs and Load Plan runs matching the criteria.

The COUNT parameter allows to define a number of sessions and/or Load Plan runs (after filter) to preserve in the log. The ARCHIVE parameter enables automatic archiving of the purged sessions and /or Load Plan runs.

Note:

Load Plans and session in Running, waiting, or queued status are not purged.

Usage

OdiPurgeLog [-PURGE_TYPE=<SESSION|LOAD_PLAN_RUN|ALL>]
[-COUNT=<session_number>][-FROMDATE=<from_date>] [TODATE=<to_date>]
[-CONTEXT_CODE=<context_code>] [-USER_NAME=<user_name>]
[-AGENT_NAME=<agent_name>] [-PURGE_REPORTS=<Yes|No>] [-STATUS=<D|E|M>]
[-NAME=<session_or_load_plan_name>] [-ARCHIVE=<Yes|No>] [-TODIR=<directory>]
[-ZIPFILE_NAME=<zipfile_name>] [-XML_CHARSET=<charset>] [-JAVA_CHARSET=<charset>]

Parameter

Parameters Mandatory Description

-PURGE_TYPE=<SESSION|LOAD_PLAN_RUN|ALL>

No

Filter criterion: Purges only session logs, Load Plan logs, or both. Default is session.

-COUNT=<session_number>

No

Retains the most recent count number of sessions and/or Load Plan runs that match the specified filter criteria and purges the rest. If this parameter is not specified or equals zero, purges all sessions and/or Load Plan runs that match the filter criteria.

-FROMDATE=<from_date>

No

Filter criterion: Starting date for the purge, using the format yyyy/MM/dd hh:mm:ss.

If -FROMDATE is omitted, the purge is done starting with the oldest session and/or Load Plan run.

-TODATE=<to_date>

No

Filter criterion: Ending date for the purge, using the format yyyy/MM/dd hh:mm:ss.

If -TODATE is omitted, the purge is done up to the most recent session and/or Load Plan run.

-CONTEXT_CODE=<context_code>

No

Filter criterion: Purges only sessions and/or Load Plan runs executed in <context_code>

If CONTEXT_CODE is omitted, the purge is done on all the contexts.

-USER_NAME=<user_name>

No

Filter criterion: Purges only sessions and/or Load Plan runs launched by <user_name>

-AGENT_NAME=<agent_name>

No

Filter criterion: Purges only sessions and/or Load Plan runs executed by <agent_name>

-PURGE_REPORTS=<0|1>

No

If 1, the scenario reports (appearing under the execution node of each scenario) are also purged.

-STATUS=<D|E|M>

No

Filter criterion: Purges only the sessions and/or Load Plan runs with the specified state:

  • D: Done

  • E: Error

  • M: Warning

If this parameter is not specified, sessions and/or Load Plan runs in all the states above are purged.

-NAME=<session_or_load_plan_name>

No

Filter criterion: Session name or Load Plan name filter.

-ARCHIVE=<Yes|No>

No

If set to Yes, exports the sessions and/or Load Plan runs before they are purged.

-TODIR=<directory>

No

Target directory for the export. This parameter is required if ARCHIVE is set to yes.

-ZIPFILE_NAME=<zipfile_name>

No

Name of the compressed file.

Target directory for the export. This parameter is required if ARCHIVE is set to yes.

-XML_CHARSET=<charset>

No

XML Encoding of the export files. Default value is ISO-8859-1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-JAVA_CHARSET=<charset>

No

Export file encoding. Default value is ISO8859_1. Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html


Examples

Purges all the sessions that were executed between 2001/03/25 00:00:00 and 2001/08/31 21:59:00.

OdiPurgeLog "-FROMDATE=2001/03/25 00:00:00" "-TODATE=2001/08/31 21:59:00"

Purges all the Load Plan runs that were executed in the GLOBAL context by the Internal agent and that are in Error status.

OdiPurgeLog "-PURGE_TYPE=LOAD_PLAN_RUN" "-CONTEXT_CODE=GLOBAL" 
"-AGENT_NAME=Internal" "-STATUS=E"

A.5.30 OdiReadMail

Use this command to read emails and attachments from a POP or IMAP account.

This command connects the mail server MAILHOST using the connection parameters specified by USER and PASS. The execution agent reads messages from the mailbox until MAX_MSG messages are received or the maximum waiting time specified by TIMEOUT is reached. The extracted messages must match the filters like those specified by the parameters SUBJECT and SENDER. When a message satisfies these criteria, its content as well as its attachment are extracted in a directory specified by the parameter FOLDER. If the parameter KEEP is set to "no", the retrieved message is then suppressed from the mailbox.

Usage

OdiReadMail -MAILHOST=<mail_host> -USER=<mail_user>
-PASS=<mail_user_password> -FOLDER=<folder_path>
[-PROTOCOL=<pop3|imap>] [-FOLDER_OPT=<none|sender|subject>] 
[-KEEP=<no|yes>] [-EXTRACT_MSG=<yes|no>] [-EXTRACT_ATT=<yes|no>]
[-MSG_PRF=<my_prefix>] [-ATT_PRF=<my_prefix>] [-USE_UCASE=<no|yes>]
[-NOMAIL_ERROR=<no|yes>] [-TIMEOUT=<timeout>] [-POLLINT=<pollint>]
[-MAX_MSG=<max_msg>] [-SUBJECT=<subject_filter>] [-SENDER=<sender_filter>]
[-TO=<to_filter>] [-CC=<cc_filter>]

Parameters

Parameters Mandatory Description

-MAILHOST=<mail_host>

Yes

IP address of the POP or IMAP mail server

-USER=<mail_user>

Yes

Valid mail server account.

-PASS=<mail_user_password>

Yes

Password of the mail server account.

-FOLDER=<folder_path>

Yes

Full path of the storage folder for attachments and messages

-PROTOCOL=<pop3|imap>

No

Type of mail accessed (POP3 or IMAP). Default is POP3

-FOLDER_OPT=<none|sender|subject>

No

Allows the creation of a sub-directory in the directory FOLDER according to the following parameters:

  • none (default): no action

  • sender: a sub-directory is created with the external name of the sender

  • subject: a sub-directory is created with the subject of the message

For the sender and subject folder option, the spaces and non alphanumeric characters (such as @) are replaced by underscores in the generated folders name.

-KEEP=<no|yes>

No

yes: keep the messages that match the filters in the mailbox after reading them.

no (default): delete the messages that match the filters of the mailbox after reading them

-EXTRACT_MSG=<yes|no>

No

yes (default): extract the body of the message into a file

no: do not extract the body of the message into a file

-EXTRACT_ATT=<yes|no>

No

yes (default): extract the attachments into files

no: do not extract attachments

-MSG_PRF=<my_prefix>

No

Prefix of the file that contains the body of the message. Default is MSG.

-ATT_PRF=<my_prefix>

No

Prefix of the files that contain the attachments. The original file names are kept.

-USE_UCASE=<no|yes>

No

yes: force the file names to uppercase

no (default): keep the original letter case

-NOMAIL_ERROR=<no|yes>

No

yes: generate an error if no mail matches the specified criteria

no (default): do not generate an error when no mail corresponds to the specified criteria.

-TIMEOUT=<timeout>

No

Maximum waiting time in milliseconds (default is 0).

If this waiting time is reached, the command ends.

The value 0 (default) means an infinite waiting time (as long as needed for the maximum number of messages specified into the parameter MAX_MSG to be received).

-POLLINT=<pollint>

No

Searching interval in milliseconds to scan for new messages. Default is 1000 (1 second).

-MAX_MSG=<max_msg>

No

Maximum number of messages to extract (default is 1). If this number is reached, the command ends.

-SUBJECT=<subject_filter>

No

Parameter used to filter the messages according to their subjects.

-SENDER=<sender_filter>

No

Parameter used to filter messages according to their sender.

-TO=<to_filter>

No

Parameter used to filter messages according to their addresses. This option can be repeated to create multiple filters.

-CC=<cc_filter>

No

Parameter used to filter messages according to their addresses in copy. This option can be repeated to create multiple filters.


Examples

Automatic reception of the mails of support with attachments detached in the folder C:\support on the machine of the agent. Wait for all messages with a maximum waiting time of 10 seconds:

OdiReadMail -MAILHOST=mail.mymail.com -USER=myaccount -PASS=mypass
-KEEP=no -FOLDER=c:\support -TIMEOUT=0 -MAX_MSG=0
-SENDER=support@mycompany.com -EXTRACT_MSG=yes -MSG_PRF=TXT
-EXTRACT_ATT=yes

Wait indefinitely for 10 messages and check for new messages every minute:

OdiReadMail -MAILHOST=mail.mymail.com -USER=myaccount -PASS=mypass
-KEEP=no -FOLDER=c:\support -TIMEOUT=0 -MAX_MSG=10 -POLLINT=60000
-SENDER=support@mycompany.com -EXTRACT_MSG=yes -MSG_PRF=TXT
-EXTRACT_ATT=yes

A.5.31 OdiRefreshJournalCount

Use this command to refresh for a given journalizing subscriber the number of rows to consume for the given table list or CDC set. This refres is performed on a logical schema and a given context, and may be limited.

Note:

This command is suitable for journalized tables in simple or consistent mode and cannot be executed in a command line with startcmd.

Usage

OdiRefreshJournalCount -LSCHEMA=<logical_schema> -SUBSCRIBER_NAME=<subscriber_name>
(-TABLE_NAME=<table_name> | -CDC_SET_NAME=<cdc set name>)
[-CONTEXT=<context>] [-MAX_JRN_DATE=<to_date>]

Parameters

Parameters Mandatory Description

-LSCHEMA=<logical_schema>

Yes

Logical schema containing the journalized tables.

-TABLE_NAME=<table_name>

Yes for working with Simple CDC.

Journalized table name, mask or list to check. This parameter accepts three formats :

  • Table Name

  • Table Name Mask: This mask selects the tables to poll. The mask is specified using the SQL LIKE syntax : the % symbol replaces an unspecified number of characters and the _ symbol acts as a wildcard.

  • Table Names List: List of table names separated by commas. Masks a defined above are not allowed.

Note that this option works only for tables in a model journalized in simple mode.

This parameter cannot be used with CDC_SET_NAME. It is mandatory if CDC_SET_NAME is not set.

-CDC_SET_NAME=<cdcSetName>

Yes for working with Consistent Set CDC.

Name of the CDC Set to check.

Note that this option works only for tables in a model journalized in consistent mode.

This parameter cannot be used with TABLE_NAME. It is mandatory if TABLE_NAME is not set.

-SUBSCRIBER_NAME=<subscriber_name>

Yes

Name of the subscriber for which the count is refreshed.

-CONTEXT=<context>

No

Context in which the logical schema will be resolved. If no context is specified, the execution context is used.

-MAX_JRN_DATE=<to_date>

No

Date (and time) until which the journalizing events are taken into account.


Examples

Refreshes for the CUSTOMERS table in the SALES_APPLICATION schema the count of modifications recorded for the SALES_SYNC subscriber. This datastore is journalized in simple mode.

OdiRefreshJournalCount -LSCHEMA=SALES_APPLICATION
-TABLE_NAME=CUSTOMERS -SUBSCRIBER_NAME=SALES_SYNC

Refreshes for all tables from the SALES CDC Set in the SALES_APPLICATION schema the count of modifications recorded for the SALES_SYNC subscriber. These datastores are journalized with consistent set CDC.

OdiRefreshJournalCount -LSCHEMA=SALES_APPLICATION
-SUBSCRIBER_NAME=SALES_SYNC -CDC_SET_NAME=SALES

A.5.32 OdiReinitializeSeq

Use this command to reinitialize an Oracle Data Integrator Sequence.

Usage

OdiReinitializeSeq -SEQ_NAME=<sequence_name> -CONTEXT=<context>
-STD_POS=<position>

Parameters

Parameters Mandatory Description

-SEQ_NAME=<sequence_name>

Yes

Name of the sequence to reinitialize. It must be prefixed with "GLOBAL." for a global sequence, or by <project code>. for a project sequence.

-CONTEXT=<context>

Yes

Context in which the sequence must be reinitialized.

-STD_POS=<position>

Yes

Position to which the sequence must be reinitialized.


Examples

Resets the global sequence SEQ_I to zero for the GLOBAL context:

OdiReinitializeSeq -SEQ_NAME=GLOBAL.SEQ_I -CONTEXT=GLOBAL
-STD_POS=0

A.5.33 OdiRetrieveJournalData

Use this command to retrieve the journalized events for a given journalizing subscriber, a given table list or CDC set. The retrieval is performed specifically for the technology containing the tables. This retrieval is performed on a logical schema and a given context.

Note:

This tool works for tables journalized using simple or consistent set modes and cannot be executed in a command line with startcmd.

Usage

OdiRetrieveJournalData -LSCHEMA=<logical_schema> -SUBSCRIBER_NAME=<subscriber_name> 
(-TABLE_NAME=<table_name> | -CDC_SET_NAME=<cdc_set_name>)
[-CONTEXT=<context>] [-MAX_JRN_DATE=<to_date>]

Parameters

Parameters Mandatory Description

-LSCHEMA=<logical_schema>

Yes

Logical schema containing the journalized tables.

-TABLE_NAME=<table_name>

No

Journalized table name, mask or list to check. This parameter accepts three formats :

  • Table Name

  • Table Name Mask: This mask selects the tables to poll. The mask is specified using the SQL LIKE syntax : the % symbol replaces an unspecified number of characters and the _ symbol acts as a wildcard.

  • Table Names List: List of table names separated by commas. Masks a defined above are not allowed.

Note that this option works only for tables in a model journalized in simple mode.

This parameter cannot be used with CDC_SET_NAME. It is mandatory if CDC_SET_NAME is not set.

-CDC_SET_NAME=<cdc_set_name>

No

Name of the CDC Set to update.

Note that this option works only for tables in a model journalized in consistent mode.

This parameter cannot be used with TABLE_NAME. It is mandatory if TABLE_NAME is not set.

-SUBSCRIBER_NAME=<subscriber_name>

Yes

Name of the subscriber for which the data is retrieved.

-CONTEXT=<context>

No

Context in which the logical schema will be resolved. If no context is specified, the execution context is used.

-MAX_JRN_DATE=<to_date>

No

Date (and time) until which the journalizing events are taken into account.


Examples

Retrieves for the CUSTOMERS table in the SALES_APPLICATION schema the journalizing events for the SALES_SYNC subscriber.

OdiRetrieveJournalData -LSCHEMA=SALES_APPLICATION
-TABLE_NAME=CUSTOMERS -SUBSCRIBER_NAME=SALES_SYNC

A.5.34 OdiReverseGetMetaData

Use this command to reverse-engineer metadata for the given model in the reverse tables using the JDBC driver capabilities. This command is typically preceded by OdiReverseResetTable and followed by OdiReverseSetMetaData.

Notes:

  • This command uses the same technique as the standard reverse-engineering, and depends on the capabilities of the JDBC driver used.

  • The use of this command is restricted to DEVELOPMENT type Repositories because the metadata is not available on EXECUTION type Repositories.

Usage

OdiReverseGetMetaData -MODEL=<model_id>

Parameters

Parameters Mandatory Description

-MODEL=<model_id>

Yes

Model to reverse-engineer.


Examples

Reverse the RKM's current model.

OdiReverseGetMetaData -MODEL=<%=odiRef.getModel("ID")%>

A.5.35 OdiReverseManageShortcut

Use this command to define how to handle shortcuts when they are reverse-engineered in a model.

Usage

OdiReverseManageShortcut "-MODEL=<model_id>" "-MODE=MATERIALIZING_MODE"

Parameters

Parameters Mandatory Description

-MODEL=<model_id>

Yes

Internal identifier of the model that has to be reversed.

-MODE=ALWAYS_MATERIALIZE|ALWAYS_SKIP|PROMPT

Yes

This option can take the following values:

  • ALWAYS_MATERIALIZE: Conflicted shortcuts are always materialized and datastores are reversed (default).

  • ALWAYS_SKIP: Conflicted shortcuts are always skipped and not reversed.

  • PROMPT: The Shortcut Conflict Detected dialog is displayed. You can define how to handle conflicted shortcuts. Select Materialize, to materialize and reverse-engineer the conflicted datastore shortcut. Leave Materialize unselected, to skip the conflicted shortcuts. Unselected datastores are not reversed and the shortcut remains.


Example

OdiReverseManageShortcut -MODEL=125880 -MODE=ALWAYS_MATERIALIZE

A.5.36 OdiReverseResetTable

Use this command to reset the content of reverse tables for a given model. This command is typically used at the beginning of a customized reverse-engineering process.

Usage

OdiReverseResetTable -MODEL=<model_id>

Parameters

Parameters Mandatory Description

-MODEL=<model_id>

Yes

Internal identifier of the model that has to be reversed.


Examples

OdiReverseResetTable -MODEL=123001

A.5.37 OdiReverseSetMetaData

Use this command to integrate metadata from the reverse tables into the Repository for a given data model.

Usage

OdiReverseSetMetaData -MODEL=<model_id> [-USE_TABLE_NAME_FOR_UPDATE=<true|false>]

Parameters

Parameters Mandatory Description

-MODEL=<model_id>

Yes

Internal identifier of the model to be reversed.

-USE_TABLE_NAME_FOR_UPDATE=<true|false>

No

  • If true, the TABLE_NAME is used as an update key on the target tables.

  • If false (default), the RES_NAME is used as the update key on the target tables.


Examples

OdiReverseSetMetaData -MODEL=123001 -USE_TABLE_NAME_FOR_UPDATE=true

A.5.38 OdiSAPALEClient and OdiSAPALEClient3

Use this command to generate SAP Internal Documents (IDoc) from XML source files and transfer these IDocs using ALE (Application Link Enabling) to a remote tRFC Server (SAP R/3 Server).

Note:

The OdiSAPALEClient tool supports SAP Java Connector 2.x. To use the SAP Java Connectors 3.x use the OdiSAPALEClient3 tool.

Usage for OdiSAPALEClient

OdiSAPALEClient -USER=<sap_logon> -ENCODED_PASSWORD=<password>
-GATEWAYHOST=<gateway_host> -SYSTEMNR=<system_number> -MESSAGESERVERHOST=<message_server> -R3NAME=<system_name> -APPLICATIONSERVERSGROUP=<group_name>
[-DIR=<directory>] [-FILE=<file>] [-CASESENS=<yes|no>]
[-MOVEDIR=<target_directory>] [-DELETE=<yes|no>] [-POOL_KEY=<pool_key>]
[-LANGUAGE=<language>] [-CLIENT=<client>] [-MAX_CONNECTIONS=<n>]
[-TRACE=<no|yes>]

Usage for OdiSAPALEClient3

OdiSAPALEClient3 -USER=<sap_logon> -ENCODED_PASSWORD=<password>
-GATEWAYHOST=<gateway_host> -SYSTEMNR=<system_number> -MESSAGESERVERHOST=<message_server> -R3NAME=<system_name> -APPLICATIONSERVERSGROUP=<group_name>
[-DIR=<directory>] [-FILE=<file>] [-CASESENS=<yes|no>]
[-MOVEDIR=<target_directory>] [-DELETE=<yes|no>] [-POOL_KEY=<pool_key>]
[-LANGUAGE=<language>] [-CLIENT=<client>] [-MAX_CONNECTIONS=<n>]
[-TRACE=<no|yes>]

Parameters

Parameters Mandatory Description

-USER=<sap_logon>

Yes

SAP logon. This user may be a system user.

-PASSWORD=<password>

Deprecated

SAP logon password. This command is deprecated. Use instead ENCODED_PASSWORD.

-ENCODED_PASSWORD=<password>

Yes

SAP logon password, encrypted. The OS command encode <password> can be used to encrypt this password.

-GATEWAYHOST=<gateway_host>

No

Gateway Host, mandatory if MESSAGESERVERHOST is not specified .

-SYSTEMNR=<system_number>

No

SAP system number, mandatory if GATEWAYHOST is used. The SAP system number allows the SAP load balancing feature.

-MESSAGESERVERHOST=<message_server>

No

Message Server host name, mandatory if GATEWAYHOST is not specified. If both parameters, GATEWAYHOST and MESSAGESERVERHOST are specified, MESSAGESERVERHOST will be used.

-R3NAME=<system_name>

No

Name of the SAP System (r3name), manadtory if MESSAGESERVERHOST is used.

-APPLICATIONSERVERSGROUP=<group_name>

No

Application servers group name, manadtory if MESSAGESERVERHOST is used.

-DIR=<directory>

No

XML source file directory. This parameter is taken into account if -FILE is not specified. At least one of the -DIR or -FILE parameters must be specified.

-FILE=<file>

No

Name of the source XML file. If this parameter is omitted, all the files in -DIR are processed. At least one of the -DIR or -FILE parameters must be specified.

-CASESENS=<yes|no>

No

Indicates if the source file names are case-sensitive. Default is NO.

-MOVEDIR=<target_directory>

No

If this parameter is specified, the source files are moved to this directory after being processed.

-DELETE=<yes|no>

No

Deletes the source files after their processing. Default is yes.

-POOL_KEY=<pool_key>

No

Name of the connection pool. Default is ODI.

-LANGUAGE=<language>

No

Language code used for error messages. Default is EN.

-CLIENT=<client>

No

Client identifier. Default is 001.

-MAX_CONNECTIONS=<n>

No

Maximum number of connections in the pool. Default is 3.

-TRACE=<no|yes>

No

The generated IDoc files are archived in the source file directory. If the source files are moved (-MOVEDIR parameter), the generated IDocs are also moved. Default is no.


Examples

Processes all the files in the/sap directory and sends them as IDocs to the SAP Server. The original XML and generated files are stored in the /log directory after processing.

OdiSAPALEClient -USER=ODI -ENCODED_PASSWORD=xxx -SYSTEMNR=002
-GATEWAYHOST=GW001 -DIR=/sap -MOVEDIR=/log -TRACE=yes

A.5.39 OdiSAPALEServer and OdiSAPALEServer3

Use this command to start a tRFC listener to receive SAP IDocs transferred using ALE (Application Link Enabling). This listener transforms incoming IDocs into XML files in a given directory.

Note:

The OdiSAPALEServer tool supports SAP Java Connector 2.x. To use the SAP Java Connectors 3.x use the OdiSAPALEServer3 tool.

Usage of OdiSAPALEServer

OdiSAPALEServer -USER=<sap_logon> -ENCODED_PASSWORD=<password>
-GATEWAYHOST=<gateway_host> -SYSTEMNR=<system_number>
-GATEWAYNAME=<gateway_name> -PROGRAMID=<program_id> -DIR=<target_directory>
[-TIMEOUT=<n>] [-POOL_KEY=<pool_key>] [-LANGUAGE=<Language>]
[-CLIENT=<client>] [-MAX_CONNECTIONS=<n>]
[-INTERREQUESTTIMEOUT=<n>] [-MAXREQUEST=<n>] [-TRACE=<no|yes>]

Usage of OdiSAPALEServer3

OdiSAPALEServer3 -USER=<sap_logon> -ENCODED_PASSWORD=<password>
-GATEWAYHOST=<gateway_host> -SYSTEMNR=<system_number>
-GATEWAYNAME=<gateway_name> -PROGRAMID=<program_id> -DIR=<target_directory>
[-TIMEOUT=<n>] [-POOL_KEY=<pool_key>] [-LANGUAGE=<Language>]
[-CLIENT=<client>] [-MAX_CONNECTIONS=<n>]
[-INTERREQUESTTIMEOUT=<n>] [-MAXREQUEST=<n>] [-TRACE=<no|yes>]

Parameters

Parameters Mandatory Description

-USER=<UserName>

Yes

SAP Logon. This user may be a system user.

-ENCODED_PASSWORD=<password>

Yes

SAP logon password, encrypted. The OS command encode <password> can be used to encrypt this password.

-GATEWAYHOST=<gateway_host>

Yes

Gateway host.

-SYSTEMNR=<system_number>

Yes

SAP system number.

-GATEWAYNAME=<gateway_name>

Yes

Gateway Name

-PROGRAMID=<program_id>

Yes

The program ID. External Name used by the tRFC server.

-DIR=<target_directory>

Yes

Directory in which the target XML files are stored. These files are named <IDOC Number>.xml, and are located in sub-directories named after the IDoc type. Default is ./FromSAP.

-POOL_KEY=<pool_key>

Yes

Name of the connection pool. Default is ODI.

-LANG=<language>

Yes

Language code used for error messages. Default is EN.

-CLIENT=<client>

Yes

SAP Client identifier. Default is 001.

-TIMEOUT=<n>

No

Life span in milliseconds for server. At the end of this period the server stops automatically. If this timeout is set to zero, the server life span is infinite. Default is 0.

-MAX_CONNECTIONS=<n>

Yes

Maximum number of connections allowed for the pool of connections. Default is 3.

-INTERREQUESTTIMEOUT=<n>

No

If no IDOC is received during an interval of n milliseconds, the listener stops. If this timeout is set to zero, the timeout is infinite. Default is 0.

-MAXREQUEST=<n>

No

Maximum number of requests after which the listener stops. If this parameter is set to zero, the server expects an infinite number of requests. Default is 0.

Note: If -TIMEOUT, -INTERREQUESTTIMEOUT and -MAXREQUEST are set to zero or left empty, then -MAXREQUEST automatically takes the value 1.

-TRACE=<no|yes>

No

Activate the debug trace. Default is no.


Examples

Wait for 2 IDoc files and generates the target XML files in the /temp directory.

OdiSAPALEServer -POOL_KEY=ODI -MAX_CONNECTIONS=3 -CLIENT=001
-USER=ODI -ENCODED_PASSWORD=xxx -LANGUAGE=EN
-GATEWAYHOST=SAP001 -SYSTEMNR=002 -GATEWAYNAME=GW001
-PROGRAMID=ODI01 -DIR=/tmp -MAXREQUEST=2

A.5.40 OdiScpGet

Use this command to download a file from a SSH server.

Usage

OdiScpGet -HOST=<ssh server host name> -USER=<ssh user> [-PASSWORD=<ssh user password>] -REMOTE_DIR=<remote dir on ftp host> [-REMOTE_FILE=<file name under the REMOTE_DIR>] -LOCAL_DIR=<local dir> [-LOCAL_FILE=<file name under the LOCAL_DIR>][-PASSIVE_MODE=<yes|no>] -TIMEOUT=<time in seconds>] [-IDENTITY_FILE=<full path to the private key file of the user>] [-KNOWNHOSTS_FILE=<full path to known hosts file>][COMPRESSION=<yes|no>][-STRICT_HOSTKEY_CHECKING=<yes|no>][-PROXY_HOST=<proxy server host name>] [-PROXY_PORT=<proxy server port>] [-PROXY_TYPE=<HTTP|SOCKS5>]

Parameters

Parameters Mandatory Description

-HOST=<host name of the SSH server>

Yes

The host name of the SSH server

-USER=<host name of the SSH user>

Yes

The user on the SSH server

-PASSWORD=<password of the Ftp user>

No

The password of the SSH user or the passphrase of the password protected identity file. If the –IDENTITY_FILE argument is provided this value will be used as the passphrase for the password protected private key file. If the public key authentication fails then it falls back to the normal user password authentication.

-REMOTE_DIR=<dir on remote SSH>

Yes

The directory path on the remote FTP host

-REMOTE_FILE=<file name under -REMOTE DIR>

No

The file name under the directory specified in the -REMOTE_DIR argument. Note that all sub-directories matching the remote file name will also be transferred to the local folder.

If this argument is missing then file will be copied with the -LOCAL_FILE file name. If -LOCAL_FILE argument is also missing then the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR

-LOCAL_DIR=<local dir path>

Yes

The directory path on the local machine

-LOCAL_FILE=<local file>

No

The file name under the directory specified in the -LOCAL_DIR argument. If this argument is missing then all the files and directories under the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR.

To filter the files to be copied use * to specify the generic characters.

Examples:

  • *.log (All files with the "log" extension)

  • arch_*.lst (All files starting with arch_ and with the extension "lst")

-IDENTITY_FILE=<full path to the private key file of the user>

No

The private key file of the local user. If this argument is specified then public key authentication is done. The –PASSWORD argument is used as the password for the password protected private key file. If the authentication fails then it falls back to the normal user password authentication.

-KNOWNHOSTS_FILE=<full path to the known hosts file on the local machine>

No

The full path to the Known_Hosts file on the local machine. The Known_Hosts file contains the host keys of all the Remote machines that the user trusts. If this argument is missing then the <user home dir>/.ssh/Known_hosts file is used as the Known_Hosts file if it exists.

-COMPRESSION=<yes|no>

No

Set to Yes if you want data compression to be used. Default is No.

-STRICT_HOSTKEY_CHECKING=<YES|NO>

No

This argument can take YES | NO values. If YES value is passed then strict hostkey checking is done and the authentication fails if the remote SSH host key is not present in the Known Hosts file specified in the –KNOWNHOSTS_FILE parameter. The default value is YES.

-PROXY_HOST

No

The host name of the Proxy server to be used for connection.

-PROXY_PORT

No

The port number of the Proxy server.

-PROXY_TYPE

No

The type of the Proxy server to which you are connecting. It can only take HTTP | SOCKS5 values.

-TIMEOUT=<timeout value>

No

The time in seconds after which the socket connection will timeout.


Examples

To copy the remote directory /test_copy555 on the SSH server machine recursively to the local directory C:\temp\test_copy

OdiScpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password>
 -LOCAL_DIR=C:\temp\test_copy -REMOTE_DIR=/test_copy555

To copy all files matching the Sales*.txt pattern under the remote directory / on the SSH server machine to the local directory C:\temp\

OdiScpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password>
 -LOCAL_DIR=C:\temp -REMOTE_FILE=Sales*.txt -REMOTE_DIR=/

To copy the Sales1.txt file under the remote directory / on the SSH server machine to the local directory C:\temp\ as a Sample1.txt file:

OdiScpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password>
 -REMOTE_DIR=/ REMOTE_FILE=Sales1.txt -LOCAL_DIR=C:\temp 
-LOCAL_FILE=Sample1.txt

To copy the Sales1.txt file under the remote directory / on the SSH server machine to the local directory C:\temp\ as a Sample1.txt file. It does public key authentication by providing the path to the Identity file and the path to the Known Hosts file.

OdiScpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> 
-REMOTE_DIR=/ -REMOTE_FILE=Sales1.txt -LOCAL_DIR=C:\temp 
-LOCAL_FILE=Sample1.txt -IDENTITY_FILE=C:\Documents and Settings\username\.ssh\id_dsa -KNOWNHOSTS_FILE= C:\Documents and Settings\username\.ssh\Known_Hosts

To copy the Sales1.txt file under the remote directory / on the SSH server machine to the local directory C:\temp\ as a Sample1.txt file. It does public key authentication by providing the path to the Identity file. It trusts all the hosts by passing NO value to the STRICT_HOSTKEY_CHECKING parameter:

OdiScpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -REMOTE_DIR=/ -REMOTE_FILE=Sales1.txt -LOCAL_DIR=C:\temp -LOCAL_FILE=Sample1.txt -IDENTITY_FILE=C:\Documents and Settings\username\.ssh\id_dsa -STRICT_HOSTKEY_CHECKING=NO

A.5.41 OdiScpPut

Use this command to upload a file to a SSH server.

Usage

OdiScpPut -HOST=<SSHserver host name> -USER=<SSH user> [-PASSWORD=<SSH user password>] -LOCAL_DIR=<local dir> [-LOCAL_FILE=<file name under the LOCAL_DIR>] -REMOTE_DIR=<remote dir on ftp host> [-REMOTE_FILE=<file name under the REMOTE_DIR>] [-PASSIVE_MODE=<yes|no>] [-TIMEOUT=<time in seconds>] [-IDENTITY_FILE=<full path to the private key file of the user>][-KNOWNHOSTS_FILE=<full path to known hosts file>][-COMPRESSION=<yes|no>][-STRICT_HOSTKEY_CHECKING=<yes|no>] <-PROXY_HOST=<proxy server host name>][-PROXY_PORT=<proxy server port>] [-PROXY_TYPE=<HTTP|SOCKS5>]

Parameters

Parameters Mandatory Description

-HOST=<host name of the SSH server>

Yes

The host name of the SSH server

-USER=<host name of the SSH user>

Yes

The user on the SSH server

-PASSWORD=<password of the SSH user>

No

The password of the SSH user or the passphrase of the password protected identity file. If the –IDENTITY_FILE argument is provided this value will be used as the passphrase for the password protected private key file. If the public key authentication fails then it falls back to the normal user password authentication.

-REMOTE_DIR=<dir on remote SSH

Yes

The directory path on the remote FTP host

-REMOTE_FILE=<file name under -REMOTE DIR>

No

The file name under the directory specified in the -REMOTE_DIR argument. If this argument is missing then file will be copied with the -LOCAL_FILE file name. If -LOCAL_FILE argument is also missing then the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR

-LOCAL_DIR=<local dir path>

Yes

The directory path on the local machine

-LOCAL_FILE=<local file>

No

The file name under the directory specified in the -LOCAL_DIR argument. If this argument is missing then all the files and directories under the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR.

To filter the files to be copied use * to specify the generic characters.

Examples:

  • *.log (All files with the "log" extension)

  • arch_*.lst (All files starting with arch_ and with the extension "lst")

-IDENTITY_FILE=<full path to the private key file of the user>

No

The private key file of the local user. If this argument is specified then public key authentication is done. The –PASSWORD argument is used as the password for the password protected private key file. If the authentication fails then it falls back to the normal user password authentication.

-KNOWNHOSTS_FILE=<full path to the known hosts file on the local machine>

No

The full path to the Known_Hosts file on the local machine. The Known_Hosts file contains the host keys of all the Remote machines that the user trusts. If this argument is missing then the <user home dir>/.ssh/Known_hosts file is used as the Known_Hosts file if it exists.

-COMPRESSION=<yes|no>

No

Set to Yes if you want data compression to be used. Default is No.

-STRICT_HOSTKEY_CHECKING=<YES|NO>

No

This argument can take YES | NO values. If YES value is passed then strict hostkey checking is done and the authentication fails if the remote SSH host key is not present in the Known Hosts file specified in the –KNOWNHOSTS_FILE parameter. The default value is YES.

-PROXY_HOST

No

The host name of the Proxy server to be used for connection.

-PROXY_PORT

No

The port number of the Proxy server.

-PROXY_TYPE

No

The type of the Proxy server to which you are connecting. It can only take HTTP | SOCKS5 values.

-TIMEOUT=<timeout value>

No

The time in seconds after which the socket connection will timeout.


Examples

To copy the local directory C:\temp\test_copy recursively to the remote directory /test_copy555 on the FTP server machine:

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp\test_copy -REMOTE_DIR=/test_copy555

To copy all files matching the Sales*.txt pattern under the local directory C:\temp\ to the remote directory / on the FTP server machine:

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales*.txt -REMOTE_DIR=/

To copy the Sales1.txt file under the local directory C:\temp\ to the remote directory / on the FTP server machine as a Sample1.txt file:

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales1.txt -REMOTE_DIR=/ -REMOTE_FILE=Sample1.txt

To copy the Sales1.txt file under the local directory C:\temp\ to the remote directory / on the FTP server machine as a Sample1.txt file. It does public key authentication by providing the path to the Identity file and the path to the Known Hosts file.

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales1.txt -REMOTE_DIR=/ -REMOTE_FILE=Sample1.txt -IDENTITY_FILE=C:\Documents and Settings\username\.ssh\id_dsa -KNOWNHOSTS_FILE= C:\Documents and Settings\username\.ssh\Known_Hosts

To copy the Sales1.txt file under the local directory C:\temp\ to the remote directory / on the FTP server machine as a Sample1.txt file. It does public key authentication by providing the path to the Identity file. It trusts all the hosts by passing NO value to the STRICT_HOSTKEY_CHECKING parameter:

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales1.txt -REMOTE_DIR=/ -REMOTE_FILE=Sample1.txt -IDENTITY_FILE=C:\Documents and Settings\username\.ssh\id_dsa -STRICT_HOSTKEY_CHECKING=NO

A.5.42 OdiSendMail

Use this command to send an email to an SMTP server.

Usage

OdiSendMail -MAILHOST=<mail_host> -FROM=<from_user> -TO=<address_list>
[-CC=<address_list>] [-BCC=<address_list>] [-SUBJECT=<subject>]
[-ATTACH=<file_path>]* [-MSGBODY=<message_body> | CR/LF<message_body>]

Parameters

Parameters Mandatory Description

-MAILHOST=<mail_host>

Yes

IP address of the SMTP server

-FROM=<from_user>

Yes

Address of the sender of the message.

Example: support@mycompany.com

To send the external name of the sender, the following notation can be used:

"-FROM=Support center <support@mycompany.com>"

-TO=<address_list>

Yes

List of email addresses of the recipients, separated by commas.

Example:

"-TO=sales@mycompany.com, support@mycompany.com"

-CC=<address_list>

No

List of e-mail addresses of the CC-ed recipients separated by commas.

Example:

"-CC=info@mycompany.com"

-BCC=<address_list>

No

List of email-addresses of the BCC-ed recipients, separated by commas.

Example:

"-BCC=manager@mycompany.com"

-SUBJECT=<subject>

No

Object (subject) of the message.

-ATTACH=<file_path>

No

Path of the file to join to the message, relative to the execution agent. To join several files, the -ATTACH=... just have to be repeated.

Example: Attach the files .profile and .cshrc to the mail:

-ATTACH=/home/usr/.profile -ATTACH=/home/usr/.cshrc

CR/LF <message_body>

or -MSGBODY=<message_body>

No

Message body (text). This text can be typed on the line following the OdiSendMail command (A carriage return - CR/LF - indicates the beginning of the mail body), or can be defined with the -MSGBODY parameter. The -MSGBODY parameter should be used when calling this Oracle Data Integrator command from an OS command line.


Examples

OdiSendMail -MAILHOST=mail.mymail.com "-FROM=Application Oracle Data
Integrator<odi@mymail.com>" -TO=admin@mymail.com "-SUBJECT=Execution OK"
-ATTACH=C:\log\job.log -ATTACH=C:\log\job.bad
Hello Administrator !
Your process finished successfully. Attached are your files.
Have a nice day!
Oracle Data Integrator.

A.5.43 OdiSftpGet

Use this command to download a file from a SSH server with an enabled SFTP subsystem.

Usage

OdiSftpGet -HOST=<ssh server host name> -USER=<ssh user> [-PASSWORD=<ssh user password>] -REMOTE_DIR=<remote dir on ftp host> [-REMOTE_FILE=<file name under the REMOTE_DIR>] -LOCAL_DIR=<local dir> [-LOCAL_FILE=<file name under the LOCAL_DIR>] [-PASSIVE_MODE=<yes|no>] [-TIMEOUT=<time in seconds>] [-IDENTITY_FILE=<full path to the private key file of the user>] [-KNOWNHOSTS_FILE=<full path to known hosts file>][COMPRESSION=<yes|no>][-STRICT_HOSTKEY_CHECKING=<yes|no>][-PROXY_HOST=<proxy server host name>][-PROXY_PORT=<proxy server port>] [-PROXY_TYPE=<HTTP| SOCKS5>]

Parameters

Parameters Mandatory Description

-HOST=<host name of the SSH server>

Yes

The host name of the SSH server.

Note that you can add the port number to the host name by prefixing it with a colon (:). For example: machine.oracle.com:25

If no port is specified, the port 22 is used by default.

-USER=<host name of the SSH user>

Yes

The user on the SSH server

-PASSWORD=<password of the SSH user>

No

The password of the SSH user

-REMOTE_DIR=<dir on SSH host>

Yes

The directory path on the remote SSH host

-REMOTE_FILE=<file name under -REMOTE DIR>

No

The file name under the directory specified in the -REMOTE_DIR argument. If this argument is missing then file will be copied with the -LOCAL_FILE file name. If -LOCAL_FILE argument is also missing then the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR

-LOCAL_DIR=<local dir path>

Yes

The directory path on the local machine

-LOCAL_FILE=<local file>

No

The file name under the directory specified in the -LOCAL_DIR argument. If this argument is missing then all the files and directories under the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR.

To filter the files to be copied use * to specify the generic characters.

Examples:

  • *.log (All files with the "log" extension)

  • arch_*.lst (All files starting with arch_ and with the extension "lst")

-IDENTITY_FILE=<full path to the private key file of the user>

No

The private key file of the local user. If this argument is specified then public key authentication is done. The –PASSWORD argument is used as the password for the password protected private key file. If the authentication fails then it falls back to the normal user password authentication.

-KNOWNHOSTS_FILE=<full path to the known hosts file on the local machine>

No

The full path to the Known_Hosts file on the local machine. The Known_Hosts file contains the host keys of all the Remote machines that the user trusts. If this argument is missing then the <user home dir>/.ssh/Known_hosts file is used as the Known_Hosts file if it exists.

-COMPRESSION=<yes|no>

No

Set to Yes if you want data compression to be used. Default is No.

-STRICT_HOSTKEY_CHECKING=<YES|NO>

No

This argument can take YES | NO values. If YES value is passed then strict hostkey checking is done and the authentication fails if the remote SSH host key is not present in the Known Hosts file specified in the –KNOWNHOSTS_FILE parameter. The default value is YES.

-PROXY_HOST

No

The host name of the Proxy server to be used for connection.

-PROXY_PORT

No

The port number of the Proxy server.

-PROXY_TYPE

No

The type of the Proxy server to which you are connecting. It can only take HTTP | SOCKS5 values.

-TIMEOUT=<timeout value>

No

The time in seconds after which the socket connection will timeout


Examples

To copy the remote directory /test_copy555 on the SSH server machine recursively to the local directory C:\temp\test_copy.

OdiSftpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp\test_copy -REMOTE_DIR=/test_copy555

To copy all files matching the Sales*.txt pattern under the remote directory / on the SSH server machine to the local directory C:\temp\

OdiSftpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -REMOTE_FILE=Sales*.txt -REMOTE_DIR=/

To copy the Sales1.txt file under the remote directory / on the SSH server machine to the local directory C:\temp\ as a Sample1.txt file.

OdiSftpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -REMOTE_DIR=/ -LOCAL_FILE=Sales1.txt -LOCAL_DIR=C:\temp -LOCAL_FILE=Sample1.txt

To copy the Sales1.txt file under the remote directory / on the SSH server machine to the local directory C:\temp\ as a Sample1.txt file. It does public key authentication by providing the path to the Identity file and the path to the Known Hosts file.

OdiSftpGet -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -REMOTE_DIR=/ -REMOTE_FILE=Sales1.txt -LOCAL_DIR=C:\temp -LOCAL_FILE=Sample1.txt -IDENTITY_FILE=C:\Documents and Settings\username\.ssh\id_dsa -KNOWNHOSTS_FILE= C:\Documents and Settings\username\.ssh\Known_Hosts

To copy the Sales1.txt file under the remote directory / on the SSH server machine to the local directory C:\temp\ as a Sample1.txt file. It does public key authentication by providing the path to the Identity file. It trusts all the hosts by passing NO value to the STRICT_HOSTKEY_CHECKING parameter.

OdiSftpGet -HOST=dev3 -USER=test_ftp -PASSWORD=<password> -REMOTE_DIR=/ -REMOTE_FILE=Sales1.txt -LOCAL_DIR=C:\temp -LOCAL_FILE=Sample1.txt -IDENTITY_FILE=C:\Documents and Settings\username\.ssh\id_dsa -STRICT_HOSTKEY_CHECKING=NO

A.5.44 OdiSftpPut

Use this command to upload a file to a SSH server with the SFTP subsystem enabled.

Usage

OdiSftpPut -HOST=<ftp server host name> -USER=<ftp user> [-PASSWORD=<ftp user password>] -LOCAL_DIR=<local dir> [-LOCAL_FILE=<file name under the LOCAL_DIR>] -REMOTE_DIR=<remote dir on ftp host> [-REMOTE_FILE=<file name under the REMOTE_DIR>] [-PASSIVE_MODE=<yes | no>][-TIMEOUT=<time in seconds>] [-IDENTITY_FILE=<full path to the private key file of the user>] [-KNOWNHOSTS_FILE=<full path to known hosts file>][COMPRESSION=<yes|no>][-STRICT_HOSTKEY_CHECKING=<YES | NO>][-PROXY_HOST=<proxy server host name>][-PROXY_PORT=<proxy server port>][-PROXY_TYPE=<HTTP | SOCKS5>]

Parameters

Parameters Mandatory Description

-HOST=<host name of the SSH server>

Yes

The host name of the SSH server

Note that you can add the port number to the host name by prefixing it with a colon (:). For example: machine.oracle.com:25

If no port is specified, the port 22 is used by default.

-USER=<host name of the SSH user>

Yes

The user on the SSH server

-PASSWORD=<password of the SSH user>

No

The password of the SSH user or the passphrase of the password protected identity file. If the –IDENTITY_FILE argument is provided this value will be used as the passphrase for the password protected private key file. If the public key authentication fails then it falls back to the normal user password authentication.

-REMOTE_DIR=<dir on remote SSH

Yes

The directory path on the remote FTP host

-REMOTE_FILE=<file name under -REMOTE DIR>

No

The file name under the directory specified in the -REMOTE_DIR argument. If this argument is missing then file will be copied with the -LOCAL_FILE file name. If -LOCAL_FILE argument is also missing then the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR

-LOCAL_DIR=<local dir path>

Yes

The directory path on the local machine

-LOCAL_FILE=<local file>

No

The file name under the directory specified in the -LOCAL_DIR argument. If this argument is missing then all the files and directories under the -LOCAL_DIR will be copied recursively to the -REMOTE_DIR.

To filter the files to be copied use * to specify the generic characters.

Examples:

  • *.log (All files with the "log" extension)

  • arch_*.lst (All files starting with arch_ and with the extension "lst")

-IDENTITY_FILE=<full path to the private key file of the user>

No

The private key file of the local user. If this argument is specified then public key authentication is done. The –PASSWORD argument is used as the password for the password protected private key file. If the authentication fails then it falls back to the normal user password authentication.

-KNOWNHOSTS_FILE=<full path to the known hosts file on the local machine>

No

The full path to the Known_Hosts file on the local machine. The Known_Hosts file contains the host keys of all the Remote machines that the user trusts. If this argument is missing then the <user home dir>/.ssh/Known_hosts file is used as the Known_Hosts file if it exists.

-COMPRESSION=<yes|no>

No

Set to Yes if you want data compression to be used. Default is No.

-STRICT_HOSTKEY_CHECKING=<YES|NO>

No

This argument can take YES | NO values. If YES value is passed then strict hostkey checking is done and the authentication fails if the remote SSH host key is not present in the Known Hosts file specified in the –KNOWNHOSTS_FILE parameter. The default value is YES.

-PROXY_HOST

No

The host name of the Proxy server to be used for connection.

-PROXY_PORT

No

The port number of the Proxy server.

-PROXY_TYPE

No

The type of the Proxy server to which you are connecting. It can only take HTTP | SOCKS5 values.

-TIMEOUT=<timeout value>

No

The time in seconds after which the socket connection will timeout.


Examples

To copy the local directory C:\temp\test_copy recursively to the remote directory /test_copy555 on the FTP server machine.

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp\test_copy -REMOTE_DIR=/test_copy555

To copy all files matching the Sales*.txt pattern under the local directory C:\temp\ to the remote directory / on the FTP server machine.

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales*.txt -REMOTE_DIR=/

To copy the Sales1.txt file under the local directory C:\temp\ to the remote directory / on the FTP server machine as a Sample1.txt file.

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales1.txt -REMOTE_DIR=/Sample1.txt

To copy the Sales1.txt file under the local directory C:\temp\ to the remote directory / on the FTP server machine as a Sample1.txt file. It does public key authentication by providing the path to the Identity file and the path to the Known Hosts file.

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales1.txt -REMOTE_DIR=/Sample1.txt -IDENTITY_FILE=C:\Documents and Settings\username\.ssh\id_dsa -KNOWNHOSTS_FILE= C:\Documents and Settings\username\.ssh\Known_Hosts

To copy the Sales1.txt file under the local directory C:\temp\ to the remote directory / on the FTP server machine as a Sample1.txt file. It does public key authentication by providing the path to the Identity file. It trusts all the hosts by passing NO value to the STRICT_HOSTKEY_CHECKING parameter.

OdiSftpPut -HOST=machine.oracle.com -USER=test_ftp -PASSWORD=<password> -LOCAL_DIR=C:\temp -LOCAL_FILE=Sales1.txt -REMOTE_DIR=/Sample1.txt -IDENTITY_FILE=C:\Documents and Settings\username\.ssh\id_dsa -STRICT_HOSTKEY_CHECKING=NO

A.5.45 OdiSleep

Use this command to wait for <delay> milliseconds.

Usage

OdiSleep -DELAY=<delay>

Parameters

Parameters Mandatory Description

-DELAY=<delay>

Yes

Number of milliseconds to wait


Examples

OdiSleep -DELAY=5000

A.5.46 OdiSqlUnload

Use this command to write the result of a SQL query to a file.

This command executes the SQL query <sql_query> on the data server whose connection parameters are provided by <driver>, <url>, <user> and <encoded_pass>. The resulting resultset is written to <file_name>.

Usage

OdiSqlUnload -FILE=<file_name> -DRIVER=<driver> -URL=<url> -USER=<user>
-PASS=<password> [-FILE_FORMAT=<file_format>] [-FIELD_SEP=<field_sep> |
-XFIELD_SEP=<field_sep>] [-ROW_SEP=<row_sep> | -XROW_SEP=<row_sep>]
[-DATE_FORMAT=<date_format>][-CHARSET_ENCODING=<encoding>]
[-XML_CHARSET_ENCODING=<encoding>][-FETCH_SIZE=<array_fetch_size>]
( CR/LF <sql_query> | -QUERY=<sql_query> | -QUERY_FILE=<sql_query_file> )

Parameters

Parameters Mandatory Description

-FILE=<file_name>

Yes

Full path to the output file, relative to the execution agent.

-DRIVER=<driver>

Yes

Name of the JDBC driver used to connect to the data server.

-URL=<url>

Yes

JDBC URL to the data server.

-USER=<user>

Yes

Login of the user on the data server which will be used to run the SQL query.

-PASS=<password>

Yes

Encrypted password for the login to the data server. This password can be encrypted with the system command encode <clear_text_password>.

Note that agent(.bat or .sh) is located in the /bin sub-directory of your Oracle Data Integrator installation directory.

-FILE_FORMAT=<file_format>

No

Specifies the file format with one of the following three values:

  • fixed : fixed size recording,

  • variable : variable size recording,

  • xml : XML file.

If <file_format> is not specified, the format defaults to variable.

If <file_format> is xml, the XML nodes generated have the following structure:

<TABLE>

<ROW>

<column_name>![CDATA[VALUE]]</column_name>

<column_name>![CDATA[VALUE]]</column_name>

...

</ROW>

....

</TABLE>

-FIELD_SEP=<field_sep>

No

Field separator character in ASCII format if FILE_FORMAT=variable. The default <field_sep> is a tab character.

-XFIELD_SEP=<field_sep>

No

Field separator character in hexadecimal format if FILE_FORMAT=variable. The default <field_sep> is a tab character.

-ROW_SEP=<row_sep>

No

Record separator character in ASCII format. Default <row_sep> is a Windows carriage return. For instance, the following values can be used:

  • Unix: -ROW_SEP=\n

  • Windows: -ROW_SEP=\r\n

-XROW_SEP=<row_sep>

No

Record separator character in hexadecimal format. Example: 0A.

-DATE_FORMAT=<date_format>

No

Output format used for date datatypes. This date format is specified using the Java date and time format patterns. Refer to the following link for a list of these patterns: http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html.

-CHARSET_ENCODING=<encoding>

No

Target file encoding. Default value is ISO-8859-1. There is a full list of supported encodingss at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-XML_CHARSET_ENCODING=<encoding>

No

Encoding specified in the XML File, in the tag <?xml version="1.0" encoding="ISO-8859-1"?>. Default value is ISO-8859-1. There is a list of supported encodingss at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-FETCH_SIZE=<array_fetch_size>

No

The number of rows (records read) requested by Data Integrator in each communication with the data server.

-CR/LF=<sql_query> | -QUERY=<sql_query> | -QUERY_FILE=<sql_query_file>

Yes

SQL query to execute on the data server. The query must be a SELECT statement or a call to a stored procedure returning a valid recordset. This query can be entered on the line following the OdiSqlUnload command (A carriage return - CR/LF - indicates the beginning of the query). The query can be provided within the -QUERY parameter, or stored in a file specified with the -QUERY_FILE parameter . The -QUERY or -QUERY_FILE parameters must be used when calling this command from an OS command line.

Note that the old syntax using REQUEST and REQUEST_FILE is still valid but deprecated.


Examples

The following command generates the file C:\temp\clients.csv separated by ';', containing the result of the query on the Customers table:

OdiSqlUnload -FILE=C:\temp\clients.csv -DRIVER=sun.jdbc.odbc.JdbcOdbcDriver
-URL=jdbc:odbc:NORTHWIND_ODBC -USER=sa
-PASS=NFNEKKNGGJHAHBHDHEHJDBGBGFDGGH -FIELD_SEP=;
"-DATE_FORMAT=dd/MM/yyyy hh:mm:ss"

select cust_id, cust_name, cust_creation_date from Northwind.dbo.Customers

A.5.47 OdiStartLoadPlan

Use this command to start a Load Plan.

Usage

OdiStartLoadPlan -LOAD_PLAN_NAME=<load_plan_name> [-LOG_LEVEL=<log_level>] [-CONTEXT=<context_code>]
[-AGENT_URL=<agent_url>] [-AGENT_CODE=<logical_agent_code>] 
[-ODI_USER=<ODI User>] [-ODI_PASS=<ODI Password>] [-KEYWORDS=<Keywords>]
 [-<PROJECT_CODE>.<VARIABLE>=<var_value> ...]

Parameters

Parameters Mandatory Description

-LOAD_PLAN_NAME=<load_plan_name>

Yes

Name of the Load Plan to start

-LOG_LEVEL=<log_level>

No

Level of logging information to retain. All sessions with a defined log level lower than or equal to this value will be kept in the Session log when the session completes. However, if the object execution ends abnormally, all tasks will be kept, regardless of this setting.

Note that log level 6 has the same behavior as log level 5, but with the addition of variable and sequence tracking. See Section 12.2.3.11, "Tracking Variables and Sequences" for more information.

[-CONTEXT=<context_code>]

Yes

Code of the execution context. If this parameter is omitted, the Load Plan is started in the execution context of the calling session, if any.

[-AGENT_URL=<agent_url>]

No

URL of the remote agent that starts the load plan.

[-AGENT_CODE=<logical_agent_code>]

No

Code of the logical agent in charge of starting this load plan. If this parameter and -AGENT_URL are omitted, the current agent starts this load plan. It is ignored if Agent URL is specified.

[-ODI_USER=<ODI user>]

No

Oracle Data Integrator user to be used to start the load plan. The privileges of this user will be used. If this parameter is omitted, the load plan is started with privileges of the user launching the parent session.

[-ODI_PASS=<ODI Password>]

No

Password of the Oracle Data Integrator user. This password must be encoded. This parameter is required if -ODI_USER is specified.

-KEYWORDS=<keywords>

No

List of keywords attached to this load plan. These keywords make load plan execution identification easier. The list is a comma-separated list of keywords.

-<VARIABLE>=<value>

No

List of project or global variables whose value is set as the default for the execution of the load plan. Project variables should be named <project_code>.<variable_name> and global variables should be called GLOBAL.<variable_name>. This list is of the form -<variable>=<value>


Examples

Start the Load Plan LOAD_DWH in the global context on the same agent:

OdiStartLoadPlan -LOAD_PLAN_NAME=LOAD_DWH -CONTEXT=GLOBAL

A.5.48 OdiStartScen

Use this command to start a scenario.

The optional parameter AGENT_CODE is used to dedicate this scenario to another agent than the current agent.

The parameter SYNC_MODE can start a scenario in synchronous or asynchronous mode.

Note:

The scenario that is started should be present in the repository into which the command is launched. If you go to production with a scenario, make sure to take also all the scenarios called by your scenario using this command. The Solutions can help you grouping scenarios for this purpose.

Usage

OdiStartScen -SCEN_NAME=<scenario> -SCEN_VERSION=<version>
[-CONTEXT=<context>] [-ODI_USER=<odi user> -ODI_PASS=<odi password>]
[-SESSION_NAME=<session_name>] [-LOG_LEVEL=<log_level>]
[-AGENT_CODE=<logical_agent_name>] [-SYNC_MODE=<1|2>]
[-KEYWORDS=<keywords>] [-<VARIABLE>=<value>]*

Parameters

Parameters Mandatory Description

-SCEN_NAME=<scenario>

Yes

Name of the scenario to start

-SCEN_VERSION=<version>

Yes

Version of the scenario to start. If the version specified is -1, the last version of the scenario is executed.

-CONTEXT=<context>

No

Code of the execution context. If this parameter is omitted, the scenario is executed in the execution context of the calling session.

-ODI_USER=<odi user>

No

Oracle Data Integrator user to be used to run the scenario. The privileges of this user will be used. If this parameter is omitted, the scenario is executed with privileges of the user launching the parent session.

-ODI_PASS=<odi password>

No

Password of the Oracle Data Integrator user. This password should be encoded. This parameter is required if the user is specified.

-SESSION_NAME=<session_name>

No

Name of the session that will appear in the Execution Log.

-LOG_LEVEL=<log_level>

No

Trace level (0 .. 5) to keep in the execution log. The default value is 5.

-AGENT_CODE=<logical_agent_name>

No

Name of the logical agent in charge of executing this scenario. If this parameter is omitted, the current agent executes this scenario.

-SYNC_MODE=<1|2>

No

Synchronization mode of the scenario:

1 - Synchronous mode (Default). The execution of the calling session is blocked until the scenario finishes its execution.

2 - Asynchronous mode. The execution of the calling session continues independently from the return of the called scenario.

-KEYWORDS=<keywords>

No

List of keywords attached to this session. These keywords make session identification easier. The list is a comma-separated list of keywords.

-<VARIABLE>=<value>

No

List of variables whose value is set for the execution of the scenario. This list is of the form PROJECT.VARIABLE=value or GLOBAL.VARIABLE=value


Examples

Start the scenario LOAD_DWH in version 2 in the production context (synchronous mode):

OdiStartScen -SCEN_NAME=LOAD_DWH -SCEN_VERSION=2
-CONTEXT=CTX_PRODUCTION

Start scenario LOAD_DWH in version 2 in the current context in asynchronous mode on the agent "UNIX Agent" while passing the values of the variables START_DATE (local) and COMPANY_CODE (global):

OdiStartScen -SCEN_NAME=LOAD_DWH -SCEN_VERSION=2 -SYNC_MODE=2
"-AGENT_CODE=UNIX Agent" -MY_PROJECT.START_DATE=10-APR-2002
-GLOBAL.COMPANY_CODE=SP4356

A.5.49 OdiUnZip

Use this command to unzip an archive file to a directory.

Usage

OdiUnZip -FILE=<file> -TODIR=<target_directory> [-OVERWRITE=<yes|no>]
[-ENCODING=<file_name_encoding>]

Parameters

Parameters Mandatory Description

-FILE=<file>

Yes

Full path to the ZIP file to unzip

-TODIR=<target_file>

Yes

Destination directory or folder

-OVERWRITE=<yes|no>

No

Indicates if the files that already exist in the target directory must be overwritten. Default is No.

-ENCODING=<file_name_encoding>

No

Character encoding used for filenames inside the archive file. For a list of possible values, see:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

Defaults to the platform's default character encoding.


Examples

Unzip the file archive_001.zip from directory C:\archive\ into directory C:\TEMP:

OdiUnZip "-FILE=C:\archive\archive_001.zip" -TODIR=C:\TEMP\

A.5.50 OdiUpdateAgentSchedule

Use this command to force an agent to recalculate its schedule of tasks.

Usage

OdiUpdateAgentSchedule -AGENT_NAME=<physical_agent_name>

Parameters

Parameters Mandatory Description

-AGENT_NAME=<physical_agent_name>

Yes

The name of the physical agent to update.


Examples

This example causes the physical agent named agt_s1 to update its schedule.

OdiUpdateAgentSchedule -AGENT_NAME=agt_s1

A.5.51 OdiWaitForChildSession

Use this command to wait for child session (started using the OdiStartScen tool) of the current session to complete.

This command checks every <polling_interval> seconds that the sessions launched from the session specified in <parent_sess_number> are finished. If all these child sessions, possibly filtered by their name and keywords are finished (Status "Done", "Warning" or "Error"), this command terminates.

Usage

OdiWaitForChildSession [-PARENT_SESS_NO=<parent_sess_number>]
[-POLL_INT=<polling_interval>] 
[-SESSION_NAME_FILTER=<session_name_filter>]
[-SESSION_KEYWORDS=<session_keywords>]
[-MAX_CHILD_ERROR=ALL|<error_number>]

Parameters

Parameters Mandatory Description

-PARENT_SESS_NO=<parent_sess_number>

No

ID of the parent session. If this parameter is not specified, the current session ID is used.

-POLL_INT=<polling_interval>

No

Interval in seconds between each sequence of termination tests for the child sessions. Default value is 1.

-SESSION_NAME_FILTER=<session_name_filter>

No

Only the child sessions which names match this filter are tested. This filter can be a SQL LIKE-formatted pattern.

-SESSION_KEYWORDS=<session_keywords>

No

Only child sessions for which ALL keywords have match in this comma-separated list are tested. Each element of the list can be a SQL LIKE-formatted pattern.

-MAX_CHILD_ERROR= ALL | <error_number>

No

This parameter enables OdiWaitForChildSession to terminate in error if a number of child sessions have terminated in error:

  • ALL: Error if all child sessions have terminated in error.

  • <error_number>: Error if <error_number> or more child sessions have terminated in error.

If this parameter is equal to zero, negative or not specified, OdiWaitForChildSession never terminates in an error status, regardless of the number of failing child sessions.


Examples

Waits, with a polling interval of 5 seconds, for all the child sessions of the current session named like "LOADxxx" and having the keywords "MANDATORY" and "CRITICAL", to be finished

OdiWaitForChildSession -PARENT_SESS_NO=<%=odiRef.getSession("SESS_NO")%>
-POLL_INT=5 -SESSION_NAME_FILTER=LOAD%
-SESSION_KEYWORDS=MANDATORY,CRITICAL

A.5.52 OdiWaitForData

Use this command to wait for a number of rows in a table or a set of tables. This can also be applied to a number of objects containing data, such as views.

The OdiWaitForData command tests that a table, or a set of tables, has been populated with a number of records. This test is repeated at regular intervals (-POLLINT) until one of the following conditions is fulfilled: the desired number of rows for one of the tables has been detected (-UNIT_ROWCOUNT), the desired, cumulated number of rows for all of the tables has been detected (-GLOBAL_ROWCOUNT), or a timeout (-TIMEOUT) has been reached.

Filters may be applied to the set of counted rows. They are specified by an explicit SQL where clause (-SQLFILTER) and / or the -RESUME_KEY_xxx parameters to determine field-value-operator clause. These two methods are cumulative (AND).

The row count may be considered either in absolute terms (with respect to the total number of rows in the table) or in differential terms (the difference between a stored reference value and the current row count value).

When dealing with multiple tables:

  • the -SQLFILTER and -RESUME_KEY_xxx parameters apply to ALL tables concerned.

  • the -UNIT_ROWCOUNT parameter determines the row count to be expected for each one of the particular tables. The -GLOBAL_ROWCOUNT parameter determines the SUM of the row count number cumulated over the set of tables. When only 1 table is concerned, the -UNIT_ROWCOUNT and -GLOBAL_ROWCOUNT parameters are equivalent.

Usage

OdiWaitForData -LSCHEMA=<logical_schema> -TABLE_NAME=<table_name>
[-OBJECT_TYPE=<list of object types>] [-CONTEXT=<context>]
[-RESUME_KEY_VARIABLE=<resumeKeyVariable> 
-RESUME_KEY_COL=<resumeKeyCol>
[-RESUME_KEY_OPERATOR=<resumeKeyOperator>]|-SQLFILTER=<SQLFilter>]
[-TIMEOUT=<timeout>] [-POLLINT=<pollInt>] 
[-GLOBAL_ROWCOUNT=<globalRowCount>]
[-UNIT_ROWCOUNT=<unitRowCount>] [-TIMEOUT_WITH_ROWS_OK=<yes|no>]
[-INCREMENT_DETECTION=<no|yes> [-INCREMENT_MODE=<M|P|I>]
[-INCREMENT_SEQUENCE_NAME=<incrementSequenceName>]]

Parameters

Parameters Mandatory Description

-LSCHEMA=<logical_schema>

Yes

Logical schema containing the tables.

-TABLE_NAME=<table_name>

Yes

Table name, mask or list of table names to check. This parameter accepts three formats :

  • Table Name.

  • Table Name Mask: This mask selects the tables to poll. The mask is specified using the SQL LIKE syntax : the % symbol replaces an unspecified number of characters and the _ symbol is a single character wildcard.

  • Table Names List: Comma separated list of table names. Masks as defined above are allowed.

-OBJECT_TYPE=<list of object types>

No

Type of objects that are checked. By default, only tables are checked. To take into account other objects, specify a comma-separated list of object types. Supported object types are:

  • T: Table

  • V: View

-CONTEXT=<context>

No

Context in which the logical schema will be resolved. If no context is specified, the execution context is used.

-SQLFILTER=<SQLFilter>

No

Explicit SQL Filter to be applied to the table(s). This statement must be valid for the technology containing the checked tables.

Note that this statement must not include the WHERE keyword.

-RESUME_KEY_VARIABLE=<resumeKeyVariable>

-RESUME_KEY_COL=<resumeKeyCol>

[-RESUME_KEY_OPERATOR=<resumeKeyOperator>]

No

The RESUME_KEY_xxx parameters allow filtering of the set of counted rows in the polled tables.

  • <key_column>: Name of a column in the checked table.

  • <operator>: Valid comparison operator for the technology containing the checked tables. If this parameter is omitted, the value ">" is used by default.

  • <variable_name>: Variable name whose value has been previously set. The variable name must be prefixed with ":" (bind) or "#" (substitution). The variable scope should be explicitly stated in the Oracle Data Integrator syntax; GLOBAL.<variable name> for global variables or <project code>.<variable name> for project variables.

-TIMEOUT=<timeout>

No

Maximum period of time in milliseconds over which data is polled. If this value is equal to zero, the timeout is infinite. Defaults to 0.

-POLLINT=<pollInt>

No

The period of time in milliseconds to wait between data polls. Defaults to 1000.

-UNIT_ROWCOUNT=<unitRowCount>

No

Number of rows expected in a polled table to terminate the command. Defaults to 1.

-GLOBAL_ROWCOUNT=<globalRowCount>

No

Total number of rows expected cumulatively, over the set of tables, to terminate the command. If not specified, the default value 1 is used.

-INCREMENT_DETECTION=<no|yes>

No

Defines the mode in which the command considers row count: either in absolute terms (with respect to the total number of rows in the table) or in differential terms (the difference between a stored reference value and the current row count value).

  • If set to yes, the row count is performed in differential mode. The number of additional rows in the table is compared to a stored reference value. The reference value depends on the INCREMENT_MODE parameter.

  • If set to no, the count is performed in absolute row count mode.

Defaults to no.

-INCREMENT_MODE=<M|P|I>

No

This parameter specifies the persistence mode of the reference value between successive OdiWaitForData calls.

Possible values are:

  • M: Memory. The reference value is non-persistent. When OdiWaitForData is called, the reference value takes a value equal to the number of rows in the polled table. When OdiWaitForData ends the value is lost. A following call in this mode sets a new reference value.

  • P: Persistent. The reference value is persistent. It is read from the increment sequence when OdiWaitForData starts and saved in the increment sequence when OdiWaitForData ends. If the increment sequence is not set (at initial call time) the current table row count is used.

  • I: Initial. The reference value is initialized and is persistent. When OdiWaitForData starts, the reference value takes a value equal to the number of rows in the polled table. When OdiWaitForData ends, it is saved in the increment sequence as for the persistent mode.

Defaults to M.

Note that using the Persistent or Initial modes is not supported when a mask or list of tables is polled.

-INCREMENT_SEQUENCE_NAME=<incrementSequenceName>

No

This parameter specifies the name of an automatically allocated storage space used for reference value persistence. This increment sequence is stored in the Repository. If this name is not specified, it takes the name of the table.

Note that this Increment Sequence is not an Oracle Data Integrator Sequence and cannot be used as such outside a call to OdiWaitForData.

-TIMEOUT_WITH_ROWS_OK=<yes|no>

No

If this parameter is set to Y, at least one row was detected and the timeout occurs before the expected number of rows has been inserted, then the API exits with a return code of 0. Otherwise, it will signal an error. Defaults to Yes.


Examples

Waits for the DE1P1 table in the ORA_WAITFORDATA schema to contain 200 records matching the filter.

OdiWaitForData -LSCHEMA=ORA_WAITFORDATA -TABLE_NAME=DE1P1
-GLOBAL_ROWCOUNT=200 "-SQLFILTER=DATMAJ >
to_date('#MAX_DE1_DATMAJ_ORACLE_CHAR', 'DD/MM/YYYY HH24:MI:SS')"

Wait for a maximum of 4 hours for new data to appear in either the CITY_SRC or the CITY_TRG table in the SQLSRV_SALES.

OdiWaitForData LSCHEMA=SQLSRV_SALES TABLE_NAME=CITY%
-TIMEOUT=14400000 -INCREMENT_DETECTION=yes

A.5.53 OdiWaitForLogData

Use this command to wait for a number of modifications to occur on a journalized table or a list of journalized tables.

The OdiWaitForLogData command determines whether rows have been modified on a table or a group of tables. These changes are detected using the Oracle Data Integrator changed data capture (CDC) in simple mode (using the -TABLE_NAME parameter) or in consistent mode (using the -CDC_SET_NAME parameter). The test is repeated every -POLLINT milliseconds until one of the following conditions is fulfilled: the desired number of row modifications for one of the tables has been detected (-UNIT_ROWCOUNT), the desired cumulative number of row modifications for all of the tables has been detected (-GLOBAL_ROWCOUNT), or a timeout (-TIMEOUT) has been reached.

Note:

This command takes into account all journalized operations (inserts, updates and deletes).

The command is suitable for journalized tables only in simple or consistent mode.

Usage

OdiWaitForLogData -LSCHEMA=<logical_schema>  -SUBSCRIBER_NAME=<subscriber_name>
(-TABLE_NAME=<table_name> | -CDC_SET_NAME=<cdcSetName>)
[-CONTEXT=<context>] [-TIMEOUT=<timeout>] [-POLLINT=<pollInt>]
[-GLOBAL_ROWCOUNT=<globalRowCount>] 
[-UNIT_ROWCOUNT=<unitRowCount> [-OPTIMIZED_WAIT=<yes|no|AUTO>]
[-TIMEOUT_WITH_ROWS_OK=<yes|no>]

Parameters

Parameters Mandatory Description

-CONTEXT=<context>

No

Context (CONTEXT CODE) in which the logical schema will be resolved. If no context is specified, the execution context is used.

-GLOBAL_ROWCOUNT=<globalRowCount>

No

Total number of changes expected in the tablesor the CDC set to end the command. Defaults to 1.

-LSCHEMA=<logical_schema>

Yes

Logical schema containing the journalized tables.

-OPTIMIZED_WAIT=<yes|no|AUTO>

No

Method used to access the journals.

  • yes: Optimized method. This method works for later versions of journalizing. It runs faster than the non optimized mode.

  • no: Non-optimized method. A count is performed on the journalizing table. This method is of lower performance but compatible with earlier versions of the journalizing feature.

  • AUTO: If more than one table is checked, the optimized method is used. Otherwise, the non-optimized method is used.

Defaults to AUTO.

-POLLINT=<pollInt>

No

The period of time in milliseconds to wait between polls. Defaults to 2000.

-SUBSCRIBER_NAME=<subscriber_name>

Yes

Name of the subscriber used to get the journalizing information.

-TABLE_NAME=<table_name>

Yes

Journalized table name, mask or list to check. This parameter accepts three formats :

  • Table Name

  • Table Name Mask: This mask selects the tables to poll. The mask is specified using the SQL LIKE syntax : the % symbol replaces an unspecified number of characters and the _ symbol acts as a wildcard.

  • Table Names List: List of table names separated by commas. Masks a defined above are not allowed.

Note that this option works only for tables in a model journalized in simple mode.

This parameter cannot be used with CDC_SET_NAME. It is mandatory if CDC_SET_NAME. is not set.

-CDC_SET_NAME=<cdcSetName>

Yes

Name of the CDC Set to check. This CDC Set name is the fully qualified model code, typically PHYSICAL_SCHEMA_NAME.MODEL_CODE.

It can be obtained in the current context using a substitution method API call, as shown below: <%=odiRef.getObjectName("L", "model_code", "logical_schema", "D")%>.

Note that this option works only for tables in a model journalized in consistent mode.

This parameter cannot be used with TABLE_NAME. IT is mandatory if TABLE_NAME is not set.

-TIMEOUT=<timeout>

No

Maximum period of time in milliseconds over which changes are polled. If this value is equal to zero, the timeout is infinite. Defaults to 0.

-TIMEOUT_WITH_ROWS_OK=<yes|no>

No

If this parameter is set to yes, at least one row was detected and the timeout occurs before the pre-defined number of rows has been polled, then the API exits with a return code of 0. Otherwise, it will signal an error. Defaults to yes.

-UNIT_ROWCOUNT=<unitRowCount>

No

Number of changes expected in one of the polled tables to end the command. Defaults to 1.

Note that -UNIT_ROWCOUNT is not taken into account with -CDC_SET_NAME.


Examples

Wait for the CUSTOMERS table in the SALES_APPLICATION schema to have 200 row modifications recorded for the SALES_SYNC subscriber.

OdiWaitForLogData -LSCHEMA=SALES_APPLICATION
-TABLE_NAME=CUSTOMERS -GLOBAL_ROWCOUNT=200
-SUBSCRIBER_NAME=SALES_SYNC

A.5.54 OdiWaitForTable

Use this command to wait for a table to be created and populated with a pre-defined number of rows.

The OdiWaitForTable command regularly tests wether the specified table has been created and that it has been populated with a number of records. The test is repeated every -POLLINT milliseconds until one of the following conditions is fulfilled: the table exists and contains the desired number of rows (-GLOBAL_ROWCOUNT), or a timeout (-TIMEOUT) has been reached.

Usage

OdiWaitForTable -CONTEXT=<context> -LSCHEMA=<logical_schema>
-TABLE_NAME=<table_name> [-TIMEOUT=<timeout>] [-POLLINT=<pollInt>]
[-GLOBAL_ROWCOUNT=<globalRowCount>]
[-TIMEOUT_WITH_ROWS_OK=<yes|no>]

Parameters

Parameters Mandatory Description

-CONTEXT=<context>

No

Context in which the Logical Schema will be resolved. If no Context is specified, the execution context is used.

-GLOBAL_ROWCOUNT=<globalRowCount>

No

Total number of rows expected in the table to terminate the command. Defaults to 1. If not specified, the command will finish when a new row is inserted into the table.

-LSCHEMA=<logical_schema>

Yes

Logical schema in which the table is searched for.

-POLLINT=<pollInt>

No

The period of time in milliseconds to wait between each test. Defaults to 1000.

-TABLE_NAME=<table_name>

Yes

Name of table to search for.

-TIMEOUT=<timeout>

No

Maximum period of time in milliseconds over which the table is searched for. If this value is equal to zero, the timeout is infinite. Defaults to 0.

-TIMEOUT_WITH_ROWS_OK=<yes|no>

No

If this parameter is set to yes, at least one row was detected and the timeout occurs before the expected number of records is detected, then the API exits with a return code of 0. Otherwise, it will signal an error. Defaults to Yes.


Examples

Waits for the DE1P1 table in the ORA_WAITFORDATA schema to exist, and to containing at least 1 record.

OdiWaitForTable -LSCHEMA=ORA_WAITFORDATA -TABLE_NAME=DE1P1
-GLOBAL_ROWCOUNT=1

A.5.55 OdiXMLConcat

Use this command to concatenate elements from multiple XML files into a single file.

This tool extracts all instances of a given element from a set of source XML files and concatenates them into one target XML file.This tool parses and generates well formed XML. It does not modify or generate a DTD for the generated files. A reference to an existing DTD can be specified in the HEADER parameter or preserved from the original files using the -KEEP_XML_PROLOGUE.

Note:

XML Namespaces are not supported by this tool. Please provide the local part of element name (without namespace nor prefix value) in the -ELEMENT_NAME parameter.

Usage

OdiXMLConcat -FILE=<file_filter> -TOFILE=<target_file> -XML_ELEMENT=<element_name> [-CHARSET_ENCODING=<encoding>] IF_FILE_EXISTS=<overwrite|skip|error>] [-KEEP_XML_PROLOGUE=<all|xml|doctype|none>] [-HEADER=<header>] [-FOOTER=<footer>]

Parameters

Parameters Mandatory Description

-FILE=<file_filter>

Yes

Filter for the source XML files. This filter uses standard file wildcards (?,*). It includes both file names and directory names. It is possible to take source files from a same folder or from different folders.

The following file filters are valid:

  • /tmp/files_*/customer.xml

  • /tmp/files_*/*.*

  • /tmp/files_??/customer.xml

  • /tmp/files/customer_*.xml

  • /tmp/files/customer_??.xml

-TOFILE=<target_file>

Yes

Target file into which the elements are concatenated.

-XML_ELEMENT=<element_name>

Yes

Local name of the XML element (without enclosing <> characters, without prefix nor namespace information) to be extracted with its content and child elements from the source files.

Note that this element detection is not recursive. If a given instance of <element_name> contains other instances of <element_name>, only the element of higher level will be taken into account and child elements will only be extracted as a part of the top element's content.

-CHARSET_ENCODING=<encoding>

No

Target files encoding. Default value is ISO-8859-1. There is a full list of supported encodingss at the following URL: http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-IF_FILE_EXISTS=<overwrite|skip|error>

No

Define behavior when the target file exists.

  • overwrite: overwrite the target file if exists

  • skip: do nothing for this file

  • error: raise an error

-KEEP_XML_PROLOGUE=<all|xml|doctype|none>

No

Copies the source file XML prologue in the target file. Depending on this parameter's value, the following parts of the XML prologue are preserved:

  • all: copies all the prologue (XML and document type declaration)

  • xml: copies only the XML declaration <?xml...?> and not the Document type declaration.

  • doctype: copies only the document type declaration (not the XML declaration)

  • none: does not copy the prologue from the source file.

Note: If all or a part of the prologue is not preserved, it should be specified in the HEADER parameter.

-HEADER=<header>

No

String that is appended after the prologue (if any) in each target file. You can use this parameter to create a customized XML prologue or root element.

-FOOTER=<footer>

No

String that is appended at the end of each target file. You can use this parameter to close a root element added in the header.


Examples

The following examples concatenate the content of the IDOC elements in the files called ord1.xml, ord2.xml, etc, in the ord_i sub-folder into the file called MDSLS.TXT.XML, with a root element called <WMMBID02> added to the target.

OdiXMLConcat "-FILE=./ord_i/ord*.xml" "-TOFILE=./MDSLS.TXT.XML" -XML_ELEMENT=IDOC "-CHARSET_ENCODING=UTF-8" -IF_FILE_EXISTS=overwrite -KEEP_XML_PROLOGUE=xml "-HEADER=<WMMBID02>" "-FOOTER=</WMMBID02>"

OdiXMLConcat "-FILE=./o?d_*/ord*.xml" "-TOFILE=./MDSLS.TXT.XML" -XML_ELEMENT=IDOC "-CHARSET_ENCODING=UTF-8" -IF_FILE_EXISTS=overwrite -KEEP_XML_PROLOGUE=none "-HEADER=<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<WMMBID02>" "-FOOTER=</WMMBID02>"

The following example concatenates the EDI elements of the files called ord1.xml, ord2.xml, etc that are in the ord_i sub-folder, into the file called MDSLS2.XML. This file will have a new root element called EDI_BATCH above all <EDI> elements.

OdiXMLConcat "-FILE=./o?d_?/ord*.xml" "-TOFILE=./MDSLS2.XML" -XML_ELEMENT=EDI "-CHARSET_ENCODING=UTF-8" -IF_FILE_EXISTS=overwrite -KEEP_XML_PROLOGUE=xml "-HEADER= <EDI_BATCH>" "-FOOTER=</EDI_BATCH>"

A.5.56 OdiXMLSplit

Use this command to split elements from an XML file into several files.

This tool extracts all instances of a given element stored in a source XML file and splits it over several target XML files.This tool parses and generates well formed XML. It does not modify or generate a DTD for the generated files. A reference to an existing DTD can be specified in the HEADER parameter or preserved from the original files using the -KEEP_XML_PROLOGUE.

Note:

XML Namespaces are not supported by this tool. Please provide the local part of element name (without namespace nor prefix value) in the -ELEMENT_NAME parameter.

Usage

OdiXMLSplit -FILE=<file> -TOFILE=<file_pattern> -XML_ELEMENT=<element_name> [-CHARSET_ENCODING=<encoding>] [-IF_FILE_EXISTS=<overwrite|skip|error>] [-KEEP_XML_PROLOGUE=<all|xml|doctype|none>] [-HEADER=<header>] [-FOOTER=<footer>]

Parameters

Parameters Mandatory Description

-FILE=<file>

Yes

Source XML File to split

-TOFILE=<file_pattern>

Yes

File pattern for the target files. Each file is named after a pattern containing a mask representing a generated number sequence or the value of an attribute of the XML element used to perform the split:

  • Number Sequence Mask: Use the "*" (star) value to indicate the place of the file number value. For example, if the <file_ pattern> is equal to target_*.xml, then the files created will be named target_1.xml, target_2.xml, and so on.

  • Attribute Value Mask: Specify between square brackets the name of the attribute of <element_name> which value should be pushed to create in the file name. For example, customer_[CUSTID].xml would create files named customer_041.xml, customer_123.xml, etc. depending on the value of the attribute CUSTID of the element used to split. Note that if a value repeats over several successive elements, target files may be overwritten according to the value of the OVERWRITE parameter.

Note that pattern can be used for creating different files within a directory or files in different directories. The following patterns are valid:

  • /tmp/files_*/customer.xml

  • /tmp/files_[CUSTID]/customer.xml

  • /tmp/files/customer_*.xml

  • /tmp/files/customer_[CUSTID].xml

-XML_ELEMENT=<element_name>

Yes

Local name of the XML element (without enclosing <> characters, without prefix nor namespace information) to be extracted with its content and child elements from the source files.

Note that this element detection is not recursive. If a given instance of <element_name> contains other instances of <element_name>, only the element of higher level will be taken into account and child elements will only be extracted as a part of the top element's content.

-CHARSET_ENCODING=<encoding>

No

Target files encoding. Default value is ISO-8859-1. There is a full list of supported encodingss at the following URL: http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

-IF_FILE_EXISTS=<overwrite|skip|error>

No

Define behavior when the target file exists.

  • overwrite: overwrite the target file if exists

  • skip: do nothing for this file

  • error: raise an error

-KEEP_XML_PROLOGUE=<all|xml|doctype|none>

No

Copies the source file XML prologue in the target file. Depending on this parameter's value, the following parts of the XML prologue are preserved:

  • all: copies all the prologue (XML and document type declaration)

  • xml: copies only the XML declaration <?xml...?> and not the Document type declaration.

  • doctype: copies only the document type declaration (not the XML declaration)

  • none: does not copy the prologue from the source file.

Note: If all or a part of the prologue is not preserved, it should be specified in the HEADER parameter.

-HEADER=<header>

No

String that is appended after the prologue (if any) in each target file. You can use this parameter to create a customized XML prologue or root element.

-FOOTER=<footer>

No

String that is appended at the end of each target file. You can use this parameter to close a root element added in the header.


Examples

The following example splits the file called MDSLS.TXT.XML into several files. One file called ord1.xml, ord2.xml, ... is created and contains each instance of the IDOC element contained in the source file.

OdiXMLSplit "-FILE=./MDSLS.TXT.XML" "-TOFILE=./ord_i/ord*.xml" -XML_ELEMENT=IDOC "-CHARSET_ENCODING=UTF-8" -IF_FILE_EXISTS=overwrite -KEEP_XML_PROLOGUE=xml "-HEADER= <WMMBID02>" "-FOOTER= </WMMBID02>"

The following example splits the file called MDSLS.TXT.XML the same way as the example above except that the files are named using the value of the BEGIN attribute of the IDOC element that is being split. The XML prologue is not preserved in this example but entirely generated in the header.

OdiXMLSplit "-FILE= ./MDSLS.TXT.XML" "-TOFILE=./ord_i/ord[BEGIN].xml" -XML_ELEMENT=IDOC "-CHARSET_ENCODING=UTF-8" -IF_FILE_EXISTS=overwrite -KEEP_XML_PROLOGUE=none "-HEADER= <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<WMMBID02>" "-FOOTER=</WMMBID02>"

A.5.57 OdiZip

Use this command to create a ZIP file from a directory or several files.

Usage

OdiZip -DIR=<directory> -FILE=<file> -TOFILE=<target_file> [-OVERWRITE=<yes|no>]
[-RECURSE=<yes|no>] [-CASESENS=<yes|no>]
[-ENCODING=<file_name_encoding>]

Parameters

Parameters Mandatory Description

-DIR=<directory>

Yes, if FILE not specified

Base directory (or folder) that will be the future root in the ZIP file to generate. If only -DIR and not -FILE is specified, all files under this directory will be zipped.

-FILE=<file>

Yes, if DIR not specified

Path from the base directory of the file(s) to archive. If only specify -FILE and not -DIR is specified, the default directory is the current work directory if the -FILE path is relative.

Use * to specify the generic characters.

Examples:

/var/tmp/*.log (All files with the "log" extension of the directory /var/tmp)

arch_*.lst (All the files starting with arch_ and having the extension "lst")

-TOFILE=<target_file>

Yes

Target ZIP file.

-OVERWRITE=<yes|no>

No

Indicates whether the target zip file must be overwritten (yes) or simply updated if it already exists (no). Default is that the ZIP file is updated if it already exists.

-RECURSE=<yes|no>

No

Indicates if the archiving is recursive in the case of a directory that contains other directories. The value no indicates that only the files contained in the directory to copy (without the sub-folders) will be archived.

-CASESENS=<yes|no>

No

Indicates if file search is case sensitive. By default, Oracle Data Integrator searches files in uppercases.

-ENCODING=<file_name_encoding>

No

Character encoding to use for filenames inside the archive file.

Supported encodings are available at the following URL:

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

Defaults to the platform's default character encoding.


Examples

Creation of an archive of the directory C:\Program files\odi:

OdiZip "-DIR=C:\Program Files\odi" -FILE=*.* -TOFILE=C:\TEMP\odi_archive.zip

Creation of an archive of the directory C:\Program files\odi while preserving the odi directory in the archive:

OdiZip "-DIR=C:\Program Files" -FILE=odi\*.* -TOFILE=C:\TEMP\odi_archive.zip