-
Hallo Herr Fürchau,
vielen Dank für die Antwort. Leider komme ich jetzt erst dazu darauf zu antworten.
Ich habe mir den Artikel angeschaut. Können Sie mir bei den folgenden Feldern weiterhelfen?
BCINFO (wie groß ist das Feld und mit was wird des befüllt)
PTBARC (das gleiche)
mfg
Hans Zuther
-
PTBARC ist das DDS-Feld in der PRTF dass den Barcodeinhalt darstellt.
BCINFO ist die NVE-Nummer, die gedruckt werden soll.
Da ich das gerade für einen anderen Kunden auch drucke ergibt sich halt folgender Aufbau zum Drucken:
Die NVE-Nummer ist ein 18-Stelliges numerisches Feld, wobei die 18. Stelle die Prüfziffer Modulo 10 ist.
'00' ist die EAN128-Info für NVE (siehe Wikipedia zum Thema EAN128).
PTBARC = X'8F' + '00' + %editc(NVENR:'X')
Damit ergibts sich für PTBARC ein 21-stelliges Zeichenfeld.
Ich hoffe, die Modulo 10-Berechnung hast du gelöst.
-
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
-
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
-
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
-
Habe zwar meine eigenen Routinen aber die gefallen mir fast noch besser ;-)
guckst Du:
Mod 10 check digit calculation
kf
-
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;
-
Hallo zusammen!
vielen Dank für Eure Antworten. Sie haben mir sehr geholfen.
mfg
Hans Zuther
Similar Threads
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 13-11-06, 07:31
-
By TARASIK in forum NEWSboard Drucker
Antworten: 0
Letzter Beitrag: 27-07-06, 15:45
-
By ExAzubi in forum NEWSboard Drucker
Antworten: 4
Letzter Beitrag: 14-07-06, 08:27
-
By Jump4738 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 13-07-06, 11:01
-
By Joe in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 26-04-04, 13:34
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks