PDA

View Full Version : Generische Namen



KingofKning
20-11-12, 12:41
Hallo *all,

ich habe hier das Problem das meine Triggerdateien zu groß werden und ich die auch eigentlich nicht in der Sicherung brauche.

Bei wrkobjpdm kann ich ja mit generischen Namen der Art *tr arbeiten. Sprich alles was auf tr endet wird angezeigt.

Bei savlib kann ich aber wohl nur mit TR* arbeiten sprich alles was mit TR anfängt.

Gibt es dazu eine Alternative? (Ich sehe keine....)

GG

Fuerchau
20-11-12, 13:14
Per DSPOBJD eine Ausgabedatei erstellen, die Namen ermitteln den SAVxxx-Befehl zusammenbauen und per QCMDEXC ausführen.

Alternativ die Dateien umbenennen.

ExAzubi
20-11-12, 13:35
Meine Version


PGM

DCLF X1

DSPOBJD LIB/*ALL
OBJTYPE(*ALL) OUTPUT(*OUTFILE) OUTFILE(QTEMP/X1)

RUNSQL SQL(DELETE FROM X1 WHERE ODOBNM NOT LIKE '%TR') COMIT(*NONE)

RCVF X1
SAVOBJ &ODLBNM/&ODOBNM TAP01

ENDPGM

Fuerchau
20-11-12, 13:56
Er möchte ja OMITOBJ angeben, da kann man leider nur einzelne Objekte bzw. Variablen (max. 300) aufführen und keine Variable, die alle Objekte benennt.

Alternativ (je nach Release) kann man da auch noch *USRSPC angeben und bei CMDUSRSPC ein *USRSPC-Objekt angeben.
Dieses muss dann allerdings (laut Doku) wie für das API QSRSAVO befüllt werden.

KingofKning
20-11-12, 15:26
Hallo *all,

ich habe mir jetzt die dicksten Brocken ausgesucht, (wobei ich die im nächsten Step auch verkleineren werden) und die ausgeschlossen.
Beim einzelnen savobj könnte ich mir vorstellen das es länger braucht (wissen tue ich es nicht) was aber definitiv fehlt ist das die komplette Lib einen Stand hat. Wir arbeiten 24 Stunden und daher möchte ich die einzelnen libs in einem Synchronen Stand halten. (es gibt nur eine Lib die wichtig ist) Umbenennen ist bei gekauften Anwendungen immer schwierig. Heißt aber für mich das evtl die Programmierer dieser welt selbst bei so trivialen Dingen wie Namensfindung mehr als 10 Sekunden Zeit investieren müßen...

GG

Fuerchau
20-11-12, 15:40
Der einzlne SAVOBJ dauert länger, da das Streamen auf Band mehrfach unterbrochen wird und das Aufsetzen wieder dauert.

Das Umbenennen ist doch ganz einfach:

1. Umbenennen von XXXXTR in TRXXXXX
2. CREATE VIEW oder CRTLF XXXXTR auf TRXXXX

Die Programme sollten nix davon merken.

KingofKning
20-11-12, 19:06
Interessanter Ansatz, werde ich mal testen.

GG

Pikachu
20-11-12, 20:01
Vielleicht könntest du die betreffende physischen Dateien (und ihre logischen Dateien) in eine eigene Bibliothek verfrachten? Und diese Bibliothek mit in die Bibliothekliste aufnehmen.