Spooldatei beginnt mit einer falschen Zeile

11. November 2008 | Von | Kategorie: DMS, Archivierung, Druck, Tools, Hot-Tips

Read Offline: Download PDFDownload ePubvon Scott Klement Frage: Ich habe eine Datei mit der folgenden Anweisung an eine Ausgabewarteschlange gesendet: CPYF FROMFILE(JASON/APREMIT) TOFILE(QSYSPRT) Die an die Ausgabewarteschlange übertragene Datei beginnt mit Zeile 1 (Abbildung 1A). Die resultierende Spooldatei hingegen beinhaltet fünf Leerzeilen vor Beginn der eigentlichen Daten. Dies ist aus der Angabe „Page/Line 1/6“ in

[weiterlesen …]

von Scott Klement

Frage:
Ich habe eine Datei mit der folgenden Anweisung an eine Ausgabewarteschlange gesendet:


CPYF FROMFILE(JASON/APREMIT) TOFILE(QSYSPRT)

Die an die Ausgabewarteschlange übertragene Datei beginnt mit Zeile 1 (Abbildung 1A). Die resultierende Spooldatei hingegen beinhaltet fünf Leerzeilen vor Beginn der eigentlichen Daten. Dies ist aus der Angabe „Page/Line 1/6“ in Abbildung 1B ersichtlich, allerdings erscheinen diese Leerzeilen beim Anzeigen der Spooldatei auf dem Bildschirm nicht.

Als Ergebnis benötige ich eine Spooldatei, die auf Zeile 1 und nicht auf Zeile 6 beginnt. Ich bin davon ausgegangen, dass dies eventuell mit einer Randeinstellung in der Datei QSysPrt zusammenhängen könnte, aber eine Veränderung der Randeinstellung auf den Wert 0 hat keine Abhilfe gebracht. Dieses Problem tritt unabhängig von der Warteschlange auf, an die ich die Datei sende. Ich betreibe mein System mit V5R2 und den aktuellen kumulativen PTFs.

Antwort:
Wird für zu spoolende Daten kein Zeilenabstand eingegeben, nimmt das System diese Einstellung selbsttätig vor. Ein Beginn der gespoolten Daten auf Zeile 1 lässt sich auf zwei einfache Arten erreichen:

1. durch Schreiben der Daten mit einem in einer höheren Programmiersprache (z. B. RPG) geschriebenen Programm, das eine Steuerung der Zeilenvorschübe erlaubt oder 2. durch Erstellen der physischen Daten mit Angabe von entsprechenden Vorschub-Steuerzeichen.

Um eine physische Datei mit Zeichen für die Zeilenformatierung zu erstellen, muss einfach nur am Anfang des jeden Satzes ein einstelliges Feld hinzugefügt werden. In dieses Feld können zur Formatierung folgende Vorschub-Steuerzeichen eingetragen werden:


blank	=	Der Satz wird in die nächste Zeile der Ausgabe geschrieben. 
+	=	Der Satz wird ohne vorherigen Zeilenvorschub geschrieben.
0	=	Vor dem Schreiben des Satzes werden zwei Leerzeilen eingefügt.
-	=	Vor dem Schreiben des Satzes werden drei Leerzeilen eingefügt.
1	=	Der Satz wird in die erste Zeile der nächsten Seite geschrieben. 

Soll eine so vorbereitete Datei nun in eine Spooldatei übertragen werden, muss vor dem eigentlichen CpyF noch die Anweisung OvrPrtF mit dem Parameter CtlChar(*FCFC) ablaufen. Abbildung 1C zeigt Ihre um die Vorschub-Steuerzeichen erweiterte Beispieldatei.

Abbildung 1C: Beispieldatei mit Vorschub-Steuerzeichen

Die 1 in der ersten Position des ersten Satzes veranlasst das System, auf einer neuen Seite zu beginnen. Die verbleibenden Sätze beginnen mit einer Leerstelle, was zum Drucken mit einzeiligem Zeilenabstand führt. Diese Beispieldaten werden mit den folgenden Anweisungen in die Spooldatei übertragen:


OVRPRTF FILE(QSYSPRT) CTLCHAR(*FCFC*)
CPYF FROMFILE(JASON/APREMIT) TOFILE(QSYSPRT)
DLTOVR FILE(QSYSPRT)

Wenn Sie an weiteren Beispielen interessiert sind, können Sie sich die in einer existierenden Spooldatei vorhandenen Vorschub-Steuerzeichen durch Angabe des Parameters CtlChar(*FCFC) in der Anweisung CpySplF anzeigen lassen. Beispiel:


CPYSPLF FILE(QSYSPRT) TOFILE(JASON/APREMIT) CTLCHAR(*FCFC)

Schlagworte: , , , , , , , , , , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.