Operating Background Jobs

Topics in this part: The following topics describe the functions available to operate the background ASYNC jobs.

  • Using the ASYNC Jobs (MBJC) describes the purpose of the background jobs, provides a brief overview of the each background ASYNC job, explains the steps to use to start and end the background ASYNC jobs, and shows you how to location the function.

  • Working with the CNTL_ASYNC Job shows you how to start and end the background ASYNC jobs, how to reorganize the data queues associated with the background ASYNC jobs, and how to change the status of the background ASYNC jobs.

  • Working with the BILL_ASYNC Job shows you how to display the Billing Header Data Queue, how to correct Billing ASYNC errors, how to change the status of the Billing ASYNC job, and describes the table updates that occur when records are processed by the BILL_ASYNC job.

  • Working with the EBO_ASYNC Job shows you how to display the Evaluate B/O Data Queue, how to correct EBO_ASYNC errors, how to change the status of the EBO_ASYNC job, and describes the table updates that occur when records are processed by the EBO_ASYNC job.

  • Working with the ORDR_ASYNC Job shows you how to display the Order Ship To Data Queue, how to correct ORDR_ASYNC errors, how to change the status of the ORDR_ASYNC job, and describes the table updates that occur when records are processed by the ORDR_ASYNC job.

  • Working with the OTHR_ASYNC Job shows you how to display the PO Header Data Queue, how to correct OTHR_ASYNC errors, how to change the status of the OTHR_ASYNC job, and describes the table updates that occur when records are processed by the OTHR_ASYNC job.

  • Purging Active Procedures (MACP)shows you how to display the Active Procedures for a user and how to delete stranded Active Procedure records for a user.

  • Working with Integration Layer Processes (IJCT) shows you how to work with the integration layer processes used for transmitting data between Order Administration and an external system.

Using the ASYNC Jobs (MBJC)

ASYNC (background) jobs process the non-time sensitive table 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 Maintenance, Purchase Order Receiving, and Billing.

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

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

  • Table updates can occur more quickly by dynamically updating the tables 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 table 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 tables 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 tables associated with recording the order.

The following ASYNC jobs are used:

ASYNC Job Function

CNTL_ASYNC   

Starts and ends all of the ASYNC jobs. See Starting the ASYNC Jobs and Ending the ASYNC Jobs.

BILL_ASYNC

Updates system tables as orders are billed.

EBO_ASYNC     

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

ORDR_ASYNC

Updates system tables as orders are entered and maintained.

OTHR_ASYNC

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

In this topic:

Running the ASYNC (Background) Jobs

Purpose: The ASYNC jobs, or background jobs, are used to process system table 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.

Starting the ASYNC Jobs

The following ASYNC jobs must be running to process the records in the data queue tables. The controlling ASYNC job (CNTL_ASYNC) is used to start the ASYNC jobs.
  • BILL_ASYNC

  • EBO_ASYNC

  • OTHR_ASYNC

Note:

The ORDR_ASYNC job updates system tables with order and demand information as orders are entered and maintained. As you enter or maintain orders, the system sends the records to the Order Processing data queue for processing. As soon as the Order Processing Data queue receives a record to process, the record is processed immediately, regardless of the status of the Order Processing ASYNC (ORDR_ASYNC) job. The ORDR_ASYNC job processes multiple orders simultaneously. While the Order Async job does not need to be active to process records, you should set the Order Async job to active to handle reorganization and cleanup of any transactions that did not process correctly.

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.

Scheduling when the Async Jobs Start: You can create a schedule for a periodic process that contains the STRASYN periodic function to start asyncs.

Function Description Program Summary

STRASYN

Start asyncs

MSSTRASYNC

If the asyncs are currently Inactive, this periodic function calls the Controlling Data Queue (CNTL_ASYNC) in Background Job Control (MBJC) and starts the background jobs.

This periodic function performs the same updates as selecting Start for the CNTL_ASYNC to start the background jobs. See Starting the Background ASYNC Jobs.

For more information:

  • See Working with Periodic Processes (WPPR) for information on how to assign each function to a periodic process.

  • See Executing Periodic Processes (EPRO) for more information on scheduling a periodic process to run at a specified time.

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 table 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.

Status of async jobs: When the Async jobs are active, the system checks the status of each async job under Job Management (My Jobs). If the async job is active and the job status is not RUN, the next time the system checks the status of the async jobs, the system automatically updates the job status to RUN. For example, if the Order Async is Active and you change the ORDR_ASYNC job to END, the system will automatically change the status of the ORDR_ASYNC job back to RUN. To start or stop the Async jobs, you need to start or stop the Controlling Async job in the Background Job Control (MBJC) menu option.

Ending the ASYNC Jobs

The ASYNC jobs must be ended to clear the completed records from the data queue tables and to print the error reports. The controlling ASYNC job (CNTL_ASYNC) is used to end all of the ASYNC jobs. You can use the ENDASYN periodic function to end them.

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 tables will become quite large.

  • The 'shut down' process will take longer.

  • Errors will be more difficult to correct.

For more information: See Troubleshooting the Async Jobs for more information.

Scheduling when the Async Jobs End: You can create a schedule for a periodic process that contains the ENDASYN periodic function to end asyncs.

Function Description Program Summary

ENDASYN

End asyncs

MSENDASYNC

If the asyncs are currently Active, this periodic function calls the Controlling Data Queue (CNTL_ASYNC) in Background Job Control (MBJC) and ends the background jobs.

This periodic function performs the same updates as selecting End for the controlling data queue to end the background jobs; however, any records in the data queue will be processed when the background ASYNC jobs are restarted. See Ending the Background ASYNC Jobs for more information on the updates that are performed.

For more information:

  • See Working with Periodic Processes (WPPR) for information on how to assign each function to a periodic process.

  • See Executing Periodic Processes (EPRO) for more information on scheduling a periodic process to run at a specified time.

When the ASYNC jobs are ended:

  • If you manually end asyncs, a terminator record is sent to each data queue to identify the last record to be processed. Records sent to the data queue before the terminator record will be processed; records sent to the data queue after the terminator record was sent will be processed when the background ASYNC jobs are restarted.

  • If you use the ENDASYN periodic function to end asyncs, any records in the data queue will be processed when the background ASYNC jobs are restarted.

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

  • 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.

If someone reboots the server: If someone restarts Order Management System while an asynchronous job is active, the system updates the job on the Job Management Screen (under My Jobs) to MSG status. In this situation, you will need to run the JOBCLN periodic function. See Running the JOBCLN Periodic Function to Correct the Async Jobs for more information.

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 tables.

Working With the CNTL_ASYNC Job

The controlling ASYNC job (CNTL_ASYNC) is used to start and end each of the background ASYNC jobs. When you start the CNTL_ASYNC job, all of the background ASYNC jobs start; when you end the CNTL_ASYNC job, all of the background ASYNC jobs end. You cannot start or end an individual background ASYNC job.

You should end the CNTL_ASYNC job each day, when your operations for the day are complete. When you end the CNTL_ASYNC job:

  • Records that were processed successfully for each background ASYNC job are deleted from the data queue tables.

  • An error list is produced for each background ASYNC job.

Ending the background ASYNC jobs allows you to delete unnecessary records from the system, and enables you to correct any processing errors in a timely manner.

In this topic:

Work with Background Jobs Screen

Purpose: This screen displays the current status of each background ASYNC job. This screen is used to start or end the ASYNC jobs, to display the records in the data queue associated with each job, or to reorganize the data queues.

All of the options on this screen can be used with the Controlling ASYNC (CNTL_ASYNC) job.

How to display this screen: Enter MBJC in the Fast path field at the top of any menu or select Background Job Control from a menu.

Field Description

Job name

The name of the ASYNC job.

The ASYNC jobs are:

  • BILL_ASYNC = Billing background job

  • CNTL_ASYNC = Controlling background job

  • EBO_ASYNC = Evaluate backorders background job

  • ORDR_ASYNC = Order processing background job

  • OTHR_ASYNC = Other background job purchase orders)

Alphanumeric, 10 positions; optional.

Description

The description of the data queue associated with the ASYNC function.

Alphanumeric, 40 positions; optional.

Status

The status of the ASYNC job.

Valid status codes are:

  • *ACTIVE = the ASYNC function is running

  • *INACTIVE = the ASYNC function has ended

  • *JOBQ = the ASYNC function has been submitted to the job queue for startup

  • *Endpend = the ASYNC function is in the process of ending

  • *Reorg = the data queue associated with the ASYNC function is being reorganized

Alphanumeric, 10 positions; display-only.

Control

A code indicating whether the ASYNC function is a controlling function.  The controlling function is used to start, end, and reorganize the data queues for the ASYNC functions it controls.  Currently, the CNTL_ASYNC function is the only controlling function.  

