Anmelden

View Full Version : Barcode-Andruck auf Lexmark 2400



Chrizz
06-12-05, 18:35
Hallo.
Ich möchte gerne einen Barcode, erstellt durch einen Platzhalter in der WWS (Standard Brief) auf einem Lexmark 2400 ausdrucken.
In der erzeugten Spool wird die Nummer, die als Barcode ausgedruckt werden soll, angezeigt; mit Steuerzeichen vor und nach der Nummer (je nach gesetzter Variable).
Wenn ich diese Spool-Datei auf den Lexmark 2400 setze, druckt dieser genau diese Nummer inkl. Steuerzeichen, und kein Barcode.
Ich hab schon das Benutzerhandbuch von Lexmark und auch von deren Webpage das PDF "Technical Referenzes" durchforstet; finde aber keine Lösung...
Was mache ich falsch?




(http://www.lexmark.com/publications/pdfs/form2400/en/enTref.pdf)

Fuerchau
06-12-05, 21:27
Ich denke, für die Steuerzeichen musst du ein Feld mit dem Attribut TRNSPY in der Printerfile definieren und die Zeichen in ASCII-Hex übertragen.
Das Problem ist, dass du immer eine Codewandlung von EBCDIC nach ASCII hast und somit eine Verfälschung deiner Zeichen eintritt.

Siehe auch:
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/rzakd/rzakdmsttrspy.htm?resultof=%22%74%72%6e%73%70%79%2 2%20

Chrizz
07-12-05, 12:18
puh!
Also, in der Source von der PRTF rumwurschteln mag ich jetzt eigtl. nicht!
Vorallem muss man erstmal wissen, WIE denn das TRNSPY Feld definiert werden soll..
Solch ein Feld ist in der Source noch nicht definiert.
Die verschiedenen Steuerkennzeichen allerdings sind dort angegeben.
Wenn die in einen Barcode umzuwandelne Nummer 77002 lautet, bekomme ich abhängig von der eingestellten VAR folgende Zeichen in der Spool angedruckt:


¬5555077002
¡07700299994


Ich denke, für die Steuerzeichen musst du ein Feld mit dem Attribut TRNSPY in der Printerfile definieren und die Zeichen in ASCII-Hex übertragen.
Das Problem ist, dass du immer eine Codewandlung von EBCDIC nach ASCII hast und somit eine Verfälschung deiner Zeichen eintritt.

Siehe auch:
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/rzakd/rzakdmsttrspy.htm?resultof=%22%74%72%6e%73%70%79%2 2%20

Fuerchau
07-12-05, 14:53
Dazu müsste man jetzt wissen, wie dein Lexmark Steuerzeichen bekommt.
Meistens werden sie mit Escape X'27' eingeleitet.
Kyocera arbeitet z.B. mit "!R!xxxx", was genau braucht dein Lexmark ?

Chrizz
08-12-05, 10:33
Laut Technical Resource ist es X27:

"The escape sequence begins with the character ESC
(decimal 027, hexadecimal 1B)"

"k value EAN-13: 178, xB2"

Fuerchau
08-12-05, 11:27
Dann musst du im PRTF ein Druckfeld in der gewünschten Länge mit dem Schlüsselfeld TRNSPY definieren und die gesamte Sequenz als ASCII übergeben !
Da du nur Ziffern übersetzen musst, kannst du das im RPG mit XLATE erreichen:

I X'F0..F9' C EBC
I X'30..39' C ASC

C EBC:ASC XLATE MYEBC MYASC
C X'27....' CAT MYASC MYPRT

Chrizz
08-12-05, 13:54
wieder mal: "puh!" :)
Um diese Eintragungen da vorzunehmen fehlen mir die RPG-Kenntnisse...
Trotzdem Danke für die Antwort!