[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    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

  2. #2
    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

  3. #3
    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

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.753
    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

  5. #5
    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

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.753
    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

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

  8. #8
    Registriert seit
    Jan 2007
    Beiträge
    1.015
    Habe zwar meine eigenen Routinen aber die gefallen mir fast noch besser ;-)

    guckst Du:
    Mod 10 check digit calculation
    kf

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.753
    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;
    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

  10. #10
    Registriert seit
    Jul 2008
    Beiträge
    84
    Hallo zusammen!

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

    mfg
    Hans Zuther

Similar Threads

  1. Länge Zeichenkette bei Barcode PDF417?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 13-11-06, 08:31
  2. 6400 Drucker PQT3667 Barcode
    By TARASIK in forum NEWSboard Drucker
    Antworten: 0
    Letzter Beitrag: 27-07-06, 16:45
  3. Hexwert für Stoppzeichen bei EAN128
    By ExAzubi in forum NEWSboard Drucker
    Antworten: 4
    Letzter Beitrag: 14-07-06, 09:27
  4. Barcode und Laserdrucker
    By Jump4738 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 13-07-06, 12:01
  5. Barcode EAN128
    By Joe in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 26-04-04, 14:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •