First free numbers

In several LN processes, numbers must be assigned to entities such as shipments, orders, and invoices. However, in terms of system performance, the assignment of numbers can be the bottleneck.

To improve the performance of sessions in which new order numbers are assigned, define a cache size for a series in the First Free Numbers (tcmcs0150m000) session. The cache size is the number of new series numbers LN generates simultaneously. If there are series numbers in cache, users do not have to wait while LN generates and checks the next series numbers.

  • Cache size = 0

    No caching is applied. If you request a new number, the number is only committed after the transaction to which the number applies is completed.

    Disadvantage: The number series is locked during the transaction. Other users cannot request a new number from the same series until the transaction is completed.

    Advantage: No numbering gaps.

    If number gaps are not allowed, use a cache size of 0. Preferably, request a new number close to the end of a transaction to reduce locking time. In high volume implementations, a cache size of 0 can cause performance and locking problems.

  • Cache size = 1

    If you request a new number, the number is committed immediately, even if the transaction to which the number applies is not yet completed.

    Disadvantage: Numbering gaps can occur if a transaction is not completed.

    Advantage: The number series is only locked for a short time, which improves performance.

    A cache size of 1 is the default value for number series. In this way, performance and locking problems in high volume implementations are avoided as much as possible.

  • Cache size > 1

    The value of the cache size indicates how many new numbers are requested simultaneously. The numbers are committed immediately, even if transactions are not yet completed.

    Disadvantage: Large numbering gaps can occur if more than one transaction is unfinished.

    Advantage: The number series is only locked for a short time. Furthermore, for all numbers requested, the number series must only be updated once, which improves performance.

    A cache size larger than 1 is only recommended if a cache size of 1 does not solve locking problems sufficiently.

Performance aspects
  • Effect on CPU: Yes
  • Effect on database growth: Not applicable

For more information, refer to the LN- Performance, Tracing and Tuning Guide (U9357).