Anmelden

View Full Version : RGZPFM über ganze LIB



linguin
24-03-05, 13:50
Hallo,

kann ich alle Files einer LIB mit nem RGZPFM auf einmal reorganisieren ??

hat jemand schon ein CL dafür ??

Gruß

Christian

akorb
24-03-05, 14:06
Hallo,

hier ist ein kleines CL-Programm für die Aufgabe:

PGM
DCLF FILE(QADSPOBJ)
DSPOBJD OBJ(LIBNAME/*ALL) OBJTYPE(*FILE) +
DETAIL(*SERVICE) OUTPUT(*OUTFILE) +
OUTFILE(QTEMP/OBJD)
OVRDBF FILE(QADSPOBJ) TOFILE(QTEMP/OBJD)
LOOP: RCVF
MONMSG MSGID(CPF0864)
EXEC(GOTO CMDLBL(ENDE))
IF COND(&ODOBAT *EQ 'PF ') THEN(DO)
RGZPFM FILE(&ODLBNM/&ODOBNM)
ENDDO
GOTO CMDLBL(LOOP)

ENDE: ENDPGM

Das Programm erstellt eine Datei in der Bibliothek QTEMP. Dort wird die OBJD aller Objekte vom Typ *File erstellt.

Diese Datei kann man dann durchlesen und bei allen Datensätzen mit dem Atrribut PF wird der RGZPGM gestartet.

Gruss
akorb

jajonowak
24-03-05, 14:33
hallo akorb

rgzpfm reorganisiert immer nur eine teildatei, dummerweise soll es auch dateien geben die mehrere teildateien haben.


lg
hans-joachim

linguin
24-03-05, 14:36
Danke !!

funzt gewaltig !!

dann lass ich die kiste mal über ostern rödeln !!

Gruß

Fuerchau
24-03-05, 14:37
Bau am besten gleich einen CHGPF REUSEDLT(*YES) ein, dann kannst du in Zukunft solche Aktionen sparen.

linguin
24-03-05, 14:59
hallo akorb


rgzpfm reorganisiert immer nur eine teildatei, dummerweise soll es auch dateien geben die mehrere teildateien haben.


lg
hans-joachim

in den libs aber nicht !!

danke trotzdem !!

BenderD
24-03-05, 16:09
Hallo,

das kann ins Auge gehen, bei sequentieller Verarbeitung oder FIFO, LIFO und son Kram bei dupkeys - also erst prüfen...

mfg

Dieter Bender


Bau am besten gleich einen CHGPF REUSEDLT(*YES) ein, dann kannst du in Zukunft solche Aktionen sparen.

COS
31-03-05, 15:07
den Parameter REUSEDLT(*YES) sollte man nur dann einstellen, wenn man sich zu 100% sicher ist, das die Applikation das auch verträgt, ansonsten kann da Chaos bei herauskommen, wie D.Bender bereits geschrieben hat.

ggf. kann man beim RGZPFM die Daten phys. in der Reihenfolge des am häufigsten benutzten Zugriffsweges (LF) speichern lassen.

Beispiel:
RGZPFM FILE(LIB1/PHYSDATEI)
KEYFILE(LIB1/LOGDATEI4 LOGDATEI4)

Fuerchau
31-03-05, 16:27
@COS
In diesem Fall würde ich anschließend ein REUSEDLT aktivieren, da ja durch die LF-Sortierung eine FIFO/LIFO keine Rolle mehr spielen kann.
Ansonsten ist das Umsortieren nämlich genauso "gefährlich" wie REUSEDLT (Applikationsverträglichkeit).