Symptom
Purchase contract created on after another purchase contract has a lower number
Environment
SAP S/4HANA Cloud
Cause
parallel buffering
Resolution
To improve the performance of the system, most application number ranges are buffered on the application servers. Otherwise, every number would have to be fetched from the database server by the application server in sequence, via the network, which can be very detrimental to performance. In a busy system there could be many lock conflicts without buffering. In the cloud environment this is always the case and the parallel buffering of PO and contract number ranges is delivered.
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. In this case, the number range object for Purchasing documents is buffered on different application servers. The number of documents in the buffer is set to 10 by default. So the buffer on each application server hold 10 numbers at any given time. If a document is posting is done on a different application servers, then PO/contract numbers will be out of sync in that sense, and you will see some higher numbers were posted ahead of lower numbers etc.
The numbers for purchase orders and contracts have no legal requirement regarding their sequence or gaps unlike accounting documents in some specific countries.
Keywords
number range, purchase contract, number range out of sequence, creation on date, s4pc , KBA , MM-FIO-PUR-SQ-CON , Fiori UI for Manage Purchase Contracts , Problem