Anmelden

View Full Version : x'1B ' in SCS Printfile



spiceisnice
09-02-05, 14:07
Hallo Leute!

ich habe auf einen normalen PCL Laserdrucker ein Logo abgelegt, das mit x'1B266631793458' abgerufen werden könnte. Das würde ich nun gerne beim Druck eines SCS Printfiles mitschicken um das Logo mitzudrucken. Ist aber Standardsoftware - kann daher nicht über Programm mit eval steuercode = x'1B....' arbeiten.
Möglich wäre nur Eingabe per Textbaustein der auf Zeile1,Spalte1 vorgesehen ist - aber über Tastatur kann HEX <'40 nicht eingegeben werden ?

Gibts da eine andere Lösung ?

Fuerchau
09-02-05, 15:08
1. Du kannst die Daten des Textbausteins mit SQL (z.B. update ... set field = x'1B....') in die Datenbank bringen.
2. CHGPRTF ... RPLUNPRT(*NO) !!!

spiceisnice
09-02-05, 16:51
Leider ohne Erfolg :

Auch bei *NO Ersatzzeichen ?
Maßnahme bei undruckb. Zeichen RPLUNPRT
Zeichen ersetzen . . . . . . . . . . . . : *NO
Ersatzzeichen . . . . . . . . . . . . . . : '*' X'5C'

Müsste der String nicht so aussehen - mit x'03' und Länge :
x'03081B266631793458'

Fuerchau
09-02-05, 17:00
Du musst nur das X'1B' in die Datei schreiben, der Rest der Zeichen muss wieder als EBCDIC-Code eingetragen werden, da ja bei der Übersetzung zum Drucker EBCDIC in ASCII umgewandelt wird. X'1B' ist aber für beide gleich:

x'1B' + "26 66 31 79 34 58" suche den dazu passenden EBCDIC (z.B. x'31' ist x'F1')also "1".

Sven Schneider
09-02-05, 19:00
Der ASCII Transparent Druckbefehl X'03' + Länge in Hex ist schon korrekt. RPLUNPRT(*NO) trotzdem nicht vergessen.

Vielleicht gibt es das Problem, weil das Zeichen bei dir am Anfang der Spool steht (Zeile 1 Pos 1).
Siehe APAR :
V5R2
http://www-912.ibm.com/a_dir/as4ptf.nsf/b1cd508fa850028686256c2300702726/6c48de2d4acb10d186256f2e004791e7?OpenDocument&Highlight=0,SCS,transparency
V5R3
http://www-912.ibm.com/a_dir/as4ptf.nsf/b1cd508fa850028686256c2300702726/7f9f44cc2b67eadd86256f8d0052a932?OpenDocument&Highlight=0,ascii,transparency

Ansonsten versuche doch noch einmal ein *BLANK (X'40') voranzustellen.

spiceisnice
10-02-05, 08:12
Also das sind jetzt 2 verschiedene Aussagen :

laut F: nur ESC und PCL Steurercode
eval fld1 = x'1B' + '&f1y4X'
*...+..
&f1y4X
158FAFE
B061847´
Ergebnis negativ, Overlay/Logo wird nicht gedruckt

laut S: alles in Hex also Blank+03+Länge 7:
eval fld1 = x'4003071B266631793458'
Ã`ì
4001263735
037B661948
Ergebnis negativ, Overlay/Logo wird nicht gedruckt

Bin jetzt etwas ratlos ?

Sven Schneider
10-02-05, 19:30
Wie ist den der Drucker angeschlossen :

- remote outq
- printer device (PJL, SNMP, IPP)
- Client Access Emu

Bitte poste doch mal die DEV bzw. OUTQ Beschreibung mit allen Parametern, sofern nicht Emu verwendet wird.

Insbesondere sind wichtig :

TRANSFORM(*YES)
MFRTYPMDL(*HP5)
SYSDRVPGM(*HPPJLDRV)
DESTTYPE(*OTHER)


Zusätzlich : Schalte doch mal deinen Drucker in den Hex-Dump Mode (siehe Handbuch, normalerweise über Esc-Y- x'1B59').
Hier siehst du welche ASCII Zeichen (PCL-Steuerzeichen + Nutzdaten) am Drucker ankommen.

Eine etwas elegantere Lösung habe ich noch hier gefunden.
http://archive.midrange.com/midrange-l/200109/msg01077.html
Hier wird das WSCST-Objekt angepasst und zwar der Parameter INITPRT.



:INITPRT
DATA ='1B45'X /* esc E RESET printer */
/* '1B59' Hex dump Mode (enable only for test) */
'1B266631793458'X /* esc &f1y4X enable MACRO
for OVERLAY */



Was die PCL-Steuerzeichen anbelangt kannst du dich hier auch noch mal kundig machen :

http://printers.necsam.com/public/printers/pclcodes/ipcl5hp.htm