Batch job definition parameters

One of the TaskComments in the TaskBObj contains the batch job definition parameters.

In the physical InfoSphere® MDM database, the job definition parameters are saved in the Description column of the InfoSphere MDM database’s Alerts table

The default job definition parameters used in Task Comments are as follows:

SQLPrefix
SQLPrefix provides a SQL prefix that will be inserted in front of the search SQL that the batch processor dynamically generates.
TaskParameter
TaskParameter defines the search criteria.
SQLSuffix
SQLSuffix provides a SQL suffix that will be appended to the search SQL that the batch processor dynamically generates.
SQLOverride
SQLOverride provides customized search SQL to use instead of letting the batch processor dynamically generate its own search SQL.
VariableParameter
VariableParameter enables a task to use variables to provide more replacements in its corresponding XML template (defined in the TASKDEFINITION table).

A variable parameter takes the form:

<VariableParameter>VAR_NAME=VAR_VALUE</VariableParameter>

The batch processor replaces the <<VAR_NAME>> placeholder in the XML template with the actual value (VAR_VALUE) before submitting the request to InfoSphere MDM.

For example, the request TaskBObj object’s CDATA could include:

<SQLOverride>select distinct CURENTRECNO as ENTITY_ID from mpi_entlink_mdmorg</SQLOverride>
<VariableParameter>ENTITY_TYPE=mdmorg</VariableParameter>
<VariableParameter>INSTANCE_PK=100000000123</VariableParameter>

The predefined XML template from the TASKDEFINITION table for PersistEntities is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<TCRMService xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="myTCRM.xsd">
  <RequestControl>
    <requestID>100012</requestID>
    <DWLControl>
      <requesterName>cusadmin</requesterName>
      <requesterLanguage>100</requesterLanguage>
    </DWLControl>
  </RequestControl>
  <TCRMTx>
    <TCRMTxType>persistEntity</TCRMTxType>
    <TCRMTxObject>PersistEntityRequestBObj</TCRMTxObject>
    <TCRMObject>
      <PersistEntityRequestBObj>
        <EntityId><<ENTITY_ID>></EntityId>
        <EntityType><<ENTITY_TYPE>></EntityType>
        <InstancePK><<INSTANCE_PK>></InstancePK>
      <PersistEntityRequestBObj>
    </TCRMObject>
  </TCRMTx>
</TCRMService>
File
File enables you to specify a Titled CSV input file name. The <File> tag takes precedence over the SQL definition, so if you are using a SQL query as part of the task definition, you must remove the <File> tag from the comment section.

File names provided in the <File> tag can use either an absolute path or a relative path. Relative paths are considered in relation to the $home/input folder. The value of $home is defined in the file Batch.properties.

Note: The specified file must be accessible from the batch host. If it is not, then an error will occur.
RuntimeOverride
RuntimeOverride provides values that will override settings at runtime for the specific batch job instance. The runtime characteristics of a task are determined by the following settings, each of which overrides the previous settings:
  • Properties defined in the Batch.properties file.
  • Properties defined in the batch extension properties file specified by the ExtProperties attribute.
  • The input type-based static overrides defined by the runtime.override.input.<InputType> property. The batch processor uses the InputType of the job to match the static override property, and then uses the property value.

    The overrides can contain multiple name-value pairs in the form of name1=value1;name2=value2;...;name n=valuen. For example:

    runtime.override.input.csv=ReaderQueue=com.ibm.mdm.batchframework.bulkprocessing.queue.TitledSingleLineCSVFileReaderQueue;message_generator=com.ibm.mdm.batchframework.message.CSVStringMessageGenerator
  • The task definition type-based static overrides defined in the Task Definition <runtime.override.jobdef.<TaskDefinitionId> property. The batch processor uses the TaskDefinitionId of the job to match the static override property, and then uses the property value. For example:
    runtime.override.jobdef.50=Submitter.number=1;randomizedWindowSize=100; ...
  • The runtime overrides defined in the Task Definition comment overrides. For example:
    <RuntimeOverride>Submitter.number=4;randomizedWindowSize=20</RuntimeOverride>
InputURL
The InputURL parameter points to the batch input source.
Note: If the InputURL represents a file name, it can use either an absolute path or a relative path. Relative paths are considered in relation to the $home/input folder. The value of $home is defined in the file Batch.properties.
OutputURL
The OutputURL parameter points to the batch output destination.
Note: If the OutputURL represents a file or folder name, it can use either an absolute path or a relative path. Relative paths are considered in relation to the $home/logs/<processId> folder. The value of $home is defined in the file Batch.properties.
ExtProperties
ExtProperties is an optional parameter that provides the name of the extension batch properties file. The extension batch properties file can contain additional batch configuration. This properties file must be available in the batch processor JVM classpath.
BatchProperties
BatchProperties is an optional parameter that provides the name of the batch properties file that will be added in context and passed to physical InfoSphere MDM. This properties file must be available in the InfoSphere MDM operational server JVM classpath.
MDMInstance
MDMInstance is an optional parameter that provides the name of the InfoSphere MDM instance that will be added in context and passed to InfoSphere MDM. This item can be used together with BatchProperties.
InputType
InputType provides the type of input used for the batch job. This item is optional for the out-of-the-box input types, but is mandatory for customized input types.

Depending on the type of input that the batch job is reading from, the definition comment can contain different attributes. Out of the box, the batch processor supports three input types:

  • Flat file
  • Titled CSV file
  • Database query

You can also create custom input types using the InputType attribute.

Table 1. Batch job definition parameters
Attribute Number of occurrences Flat file Titled CSV file Database query Customized type
SQLPrefix 0 or 1 Not applicable Not applicable Optional Customized
TaskParameter 0 or more Not applicable Not applicable Optional Customized
SQLOverride 0 or 1 Not applicable Not applicable Optional Customized
SQLSuffix 0 or 1 Not applicable Not applicable Optional Customized
VariableParameter 0 or more Optional Optional Optional Customized
File 0 or 1 Not applicable Mandatory Not applicable Customized
RuntimeOverride 0 or 1 Optional Optional Optional Customized
InputURL 0 or 1 Mandatory Not applicable Not applicable Customized
OutputURL 0 or 1 Mandatory Not applicable Not applicable Customized
ExtProperties 0 or 1 Optional Optional Optional Optional
BatchProperties 0 or 1 Optional Optional Optional Optional
MDMInstance 0 or 1 Optional Optional Optional Optional
InputType 0 or 1 blank or no value csv or no value db or no value Customized type name