Valid codes are:

  • Y = the ASYNC function is a controlling function

  • N = the ASYNC function is not a controlling function.

Note:

In order to perform certain options at the Work with Background Jobs screen, you need to have the Security administrator flag for the user selected. See User Configuration in the Administration Guide for more information.
Screen Option Procedure

Display the attributes of an ASYNC job

Select Display for an ASYNC job to advance to the Display Asynchronous Job Screen (Displaying the CNTL_ASYNC Job).

Start the background ASYNC jobs

Select Start for the CNTL_ ASYNC job to start all of the ASYNC jobs.   See Starting the Background ASYNC Jobs.

End the background ASYNC jobs

Select End for the CNTL_ ASYNC job to end all of the ASYNC jobs. See Ending the Background ASYNC Jobs.

Reorganize the data queue for a background ASYNC job

Select Reorganize queue for the CNTL_ ASYNC job to reorganize the data queues associated with each   ASYNC job. See Reorganizing the ASYNC Job Data Queues.

Display the data queue for an ASYNC job

Select Display Data queue for an ASYNC job.

Display Data queue cannot be used with the CNTL_ASYNC.

Work with Drop Ship background jobs

Select Drop Ship Jobs to advance to the Work with Drop Ship Background Jobs Screen.

Work with integration layer jobs

Select Integration Layer to advance to the Work with Integration Layer Process Screen.

Display Asynchronous Job Screen (Displaying the CNTL_ASYNC Job)

Purpose: Use this screen to display descriptive information about an ASYNC job such as the CNTL_ASYNC job.

How to display this screen: Select Display for a job at the Work with Background Jobs Screen.

Field Description

Process name

The name of the process for this ASYNC job. Listed as the Workstation for the ASYNC job at the screen in Purge Active Procedures Across Users (MACX).

The data queues are:

  • CNTL_ASYNC = CNTRLDATAQ

  • BILL_ASYNC = BILLDATAQ

  • EBO_ASYNC = EVLBODATAQ

  • ORDR_ASYNC = ORDERDATAQ

  • OTHR_ASYNC = OTHERDATAQ

Alphanumeric, 10 positions; display-only.

Job name

The name of the ASYNC job.

The ASYNC jobs are:

  • BILL_ASYNC = Billing background job

  • CNTL_ASYNC = Controlling background job

  • EBO_ASYNC = Evaluate backorders background job

  • ORDR_ASYNC = Order processing background job

  • OTHR_ASYNC = Other background job purchase orders)

Each ASYNC job is discussed separately in this part.

Alphanumeric, 10 positions; optional.

Description

The description of the ASYNC job.

Alphanumeric, 40 positions; display-only

Start

The date and time the ASYNC job was last started and the User ID of the person who started it.

(Date):  Numeric, 6 positions; display-only.

(Time):  Numeric, 6 positions; display-only.

(User ID):  Alphanumeric, 10 positions; display-only.

End

The date and time the ASYNC job was last ended and the User ID of the person who ended  it.

(Date):  Numeric, 6 positions; display-only.

(Time):  Numeric, 6 positions; display-only.

(User ID):  Alphanumeric, 10 positions; display-only.

Controlling job

A flag indicating whether this function controls other ASYNC functions. The controlling ASYNC function starts and ends other ASYNC functions.

Valid values are:

  • Selected = This is a controlling ASYNC function.

  • Unselected = This is not a controlling ASYNC function.

The CNTL_ASYNC job is the only controlling ASYNC job.

System Option

A flag indicating whether this function is a system function that cannot be deleted by the user.

Valid values are:

  • Selected = This function cannot be deleted by the user.

  • Unselected = This function can be deleted by the user.

Status

The current status of the function.

Valid status codes are:

  • *ACTIVE

  • *INACTIVE

  • *ENDPEND

  • *JOBQ

  • *REORG

Display-only.

Starting the Background ASYNC Jobs

Purpose: The CNTL_ASYNC job is used to start and end all of the other background ASYNC jobs.

The following background jobs must be active for the records in the data queues to be processed. If the background ASYNC job is not active, records will be held in the data queue until you start the background ASYNC jobs.

  • BILL_ASYNC

  • EBO_ASYNC

  • OTHR_ASYNC

Note:

The ORDR_ASYNC job updates system tables with order and demand information as orders are entered and maintained. As you enter or maintain orders, the system sends the records to the Order Processing data queue for processing. As soon as the Order Processing Data queue receives a record to process, the record is processed immediately, regardless of the status of the Order Processing ASYNC (ORDR_ASYNC) job. The ORDR_ASYNC job processes multiple orders simultaneously. While the Order Async job does not need to be active to process records, you should set the Order Async job to active to handle reorganization and cleanup of any transactions that did not process correctly.

Starting the Background ASYNC jobs

You can start the background ASYNC jobs manually at the Work with Background Jobs Screen, or create a periodic process to schedule the ASYNC jobs to start at a specified time.

When you start the background ASYNC jobs, the system removes any terminator records that may exist in the data queues. The system creates a terminator record in the data queues when you end the background async jobs to determine which records to process before the asyncs are brought down and which records to process when the asyncs are restarted. Multiple terminator records may exist in the data queues if you run the ENDASYN periodic function to end the asyncs when the asyncs are already inactive. Because you are now starting the background async jobs, the system no longer needs the terminator records to determine when to reprocess the records in the data queue and instead will process all records that may exist in the data queues.

Before you start the background ASYNC jobs: To start the background ASYNC jobs, the status of each job must be *INACTIVE and each job must not be running. You can use the Display Active Batch Jobs Screen menu option to verify that the jobs are not running.

To manually start the ASYNC jobs:

  1. At the Work with Background Jobs Screen, review the status of the background jobs. The jobs must be started if the status is *INACTIVE.

  2. Select Start for the CNTL_ASYNC job.

  3. The status of the ASYNC jobs should be *ACTIVE.

Unable to start? The system verifies that the job is not currently in active status and is not actually running on any server. If the job is already in active status, or is actually running on a server, the screen displays an error message.

To resolve issues with the job’s status, use the JOBCLN periodic function.

To schedule the ASYNC jobs to start at a specified time: 

Create a schedule for a periodic process that contains the STRASYN periodic function to start asyncs.

Function Description Program Summary

STRASYN

Start asyncs

MSSTRASYNC

If the asyncs are currently Inactive, this periodic function calls the Controlling Data Queue (CNTL_ASYNC) in Background Job Control (MBJC) and starts the background jobs.   

This periodic function performs the same updates as selecting Start for the CNTL_ASYNC to start the background jobs.

For more information:

Ending the Background ASYNC Jobs

Purpose: You can end the background ASYNC jobs manually at the Work with Background Jobs Screen, or create a periodic process to schedule the ASYNC jobs to end at a specified time.

Use the CNTL_ASYNC job to end all of the other background ASYNC jobs. You should bring down the background jobs at the end of your processing day.   

When you bring down the background ASYNC jobs:

  • If you manually end asyncs, a terminator record is sent to each data queue to identify the last record to be processed. Records sent to the data queue before the terminator record will be processed; records sent to the data queue after the terminator record was sent will be processed when the background ASYNC jobs are restarted.

  • If you use the ENDASYN periodic function to end asyncs, any records in the data queue will be processed when the background ASYNC jobs are restarted.

  • The data queues are reorganized. All completed records are deleted from the data queue tables. Records that have not been fully processed will be reloaded to the data queue when the background ASYNC jobs are restarted.

  • An error list prints for each background ASYNC job, listing the records that could not be fully processed and the reason for the error.

When the jobs end: The status of each background job will change from *ACTIVE to *INACTIVE. (You may see *ENDPEND or *REORG before you see *INACTIVE, depending upon how long it takes to end each job.)

Note:

You must end the background ASYNC jobs before the ASYNC subsystem is brought down. If you bring down the ASYNC subsystem while the background ASYNC jobs are running, the jobs will be ended but will remain in an *ACTIVE status. You will then need to run the JOBCLN periodic function to reset the status correctly. See Using the JOBCLN Function to Resolve Job Status Across Servers.

To manually end the ASYNC jobs:

  1. Select End for the CNTL_ASYNC job at the Work with Background Jobs Screen.

  2. The status of the ASYNC jobs changes to ENDING and then to INACTIVE.

  3. When you end the ASYNC jobs, the Display Active Procedure window displays if there are any active procedures for the Order Entry/Maintenance, Purchase Order Maintenance, Receiving, or Confirmation functions. The system creates these records to prevent possible conflicts when users are engaged in these activities. See Display Active Procedure Window.

Unable to end? The system verifies that the job is not currently in inactive status and is actually running server. If the job is already in inactive status, or is not actually running on a server, the screen displays an error message.

To resolve issues with the job’s status, use the JOBCLN periodic function.

