PDA

View Full Version : RTVDIRINF Befehl



alex61
07-09-21, 07:55
Hallo zusammen,


habe wieder mal eine Frage zu o.a. Befehl.

In sammele in einem CL Informationen zu einem IFS-Directory (Punkt 1 unten)
Diese Informationen sollen eigentlich in Datei qaezd0001o gespeichert sein, da ich
einige Felder dieser Datei per SQL in eine andere Datei spiele (Punkt 2 unten).

Jetzt stelle ich aber immer wieder mal fest, dass nach dem RTVDIRINF nicht die Datei qaezd0001o erstellt wird, sondern z.B. Datei qaezd0002o oder ....3o, was schlecht ist, da ja dann mein CL nicht richtig zu Ende läuft.

Frage deshalb: wie kommt das und kann man evtl. einstellen, dass immer die Datei
qaezd0001o erstellt wird ?

Für Infos bin ich wie immer dankbar.

Grüße A.



1.

RTVDIRINF DIR('/Vz1/Vz2/Vz3') INFLIB(MYLIB)
MONMSG MSGID(CPF0000)


2.
insert into mylib/mydat
select cast(qezown as char(10)),cast(qezobjtype as char(05)),
cast(qezobjnam as char(50))
from mylib/qaezd0001o

B.Hauser
07-09-21, 08:14
Laut Doku werden bei der Angabe des Informations-Präfix *GEN Datenbanken-Dateien mit einem eindeutigen Präfix erstellt. Der Präfix beginnt mit QAEZD gefolgt von 4 Ziffern.
Wenn die Datei QAEZD0002O oder QAEZD0003O erstellt wird lieft das wohl daran, dass QAEZD0001O bereits vorhanden war. Also zunächst prüfen ob die Dateien vorhanden sind und dann löschen!
... allerdings würde ich einen Präfix fix vorgeben, um zu verhindern, dass die Dateien mit dem automatisch gernierten Namen von einer anderen Anwendung oder vom Kollegen verwendet/gelöscht werden.

Die Frage ist natürlich, warum Du überhaupt noch den Befehl RTVDIRINF verwendest und nicht mit dem IBM Service IFS_OBJECT_STATISTICS in der Bibliothek QSYS arbeitest.
IFS_OBJECT_STATISTICS (https://www.ibm.com/docs/en/i/7.4?topic=services-ifs-object-statistics-table-function)

alex61
07-09-21, 08:44
vielen Dank für die Info und noch einen schönen Tag. Werde alles mal ausprobieren.
Grüße A.