Anmelden

View Full Version : Barcode EAN128



Seiten : 1 [2]

Zuther
07-02-13, 09:48
Hallo Herr Fürchau,

vielen Dank für die prompte Nachricht. Leider steh ich vollkommen auf dem Schlauch. Könnten Sie mir eventuell einen Auszug der RPG-Anweisung sowie die DDS-Bestimmung geben?
Irgendwo habe ich gelesen dass die AS400 die Prüfsumme selber errechnet. Stimmt das?

Besten Dank für die Bemühungen
mfg
Hans Zuther

Fuerchau
07-02-13, 10:10
Die automatisch Prüfsumme beinhaltet nur die Barcode-Prüfsumme (Modulo 103, Siehe Wikipedia), was durch die Angabe X'02' in der DDS erfolgt.
Die NVE-Prüfsumme ist Bestandteil der NVE-Nummer selber und wird nicht automatisch berechnet.

Der Rest steht doch oben bereits:

DDS:
PTBARC 21 20BARCODE(CODE128 4 *NOHRI X'02')

RPG:
D NVENR 18p 0

c/free
PTBARC = X'8F' + '00' + %editc(NVENR:'X');
/end-free

Zuther
07-02-13, 13:20
Sorry!
Meine Programmierkenntnisse sind nicht allzu gut.
Trotzdem möchte ich Dich nochmal fragen ob es für die Prüfziffernberechnung etwas gibt!

mfg
Hans

camouflage
07-02-13, 13:42
Habe zwar meine eigenen Routinen aber die gefallen mir fast noch besser ;-)

guckst Du:
Mod 10 check digit calculation (http://permalink.gmane.org/gmane.comp.lang.as400.rpg/34902)

Fuerchau
07-02-13, 17:44
Vorsicht: Der Link arbeitet mit einer "2323.."-Bewertung!


d MyDs ds
d FaktorC 17 inz('31313131313131313')
d Faktor 1S 0 overlay(FaktorC) dim(17)
d
d ValueN 17S 0
d ValueS 1S 0 overlay(ValueN) dim(17)
d

d MultS 3p 0 inz dim(17)
d SummS 9p 0
d Check 1p 0

c/free
ValueN = 12345678901234567;
MultS = ValueS * Faktor;
SummS = %xfoot(MultS);
Check = %rem((10-%rem(sum:10)-1):9)+1;

Zuther
08-02-13, 08:48
Hallo zusammen!

vielen Dank für Eure Antworten. Sie haben mir sehr geholfen.

mfg
Hans Zuther