Display Active Procedure Window

This window opens when you end the ASYNC jobs if there are any active procedures for the Order Entry/Maintenance, Purchase Order Maintenance, Receiving, or Confirmation functions. The system creates these records to prevent possible conflicts when users are engaged in these activities.

If a user is active in a function:

  • the user can exit the function before the ASYNC jobs end. Depending on the activity, the user might need to exit Order Administration and then reenter, if needed, to clear the active procedure record.

  • you can select Delete next to each active procedure record to delete the active procedure, or select Delete all to delete them all. Deleting the active procedure does not force the user out of the activity; there is no signal of the deletion to the user and the user can continue entering updates to the record. However, this allows more than one user to access the same record, such as an order or a customer and possibly overwrite each other’s updates.

If neither of these steps clears the active procedure record, you will need to purge the Active Procedures table. See Purging Active Procedures (MACP).

Field Description

Job #

The system job number assigned to the active procedure.

Numeric, 6 positions; display-only

Program description

The description of the program associated with the Active Procedures record.

Alphanumeric, 3 positions; display-only.

User

The User ID of the person engaged in the activity that created the Active Procedures record.  

Alphanumeric, 10 positions; display-only.

Workstation

The Workstation ID where the user is working.

Alphanumeric, 10 positions, display-only.

Start date

The date when the Active Procedures record was created.  This is the date the user entered the application.

Numeric, 6 positions; display-only.

Time

The time when the Active Procedure record was created.  This is the time the user entered the application.

Numeric, 6 positions; display-only.

To remove active procedures:

  1. Have each person whose name appears in the window exit the application so that you can end the ASYNC jobs. It may be necessary to exit Order Administration temporarily to delete the active procedure record, or

  2. Select Delete next to each active procedure record to delete the active procedure. Deleting the active procedure does not force the user out of the activity; there is no signal of the deletion to the user and the user can continue entering updates to the record. However, this allows more than one user to access the same record, such as an order or a customer and possibly overwrite each other’s updates.

  3. Use Purging Active Procedures (MACP) to delete any stranded Active Procedure records, if necessary. You can also purge active procedures for interactive jobs that are older than a specified number of hours using the Delete Stranded Active Procedures (PFR0121) periodic function.

  4. Select Refresh to refresh the Active Procedure Window to monitor whether the users have exited.

  5. Select Exit to exit the window and return to the Work with Background Jobs Screen.

Deleting active procedure records: You can delete the Active Procedure records at this window by selecting Delete for each record in the window. Deleting the active procedure does not force the user out of the activity, such as order entry; there is no signal of the deletion to the user and the user can continue entering updates to the record. However, it is not recommended to delete Active Procedure records in this way, because it removes the safeguard against two users potentially accessing the same record, such as an order or customer, at the same time.

To schedule the ASYNC jobs to end at a specified time:

Create a schedule for a periodic process that contains the ENDASYN periodic function to end asyncs.

Function Description Program Summary

ENDASYN

End asyncs

MSENDASYNC

If the asyncs are currently Active, this periodic function calls the Controlling Data Queue (CNTL_ASYNC) in Background Job Control (MBJC) and ends the background jobs.

This periodic function performs the same updates as selecting End for the controlling data queue to end the background jobs; however, any records in the data queue will be processed when the background ASYNC jobs are restarted.

Note:

When you end the ASYNC jobs using the job scheduler, the system does not look for active procedures, and instead, ends the asyncs immediately.

For more information:

  • See Working with Periodic Processes (WPPR) for information on how to assign each function to a periodic process.

  • See Executing Periodic Processes (EPRO) for more information on scheduling a periodic process to run at a specified time.

Reorganizing the ASYNC Job Data Queues

Purpose: The data queues associated with the ASYNC jobs are reorganized when the ASYNC jobs are ended. Use the Reorganize queue option as a recovery tool only when the ASYNC jobs end abnormally before the data queues have been reorganized. This option allows you to reorganize the data queues before the next ASYNC job end is processed.

To determine if the data queues were reorganized: Display the data queue for an ASYNC job. If the entry date for a record is earlier than the date you last ended the ASYNC jobs, or if records are in a *BLANK status, the data queues were not reorganized. If you do not use the Reorganize queue option, the data queues will be reorganized the next time you end the ASYNC jobs.

When you use the Reorganize queue option, the system deletes completed records from the data queue tables associated with the ASYNC jobs. Records that have not been fully processed will be reloaded to the data queues when the background ASYNC jobs are restarted.

The Reorganize queue option is available only with the CNTL_ASYNC job. All of the ASYNC jobs must be in a *INACTIVE status, and there can be no Active Procedures records for Order Entry, Order Maintenance, Purchase Order Maintenance, Receiving, and Confirmation functions.

Before you reorganize the data queues: Before you attempt to reorganize the data queues, you should make sure that the status of each ASYNC job is *INACTIVE.

How to reorganize the data queues: Select Reorganize queue for the CNTL_ASYNC job at the Work with Background Jobs Screen.

Active procedures window: A pop-up window opens if there are any users in the Order Entry/Maintenance, Purchase Order Maintenance, Receiving, or Confirmation functions. The data queues cannot be reorganized if there are any users in these functions. See Ending the Background ASYNC Jobs

For more information: See Troubleshooting the Async Jobs for more information on the steps you should take if you suspect the async jobs are not running correctly.

Troubleshooting the Async Jobs

Use the following steps if you suspect that the async jobs are not running correctly.

Determining the Status of the Async Jobs

Use the Display Active Batch Jobs Screen to determine if the async jobs are running across all Order Administration application servers.

Verifying the Status of the Async Jobs

The batch jobs displayed on the Display Active Batch Jobs Screen are the jobs that are currently running across all Order Administration application servers. The My Jobs field on this screen indicates if the status of the batch job on the Job Management Screen is accurate. The table below indicates the action to take, based on the status of the async job on the Display Active Batch Jobs screen.

Async Status in My Jobs Field: Indicates: Action to Take:

RUN

The async job is running and the status of the job on the Job Management Screen is accurate.

Verify that the status of each of the async jobs that is running displays as *ACTIVE on the Work with Background Jobs Screen.

What if the async job is active but no records are being processed? If this situation occurs, it is possible that the controlling async data queue table has been cleared. To correct, use the JOBCLN periodic function.

MSG

The async job is running, but the status on the Job Management Screen is not accurate.

When the Async jobs in the Background Job Control (MBJC) menu option are active, the system checks the status of each async job on the Job Management screen. If the async job is active and the job status is not RUN, the next time the system checks the status of the async jobs, the system automatically updates the job status to RUN.

1. If an async job is listed on the Display Active Batch Jobs Screen and its My Jobs status is not RUN, wait a few minutes to see if the system will automatically update the status to RUN.

2. Once the status updates to RUN, verify that the status of the async jobs displays as *ACTIVE on the Work with Background Jobs Screen.

If the async job does not auto-update to a RUN status, you will need to determine if an error occurred. See Reviewing the Async Job Log.

Use the JOBCLN periodic function to correct the async jobs. See Running the JOBCLN Periodic Function to Correct the Async Jobs for more information.

Note:  Never try to end an actively running async job by manually ending it on the Job Management Screen. This does not actually end the async job.

ERR

The async job is running, but a user has manually ended the job on the Job Management Screen while its status was MSG.

END

The async job is running, but a user has manually ended the job on the Job Management Screen.

*RMV*

The async job is running, but a user has removed the job from the Job Management Screen.

End the CNTL_ASYNC that submitted the job. See Ending the Background ASYNC Jobs for instructions.

Once you end the CNTL_ASYNC, the system ends the async job and removes the async job from the Display Active Batch Jobs Screen since it is no longer running. You will need to restart the CNTL_ASYNC in order to resubmit the job and run it again.

Note: Never remove an actively running async job from the Job Management Screen. If you do this, the system removes all traces of the job from the system, even though the job is still actively running.

Running the JOBCLN Periodic Function to Correct the Async Jobs

Running the JOBCLN Periodic Function to Correct the Async Jobs

The JOBCLN periodic function corrects the status of ASYNC jobs across all servers as follows.

Correcting the status of the BILL_ASYNC, EBO_ASYNC, OTHR_ASYNC, and ORDR_ASYNC:

  • Currently running? If one of these ASYNC jobs is currently running, the JOBCLN function does the following:

    • If the status is INACTIVE, change the status to ACTIVE; otherwise, do not change the status. Also, for the BILL_ASYNC job, make sure that there is an active procedure if the job is running.

    • If there are multiple Ending records for an async job, delete all but one.

    • If the job is in END, FIN, or MSG at Job Management (My Jobs) screen, change the status to RUN and update Job History (Display Job History (DJHY)).

  • Not currently running? Otherwise, if the ASYNC job is not currently running, the JOBCLN function does the following:

    • If the status is ACTIVE, change it to INACTIVE.

    • If there is an active procedure for the BILL_ASYNC job, delete it.

    • If the job is in RUN or MSG status, or any status except END at the Job Management screen, change the status to END and update Job History.

