PDA

View Full Version : Befehle CPYF, CRTDUPOBJ und Member Locks



eifert
23-04-03, 08:53
Hallo alleseits,

weiß jemand welche Sperren setzen CPYF bzw. CRTDUPOBJ auf Teildateiebene ?

Vielen Dank

mk
23-04-03, 11:24
Hallo

wenn Du ein Object sperren ( zuordnen )möchtest kann st Du dafü die Befehle
ALCOBJ und DLCOBJ benutzen.
Gruss Michael

eifert
23-04-03, 11:45
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von mk:
Hallo

>wenn Du ein Object sperren ( zuordnen )>möchtest kann st Du dafü die Befehle
>ALCOBJ und DLCOBJ benutzen.
>Gruss Michael[/quote]

Hallo Michael,

danke für deine Antwort.
Ich möchte keine Datenbankdateien selbst sperren, sondern herausfinden welche Sperren von CRTDUPOBJ ( und/oder CPYF) auf Teildateiebene gesetzt werden.

Z.B., in der IBM-Beschreibung des Befehls CRTDUPOBJ habe ich folgendes entdeckt:
"Wird *YES im Feld Daten duplizieren (Parameter DATA) angegeben, wenn der Befehl CRTDUPOBJ angegeben wird, so ist
die neue Kopie des Dateiobjekts gesperrt, während die Daten kopiert werden (wie bei einer *EXCL-Sperre ohne Zeitlimit) ..."

Und was passiert mit der "From"-Datei ? Wie werden die Teldateien der
"From-Datei" gesperrt ( *SHRNUP ? )

Gruss
Robert

schreibr
23-04-03, 12:08
Hallo Robert,
im Zweifelfall den Befehl aufrufen und "blitzschnell" im WRKACTJOB auf -hold- (Auswahl 3) setzen. Dann den Job wiederum über WRKACTJOB Auswahl 5 und dann mit 12 die Sperren anzeigen lassen.

Gruss Reinhold

eifert
23-04-03, 14:06
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von schreibr:
Hallo Robert,
im Zweifelfall den Befehl aufrufen und "blitzschnell" im WRKACTJOB auf -hold- (Auswahl 3) setzen. Dann den Job wiederum über WRKACTJOB Auswahl 5 und dann mit 12 die Sperren anzeigen lassen.

Gruss Reinhold[/quote]


Hallo Reinhold,

ich habe es vesucht, aber war leider nicht "blitzschnell"-genug :-) ...

Villeicht heute abend, wenn ein paar "dicke" Jobs gestartet werden ...

Grüsse
Robert

mk
23-04-03, 14:28
Hallo Robert,

vielleicht wäre es hilfreich wenn du kurz skizzieren würdest was Du bezwecken möchtest.

Wenn mit CRTDUPOBJ Daten kopiert werden
wird die neue Teildatei gesperrt damit keiner
die Datei clearen kann.
Beim CPYF ist das uach so.

gruss Michael

eifert
23-04-03, 14:59
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von mk:
Hallo Robert,

vielleicht wäre es hilfreich wenn du kurz skizzieren würdest was Du bezwecken möchtest.

Wenn mit CRTDUPOBJ Daten kopiert werden
wird die neue Teildatei gesperrt damit keiner
die Datei clearen kann.
Beim CPYF ist das uach so.

gruss Michael[/quote]


Michael,

du hast recht, ich sollte es als erstes tun.
Ich muss die Befehle CPYF und CRTDUPOBJ implementieren (Java-Klassen designen), deshalb muss ich das interne Verhalten von o.g. Befehlen möglichst genau nachbilden.

Internes Verhalten von CL-Befehlen ist ziemlich schlecht dokumentiert, ist für die meisten Anwendungsentwickler auch unwichtig.

So sieht es aus...

Robert

Fuerchau
23-04-03, 15:37
CPYF sperrt die Quelldatei nur SHRRD, es können also Daten der Quelldatei verändert werden.
Es werden auch nur vorhandene Sätze kopiert, gelöschte Sätze werden überlesen.

CLRPFM versucht selbst einen EXCL, so dass dieser dann halt nicht möglich ist.

CRTDUPOBJ sperrt die Quelle SHRNUP, da ja sonst kein Duplikat erstellt werden kann.
Es werden dann sogar gelöschte Sätze mit kopiert !

H.V
26-05-04, 11:01
Hallo!

Die Datei wird durch *SHRUPD gesperrt!
Es war gar nicht das CPYF sondern das CLRPFM, welches nicht funktionierte!
Dann kann ich wahrscheinlich nur ein Programm schreiben was die Datei liest und jeden Satz einzeln löscht, oder?

Danke im voraus!

H.V.

Fuerchau
26-05-04, 11:51
Siehe hierzu meine Antwort im anderen Forum !