View Full Version : Satzlänge in CL ermitteln
Ich möcht in einem CL die Satzlänge einer Datei ermitteln, ein RTVFD o.s.ä. habe ich nicht gefunden. Muß ich mit DSPFD in eine Datei arbeiten oder gibt es eine einfachere Möglichkeit?
Man kann die entsprechende Systemtabelle
z. B. mit SQL lesen.
SELECT DBXFIL, DBXLIB, DBXNFL, DBXRDL FROM qadbxref WHERE
DBXFIL='Dateiname'and DBXLIB='Bibliothek'
Info und Code über die Verarbeitung von Dateien in CL gibt es unter:
http://www.as400network.com/artarchive/index.cfm?fuseaction=viewarticle&CO_ContentID=7217
und
http://www.as400network.com/resources/code/index.cfm?fuseaction=ShowAllIssueCode&IssueSelect=Past&IssueYear=2000&IssueMonth=05
Bodo Roggenkamp
18-06-01, 10:27
Im Cl eine Variable Type *Char (10 0) declarieren.
Damm mit dem Befehl RTVMBRD FILE(LIB/DATEI) NBRCURRCD(&Variable) die Satzanzahl er Datei ermitteln.
Gruß
Bodo Roggenkamp
Bodo Roggenkamp
18-06-01, 10:34
Sorry,
Variable muss natürlich *DEC (10 0) sein.
Bodo Roggenkamp
18-06-01, 10:55
So was!
Habe mich total vertan. Habe Satzanzahl und nicht Satzlänge gelesen. Sorry, war Mist. Einfach ignorieren.
Es sollte wie folgt funktionieren:
1. DSPFD FILE(LIBNAME/FILENAME)
TYPE(*MBRLIST)
OUTPUT(*OUTFILE)
OUTFILE(QTEMP/DSPFD)
OUTMBR(*FRIST *ADD)
2. DCLF FILE(QTEMP/DSPFD)
RCDFMT(*ALL)
3. RCVF
Im ersten Schritt wird die Datei DSFFD mit den erforderlichen Daten der gewünschten Datei in der Bibliothek QTEMP erzeugt.
Der zweite Schritt definiert die oben erzeugte Datei als Eingabe Datei im CL-Programm.
Der dritte Schritt liest immer einen Satz aus dieser Datei in das CL-Programm.
Der Befehl DCLF erstellt die erforderlichen Variablen im CL-Programm während des Compilierens.
Mit DSPFFD QTEMP/DSPFD lässt sich auch das passende Feld mit der Satzlänge finden.
Gruss Thomas