Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Number range buffer ERROR => ThINoAddNum: overflow

0 Kudos

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

10 REPLIES 10

former_member184455
Active Participant
0 Kudos

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

0 Kudos

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

0 Kudos

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 

0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos

Hi Hardeep,

I already opened an internal message for the issue.

Best Regards,

Randolf

0 Kudos

Hi Randolf,

I appreciate your help on this issue.

Please update me once you get a response on internal message.

Thanks,

Hardeep

0 Kudos

Hi Randolf,

Any update on this issue?

Thanks,

Hardeep

0 Kudos

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