SAP Knowledge Base Article - Public

1867307 - Materials are Created With the IDs Which are Out of the Range Maintained in Business Configuration

Symptom

You have maintained a particular Number Range for the Materials but you are able to create Materials with ID which is more than the length maintained in the Business Configuration.

 

Environment

 SAP Business ByDesign

Reproducing the Issue

  1. Go to Business Configuration work center.
  2. Select Implementation Projects view.
  3. Highlight the Implementation Project or Change Project and select Open Activity List button.
  4. Go to Fine Tune phase.
  5. Search and open fine tuning activity Number Range for Materials.
  6. Here, for example: you have maintained Begin: M00000001; End: M99999999.
  7. But while creating a Material, you can able to create material with IDs like M000000011, M00000001123, M00000001732727.

Resolution

The below explanation is based on the above example number range.

You have defined an alphanumeric interval with the begin number as M00000001 and end number as M99999999.
For alphanumeric intervals, the check is a lexicographic check, meaning that the id is checked character by character from left to right. And in case one number has more characters than the other number, the missing characters (at the end) are considered as space characters.

So when checking whether Id M000000010 lies within interval M00000001 - M99999999, this looks as follows

M00000001<space>
M000000010
M99999999<space>

Check of M000000010 against the boundary M00000001: -> lexicographic check on M00000001<space> against M00000001 When comparing them character by character from left to right, these "numbers" are identical till we get to the last character.
At the end we compare the character <space> against character "1", and according to the ascii table the character <space> has a smaller value than the character "1" (see also http://www.asciitable.com/) Hence M00000001 is smaller than M00000001.

Check of M000000010 against boundary M99999999<space> shows that M000000010 is smaller than the end boundary.

Result of the lexicographic check: M00000001 < M000000010 < M99999999

Hence ID M000000010 lies within the defined interval and is a valid ID!

So in case of intervals which are not purely numeric, please take note of these peculiarities of the lexicographic check!

Due to the lexicographic check for this alphanumeric interval entering a product id with more characters than the you wants is possible, as long as the check determines that the ID is still within the defined range.

Regarding the number of characters used within his ID, the lexicographic check checks that the ID does not exceed the total length defined for this number range type. So, IDs for products (i.e. materials, entitlements, service and individual material) cannot be larger than 40 characters.

So the concept behind this is different to what has been identified as a issue.

In case, if you want to have not more than 10 characters used as ID for his products, we would currently recommend that the user has to manually check at your end.

Keywords

KBA , SRD-MD-PRD-PRD , Product , How To

Product

SAP Business ByDesign all versions