Defining Batch Controls

The system is delivered with all necessary batch controls. Implementations may define default values for parameters. In addition, implementations may define their own background processes.

To view background processes, open Admin > System > Batch Control.

Use the Batch Control Query portal to search for an existing batch control. Once a batch control is selected, you are brought to the maintenance portal to view and maintain the selected record.

Refer to Background Processing Concepts for more information.

CAUTION: Important! If you introduce a new batch process, carefully consider its naming convention. Refer to System Data Naming Convention for more information.

Description of Page

Enter an easily recognizable Batch Process and Description for each batch process.

Owner indicates if this batch control is owned by the base package or by your implementation (Customer Modification). The system sets the owner to Customer Modification when you add a batch control. This information is display-only.

Use the Detailed Description to describe the functionality of the batch process in detail.

Enter the Application Service that is used to provide security for submission requests for the batch control. The application service must have an Access Mode of Execute. Refer to Granting Access To Batch Submission for more information.

Use Batch Control Type to define the batch process as either Timed or Not Timed. A Timed batch process will be automatically initialized on a regular basis. A Not Timed process needs to be run manually or through a scheduler.

Use Batch Control Category to categorize the process for documentation purposes. The base values provided are as follows:

  • Ad Hoc. Processes of this type are run on an ad hoc basis, only when needed. For example, if there is a process to do a mass cancel / correction of data, it would only be run when a situation occurs requiring this.

  • Extract. Extract processes extract information that is interfaced out of the system. Processes of this type typically extract records marked with a given run number. If the requester of the process does not supply a specific run number, the system assumes that the latest run number should be extracted. If you need to re-extract an historical batch, you simply supply the respective run number when you request the batch process.

  • ILM. Information Lifecycle Management jobs are crawler background processes that are associated with the ILM based storage solution.

  • Monitor. Processes of this type are processes related to business objects with a lifecycle state that defines monitor algorithms. The monitor process selects records in a given state and executes its algorithms, which may cause the record to transition to another state or may trigger some other logic to occur. Using configuration, the monitor process may target only specific records. Refer to Monitoring Batch Processes for more information. Note that these types of background processes can be considered a subset of Process What’s Ready

  • Process What’s Ready. Processes of this type create and update records that are “ready” for processing. The definition of “ready” differs for every process. For example, a payment upload process creates payments for every record that is pending. An overdue event monitor activates pending overdue events that have reached their trigger date.

  • Purge. Processes of this type are used to purge historical records from certain objects that generate a large number of entries and may become unwieldy over time.

  • To Do Entry. Processes of this type are used to detect a given situation and create or complete a To Do Entry. Refer to To Do Entries Created by Background Processes for more information.

  • Upgrade. Processes of this type are typically run only one time and are used to populate data in a table based on information that can be determined elsewhere in the system. These are processes that could have been done through an upgrade script, but perhaps due to data volume or timing, the upgrade logic warranted a separate stand-alone process.

  • Upload. Processes of this type are used to upload data from a file into the system.

  • The following categories are related to the data conversion / migration processes:
    • Conversion. Processes of this type are dedicated to converting or migrating data from external applications into the product.

    • Object Validation. Processes of this type are dedicated to validate data within objects for conversion or migration purposes.

    • Referential Integrity. Processes of this type are dedicated to validate referential integrity within objects for conversion or migration purposes.

Note: Additional categories may be introduced by your specific product.
If the batch process is Timed, then the following fields are available:
  • Timer Interval is the number of seconds between batch process submissions. The system will start the next run this many seconds from the start time of the previous run.

  • User ID is the ID under which the batch process will run.

  • Email Address is the Email address to be used for notification if the batch process fails.

  • Timer Active allows you to temporarily switch off the timer while retaining the other settings for the timed job.

  • Batch Language is the language associated with the batch process.

Use Program Type to define if the batch process program is written in Java or Java (Converted), meaning that the program has been converted into Java.

Note: Java (Converted) program types are not applicable to all products.

Use Program Name to define the Java class / program associated with your batch process.

Note: View the source. If the program is shipped with the base package, you can use the adjacent button to display the source code of this program in the Javadocs viewer.

Level of Service shows the output of the level of service algorithms for the batch control. If one algorithm is plugged into the Batch Control, the level of service lookup value along with a message indicating the reason for the output value is shown. If multiple algorithms are plugged in, the text See Results for Details is displayed. There is an icon provided to expand the details returned by each algorithm. If no level of service algorithm is found, then the value Disabled is shown with a message indicating that no algorithm is provided for this batch control.

The Last Update Timestamp, Last Update Instance and Next Batch Nbr are used for audit purposes.

Turn on Accumulate All Instances to control how this batch control is displayed in the Batch Run Tree. If checked, the run statistics (i.e., "Records Processed" and "Records in Error") for a thread are to be accumulated from all the instances of the thread. This would include the original thread instance, as well as any restarted instances. If this is not turned on, only the ending (last) thread instance's statistics are used as the thread's statistics. This may be preferred for certain types of batch processes where the accumulation would create inaccurate thread statistics, such as those that process flat files and, therefore, always start at the beginning, even in the case of a restart.

The following fields are default values that are used when a batch job is submitted for the batch control:
  • Use Thread Count to control whether a background process is run single threaded or in multiple parallel threads. This value defines the total number of threads that have been scheduled.

  • Select Trace Program Start if you want a message to be written whenever a program is started.

  • Select Trace SQL if you want a message to be written whenever an SQL statement is executed.

  • Use Override Nbr Records to Commit to define the default number of records to commit. This is used as the default value for timed jobs as well as online submission of jobs that are not timed.

  • Select Trace Program Exit if you want a message to be written whenever a program is exited.

  • Select Trace Output if you want a message to be displayed for special information logged by the background process.

For more information about these fields, see Batch Job Submission - Main

The parameter collection is used to define additional parameters required for a particular background process. The following fields should be defined for each parameter:

Sequence. Defines the relative position of the parameter.

Parameter Name. The name of the parameter as defined by the background process program.

Description. A description of the parameter.

Detailed Description. A more detailed description of the parameter.

Required. Indicates whether or not this is a required parameter.

Parameter Value. The default value, if applicable. Any value entered here is displayed to a user when submitting a job through online Batch Submission. Users may override the value before submitting the job. This includes resetting the value for an optional parameter. Regardless of how a batch job is submitted, if a value is not supplied for a required parameter, the default value define here, if found, is used. Optional parameters with no value supplied at submission time will not be defaulted to a value defined here. Note that an implementation may define a default value for base provided batch controls.

Security. Indicates whether the system should Encrypt the parameter value or not. A value of Encrypt means that the parameter value is stored in the database and written to the log files using encryption. In addition, the parameter is written to the log files with asterisks. The setting applies to values entered here as well as in the online Batch Submission. If there is no need to secure the parameter value, use the default setting of None.

Owner Indicates if this batch process is owned by the base package or by your implementation (Customer Modification). The system sets the owner to Customer Modification when you add a batch process. This information is display-only.