Symptom
The problem is commonly observed just after year change.
You notice that many work processes are hanging in program SAPLSNR3 and one or more of them show action "Direct Read of DB" on table NRIV.
Further details on that work process shows that involved Number Range object has defined Main Memory buffering. [Normally, Number Range object is called 'SO_OBJ_xxx', but can be related to a different one].
How to check buffering method?
To confirm buffering method from involved NR object, go to transaction SNUM > Enter "Object Name" > Display.
Under Customizing tab, it will show:
Buffering X Main Memory Buffering
No. of Numbers in Buffer <nr>
Some of these other symptoms can also be observed.
- Creating or copying users in SU01 is not possible, transaction times out while saving the user:
Runtime Errors TIME_OUT
ABAP Program SAPLSNR3
Application Component BC-SRV-NUMThe termination occurred in ABAP program "SAPLSNR3", in "LOCAL_BUFFER".
---------------------------------------
>>>>> CALL 'ThNoGet' ID 'BNRIV' FIELD ls_bnriv
---------------------------------------In the dump itself you can identify involved Number Range object with field LS_BNRIV (client_Object range_year):
For example, client 001, object SO_OBJ_FOL, range 01, year 2019 will be show as:
LS_BNRIV
001SO_OBJ_FOL 012019TIME_OUT dump can also show:
Index Calls
---------------------------------------
1 NoServer: Read NRIV with key clnt/<object>/<subobject>/<range>/<year>
--------------------------------------- -
Sometimes the following message is displayed:
"Object SO_OBJ_XXX, interval 01: Error when filling
the buffer, subrc 21"
- Work process is hanging on transaction SM50; running <NUMBER RANGE BUFFER>, with “Direct Read from DB” accessing table NRIV.
You may find on work process trace file:
M ThNoGet2: Return number range rc 4
M *** WARNING => ThNoGet: get from object (cli/obj/subobj/range = xxx/<object>/ /<range>) returned rc 4
M *** WARNING => ThINoGetInterval: no entry found for cli/obj/subobj/range = xxx/<object>/ /<range>
At DB Level, SQL Statement shows
SELECT … FROM NRIV … WHERE CLIENT = @P1 AND OBJECT = @P2 AND SUBOBJECT = @P3 AND NRRANGENR = @P4 AND TOYEAR = @P5
This helps to identify involved Range (@P4) from object (@P2). On transaction SNUM you can confirm that Number Range object has "Main Memory" buffering method. - Use transaction SM56 (Number Range Buffer) to check entries related to that object.
Via Menu Goto > Entries > continue without any selection, you may find incomplete entries (one entry in RED status with new year number).
This means that the object name is available but not the 'From number' and 'To number' values:
In this example, it points to range 01 year 2020 from object SO_OBJ_ADR.
- The system may show dump with a DBSQL_SQL_ERROR error:
SQL error "SQL code: 12207" occurred while accessing table "NRIV".
Read more...
Environment
Product
Keywords
SU01, TIME_OUT, user not created, LOCAL_BUFFER, ThINoGetInterval,
NR754, NR 754, SO_OBJ_FOL, SO_OBJ_ADR, SO_OBJ_SCR, SO_OBJ_RCP , KBA , BC-SRV-NUM , Number Range Management , BC-SEC-USR-ADM , Users and Authorization administration , BC-CST-NU , Number Range Buffer , Problem
About this page
This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).Search for additional results
Visit SAP Support Portal's SAP Notes and KBA Search.