View Full Version : Cobol update Key Feld
Hallo und allen einen schönen Freitag.
Was in RPG geht scheint in Cobol nicht erlaubt zu sein.
Update eines Keyfeldes mit Rewrite ...
Kann mir jemand erklären warum das so ist oder ob
es geht ich aber irgendwie die Bäume im Wald zähle...
Danke im voraus und allen ein schönes verdientes Wochenende.
Gruß,
Ralf
COBOL ist da per Definition restriktiver.
Da hilft nur die Write/Delete-Kombination, ist ja auch "logischer".
Hallo.
Vielen Dank für die schnelle Antwort ...
Gruß von der dänischen Grenze.
Ralf
Hi,
so was machen wir doch heute nicht mehr :-)
Angehängte Systeme können solche changes meistens nicht verarbeiten.
Gruß
Michael
Hallo.
Wir schon. Mein RPG hat mit dem update ja kein Problem.
Mit Inhalt des Feldes aufsetzen (setll) und per reade so lange lesen bis ende
oder anderer Inhalt. Deshalb habe ich das Feld als Key defeniert.
Das von meinem Kollegen mit dem Cobol dann eben per Write/Delete und aus der PHP Fraktion kann per SQL / ODBC dann wieder "ganz normal" der Key (ein Statusfeld) ein update erfahren ... Läuft ..... :-)
Gruß,
Ralf
RPG interessiert sich ja auch nicht bei Update für Keys.
In COBOL ist die Datei per ANSI-Definition als Indexsequentiell/-random definiert und schließt Schlüsselupdates aus.
Aus SQL-Sicht passiert ja eigentlich kein Index-Update, da man ja die Tabelle und nicht den Index updaten kann.
Je nach Anforderung ist ggf. ein Delete/Write besser geeignet.
So wie ich die Sache aber sehe und es sich hier nur um ein "Status"-Feld handelt, also eigentlich nicht den relevanten "Unique"-Key, sollte der Update ja gar nicht über die LF erfolgen sondern über die PF bzw. über die LF die den Unique-Key enthält.
Die Definition Unique-Key kann auch eine "logische" Definition sein ohne dass man tatsächlich einen Unique-Key in eine PF/LF anlegt. "Logisch" heißt eben, dass nur die Anwendung und nicht die DB für das Vermeiden doppelter Schlüssel verantwortlich ist.
Also noch mal zu obigem COBOL:
Richtiger wäre hier die Verarbeitung über 2 Dateien:
1. Die LF mit dem Status-Zugriff (nur Input!)
2. Für den Update dann den READ über Unique-Schlüssel mit anschließendem Update