You want to understand how Gaps are triggered on Billing Documents Number Range on S/4HANA Cloud in order to avoid them.
SAP S/4HANA Cloud All versions
Reproducing the Issue
1. Create a Billing Document and save it.
2. Check Billing Document Number range.
A large number of number range objects are buffered. When the system buffers a number range object, it does not update numbers individually in the database but reserves a preset group of numbers (depending on the number range object) in the database the first time a number is requested, and makes these numbers available to the application server in question. The following numbers can then be taken directly from the application server buffer. New numbers are not used in the database until the application server buffer has been used up.
The effects described are a direct consequence of the following:
- If an application server is shut down, the numbers that are left in the buffer (that is, that are not yet assigned) are lost. As a result, there are gaps in the number assignment.
- The status of the number range interval reflects the next free number that has not yet been transferred to an application server for intermediate buffering. The current number level therefore does not display the number of the "next" object.
- If you use several application servers, the numerical sequence will not reflect the (chronological) insert sequence because the numbers are buffered separately on the individual hosts.
Buffering the number range objects has a positive effect on performance, because the system no longer has to access the database for each posting. Furthermore, a serialization of this table (database locking) is prevented to a large extent so that posting procedures can be carried out in parallel.
For the reasons explained on cause section, currently there is no SSCUI which allows the deactivation of number range buffering for Billing Documents in SAP S/4HANA Cloud.
KBA , SD-BIL-IV , Processing Billing Documents , Bug Filed