Correcting the status of the CNTL_ASYNC job:

  • Currently running? If the job is running, the JOBCLN periodic function does the following:

    • If the status is INACTIVE, update it to ACTIVE; otherwise, do not change status.

    • If the status is not in ENDING or REORG status, delete any Ending records for each of the ASYNC jobs.

    • If the status is END, FIN, or MSG at the Job Management screen, update the status to RUN and update Job History.

    • If the EBO_ASYNC or ORDR_ASYNC jobs are INACTIVE, start them.

    • If the BILL_ASYNC or OTHR_ASYNC are INACTIVE, do not change the status because each will start up automatically when data arrives in its queue.

  • Not currently running? If the CNTL_ASYNC is not currently running, the JOBCLN periodic function does the following:

    • If any other ASYNC job is ACTIVE, create an Ending record if one does not exist.

    • If any of the other ASYNC jobs are INACTIVE, delete any Ending records for those jobs.

    • If the CNTL_ASYNC status is ACTIVE or ENDING or JOBQ, change to INACTIVE.

    • If the status is REORG and the REORG Job is not currently running, change the status to INACTIVE.

    • If the status is RUN, FIN, MSG, or any other status at the Job Management screen, update the status to END and update Job History.

Reviewing the Async Job Log

If the async job remains in a MSG status without being auto-corrected by the system, you can also review the async job log to determine if an error occurred.

Async Job Log

To review the async job log: Click the logFile link for the async job on the Job Management Screen to advance to the Log file screen. Note: If the logFile is not a link, the async job was submitted from a different application server; you must log on to the other application server to review the async job log.

If an error occurred during async processing, the system writes an entry similar to the following in the async job log:

2009-04-18 22:09:10,161 ERROR [ JENASYS] execute(): status change to [MSG]:334547java.lang.RuntimeException: java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: The result set has no current row. (JenasysJob.java:297)

2009-04-18 22:09:10,177 ERROR [ JENASYS] run(): Job status change to [MSG]. In 'invokeHandler' EXCEPTION occured while calling processServiceRequest. java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: The result set has no current row. (JenasysJob.java:701)

If an error exists in the async job log, copy the error and the log so that the problem can be researched if needed.

If an error occurred for one async job: Use the JOBCLN periodic function. See Using the JOBCLN Function to Resolve Job Status Across Servers for more information.

Working With the BILL_ASYNC Jobs

Purpose: The BILLING ASYNC job updates system tables with sales and shipment information as orders are billed.

As orders are confirmed, items returned, or records are uploaded from the PC Manifest system, the system sends records to the Billing data queue for processing. If the Billing ASYNC (BILL_ASYNC) job is active, it processes the records immediately. If the job is inactive when the records arrive, the BILL_ASYNC job processes them when it becomes active again. Records for virtual stored value cards are given priority for processing, and all other records are processed afterward in the sequence in which they arrive at the data queue.

If there are any errors, processing for that order stops at the error point. The system begins processing for the next order record in sequence. You should correct any errors that exist as soon as possible so that your system tables update properly. See Working with BILL_ASYNC Status Messages.

You can review the status of each record in the data queue at any point at the Display Billing Header Data Queue Screen 

To generate a shipment or return confirmation: Order Administration generates a shipment or return confirmation email or Outbound Email XML Message (CWEmailOut) when you:

For more information see the Order Administration Web Services Guide on My Oracle Support (ID 2953017.1).

For more information: See Troubleshooting the Async Jobs for more information on the steps you should take if you suspect the async jobs are not running correctly.

In this topic:

Related System Control Values

The following system control values affect the function of the BILL_ASYNC job.

System Control Value Description

Use Async Start Date for Billing Transactions (E95)

If this system control value is selected, the Override Async Start Date pop-up window opens when you start the CNTL_ASYNC job.

In this window you can specify a date other than the system date to update billing transaction records and ensure a clean cutoff for billing. You must confirm your entry after completing the pop-up window. See Working with the CNTL_ASYNC Job.

If this system control value is unselected, the system date is used for all billing transactions. Because Order Administration can be set up with multiple companies each with different settings, if any company has the system control value selected, the pop-up window is displayed. The override date that you enter at the window is used only for those companies that have the system control value selected; the system date is used for any company where the system control value is unselected.

Number of Billing Async Jobs to Start (F08)

This system control value indicates how many instances of the BILL_ASYNC job to run when you start the CNTL_ASYNC job. You can choose to run more than one BILL_ASYNC job to increase the rate at which you process billing transactions.

Because the background jobs run for all companies in Order Administration, the system checks the setting for this system control value in all companies, and uses the highest value (up to 9). A setting of 0 or 1 will cause the system to run one BILL_ASYNC job only. See

Note: For better system performance, if you run more than one Billing Async job, you should also select Delay Billing Updates (K85) to defer updates.

Unique job names: If the Number of Billing Async Jobs to Start (F08) is set to more than 1 and Delay Billing Updates (K85) is selected, each submitted BILL_ASYNC job is assigned a unique name. The first is always named BILL_ASYNC, the second is named BILL_ASYNC_02, and so on.

Delay Billing Updates (K85)

If this system control value is selected, the Billing Async defers certain updates until you run the Delay Billing Update Process.

If this system control value is unselected, the Billing Async completes all updates immediately.

See Updates During Background Processing for more information on the billing updates that occur immediately and the updates that are processed by the Delay Billing Update Process.

Hold Invoices for Multi-Recipient Orders (G07)

This system control value defines whether the system holds invoices for multi-recipient orders until all of the pick slips for the order are confirmed. If this system control value is selected, the system determines if the pick slip being confirmed is the last pick slip that needs to be confirmed for the multi-recipient order.

If the pick slip is the last pick slip that needs to be confirmed for the order, the system:

  • submits all of the pick slips associated with the order to the BILL_ASYNC

  • places the order in a closed status

  • creates an invoice for all of the pick slips associated with order

If the pick slip is not the last pick slip that needs to be confirmed for the order, the system:

  • places the pick slip in a B (billing pending) status until all of the pick slips for the order have been confirmed

  • does not create an invoice

  • keeps the order in an open status

  • writes an order transaction history message indicating that the pick slip has been confirmed

Capture Addresses for Invoice (J24)

If this system control value is selected, the system saves the billing and shipping addresses for each invoice during billing. The shipping address is used to calculate tax.

Preload Deposits (L78)

If selected, billing creates records in the CC Deposit Transaction table and CC Deposit History table immediately after creating records in the Invoice Payment Method table.

Display Asynchronous Job Screen (Displaying the Billing ASYNC Job)

Purpose: Use this screen to display the job attributes for each background ASYNC job, including the Billing ASYNC job.

How to display this screen: Select Display for the BILL_ASYNC job at the Work with Background Jobs Screen.

Field Description

Process name

The name of the process for this ASYNC job. The name of the billing data queue is BILLDATAQ.

Alphanumeric, 10 positions; display-only.

Job name

The name of the ASYNC job.

Alphanumeric, 10 positions; display-only.

Description

The description of the ASYNC job.

Alphanumeric, 40 positions; display-only.

Start

The date and time the ASYNC job was last started and the User ID of the person who started it.

(Date): Numeric, 6 positions; display-only.

(Time): Numeric, 6 positions; display-only.

(User ID): Alphanumeric, 10 positions; display-only.

End

The date and time the ASYNC job was last ended and the User ID of the person who ended it.

(Date): Numeric, 6 positions; display-only.

(Time): Numeric, 6 positions; display-only.

(User ID): Alphanumeric; 10 positions; display-only.

Controlling job?

A flag indicating whether this job controls other ASYNC functions. The controlling ASYNC job starts and ends other ASYNC functions.

Valid values are:

  • Selected = This is a controlling ASYNC job.

  • Unselected = This is not a controlling ASYNC job.

The CNTL_ASYNC job is the only controlling ASYNC job.

System Option?

A flag indicating whether this job is a system function that cannot be deleted by the user.

Valid values are:

  • Selected = This job cannot be deleted by the user.

  • Unselected = This job can be deleted by the user.

Status

The current status of the job.

Valid status codes are:

  • *ACTIVE

  • *INACTIVE

  • *ENDPEND

  • *JOBQ

  • *REORG

Display-only.

Display Billing Header Data Queue Screen

Purpose: This screen displays the records that were sent to the data queue for processing since the last time the ASYNC job was ended. Records are sent to the data queue when orders are confirmed or items are returned.

Records for virtual stored value cards are given priority for processing, and all other records are processed afterward in the sequence in which they arrive at the data queue.

