Chapter 1: Using the ASYNC Jobs (MBJC)

ASYNC (background) jobs are used to process the non-time sensitive file updates, such as analysis and reporting updates, associated with transactions that are processed throughout the day in the following modules: Order Entry, Order Maintenance, Purchase Order Entry, Purchase Order Maintenance, Purchase Order Receiving, PC Manifesting, and Billing. The WMS Background jobs process information received from another system into CWDirect.

Additionally, the WMS ASYNC (background) jobs monitor and process information received from another system into CWDirect, such as information from a warehouse management system, PkMS, or Carousel. See Warehousing Chapter 77: WMS Background Jobs (WPBJ) for information on these ASYNC jobs.

ASYNC jobs are used to process these updates for the following reasons:

• System response time would be affected if all file updates associated with each system transaction were processed interactively.

• File updates can occur more quickly by dynamically updating the files through out the day rather than running an end of day batch process.

• Analysis information can be viewed and reported more quickly.

Example: When new orders are entered onto the system, the order records are created interactively, and if desired, inventory can be reserved for the order. The order can be maintained, viewed, and is eligible for shipment as soon as it is entered.

The marketing information associated with the order is updated via the Order Processing ASYNC function. These file updates occur throughout the day as the records are sent to the data queue associated with the Order Processing ASYNC function.

ASYNC processing allows you to quickly update the files necessary to create and ship the order, and eliminates the need to run a batch process at the end of the day to update all of the system files associated with recording the order.

The following ASYNC jobs are used:

ASYNC Job

Function

CNTL_ASYNC

Starts and ends all of the ASYNC jobs.

BILL_ASYNC

Updates system files as orders are billed.

UEBO_ASYNC

Performs reservation for backordered items when inventory levels for an item change.

ORDR_ASYNC

Updates system files as orders are entered and maintained.

OTHR_ASYNC

Updates system files as purchase orders are entered, maintained, and received.

PCMANASYNC

Produces the Manifest Audit Error Report.

PCINTASYNC

Processes records that are received interactively the PC Manifest system.

THRESMON

Automatically starts and ends with the CNTL_ASYNC; submits the batch order control job to update the Order Control Summary file and Threshold Values file. Also monitors the threshold values to determine if a threshold has been breached.

In this chapter:

Running the ASYNC (Background) Jobs

Starting the ASYNC Jobs

Processing Transactions

Ending the ASYNC Jobs

ASYNC Job Status Codes

Running the ASYNC (Background) Jobs

Purpose: The ASYNC jobs, or background jobs, are used to process system file updates throughout the day. These jobs run in the background and process transactions in sequence as they are sent to the data queues. These jobs are placed in a Wait (DEQW) status when there are no records to process.

The ASYNC subsystem: The ASYNC jobs run in the ASYNC subsystem, which is established for you during the installation process. The ASYNC jobs run in their own subsystem so that they do not interfere with other system processing functions. The ASYNC subsystem must be started for the ASYNC jobs to run

• At the command line, type WRKSBS to see if the ASYNC subsystem is on the list.

• If the ASYNC subsystem is not on the list, start the subsystem by entering STRSBS ASYNC.

The ASYNC subsystem may be started automatically as part of your system startup procedures.

Note: In order to perform certain options at the Work with Background Jobs screen, such as change the status of a process, you need to have the Security administrator flag at the Create User Screen or Change User screen set to Y.

Starting the ASYNC Jobs

The ASYNC jobs must be running to process the records in the data queue files. The controlling ASYNC job (CNTL_ASYNC) is used to start all of the ASYNC jobs.

If you start the ASYNC jobs and the ASYNC subsystem is not running, the status of the CNTL_ASYNC job will be *JOBQ. The status will change to *ACTIVE as soon as the ASYNC subsystem is up.

Note: The Interactive PC Manifest ASYNC (PCINTASYNC) will become active only if one or more companies defined in CWDirect have the PC Manifest Tool (B81) in the System Control file set to TRACERI and Interactive Processing (E56) in the System Control file set to A (for automatic). If you are communicating with the PC Manifest system in a batch mode, the PCINTASYNC job will never become active.

Processing Transactions

As transactions are processed on the system, records are sent to the data queues. The records are processed one-by-one in the sequence in which they were sent to the data queue. A separate data queue is used for each ASYNC job.

The status of each data queue record can be viewed at any point by displaying the data queue associated with the ASYNC job.

Errors: If an error occurs as a record is being processed, the system stops processing the record at the error point, and moves on to the next record in sequence for processing.

The records in error remain on the system until the error is corrected and processing can be fully completed. The errors are listed on the error reports that print when the ASYNC jobs are ended. A separate error report is printed for each ASYNC job.

Processing errors occur when a file associated with the transaction cannot be updated. This usually occurs because the system is attempting to update a record that no longer exists.

Example: If the Source Code record associated with an order is deleted before the order is billed, an error will occur during BILL_ASYNC.

Ending the ASYNC Jobs

The ASYNC jobs must be ended to clear the completed records from the data queue files and to print the error reports. The controlling ASYNC job (CNTL_ASYNC) is used to end all of the ASYNC jobs.

The ASYNC jobs should be ended once per day so that the data queues can be deleted and any errors can be corrected in a timely manner. If you do not bring these jobs down regularly:

• completed records in the data queues will not be deleted and the data queue files will become quite large

• the 'shut down' process will take longer

• errors will be more difficult to correct.

In addition, if the ASYNC subsystem is ended while the ASYNC jobs are active, these jobs will end abnormally; the status of each background job will remain in a *ACTIVE status even though they are not running. You will have to change the status of each job to *INACTIVE to restart the ASYNC jobs.

When the ASYNC jobs are ended:

• A terminator record is sent to each data queue to indicate where processing should stop. All records sent to the data queue before the terminator records will be processed before the ASYNC job ends; all records that were sent after the terminator record will not be processed until the ASYNC job is restarted.

• The data queue will be reorganized. All completed records will be deleted from the data queue files.

• An error report listing all of the records that could not be processed, and the reason for the error, will be printed. A separate error report will print for each ASYNC job.

• The status of the ASYNC jobs will change to *INACTIVE

 

Note: When you end the ASYNC jobs using the CNTL_ASYNC, the PCINTASYNC job may not end immediately. The PCINTASYNC job will become inactive after the Wait Time if Automatic (E57) defined in the System Control file has been reached.

Active procedures: When you end the ASYNC jobs, the Active Procedure file is checked to see if there are users in any of the following functions:

• Order Entry

• Order Maintenance

• Purchase Order Entry

• Purchase Order Maintenance

• Purchase Order Receiving

• Confirmation

• PC Manifest

If an Active Procedures record exists for any of these functions, the ASYNC jobs cannot be ended. A pop-up window displays showing the User ID and the function where the user is active. The user must exit the application before the ASYNC jobs can be ended.

If the user ended the application abnormally, the Active Procedures record may be 'trapped' (e.g., the record is active even though the user has exited the application). In this situation, you must delete the Active Procedures record using the Purge Active Procedures function.

ASYNC Job Status Codes

Status

Description

*ACTIVE

The ASYNC job is up and running.

*INACTIVE

The ASYNC job is not running.

*JOBQ

The ASYNC job has been submitted to the job queue for start-up. The ASYNC jobs are in a *JOBQ status only when the ASYNC subsystem has not been started.

*ENDPEND

The ASYNC job is in the process of ending.

*REORG

Completed records processed by the ASYNC job are being deleted from the files.

SO01_01 CWDirect 18.0 August 2015 OTN