This document is intended to clarify when numbers lie inside or outside an external NR interval.
How to confirm that range is defined as external?
Intervals from a number Range object can be found on SNUM transaction:
Enter object name > Display. Then ‘Interval Editing (F7)’.
Ranges defined as external will show ‘Ext’ flag. In case of external intervals, they can contain letters, numbers and other symbols.
For this particular example, range XX goes From Number A000 to Number ZZZZ.
How are numbers requested from an external interval?
When a number is requested from application side, it calls FM NUMBER_CHECK. This checks whether requested number lies or not in the number interval, for that external intervals.
The return code specifies whether the number lies in the interval, and has the following value:
- " " (Space): Number lies in the interval
- "X": Number lies outside the interval
For this particular example, we will check for range XX (From Number A000 to Number ZZZZ):
- Number A001 lies inside the interval: RETURNCODE=" "
- Number 001 lies outside the interval: RETURNCODE="X"
How are numbers compared?
External Intervals are compared in a different way than Internal Intervals.
See SAP Note: 1076122 - SNUM: Number ranges overlap - NR 600, point 2.
“To find out whether a value is higher or lower than another one, you have to compare the values from left to right, character by character. With alphanumeric values, you must also check whether the comparison
is ASCII-based or EBCDIC-based.”
See also KBA: 2380479 - Unexpected error NR600 “Enter intervals without overlap" when creating an interval
Section a) External Intervals
You can check REPORT COMPAREVALUES for the comparison of values.
For this particular example, with range XX (From Number A000 to Number ZZZZ), we will see that number A1C lies inside the interval:
|A000 < A1C < ZZZZ|