Auto start job subsystems

The subsystems used for auto start jobs are managed in one program, 'Subsystem. Open' (MNS050). The jobs in a subsystem can be started and stopped from the program 'Subsystem Job. Open' (MNS051).

Working with subsystems

(MNS050/B) displays the subsystem. ASJ is the only valid subsystem type. Use option 1='Create' to create a new subsystem.

Use related option 11='Job in subsystem' on a subsystem record to see the connected jobs in 'Subsystem Job. Open' (MNS051).

(MNS050/E) contains the detailed information about the subsystem. The 'Delay' field specifies the default delay in seconds that a job "sleeps" between iterations. The value is normally 60 seconds.

The 'User' field displays the ID of the user that usually starts the subsystem and runs the jobs. This setting can be overridden by entering a user in 'Subsystem Job. Open' (MNS051). The value is normally M3. The user value can define different configurations per user on (MNS100/L) (retrieved from (MNS102), (MNS104)). If you have different system configurations, then there will be different subsystems with their jobs. If you have the same system configuration there will be one subsystem.

Working with subsystem jobs

(MNS051/B) displays all the jobs in the subsystem and enables you to add new jobs. You can select F14='Crt standard' to automatically create the default set of jobs, or you can select option 3='Copy' to manually create the jobs.

Option 11='Sel records' displays 'Subsystem Job. Select Records' (MNS052), where you can select specific jobs to be included.

F14='Crt standard' creates the standard auto start jobs. This function creates all auto start job for one subsystem.

F19='Start all' starts all jobs in (MNS051). Only jobs that have units of work to process are started.

F20='End all' ends all jobs in (MNS051).

Option 20='Start Job' starts the selected job.

Option 21='End job' ends the selected job.

Option 22='Add New Instance' creates a new instance of the selected job.

The 'Status' of a job has these valid values:

  • 10 = Preliminary
  • 20 = Definite
  • 90 = Blocked/expired.
Note: Only jobs with status 20 will run when the subsystem is started.

The 'Delay' field shows the time, in seconds, that elapses from when the job has stopped processing units of work until it should start again. The processing stops when there are no more units of work to process. The delay time entered in 'Subsystem Job. Open' (MNS051) does not affect the batch job manager, CMNGJOB. That time is set in the M3 properties table.

When the auto start job is activated by a work table, the delay starts to look for new data when the queue does not contain any more records, that is, when the 'No rec' field is equal to 0.

When the auto start job is activated by a transaction table, the delay starts to look for new data after all transactions are run and updated.

The 'File' field defines the work table that activates the auto start job. If this record is blank, the auto start job is activated by a transaction table.

The 'No records' field shows the number of records that are queued and waiting to be processed by the auto start job.

The 'Active' field shows if the job is active and in use. Only jobs with status 20 can be active. However, jobs with status 20 can also be inactive for certain reasons.

The 'Select/Omit' (S/O) field shows if a record is selected with option 11='Sel records' to be displayed in 'Subsystem Job. Select Records' (MNS052), where you can restrict the jobs to be included. For some auto start jobs, a subset of units of work can be selected by using 'Subsystem Job. Select Records' (MNS052). This is useful when more than one instance of a job is needed to increase throughput. For example, one job processes units of work for company 001 and another job processes units of work for company 999.

The 'Active change rate' field displays how active the job is during a period of time. It indicates how many status changes occur when the code is executed, for example, READ, READ_LOCK, or CHAIN etc. (same statuses that can be seen in a profiler log). All status changes do not require the same amount of time; for example, SETLL requires almost no time, while a READ_LOCK can take a few seconds. Therefore, the change rate is not an absolute measure of how fast a job is running. It only indicates the frequency of activity in a job.

On (MNS051/E), these fields are displayed:

  • Program - The program that controls the job.
  • Delay - See above
  • File - See above
  • Company, Division – The company and division for which the job is run. If company is not specified here, the default company and division for the user specified in the 'User' field will be used. If no user is specified in the 'User' field, the default company and division for the user entered in 'Subsystem. Open' (MNS050) will be used.
  • System Language - The system language for which the job is run. If system language is not specified here, the default system language for the user entered in the 'User' field will be used. (If the user is not connected to a system language, the job will be run with the language of the program.)
  • User – The user for which the job is run. If no user is specified here, the job is run for the user specified in 'Subsystem. Open' (MNS050).
  • Max queue size – The field indicates the number of records to be distributed to the consumers.
  • Run mode – The field indicates whether the auto-start job runs with In-Memory Queue or as a classic job. Can only be changed for IMQ-enabled jobs.
  • Max nbr consumers – The field indicates the number of parallel thread that will process jobs on queue.
Updates to auto-start jobs are not reflected until CMONASJ is restarted. The process for the update is:
  1. Update the relevant auto-start job.
  2. End/stop CMONASJ.
  3. End/stop the relevant auto-start job.
  4. Start CMONASJ.