Anmelden

View Full Version : Spoolfile auslesen mit *FCFC



Moonwalker
21-01-16, 14:35
Hallo zusammen,

ich habe eine SCS Spoolfile mit CPYSPLF in eine PF kopiert und versuche diese nun auszulesen.
Ich habe aber das Problem, dass vorne das Steuerzeichen + kommt, was bedeutet, dass kein Zeilenvorschub gemacht wird, sondern sich Text überschneidet bzw. überschneiden kann.
Nun teilt sich eine Zeile aus der Spool in mehrere Zeilen in der PF auf, jeweils mit einem + davor aus. Diese Zeilen muss ich nun irgendwie im Code wieder zu einer zusammensetzen, um per Substring Werte daraus auszulesen. In einer Schleife jede +-Zeilen auslesen kann ich nicht, da ich ja nicht weiß, in welcher Zeile sich wirklich der Wert befindet, den ich suche. Es kann ja auch sein, dass an der Stelle nur blanks stehen.
Hier ein Beispiel als Screenshot:

367

Der obere Teil zeigt den Inhalt der PF und der untere Teil, wie ich die Zeile im RPG benötige.
Weiß jemand, wie ich die Zeilen zusammenfügen kann oder gibt es vllt. einen Parameter, der die Zeile direkt richtig in die PF schreibt? Wobei ich die FCFC Kontrollzeichen benötige, um die Zeile und Seite zu zählen.

Vielen Dank.

Grüße,
Moonwalker

Robi
21-01-16, 15:17
was willst du den haben wenn der ausdruck so ist:


1
0
+ hugo
+_____
+ enotten
+ _______
+ sind ein tolles Volk
+ _______________

Hugenotten sind ein tolles Volk oder
Hugonotten sind ein tolles Volk oder

_____________________________

Robi




<Werbung>
PS
wenn du etwas programmieren willst, um den spool zu verändern / an zu hüpschen ...
Kaufen ist günstger
www.the-tool-company.de (http://www.the-tool-company.de)
</Werbung>

Fuerchau
21-01-16, 15:33
Für sowas muss man leider die Zeilen in eine eigene Seite (Array) aufbereiten.
Die +-Zeilen werden auch z.B. bei Fettdruck (HIGHLIGHT) ausgegeben.

D Mypage s 132 dim(72)

in einer Schleife die Seite im Speicher aufbauen wobei iW. "_" (UNDERLINE) und Leerzeichen ignoriert werden müssen.

for Pos = 1 to 132
if %subst(qline:pos:1) <> *blank
and %subst(qline:pos:1) <> '_';
%subst(MyPage(CurrLine):pos:1) = %subst(qline:pos:1);
endif;
endfor;

Anschließend kann ich nun Werte gezielt z.B. per "%subst(MyPage(5):70:8)" aus Zeile 5, Spalte 70 8 Zeichen extrahieren.
Auf diesem Wege habe ich mal ca. 1993 ein Spoolarchiv auf der AS/400 (V2R2) entwickelt.