Anmelden

View Full Version : 0 vorschub geht nicht



Robi
22-09-14, 14:52
Hi *all,
wieder einmal ein 'besonderes Problem'
Beim Kunden wird mit einem RPT Pgm eine Druckausgabe erzeugt.
(RPT = RPG mit vorheriger Sortierung der Source nach 'Kartenart', KEIN ILE)

Eine SR holt die Texte und die Steuerzeichen für den Vorschub aus einer Datei, baut ggf vorhandene Variablen in den String und macht, je nach Vorschub
Write xxx0 (für kein Vorschub) (um einzelde Wörter im Text Fett zu machen)
Write xxx1 (für 1 Zeile Vorschub vorher) oder
Write xxx2 (für 2 Zeilen Vorschub vorher)

Das funktioniert 4 mal (mit dem 0 vorschub, dazwischen immer mal wieder 1 / 2 vorschub!)
beim 5 mal sehe ich (mit debug) das das Steuerzeichen auf 0 steht und das er einen write xxx0 macht.
Im Spool steht die Zeile 2 mal 'Untereinander'.

CPYSPLF *PRTCTL zeigt auch: da ist 1 Vorschub drin!

Die PRTF ist extern beschrieben und arbeitet nur mit FIX-eingestellten Vorschüben
Ist da ein Fehler bekannt?

Danke
Gruß
Robi

Fuerchau
22-09-14, 15:27
Ggf. passiert dies genau auf der OVRFLW-Zeile?
Für Fettdruck gibt es das Schlüsselwort HIGHLIGHT, da "Übereinanderdrucken" bei Laserdruckern nicht funktioniert.
Vielleicht solltest du darauf umstellen.

Robi
22-09-14, 15:42
Nein, nicht beim Overflow,
Mit Highligt kann ich nicht arbeiten

Text heute:
bla bla ... . xxxxx bla bala bla (mit xxxxx in Fett)

Text morgen (von der Fachabteilung überarbeitet)
yyyyy bla bla bla (mit yyyyy fett)

<-Werbung->
Und der Ausdruck wird von userem Spooldesigner in PDF umgebaut, der erkennt den 'fett' Wunsch automatisch < / -Werbung->

Robi

Robi
22-09-14, 16:09
Nachtrag
Habe das Ext. Prtf umgebaut
Spaceb(001) mit Bezugszahl bedingt, so habe ich nur noch 2 Print Satzformate.
eins für 0 ind 1 vorschub, eins für 2.
Pgm entsprechend angepasst, und ... gleiche Fehler!
Die letzte 'doppelte' Zeile wird mit vorschub 1 statt 0 gedruckt.
Debug Prüfung: die bezugszahl ist definitiv AUS es dürfte kein Vorschub stattfinden.
SEEEEEHR seltsam

Fuerchau
22-09-14, 17:43
Du betonst "die letzte doppelte Zeile".
Ist es tatsächlich der letzte Write des gesamten Spools?
Folgt danach ein Close/Programm-Ende?

Dann hänge doch eine Leerzeile noch hinten dran. Vielleicht benötigt der Spool zum Abschluss noch einen Vorschub.

Ggf. gibt es noch ein Problem, dass die letzte Zeile automatisch mit SPACEA(1) ausgegeben wird.
Von der Drucklogik habe ich sowieso nie verstanden warum es die Unterscheidung SPACEA/SPACEB geben muss. Ich arbeite auch lieber mit einem SPACEA, das ist für mich persönlich logischer.

Robi
23-09-14, 07:30
Moin,
letzte doppelte, aber nicht letzte. Danach werden noch 2 Zeilen mit vorschub gedruckt.
Ich bevorzuge auch einheitlich SPACEA, passe mich aber der vorhandenen Logik an.
Solange SPACEA und B nicht vermischt werden ist das recht egal.
Gestern hat noch ein anderer Pgmmer das Pgm debugt, heute schau ich nochmal drüber, dann muß IBM ran.
Werde berichten
Robi