[Allegro] acon: Aenderungsstempel
Thomas Berger
ThB at Gymel.com
Mo Mai 30 12:08:31 CEST 2011
Lieber Herr Eversberg, liebe Liste
beim Update von Datensaetzen aus externen Dateien kann es vorkommen,
dass diese irgendwelche Datumsstempel tragen: Sei es solche aus
umgewandelten Logdateien, aus Fremddaten oder Umdwandlungsprozessen
oder einfach der Vollstaendigkeit wegen.
Ob dies ein systemrelevanter Datumsstempel ist, ergibt sich aus
der zum Zeitpunkt des eigentlichen Updates gueltigen .CFG-Datei.
In manchen Faellen bekomme ich nun den Fehler
E: Sorry, rec 11 was changed by somebody else
nach STDERR, bzw.
Edit date not equal - rec changed by someone else
in der iV und das Speichern wird verweigert. Das ist mir eigentlich
gar nicht recht, denn
- immerhin musste ich mittels "set lock" vorher sogar sicherstellen,
dass niemand anderes den Satz kurzfristig veraendern konnte,
- ob da irgendeine Abweichung ist, ist mir herzlich egal (auf diese
Art acon leider nicht mitteilbar), denn
- ich will, dass beim Speichern ein frischer Datumsstempel
vergeben wird (Verbiegen von ce in der CFG oder "set Timestamp off"
sind also keine Option)
Abhilfe besteht darin, den Aenderungsstempel des vorhandenen Satzes
(nach dem set lock) umstaendlich zu sichern:
// Aenderungsdatum schuetzen
var "#" ce " "
if "# " var ""
if not "" var "#" ce;var
ins $savestamp
if not "" var "#" ce " " $savestamp
ins $savestamp
und vor dem "put" in den Datensatz einzufuegen:
// $savestamp ist leer oder enthaelt "#kkf <geretteter Inhalt>"
var $savestamp
if not "" ins
(ich habe noch nicht systematisch getestet, evtl. muss der Neuaufnahmestempel
cn ebenfalls gesichert werden, damit es nie Probleme gibt)
Es scheint allerdings so zu sein, dass es genuegt, vor dem Speichern
die Aenderungsstempelkategorie zu loeschen, damit keine Datumsvergleichstests
stattfinden (oder unbeabsichtigt falsch nicht scheitern?), ich finde dazu aber
keine Dokumentation: Wo koennte die stehen?
Mir scheint eine solche "update"-Situation (es wird beruecksichtigt, dass
ein Satz vorhanden ist und der ersetzt, ohne dass man speziell dem
Aenderungsstempel einen Wert beimisst) typisch genug, um einen "offiziellen
Weg" zum Abklemmen der Datumsstempelvergleiche vorzugeben.
viele Gruesse
Thomas Berger
Mehr Informationen über die Mailingliste Allegro