habe leider keine ahnung von sap aber vielleicht könnt ihr was hiermit
anfangen (schnell in vb.net geschrieben
):
Private Function GetCheckDigit(ByVal s As String) As Integer
Select Case s
Case "0" : Return 0
Case "1" : Return 1
Case "2" : Return 2
Case "3" : Return 3
Case "4" : Return 4
Case "5" : Return 5
Case "6" : Return 6
Case "7" : Return 7
Case "8" : Return 8
Case "9" : Return 9
Case "A" : Return 10
Case "B" : Return 11
Case "C" : Return 12
Case "D" : Return 13
Case "E" : Return 14
Case "F" : Return 15
Case "G" : Return 16
Case "H" : Return 17
Case "I" : Return 18
Case "J" : Return 19
Case "K" : Return 20
Case "L" : Return 21
Case "M" : Return 22
Case "N" : Return 23
Case "O" : Return 24
Case "P" : Return 25
Case "Q" : Return 26
Case "R" : Return 27
Case "S" : Return 28
Case "T" : Return 29
Case "U" : Return 30
Case "V" : Return 31
Case "W" : Return 32
Case "X" : Return 33
Case "Y" : Return 34
Case "Z" : Return 35
End Select
End Function
Private Function GetBarcodeChecksum(ByVal Barcode As String) As Integer
Dim s, sb As String
Dim idx, cnt, d, m, c As Integer
sb = Barcode.Replace(" ", String.Empty)
cnt = Barcode.Length
m = 36
c = m
For idx = 0 To cnt - 1
s = Barcode.Substring(idx, 1)
d = GetCheckDigit(s)
c = c + d
If c > m Then c = c - m
c = c * 2
If c > m Then c = c - m - 1
Next
c = m + 1 - c
If c = m Then c = 0
Return c
End Function