The status of each record, indicating if the record was processed or if any errors exist, displays.

How to display this screen: Select Display Data Queue for the BILL_ASYNC job at the Work with Background Jobs Screen.

Field Description

Cmp (Company)

The number of the company for which the transaction was processed. If you are running operations for more than one company, transactions for all companies are submitted to the same data queue.

Numeric, 3 positions; display-only.

Date

The date when the transaction was submitted to the data queue for processing.

Numeric, 6 positions (in user date format); display-only.

Time

The time when the transaction was submitted to the data queue for processing.

Note:  The number of seconds might exceed 59 if the ASYNC job processed 60 or more records in a minute.

Numeric, 6 position (HH:MM:SS format); display-only.

Job #

The job number assigned to the transaction when it was submitted to the data queue.

Numeric, 6 positions; display-only.

B/A

A code indicating whether the record represents a before image or an after image for the transaction. After records are written for all transactions; before records are written for orders that have been maintained.

Valid codes are:

  • B = The record represents the order information before the transaction was processed.

  • A = The record represents the order information after the transaction was processed.

Alphanumeric, 1 position; display-only.

Processed

The status of the record. The record is either not processed, in process, in error, or processed. A status message displays for each step.

Alphanumeric, 30 positions; display-only.

Ordr ship to

The order ship-to number for which the record is being processed.

(Order #): Numeric, 8 positions; display-only.

(Ship-to): Numeric, 3 positions; display-only.

Trans

A code identifying the function from which the transaction originated. Valid status codes are:

  • CF = Confirmation

  • DS = Drop Ship

  • EB = Evaluate Backorders

  • OE = Order Entry

  • OM = Order Maintenance

  • PM = Purchase Order Maintenance

  • PR = Receiving

  • RA = Return Authorization

  • US = Unspecified

Alphanumeric, 2 positions, display-only.

Working with BILL_ASYNC Status Messages

Purpose:You can review the status of each data queue record by displaying the data queue. You must correct the error before the billing transaction can be fully processed.

BILL_ASYNC status messages: This table lists the status messages that you may see when displaying the Billing Header Data Queue

Message Message ID Error Reason/Action Required

Processing has begun

-----

None.

All updates complete

-----

None. The record was fully processed.

Cust Bill To Change

OA20931

A Bill To record does not exist for the customer in the Customer Bill To table. This error cannot be corrected by the user.

Cust Ship To Change

OA20937

A Ship To record does not exist for the customer in the Customer Ship To table. This error cannot be corrected by the user.

Cust Sold To Change

OA20939

A Sold To record does not exist for the customer in the Customer Sold To table. This error cannot be corrected by the user.

Division Change

OA22980

A Division record does not exist for the division under which the order was entered, and must be created. See Working with Divisions (WDIV).

OHD in Use

OA21782

The order is currently being maintained (the Order Header record is in use). The system will process the record when the Order Header record is no longer in use.

OHD# Error

OA21153

The Order Header record does not exist. This error cannot be corrected by the user.

OST# Error

OA21170

The Order Ship To record does not exist. This error cannot be corrected by the user.

PCH in Use

OA22373

The Pick Control record is in use. The system will process the record when the Pick Control record is no longer in use.

Salesman Change

OA21795

A Salesman record does not exist for the sales representative assigned to the order, and must be created. See Working with Sales Representatives (WSLS).

Ship Via Change

OA21696

A Ship Via record does not exist for the carrier being used to ship the order, and must be created. See Working with Ship Via Codes (WVIA).

Source Change

OA21695

A Division record does not exist for the division under which the order was entered, and must be created. See Working with Source Codes (WSRC).

Updates During Background Processing

Purpose: The following tables list the field and table updates during the BILL_ASYNC procedure.

Immediate Billing Updates

The following billing updates occur immediately during the BILL_ASYNC procedure.
Table Updates

CC Deposit Transaction

Creates records if the Preload Deposits (L78) system control value is selected

CC Deposit History

Creates records if the Preload Deposits (L78) system control value is selected

IL Outbound Trigger (MSILOU)

Creates a record with a File/Key type of CAS for each shipment on an order whose order type matches the ChannelAdvisor Order Type (L90). See ChannelAdvisor Integration Overview, especially Sending Shipment Confirmations to ChannelAdvisor.

Invoice Address (OEINAD)

Creates a record for the shipping and billing address for each invoice if the Capture Addresses for Invoice (J24) system control value was selected

Invoice Currency (MSINCU)

Creates/updates records if the Multi Currency by Offer (E03) system control value or Track Invoice Currency (D68) system control value is selected

Invoice Detail (OEINDT)

Creates/updates records

Note:  The system bypasses the creation of an Invoice Detail record for a drop ship line when the order line status is X Closed OR the quantity shipped is equal to or greater than the quantity ordered. If this situation occurs, the system writes a message similar to the following in the Application Log: Drop ship line skipped/already billed: 555/00039520/001/00001.

Invoice Detail Charge (INIDCP)

Creates/updates records

Invoice Detail Pay Method (CSINVP)

Creates/updates records

Invoice Header (OEINHD)

Creates/updates records

Invoice Pay Method (CSINVP)

Creates/updates records

Invoice Ship To (OEINSH)

Creates/updates records

Item Location (INILOC)

Reduce quantity on-hand

Reduce printed quantity

Item Transaction History

Creates/updates records

Item Warehouse (INIWRE)

Units sold, $ Sold

Units returned, $ returned

Reduce quantity on-hand

Item Warehouse History (INIWRH)

Units sold, $ sold

Units returned, $ returned

Order Orchestration

Note: The system also sends a status update with a status of Fulfilled for a delivery order, or In transit for a ship-for-pickup order. See Order Orchestration Integration for an overview.

Updates the Status to Complete.

If no response is received, updates the Status to Resend Fulfilled (delivery order) or Resend Intransit (ship-for-pickup order).

Order Detail (OEORDT)

Updates status

Adjusts quantities

Order Line History

Creates/updates records

Order Payment Method (OEPAYM)

Updates amounts billed and credit

For a retail pickup or delivery order from the Order Orchestration, deactivates the payment method

Order Ship To (OEORST)

Updates order balance amounts

Order Shipment Details

Creates a record for a shipment if a tracking number is specified, and generates the order request message to Narvar if the Narvar Integration is enabled

Refunds (CSRFND)

Creates/updates records

Reserved Order Line (FLRSOL)

Updates/deletes records

Stored Value Card (OESVCD)

Create a record for each unit of a stored value card item billed on the order; see Billing a Stored Value Card

Tickler (MSTKLR)

Creates/updates records if the Use Workflow Management (H96) system control value is selected and billing activates a tickler rule

Batch Billing Updates

If the Delay Billing Updates (K85) system control value is selected, the system delays the following billing updates until you run the Delay Billing Update Process; otherwise, these updates also occur immediately.

Table Updates

Carton Contents

Create carton contents records

Customer Bill To (CSCBIL)

# of invoices

# of sales

Sales LTD

Sales YTD

$ on order

# of Credits

Customer Membership (OECSMP)

Create or deactivate customer loyalty memberships based on total sales dollars or customer class. See Loyalty Memberships for an overview.

Customer Ship To Entity (OECHEP)

Units and $ Sales LTD

Units and $ Exchanges LTD

Units and $ Returns LTD

On Order $

Customer Ship To Item Class Entity (OEICEP)

Units and $ Sales LTD

Units and $ Exchanges LTD

Units and $ Returns LTD

Customer Ship To Order History (CSORH)

# Sales LTD, $ Sales LTD

# Exchanges LTD, $ Exchanges LTD

# Returns LTD, $ Returns LTD

On Order $

Customer Shipment History (FLCSHP)

# of shipments, $ value

Last shipment date

Customer Sold To Entity (OECSEP)

Foot 1

Units and $ Sales LTD

Units and $ Exchanges LTD

Units and $ Returns LTD

On Order $

Customer Sold To Item Class (OECSIC)

Units and $ Sales LTD

Units and $ Returns LTD

Units and $ Exchanges LTD

Customer Sold To Order History (CSTOOH)

# Sales LTD, $ Sales LTD, incremented for each recipient

# Exchanges LTD, $ Exchanges LTD

# Returns LTD, $ Returns LTD

On Order $

$ Warranty Shipped

$ Warranty Returned

Division (MSDIV)

# Sales Today, # Sales LTD, incremented for each recipient

$ Sales Today, $ Sales LTD

# Returns Today, # Returns LTD

$ Returns Today, $ Returns LTD

Division History (ACDIVH)

# Sales, $ Sales

# Returns, $ Returns

Exchange Reason/Offer (CSXROF)

# Exchange, $ Exchange

Exchange Reason/Offer/Item (INEROI)

# Exchange, $ Exchange

Flexible Payment Option (FLFPOP)

# of shipments, $ shipped

# of returns, and $ returned

Order Control Summary (MSORSU)

# orders shipped, $ orders shipped, quantity shipped

# invoices credited, $ invoices credited, quantity credited

# orders exchanged, $ orders exchanged, quantity exchanged

Note:  The Order Async updates the orders entered, orders canceled, and orders soldout fields in the Order Control Summary table. The batch order control job updates the operation and merchandising fields in the Order Control Summary table; see Reviewing Operations Control Summary (FLSH).

Order/Billing History (OEBHST)

Qty Sold, $ Sold Total, # Sales

Qty Exchanged, $ Exchanged Total, # Exchanged

Qty Returned, $ Returned Total, # Returns

Return Reason/Offer (CSRTNO)

# Returns, $ Returns

Return Reason/Offer/Item (INRROI)

# Returns, $ Returns

Salesman (MSSLMN)

# Sales LTD, $ Sales LTD, incremented for each recipient

# Exchanges LTD, $ Exchanges LTD

# Returns LTD, $ Returns LTD

Ship Via (MSSHPV)

# of Packages TD, # of Packages LTD

Freight Collected TD, Freight Collected LTD

Ship Via History (VIAHST)

# of Packages, Freight Collected

SKU Price History (SKUPHT)

# Sales, $ Sales

Source (MSSRC)

$ Sales, # Sales, incremented for each shipment

$ Exchanges, # Exchanges

$ Returns, # Returns

Requests mailed (if the order type on the order matches the order type in the Order Type to Process as Catalog Request/Item Samples (E08) system control value)

Tax Jurisdiction History (MSTXJH)

Amount charged

Amount credited

User Define Exit Point

Execute any user defined exit points that are called during Billing

Footnote 1 Entity-level updates take place only if the Track Customer History at Entity Level (F89) system control value is selected.

Working With the EBO ASYNC Job

Purpose: The Evaluate Backorders ASYNC function updates the system tables with reservation and backorder information whenever the inventory level for a backordered item increases. Inventory levels for an item increase when you process inventory transactions, receive purchase orders, or transfer merchandise from suspense.

When the inventory transactions program runs, it sends records to the Evaluate Backorders data queue for processing if the inventory level for a backordered item is increased.

  • If the Evaluate Backorders ASYNC (EBO_ASYNC) function is active, it processes the records immediately.

  • If the EBO_ASYNC is not active when it receives the records, it processes them as soon as it becomes active again.

All records are processed in the sequence in which they arrive in the data queue.

Pick slip preparation: During the Evaluate Backorders process, the system performs pick slip preparation for each order updated:

  1. The system REMOVES any pick slip preparation from the order.

  2. Once the Evaluate Backorders async reserves stock for an order, the system EVALUATES the order to determine if it is eligible for pick slip preparation.

  3. If the order is eligible for pick slip preparation after the changes to the order have been made, the system RE-APPLIES pick slip preparation to the order.

See Preparing Orders for Pick Slip Generation for processing details.

Errors: If any errors occur in processing a data queue record, the function stops processing at the error point and starts the next record in sequence. The records in error are listed on the Evaluate Backorders ASYNC Error Report, which prints when the ASYNC jobs end. EBO_ASYNC continues processing any record in error once the error is corrected.

You can view the status of each record in the data queue at the Display Evaluate B/O Data Queue Screen.

For more information: See Troubleshooting the Async Jobs for more information on the steps you should take if you suspect the async jobs are not running correctly.

In this topic:

Display Asynchronous Job Screen (Displaying the Evaluate Backorders ASYNC Job)

Purpose: Use this screen to display the job attributes for each background ASYNC job. This screen displays descriptive information about the ASYNC job.

How to display this screen: Select Display for the EBO_ ASYNC job at the Work with Background Jobs Screen.

Field Description

Process name

The name of the process for this ASYNC job. The name of the evaluate backorders data queue is EVLBODATAQ.

Alphanumeric, 10 positions; display-only.

Job name

The name of the ASYNC job.

Alphanumeric, 10 positions; display-only.

Description

The description of the ASYNC job.

Alphanumeric, 40 positions; display-only.

Start

The date and time the ASYNC job was last started and the User ID of the person who started it.

(Date): Numeric, 6 positions; display-only.

(Time): Numeric, 6 positions; display-only.

User ID): Alphanumeric, 10 positions; display-only.

