Prüfziffer ISO 7064 Mod. 37/36 errechnen

für eilige Fragen

Prüfziffer ISO 7064 Mod. 37/36 errechnen

Postby Ecrin1861 » Wed Mar 15, 2006 4:46 pm

Hallo,
gibt es einen SAP Funktionsbaustein um eine Prüfziffer nach dem Verfahren ISO/IES 7064 Mod. 37/36
zu errechnen oder hat jemand eine solche Routine schon einmal programmiert ?
Benötige dieses für die Erstellung von Paketaufklebern. Im OSS habe ich zu dem Thema leider
nichts gefunden. Würde mir gerne die Programmierung
ersparen, fall so etwas bereits existiert.

Mit freundlichem Gruß
Hartwig
Ecrin1861
.
.
 
Posts: 2
Joined: Wed Mar 15, 2006 4:46 pm

Postby Dean301 » Fri May 19, 2006 3:50 pm

http://www.posten.se/img/cmt/PDF/DPD_Pa ... 6_v1_2.pdf

die spinnen doch. ohne ende kompliziert.

jedenfalls steht in der englischen beschreibug mehr als in der deutschen.

falls du da was fertig hast, würd mich das schon interessieren :)

mfg
martin
Dean301
.
.
 
Posts: 2
Joined: Fri May 19, 2006 3:50 pm

Postby Elise1899 » Tue Jul 25, 2006 9:11 pm

habe leider keine ahnung von sap aber vielleicht könnt ihr was hiermit
anfangen (schnell in vb.net geschrieben :shock: ):

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
Elise1899
.
.
 
Posts: 1
Joined: Tue Jul 25, 2006 9:11 pm

Postby Dean301 » Wed Oct 11, 2006 11:14 am

So habe ich das auch, nur halt in RPG auf der as400.
Was mich etwas irritiert, ist dass die Jungs von DPD auf ihren Beispieletiketten Prüfziffern mit Buchstaben haben.
Dean301
.
.
 
Posts: 2
Joined: Fri May 19, 2006 3:50 pm

Prüfziffer ISO 7064 Mod. 37/36 errechnen

Postby Madleen4009 » Mon Nov 06, 2006 9:47 pm

Die Jungs von DPD haben Buchstaben als Prüfziffern auf Ihren Beispieletiketten, weil das Ergebnis der Berechnug zwischen 0 und 35 liegen kann. Alles was größer 10 ist wird gemäß Tabelle wieder in einen Buchstaben umgewandet also 10 wird A, 11 wird B und 35 wird Z.
Das geht leider aus dem von DPD veröffentlichten Algorithmus nicht hervor.
Alles klar? :idea:
Madleen4009
.
.
 
Posts: 4
Joined: Thu Apr 15, 2004 10:39 am

Re: Prüfziffer ISO 7064 Mod. 37/36 errechnen

Postby Madleen4009 » Tue Nov 07, 2006 9:12 pm

Rolf hat geschrieben:Die Jungs von DPD haben Buchstaben als Prüfziffern auf Ihren Beispieletiketten, weil das Ergebnis der Berechnug zwischen 0 und 35 liegen kann. Alles was größer 10 ist wird gemäß Tabelle wieder in einen Buchstaben umgewandet also 10 wird A, 11 wird B und 35 wird Z.
Das geht leider aus dem von DPD veröffentlichten Algorithmus nicht hervor.
Alles klar? :idea:


Richtig muss es heißen: Alles was größer 9 ist wird gemäß Tabelle wieder in einen Buchstaben umgewandet, also 10 wird A ...
Madleen4009
.
.
 
Posts: 4
Joined: Thu Apr 15, 2004 10:39 am


Return to Kurzfragen

Who is online

Users browsing this forum: No registered users and 12 guests