Anmelden

View Full Version : AFPDS: Druck von CSY Zeichen



schatte
23-09-16, 15:33
Hallo zusammen,

ich habe folgendes PRTF (DDS):

A R FMT01
A SKIPB(1)
A TXT 10A 1


Dieses PRTF habe ich mit folgendem Befehl erstellt:

CRTPRTF FILE(XXX/PRTCSY) SRCFILE(XXX/QDDSSRC) DEVTYPE(*AFPDS) CHRID(959 870)

Per Cobol Programm schreibe ich in die Variable TXT den Hexwert X"D4819389478949" herein, was in Klarschrift (EBCDIC 870) das Wort Maličić ergibt.

Die verwendete Remote OUTQ hat im Parameter MFRTYPMDL den Wert *HP5 hinterlegt.

Es wird jedoch folgendes gedruckt: Maliåiñ

Wenn ich das PRTF mit DEVTYPE(*SCS) erstelle, werden die CSY-Zeichen korrekt gedruckt.
Der Drucker ist ein Lexmark T650n.

Was muss ich bei *AFPDS noch einstellen, damit ich CSY Zeichen korrekt drucken kann?

Viele Grüße
Matthias

Fuerchau
23-09-16, 17:27
AFPDS ist da halt etwas anders als SCS. Bei SCS wirken viele Einstellungen immer auf den gesamten Spool. Bei AFPDS muss man u.U. auf Feldebene arbeiten.
D.h., CHRID ist bei AFPDS auf Feldebenen angebbar.
Vielleicht hilfts ja.
http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzakd/rzakdmstptchrid.htm

schatte
29-09-16, 16:05
Danke für Deine Antwort.

Ich habe nochmal etwas getestet. Wenn man den Systemwert QCHRID auf 959/870 umstellt, dann wird auch der AFPDS Beleg korrekt gedruckt. Aber diesen Wert sollte man natürlich nicht umstellen, da sonst evtl. andere Ausdrucke/Anwendungen nicht mehr korrekt funktionieren.

Letztendlich habe ich CHRID auf Feldebene angegeben und das PRTF mit OVRPRTF CHRID(959 870) überschrieben. Damit hat der Ausdruck dann auch korrekt funktioniert.

Nun kämpfe ich noch mit dem Ausdruck eines Zebra Etiketts mit CSY-Zeichen. Mit dem ZPL Kommando ^CI lässt sich ja die Codepage des Druckers ändern. ^CI31 wäre die Codepage 1250, die man ja für CSY bräuchte (AS/400 Spool mit CCSID 870 / Spooler konvertiert nach 852/1250), aber dieser Wert funktioniert laut ZPL-Handbuch nur für Zebra Drucker der G-Serie.

Daher ist die Frage, ob man in der WSCST der OUTQ einstellen kann, dass mit UTF-8 kommuniziert wird. Dann könnte man auch ^CI28 verwenden.

Gruß
Matthias

Fuerchau
30-09-16, 09:12
Nein das geht nicht, es hindert dich aber niemand daran, UTF-8-Zeichen in einem TRNSPY-Feld zu senden.
Ggf. klappt das ja. Ansonsten muss halt ein anderer Zebra-Drucker her.