End

The date and time the ASYNC job was last ended and the User ID of the person who ended it.

(Date): Numeric, 6 positions; display-only.

(Time): Numeric, 6 positions; display-only.

(User ID): Alphanumeric, 10 positions; display-only.

Controlling job?

A flag indicating whether this function controls other ASYNC functions. The controlling ASYNC function starts and ends other ASYNC functions. Valid values are:

Selected - This is a controlling ASYNC function.

Unselected - This is not a controlling ASYNC function.

The CNTL_ASYNC job is the only controlling ASYNC job.

System Option?

A flag indicating whether this function is a system function that cannot be deleted by the user. Valid values are:

Selected - This function cannot be deleted by the user.

Unselected - This function can be deleted by the user.

Status

The current status of the job. Valid status codes are:

  • *ACTIVE

  • *INACTIVE

  • *ENDPEND

  • *JOBQ

  • *REORG

Display-only.

Display Evaluate B/O Data Queue Screen

Purpose: This screen displays the records that have been sent to the data queue for processing since the last time the ASYNC function was ended. Records are sent to the data queue when the inventory level for an item is increased.

The status of each record indicates if the record has been processed or if any errors exist.

Note:

If the Use Inventory Sharing Backorder Evaluation (I80) system control value is selected, there is a data queue record only for the shared company (the company where you actually track the inventory). See Inventory Sharing (A69) for an overview.

How to display this screen: Select Display Data Queue for the EBO_ASYNC job on the Work with Background Jobs Screen.

Field Description

Cmp (Company)

The number of the company for which the transaction was processed. If you are running operations for more than one company, transactions for all companies are submitted to the same data queue.

Note: If the Use Inventory Sharing Backorder Evaluation (I80) system control value is selected, there is a data queue record only for the shared company (the company where you actually track the inventory). See Inventory Sharing (A69) for an overview.

Numeric, 3 positions; display-only.

Date

The date when the transaction was submitted to the data queue for processing.

Numeric, 6 positions (in user date format); display-only.

Time

The time at which the transaction was submitted to the data queue for processing.

Note:  The number of seconds might exceed 59 if the ASYNC job processed 60 or more records in a minute.

Numeric, 6 position (HH:MM:SS format); display-only.

Job #

The job number assigned to the transaction when it was submitted to the data queue.

Numeric, 6 positions; display-only.

Processed

The status of the record. The record is either not processed, in process, in error, or processed. A status message displays for each step.

Alphanumeric, 30 positions; display-only.

Item

The item number/SKU of the backordered item that can now be reserved.

