Overview
This functionality is an alternative to Sales Order Header numbering and takes over the division-based Sales Order numbering completely. When using it all divisions share the same numbering, although still honoring quote prefixes per division. It was developed to bypass deadlocks on the SO Control record (to fetch the next number field) when adding Sales Orders. This functionality extracts the reference from the SO Header ID fields in order to ensure that they are unique, and does not cause database contention and timeout issues. The functionality does not have a UI, it is based on commands on the Developer Console and Custom Settings.
Prerequisites
User Permissions to run Developer Console
Navigation
Developer Console > Debug > Open Execute Anonymous Window
Processing
To enable the new functionality, run the below from the Execute Anonymous Window.
rstk.AppSettings.setSOBaseNumber(Integer startingSalesOrderNumber);
- Where startingSalesOrderNumber is the base sales order number to use for new sales orders.
- If passed as null then the code will auto select the highest number it can find in each division (i.e.: rstk.AppSettings.setSOBaseNumber(null);
To clear the functionality call
rstk.AppSettings.clearSOBaseNumber();
The above commands will create a set of Salesforce Custom Settings for the packaged Application Settings entry, which will control the behavior of this functionality, all of them starting with salesorder_deriveNumber.
SEE ALSO
Sales Orders - Setup
Sales Order Control
Sales Order Entry