PDA

View Full Version : IPL - letzte Zeile wird nicht gedruckt



Matthias82
18-07-14, 08:15
Hallo zusammen,

ich habe die Aufgabe ein Platzlabel für einen Intermec zu erstellen, das hat soweit auch funktioniert nur wird mir die letzte Zeile aus dem RPG Code nicht angedruckt. So sieht das Format aus:
<STX><ESC>C<ETX>
<STX><ESC>P<ETX>
<STX>E6;F6<ETX>
<STX>B1,c128;o250,350;f3;c6,0,1,0;h150;w3;d0,12<ETX>
<STX>H2;o300,50;f3;c21;h6;w3;d0,2<ETX>
<STX>H3;o100,350;f3;c21;h2;w1;d0,15<ETX>
<STX>R<ETX>

Und so sieht das vom Programm erstellte Spool aus:
<STX><ESC>E6 <ETX>
<STX><ESC><CAN><ETX>
<STX> <CR><ETX>
<STX>040001001001<CR><ETX>
<STX>07<ETX>
<STX>040-001-001-001<ETX>
<STX><ETB><ETX>
<STX><FF><ETX>
Im RPG Programm wird das letzte Feld richtig gefüllt aber nicht angedruckt. Vertausche ich im RPG Programm und im Format H3 mit H2, dann wird der Wert richtig angedruckt aber dafür fehlt dann eben wieder der letzte Wert.
Wenn ich einen Konstanten Wert in H3 Eintrage wird das Feld auch richtig angedruckt, z.B.
<STX>H3;o100,350;f3;c21;h2;w1;d3,TEST<ETX>
Ich habe vorher kaum etwas mit solchen Druckgeschichten zu tun gehabt, könnte mir jemand bitte einen Rat geben?

Gruß M

Robi
18-07-14, 09:07
Schön das du uns zeigst, was rauskommen soll und was raus kommt.
Ich vermute, das die Ursache dafür im Programm liegt!
Der einzige Tipp den ich dir geben kann: mach das Programm richtig!
denn wie immer : kam macht man keine Fehler, wird auch alles richtig!:D

(Sorry, aber wer soll denn da helfen können?)
Robi

Fuerchau
18-07-14, 09:12
Auch hier nur eine Vermutung. Ggf. braucht der Drucker zum Schluss noch ein <CR><LF>?
Gibst du die Steuerzeichen als "<XXX>" so an oder ist das nur deine Interpretation des Hex-Wertes?

Matthias82
18-07-14, 09:15
Die Steuerzeichen werden als <XXX> angegeben. Kann es eventuell etwas damit zu tun haben dass ich den Barcode an Stelle 1 ausgebe?

Fuerchau
18-07-14, 10:08
Da ich deinen Drucker nicht kenne musst du wohl das Handbuch des Druckers bemühen.
Von der AS/400 kann man da nichts machen, da der Drucker für die Interpretation der Daten zuständig ist. Irgendwo wird ja wohl festgelegt sein, was in welcher Reihenfolge anzugeben ist.

KingofKning
18-07-14, 10:50
Tja,warum hängst Du nicht einfach noch 2 Leerzeilen an, dann hast Du einen Würgaround, aber wenn Du das Programm posten würdest, könnten die Jungs die Ahnung davon haben Dir schnell sagen wo der Fehler ist und dann hättest Du es auch für die Zukunft sauber.....GG

Matthias82
18-07-14, 11:42
Ich habe den Fehler gefunden, der Fehler lag wirklich im Programm.
Das <CR> im Barcodefeld hat sich mit dem <ETX> um eine Stelle überlagert und wurde so scheinbar nicht gewertet.

Vielen Dank für ihre Hilfe!

Fuerchau
18-07-14, 12:27
Das ist der "Nachteil" wenn man in der PRTF mit festen Positionen arbeitet.
Bei SCS-Drucken finden "Überlagerungen" tatsächlich nicht statt.
Du kannst für solche "sequentiellen" Daten in einer PRTF einfach "+ 0" an Stelle einer berechneten Feldposition verwenden.
Das mache ich dann auch ganz gerne mit "+ 1", "+ 2" usw. die Felder aufzulisten.
Dann können zumindest solche Fehler nicht mehr passieren:).

Matthias82
18-07-14, 14:48
Das werde ich gleich mal ausprobieren, danke für den Tipp :)