(Item#): Alphanumeric, 12 positions; display-only.

(SKU): Alphanumeric, three 4-position fields; display-only.

Whs

The code of the warehouse where the backordered item can be reserved.

Numeric, 3 positions; display-only.

Evaluate B/O Background Job Error Listing

Purpose: This listing prints when the background ASYNC jobs are ended. The report lists the records that could not be processed and the reason for the error. The record will be processed when the error is corrected.

  • Order #: The order number for which the error occurred.

  • Ship to: The ship-to suffix of the order for which the error occurred.

  • Order date: The date when the order was entered.

  • User: The User ID of the operator who entered the order.

  • Update area: The message describing the reason for the error.

  • Error ID: The ID number assigned to the error.

Updates During Background Processing

Updates: Evaluate Backorders:

  • Updates backorder quantity, reserved quantity, and available quantity in item warehouse

  • Creates reserved order lines

Pick slip preparation: During the Evaluate Backorders process, the system performs pick slip preparation for each order updated:

  1. The system REMOVES any pick slip preparation from the order.

  2. Once the Evaluate Backorders async reserves stock for an order, the system EVALUATES the order to determine if it is eligible for pick slip preparation.

  3. If the order is eligible for pick slip preparation after the changes to the order have been made, the system RE-APPLIES pick slip preparation to the order.

See Preparing Orders for Pick Slip Generation for processing details.

Working With the ORDR_ASYNC Job

Purpose: The Order Processing ASYNC job updates system tables with order and demand information as orders are entered and maintained.

As you enter or maintain orders, the system sends the records to the Order Processing data queue for processing. As soon as the Order Processing Data queue receives a record to process, the record is processed immediately, regardless of the status of the Order Processing ASYNC (ORDR_ASYNC) job. The ORDR_ASYNC job processes multiple orders simultaneously.

If there are any records that the job cannot update, it skips that record and continues.

You can review the status of each record in the data queue at any point by displaying the Display Order Ship To Data Queue Screen.

Quotes: The system does not send quotes to the Order Async until the quote is converted to an order; see Entering Pre-Order Quotes for an overview.

Related system control value: The Update Demand for Order Maintenance Transactions (C72) controls how this job processes updates.

Note:

While the Order Async job does not need to be active to process records, you should set the Order Async job to active to handle reorganization and cleanup of any transactions that did not process correctly.

For more information: See Troubleshooting the Async Jobs for more information on the steps you should take if you suspect the async jobs are not running correctly.

In this topic:

Display Asynchronous Job Screen (Displaying the Order Processing ASYNC Job)

Purpose:  Use this screen to display the job attributes for each background ASYNC job, including the Order Processing ASYNC job.

How to display this screen: Select Display for an ASYNC job at the Work with Background Jobs Screen.

Field Description

Process name

The name of the process for this ASYNC job. The name of the order data queue is ORDERDATAQ.

Alphanumeric, 10 positions; display-only.

Job name

The name of the ASYNC job.

Alphanumeric, 10 positions; display-only.

Description

The description of the ASYNC job.

Alphanumeric, 40 positions; display-only.

Start

The date and time the ASYNC job was last started and the User ID of the person who started it.

(Date): Numeric, 6 positions; display-only.

(Time): Numeric, 6 positions; display-only.

(User ID): Alphanumeric; 10 positions; display-only.

End

The date and time the ASYNC job was last ended and the User ID of the person who ended it.

(Date): Numeric, 6 positions; display-only.

(Time): Numeric, 6 positions; display-only.

(User ID): Alphanumeric; 10 positions; display-only.

Controlling job

A flag indicating whether this job controls other ASYNC functions. The controlling ASYNC job starts and ends other ASYNC functions. Valid values are:

  • Selected - This is a controlling ASYNC job.

  • Unselected - This is not a controlling ASYNC job.

The CNTL_ASYNC job is the only controlling ASYNC job.

System Option

A flag indicating whether this is a system job that cannot be deleted by the user.

Valid values are:

  • Selected - This job cannot be deleted by the user.

  • Unselected - This job can be deleted by the user.

Status

The current status of the job.

Valid status codes are:

  • *ACTIVE

  • *INACTIVE

  • *ENDPEND

  • *JOBQ

  • *REORG

Display-only.

Display Order Ship To Data Queue Screen

Purpose: Use this screen to review the records that have arrived in the data queue for processing since the last time you ended the ASYNC jobs. Records arrive in the data queue for new orders that are entered and for existing orders that are maintained. The status of each record, indicating if the record has been processed or if any errors exist, displays.

How to display this screen: Select Display Data Queue for the ORDR_ASYNC job at the Work with Background Jobs Screen.

Field Description

Cmp (Company)

The number of the company for which the transaction was processed. If you are running operations for more than one company, transactions for all companies are submitted to the same data queue.

Numeric, 3 positions; display-only.

Date

The date when the transaction was submitted to the data queue for processing.

Numeric, 6 positions (in user date format); display-only.

Time

The time when the transaction was submitted to the data queue for processing.

Note:  The number of seconds might exceed 59 if the ASYNC job processed 60 or more records in a minute.

Numeric, 6 position (HH:MM:SS format); display-only.

User

The user ID of the user associated with the order transaction.

Alphanumeric, 10 positions; display-only.

B/A

 A code indicating whether the record represents a before image or an after image for the transaction. After records are written for all transactions; before records are written for orders that have been maintained.

Valid codes are:

  • B = The record represents the order information before the transaction was processed.

  • A = The record represents the order information after the transaction was processed.

Alphanumeric, 1 position; display-only.

Processed

The status of the record. The record is either not processed, in process, in error, or processed. A status message displays for each step.

Alphanumeric, 30 positions; display-only.

Ordr #

The order number of the record.

(Order #): Numeric, 8 positions; display-only.

Ordr ship to

The order ship-to number of the record.

(Ship to): Numeric, 3 positions, display-only.

Trn

A code identifying the job from which the transaction originated.

Valid status codes are:

  • CF = Confirmation

  • DS = Drop Ship

  • EB = Evaluate Backorders

  • OE = Order Entry

  • OM = Order Maintenance

  • PM = Purchase Order Maintenance

  • PR = Receiving

  • RA = Return Authorization

  • US = Unspecified

Alphanumeric, 2 positions, display-only.

Updates During Background Processing

Purpose: The ORDR_ASYNC job updates system tables with order and demand information as orders are entered and maintained. As you enter or maintain orders, the system sends the records to the Order Processing data queue for processing. As soon as the Order Processing Data queue receives a record to process, the record is processed immediately, regardless of the status of the Order Processing ASYNC (ORDR_ASYNC) job. The ORDR_ASYNC job processes multiple orders simultaneously. While the Order Async job does not need to be active to process records, you should set the Order Async job to active to handle reorganization and cleanup of any transactions that did not process correctly.

Related system control value: The Update Demand for Order Maintenance Transactions (C72) system control value controls whether totals update as a result of order maintenance as well as order entry.

Order count and demand updates for retail pickup and delivery orders: If the originating location on a retail pickup or delivery order is Order Administration, the system does not increase the order count that is displayed on the About Application Screen or perform any demand updates for the order. 

Note:

The system identifies the originating location as Order Administration if the request_system_cd in the fulfillment response message matches the system code in the OROB System (K50) system control value and the request_location_cd in the fulfillment response message matches the location in the Originating Location to Pass to OROB (M32) system control value. In this situation, the system prefaces the E-commerce order number in the Order Header Extended table with ORIG#: 9999-001, where ORIG#: indicates the order was created as a result of OROB fulfillment assignment, 9999 is the order number, and 001 is the ship to number. See Retail Pickup (including Ship-for-Pickup) or Delivery Orders for more information.
Table Updates

Cancel Reason/Offer (CNCNRO)

Date

# canceled

qty canceled

units canceled

Creates a record only if the cancel reason code is flagged not to reduce demand.

CC Authorization Backorder (CCATBO)

Create a record for authorization of a fully backordered order if the Preauthorize Backorders (D32) system control value is selected.

Correspondence History (MSCOHS)

Creates a record for each order confirmation email Outbound Email XML Message (CWEmailOut) generated if the Write Outbound Email to Email Repository (H99) system control value is selected. See the Suppress Order Confirmations for Orders in Error (K09) system control value for a discussion of when the ORDR_ASYNC background job generates order confirmations.

For more information see the Order Administration Web Services Guide on My Oracle Support (ID 2953017.1)

Customer Membership (OECSMP)

Create or deactivate customer loyalty memberships based on total order dollars or customer class. See Loyalty Memberships for an overview.

Customer Sold To (OECSSL)

Original and current mail type

Original source

Current source (if Update of Current Source Code in Customer File (D08) system control value is selected)

Customer Sold To Entity (OECSEP)

Last order date

On order $

# orders LTD, $ orders LTD

# cancels LTD, $ cancels LTD

# soldouts LTD, $ soldouts LTD

Last source

Current mail type

Original mail type

Active since date

Original source code

Last source code

Updated if the Track Customer History at Entity Level (F89) system control value is selected.

Customer Sold to Item Class (OECSIC)

# orders LTD, $ ordered LTD

# units ordered LTD

# units canceled LTD, $ canceled LTD

# units soldout LTD, $ soldout LTD

Last order date

Customer Sold To Item Class Entity (OEICEP)

Creates records and updates:

# orders (not units)

# orders LTD, $ orders LTD

# cancels LTD, $ cancels LTD

# soldouts LTD, $ soldouts LTD

Last order date

Customer Sold To Order History (CSTOOH)

On order $

# orders LTD, $ orders LTD

# soldouts LTD, $ soldouts LTD

# canceled LTD, $ canceled LTD

Last CC#

Last expiration date

Active since date

Last order date

Last order type

Pay type

Current source code

Last order amount

Flash Report (FLFLSH)

See Reviewing Operations Control Summary (FLSH) for information on order totals tracked.

Item/Sku/Offer (FCISOF)

Start and end dates

Quantity ordered, $ ordered

Offer (MSOFFR)

Date of first order

Order Control Summary (MSORSU)

# orders entered, $ orders entered, quantity ordered

# orders cancelled, $ orders cancelled, quantity cancelled

# orders soldout/closed, $ orders soldout, quantity soldout

Note:  The Billing Async updates the orders shipped, orders exchanged, and invoices credited fields. The batch order control job updates the operation and merchandising fields in the Order Control Summary table; see Reviewing Operations Control Summary (FLSH).

Order Type/ User (OEOTYU)

# Orders TD, LTD

$ Value - TD, LTD

# Receipts TD, LTD

# Lines TD, LTD

Order/Billing History (OEBHST)

# orders, $ order total, qty ordered

# soldout, $ soldout total, qty soldout

# canceled, $ canceled, qty canceled

Price override reason (OEPROR)

# of overrides

Total discount

SKU (INSKU)

Date of first order

Date of last order

SKU Price History (SKUPHT)

# orders (actually updated with the total ordered quantity)

$ orders

Soldout Notifications (SONTFY)

Creates records

Source Code (MSSRC)

$ ordered, soldout, canceled

# of orders, soldouts, cancels

Date of first order

Date of last order

Response percent

Tickler

Records created based on related configuration. See Workflow Management Overview and Setup for background.

Note:

Working With the OTHR_ASYNC Job

The Other ASYNC function updates the system tables with purchase order information when purchase orders are entered, maintained, or received.

When purchase orders are entered, maintained, or received, records are sent to the Other data queue for processing. If the Other ASYNC (OTHR_ASYNC) function is active, the records will be processed immediately. If the function is not active when the records are sent, they will be processed as soon as the OTHR_ASYNC function becomes active again. All records are processed in the sequence in which they were sent to the data queue.

If any errors exist, processing for that record stops at the error point. The system begins processing the next record in sequence. The records in error are listed on the P/O Background Job Error Listing, which is printed when the ASYNC jobs are ended. OTHR_ASYNC will continue processing the record when the error has been corrected. You should correct any errors that exist as soon as possible so that your system tables are updated properly. See Working with OTHR_ASYNC Status Messages.

The status of each record in the data queue can be viewed at any point by displaying the Display PO Header Data Queue Screen.

For more information: See Troubleshooting the Async Jobs for more information on the steps you should take if you suspect the async jobs are not running correctly.

In this topic:

Display Asynchronous Job Screen (Displaying the Other ASYNC Job)

Purpose: Use this screen to display the job attributes for each background ASYNC job, including the OTHR_ASYNC job. This screen displays descriptive information about the ASYNC job.

How to display this screen: Select Display for the OTHR_ASYNC job at the Work with Background Jobs Screen

Field Description

Process name

The name of the process for this ASYNC job. The name of the OTHR_ASYNC data queue is OTHERDATAQ.

Alphanumeric, 10 positions; display-only

Job name

The name of the ASYNC job.

Alphanumeric, 10 positions; display-only

Description

The description of the ASYNC job.

Alphanumeric, 40 positions; display-only.

Start

The date and time the ASYNC job was last started and the User ID of the person who started it.

(Date): Numeric, 6 positions; display-only.

(Time): Numeric, 6 positions; display-only.

(User ID): Alphanumeric; 10 positions; display-only.

End

The date and time the ASYNC job was last ended and the User ID of the person who ended it.

(Date): Numeric, 6 positions; display-only.

(Time): Numeric, 6 positions; display-only.

(User ID): Alphanumeric, 10 positions; display-only.

Controlling job?

A flag indicating whether this function controls other ASYNC functions. The controlling ASYNC function starts and ends other ASYNC functions.

Valid values are:

  • Selected = This is a controlling ASYNC function.

  • Unselected = This is not a controlling ASYNC function.

The CNTL_ASYNC job is the only controlling ASYNC job.

System Option?

A flag indicating whether this function is a system function that cannot be deleted by the user. Valid values are:

Selected - This function cannot be deleted by the user.

Unselected - This function can be deleted by the user.

Status

The current status of the function.

Valid status codes are:

  • *ACTIVE

  • *INACTIVE

  • *ENDPEND

  • *JOBQ

  • *REORG

Display-only

Display PO Header Data Queue Screen

Purpose: This screen displays the records that have been sent to the data queue for processing since the last time the ASYNC function was ended. Records are sent to the data queue when the inventory level for an item is increased.

The status of each record, which indicates if the record has been processed or if any errors exist, displays.

How to display this screen: Select Display Data Queue for the OTHR_ASYNC job on the Display Asynchronous Job Screen (Displaying the Other ASYNC Job)

Field Description

Cmp (Company)

The number of the company for which the transaction was processed. If you are running operations for more than one company, transactions for all companies are submitted to the same data queue.

Numeric, 3 positions; display-only.

Date

The date on which the transaction was submitted to the data queue for processing.

Numeric, 6 positions (in user date format); display-only.

Time

The time at which the transaction was submitted to the data queue for processing.

Note:  The number of seconds might exceed 59 if the ASYNC job processed 60 or more records in a minute.

Numeric, 6 position (HH:MM:SS format); display-only.

User

The User ID of the person who entered the transaction.

Alphanumeric, 10 positions; display-only.

B/A

A code indicating whether the record represents a before image or an after image for the transaction. After records are written for all transactions; before records are written for order maintenance transactions.

Valid codes are:

  • Before = The record represents the order information before the transaction was processed.

  • After = The record represents the order information after the transaction was processed.

Alphanumeric, 1 position; display-only.

Processed

The status of the record. The record is either not processed, in process, in error, or processed. A status message displays for each step.

Alphanumeric, 30 positions; display-only.

PO#

The number of the purchase order for which the record is being processed.

Numeric, 7 positions; display-only.

Trans

A code that identifies the function where the transaction originated. Valid status codes are:

  • CF = Confirmation

  • DS = Drop Ship

  • EB = Evaluate Backorders

  • OE = Order Entry

  • OM = Order Maintenance

  • PM = Purchase Order Maintenance

  • PR = Receiving

  • RA = Return Authorization

  • US = Unspecified

Alphanumeric, 2 positions, display-only.

Working with OTHR_ASYNC Status Messages

Purpose: The status of each data queue record can be viewed by displaying the data queue. If an error exists, the message will print on the P/O Background Jobs Error Listing that is printed when the ASYNC jobs are ended. The error must be corrected before the transaction can be fully processed.

OTHR_ASYNC status messages: This table lists the status messages that you may see when displaying the PO Header Data Queue, or when reviewing the P/O Background Job Error Listing. The Error Reason/Action Required section of the table below is incomplete as of this writing.

Message Message ID Error Reason/Action Required

Processing has begun

 

None.

All updates complete

 

None. The record was fully processed.

Error updating buyers

OA21759

 

Error updating Item/Warehouse

OA21760

 

Error updating PO Dtl audit

OA21915

 

Error updating PO Hdr audit

OA21916

 

Error creating PO layering

OA21897

 

Error changing PO layering

OA21920

 

Error creating PO layering

OA21918

 

Error deleting PO layering

OA21919

 

Error updating SKU Offer

OA21758

 

Error updating threshold value

OA22968

 

Error updating vendor

OA21732

 

Error updating vendor history

OA21733

 

Error updating vendor items

OA21766

 

P/O Background Job Error Listing

Purpose: This report prints when the background ASYNC jobs are ended. The report lists the records that could not be processed and the reason for the error. The record will be processed when the error is corrected.

See Working with OTHR_ASYNC Status Messages for a complete description of the error messages you may encounter and the steps necessary to correct the error.

  Order #: The order number for which the error occurred.

Updates During Background Processing

Purpose: The system performs the following field and table updates during the OTHR_ASYNC procedure:

Function Field

Update the SKU/Offer table

 

---

  • SKU CWI work field

  • SKU on order for PO

Threshold values include:

  • Number and dollar value for Held POs

  • Number and dollar value for Units of Suspense Inventory

  • Number and dollar value for PO Receipts in Suspense

Update the Item/Warehouse table

 

---

On order quantity

Update PO Layering table

 

PO Maintenance + PO Receipts

Creates the record

Open quantity

PO Receipts

Status

Note:  If you receive inventory into a pending putaway warehouse, the system keeps the PO layering record in an open status until the inventory is moved out of the pending putaway warehouse. See Pending Putaway Overview.

---

Warehouse

---

Due date

Update the Vendor/Item table

 

PO Receipts

Shipments - LTD

---

Elapsed days - LTD

---

Late days - LTD

---

Number of late shipments

---

Defects - LTD

---

Underships

---

Overships

---

Units received - LTD

PO Maintenance

Dollar value purchased - LTD

---

Units purchased - LTD

Update Vendor table

 

---

Dollar value cancelled

---

Dollar value held

---

Dollar value open

---

Number of POs - LTD

---

Number of open POs

Update Vendor History table

 

---

Dollar value purchase orders

---

Number of purchase orders

Update the Buyer table

 

---

Dollar value POs - LTD

---

Number of purchase orders - LTD

Update Vendor Extended table

 

---

Dollar value on order

Update IL Outbound Trigger Table

 

PO Maintenance

Creates ITW outbound trigger records when you create a purchase order or maintain an open purchase if the Include PO Updates (J93) system control value is selected. See Generic Inventory Download API for an overview and details.

For more information see the Order Administration Web Services Guide on My Oracle Support (ID 2953017.1)