08-19-2013 10:08 PM
Hi Experts,
We are getting buffer object (EMMA_RUNID) related error message in workprocess traces in our production system.
It's complaining about EMMA_RUNID object. We know that interval for number 00 is completely full hence 01 is in use currently.
As per the following error, looks like workprocess is trying to get number from 00 range, which is full.
-------------------------------------------------------------------------------------------------------------------------------
M *** ERROR => ThINoAddNum: overflow [thxxnum.c 4394]
M {root-id=5210BA383C3A1990E10080000A600C35}_{conn-id=521011523F6F1D50E10080000A600C35}_1
M return number range rc 15
M *** WARNING => ThNoGet: get from object (cli/obj/subobj/range = 010/EMMA_RUNID/ /00) returned rc 15
M
M Mon Aug 19 07:59:10 2013
M *** ERROR => ThINoAddNum: overflow [thxxnum.c 4394]
M {root-id=5210037E3A0A2A90E10080000A600C35}_{conn-id=52100CA13F6D0F20E10080000A600C35}_1
M return number range rc 15
M *** WARNING => ThNoGet: get from object (cli/obj/subobj/range = 010/EMMA_RUNID/ /00) returned rc 15
M
M Mon Aug 19 07:59:12 2013
M *** ERROR => ThINoAddNum: overflow [thxxnum.c 4394]
M {root-id=5210037E3A0A2A90E10080000A600C35}_{conn-id=52100CA13F6D0F20E10080000A600C35}_1
M return number range rc 15
M *** WARNING => ThNoGet: get from object (cli/obj/subobj/range = 010/EMMA_RUNID/ /00) returned rc 15
-----------------------------------------------------------------------------------------------------------------------------------
This error message is appearing in almost all workprocess traces. We want to get rid of this error.
Please help.
Thanks,
Hardeep
08-20-2013 7:55 AM
Hi Hardeep,
in SAP note 633980 it is said for rc=11 (strangely it says rc=15 cannot exist):
11 (Buffer overflow): The number range buffer is full. The buffer
cannot automatically displace objects from the buffer or be
enlarged while it is running. You can use transaction SM56 to
delete entries from the buffer manually and you can use the
profile parameter nobuf/max_no_buffer_entries to increase the
number of entries in the buffer. To do this, however, you must
restart the application server.
Best Regards,
Randolf
08-20-2013 9:49 AM
Hi Hardeep,
I found out that rc=15 relates to a full number range interval, so my previous assumption was wrong.
Do you try to access the full interval '00' in your code?
Best Regards,
Randolf
08-20-2013 5:07 PM
Thanks Randolf for your quick response on this issue.
Your 2nd response is the most relevant to the issue.
How can I find out which program is trying to get the number from 00 interval?
Since 00 is completely used up then that program might be throwing error because of unavailabilty of number. But in WP tace, we dont see program name, neither I see errors in SM21.
Please suggest where exactly I can find out the program name which is referencing to 00 interval?
Thanks,
Hardeep
08-20-2013 11:59 PM
Hi Randolf,
I checked with my ABAP team and thay said that this is SAP standard object which is used by standard SAP code so ABAP team is not using any custom code to refer interval 00 of object EMMA_RUNID.
Now I am wondering why SAP standard code is checking interval which is full instead of other intervals which has numbers available?
Do you have any idea on this?
THanks,
Hardeep
08-21-2013 10:09 AM
Hi Hardeep,
I found the function EMMA_NUMBER_GET_NEXT which seems to do the number drawing. It does a LOOP on the different NR_RANGE_NRs of one NR-object until it finds a non-full NR_RANGE_NR.
This might lead to the effect observed by you.
I think there is some room for functional & performance improvement here ...
Best Regards, Randolf
08-21-2013 3:58 PM
Hi Randolf,
I agree with you and that makes sense to me.
Because I noticed that interval 01 is used everyday since it has numbers available.
"I think there is some room for functional & performance improvement here ..."
How can we get there?
Thanks,
Hardeep
08-22-2013 9:15 AM
Hi Hardeep,
I already opened an internal message for the issue.
Best Regards,
Randolf
08-22-2013 3:39 PM
Hi Randolf,
I appreciate your help on this issue.
Please update me once you get a response on internal message.
Thanks,
Hardeep
08-29-2013 3:13 PM
12-10-2013 4:11 PM
Hi Hardeep,
now I got a response on my internal message:
There is a comprehensive cookbook available recommending the usage of one
single number range interval instead of defining multiple number range
interval due to a lack of a business requirement. In addition, the
number range object EMMA_RUNID is supposed to be buffered.
This means the application should not use (as in your case) many small number range intervals (which get exhausted faster), but instead only one large number range interval. The code in function EMMA_NUMBER_GET_NEXT with number drawing inside a LOOP seems to be there for 'historical' reasons - when the recommendation was different.
Best Regards, Randolf