22.1.11

SAP Note 18331 - IS-H Check digits calculation procedure

Symptom:

The check digit calculated appears to be incorrect.

Cause and prerequisites

Possible differing procedures in several systems.
In IS-H, the check digits are calculated exclusively according to "DIN ISO 7064, MOD 11, 10". Another way of calculating them is not provided.
For purely numeric keys, the leading zeros are always also transferred. This leads (automatically) to the number of digits corresponding to the field for the calculation. Be sure to take this into account during tests. Checks of individual check digits or of check digits in programs must ensure the correct field length with leading zeros.

Solution
In IS-H, the check digits are calculated according to "DIN ISO 7064, MOD 11, 10". The exact documentation must be obtained from BEUTH Verlag in Berlin (Tel. +49-30/26010) (Sole vendor).

Here, only the recursive calculation procedure (for control purposes):

Character string processed from left to right;
N => Number of digits in the string including check digits;
J = 1, 2, ..., N => Index;
a(J) =>character value of the Jth position (a(1)=check digit at right!);
P(1) = 10 => initial value.
Calculate:
S(J) = P(J)|11 + a(N-J+1)
P(J+1) = S(J)||10 x 2
Here,
||10 => remainder of division by 10; if this equals zero, insert 10
instead;
|11 => remainder of division by 11 (never equal to zero).
String is correct is S(N) = 1 (mod 10).
Check digit a(1) is created so that:
P(N)|11 + a(1) = 1 (mod 10).


Additional key words

ISH_TEST_DIGIT, module, check digit procedure, consulting

No comments:

Post a Comment