PDA

View Full Version : Satzlänge in CL ermitteln



kschmidt
14-06-01, 09:46
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?

lorenzen
14-06-01, 14:34
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.

TGsoft
19-06-01, 17:35
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