Working with the BILL_ASYNC Job

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. All records are processed 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 the next order record in sequence. The records in error appear on the Billing Background Job Error Listing, which prints when the ASYNC jobs end. BILL_ASYNC starts to process the record as soon as the error is corrected. 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 Management System generates a shipment or return confirmation email or Outbound Email XML Message (CWEmailOut) when you:

• process a shipment or return through billing if the Send Shipment Confirmation from Billing (L98) system control value is selected.

• generate shipment confirmations or return confirmations using the Send Internet Order Ship Confirmations menu option; see Sending Internet Order Ship Confirmation (ESCF).

• execute the ECSHCNF periodic function; see Working with Periodic Functions (WPER).

In this topic:

Related System Control Values

Display Asynchronous Job Screen (Displaying the Billing ASYNC Job)

Display Billing Header Data Queue Screen

Working with BILL_ASYNC Status Messages

Billing Background Job Error Listing

Updates During Background Processing.

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 Management System 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 Management System, 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.

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.

In addition:

• If you use the Cybersource Point-to-Point Integration, the Customer Engagement Stored Value Card Integration, or the External Payment Service, the system sends the deposit transaction to the service bureau during billing. You still need to use Processing Auto Deposits (SDEP) to process credit deposits and perform the Batch Deposit Updates. Also, you will need to use the Resubmitting Rejected Deposits (SRDP) menu option to resubmit any deposits that were not completely processed during billing and deposits.

• For all other service bureaus, the system sends the deposit transaction to the service bureau when you submit deposits using the Processing Auto Deposits (SDEP) menu option.

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.

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.

Changing the Status of BILL_ASYNC

Purpose: Select Change Status for the BILL_ASYNC job at the Work with Background Jobs Screen to change its status.

Note: You cannot use the Change Status option to start or stop an individual ASYNC job. You must use the CNTL_ASYNC job to start or stop all the asynchronous jobs simultaneously.

Before you change the status of the async job: Before you change the status of the Billing async job, you should first determine if the async job is actively running; see Determining the Status of the Async Jobs.

How to change the job status: Select Change Status for the job at the Work with Background Jobs Screen.

A pop-up window displays from which you can select the status you want to assign to the async job. Select a status.

If the async job is running: Select *ACTIVE if the async job is running and the status is currently *INACTIVE.

If the async job is not running: Select *INACTIVE if the async job is not running and the status is currently *ACTIVE. This situation occurs if the ASYNC subsystem is brought down while the background ASYNC jobs are still active; the background ASYNC jobs have actually ended, but the status indicates that they are still *ACTIVE.

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

Working with BILL_ASYNC Status Messages

Purpose: You can review the status of each data queue record by displaying the data queue. If there is an error, the message prints on the Billing Background Job Error Listing that is produced when you end the ASYNC jobs. 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, or when reviewing the Billing Background Job Error Listing.

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

Billing Background Job Error Listing

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

See Working with BILL_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.

• 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. See Working with BILL_ASYNC Status Messages.

• Error ID: The ID number assigned to the error. See Working with BILL_ASYNC Status Messages.

Updates During Background Processing

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

Immediate Billing Updates

Batch Billing Updates

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 Broker

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

Updates the Status to Complete

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 Broker, deactivates the payment method

Order Ship To (OEORST)

Updates order balance amounts

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)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 cancelled, 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




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

SO01_03 OMSCS 19.0 December 2019 OHC