[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    7

    Barcode EAN128

    Hallo Forum,

    auf ein Formular soll mit einem IPDS-Drucker ein EAN128-
    Barcode gedruckt werden. Der gleiche Barcode wird auf einem
    speziellen Barcodedrucker auf Palettenetiketten gedruckt.

    Vor die Zeichenfolge (Datenbezeichner und Nutzzeichen) habe ich
    das FNC1 (8F), danach das SPZ gesetzt und in der Printerfile
    mit BARCODE(CODE128) ausgegeben.

    Das SPZ habe ich aus FNC1 und Zeichenfolge errechnet.

    Der Barcode stimmt aber im hinteren Bereich, unmittelbar vor dem
    Stopzeichen, nicht mit dem Barcode der Etiketten überein. Die
    Etiketten werden richtig eingelesen, der Barcode auf dem Formular nicht.

    Kann jemand weiterhelfen?

    Im Voraus schon mal Danke.

    Herbert

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1
    Hi Joe

    Ich hatte mal ein ähnliches Problem. Bei mir hing es mit dem Fehlen des Parameters CHECK-DIGIT im Printerfile-Schlüsselwort BARCODE zusammen.

    Versuchs doch einfach mal mit der Angabe (Wert 02) von diesem Parameter:
    BARCODE(CODE128 ......... X '02')

    (siehe DDS-Reference unter BARCODE)

    Gruss
    Daniel

  3. #3
    Registriert seit
    Aug 2003
    Beiträge
    7
    Danke Daniel,
    bin bis 18.8. im Urlaub. Werde es dann probieren und
    Feedback geben.
    Gruß Herbert

  4. #4
    Registriert seit
    Aug 2003
    Beiträge
    7

    Prüfziffer X'02'

    Hallo Daniel,

    leider ist das Problem mit der Prüfziffer X'02' nicht gelöst.
    Der Barcode hat vor dem Stopcode mehr Zeichen als der
    Code aus dem Etikettendrucker (der ist richtig).
    Bitte weiter um Hilfe.

    Gruß
    Herbert

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Schau Dir mal folgenden Link an:

    http://www.strichcodeservice.at/zeichensatz_code128.htm

    Die Berechnung des Prüfzeichens erfolgt mit dem ASCII-Wert und nicht mit dem EBCDIC-Wert. Du musst also erst eine Übersetzung in ASCII durchführen, die PZ berechnen und das Ergebnis wieder in EBCDIC. Dies gilt auch für das FNC.

    Für die Codewandlung kannst du QDCXLATE verwenden, du musst nur noch die richtige Tabelle wählen (WRKTBL *ALL, und dann nach Q273337xxx suchen, wobei xxx für den ASCII-Code steht).

    PS:
    Vielleicht berechnet ja die AS/400 die Prüfziffer automatisch, dann versuche es mal mit der Angabe X'00'/X'01' statt X'02'.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich habe nun selbst die Anforderung bekommen, EAN128 zu drucken. Mit folgender Einstellung funktioniert es einwandfrei:

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

    RPG: X'8F' CAT BCINFO PTBARC P

    Ich berechne KEINE Prüfziffer, sondern dies macht das System selber.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Aug 2003
    Beiträge
    7
    Hallo Forum,

    dank Eurer Unterstützung, insbesondere von Fuerchau, kann ich die Lösung der Aufgabe "EAN128" hier aufzeigen.

    Es handelt sich bei den Nutzdaten um die NVE (Nummer der Versandeinheit). Die Grunddaten stehen in meinem Fall in einer Palettendatei (wg. der Größe) und werden von Palette zu Palette um eine lfd.Nr. ergänzt. Diese Daten werden mit einer Prüziffer (Modulo 10 mit der Gewichtung 31313131..... .) ergänzt und ergeben die komplette NVE.
    Vor die NVE wird das Kennzeichen FNC1(x'8F') und der Datenbezeichner (DB=00) gestellt.

    Kompletter String:

    FNC1 DB NVE

    Die Ausgabe in der Printerfile wie vorstehend von Fuerchau beschrieben.

    Danke an alle Helfer

    Herbert

  8. #8
    Registriert seit
    Jul 2008
    Beiträge
    84

    NVE mit AS400 erstellen

    Hallo zusammen!

    ich bin im Moment auch gerade dabei einen NVE Code über die AS400 zu basteln. Wäre es vielleicht möglich mir den
    RPG-Code sowie den DDS-COde zukommen zu lassen?

    Besten Dank im Voraus
    Hans Zuther

  9. #9
    Registriert seit
    Jul 2008
    Beiträge
    84
    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

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Jul 2008
    Beiträge
    84
    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

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Länge Zeichenkette bei Barcode PDF417?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 13-11-06, 07:31
  2. 6400 Drucker PQT3667 Barcode
    By TARASIK in forum NEWSboard Drucker
    Antworten: 0
    Letzter Beitrag: 27-07-06, 15:45
  3. Hexwert für Stoppzeichen bei EAN128
    By ExAzubi in forum NEWSboard Drucker
    Antworten: 4
    Letzter Beitrag: 14-07-06, 08:27
  4. Barcode und Laserdrucker
    By Jump4738 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 13-07-06, 11:01
  5. Barcode EAN128
    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
  •