Paul_Hofmann
22-10-15, 07:20
Hallo,
ich habe das Problem das ich bei einer Veränderung im Programm reagieren möchte.
Beispiel:
FMyDatei UF A E K DISK
F RENAME(MyDateiF:MyForm)
F** --------------------------------------------------------------
*================================================= ====================
* Record comparison
*================================================= ====================
DSavRec e ds extname(MyDatei) inz
DSvBefore ds likerec(MyForm) inz
DSvAfter ds likerec(MyForm) inz
*================================================= ====================
chain(e) (Key01:Key02) MyDatei; // lesen MyDatei
// Sichern alte Satzinhalt
clear SvBefore ; // Vergleichsfelder löschen
clear SvAfter ; // Vergleichsfelder löschen
if %found(MyDatei); // gefunden MyDatei
SvBefore = SavRec ; // Satzinhalt sichern
SvBefore.uekz01 = ' '; // Zustand neu erzeugen
endif; // End gefunden MyDatei
Verarbeitung und Neubesetzung der Satzfelder
SvAfter = SavRec ; // Satzinhalt sichern
if SvAfter <> SvBefore; // Sätze vergleichen
if %found(MyDatei); // gefunden MyDatei
update MyForm; // UPDATE
else; // Else gefunden MyDatei
write MyForm; // Write
endif; // End gefunden MyDatei
endif; // End SvAfter <> SvBefore
aber leider steht in SavRec noch der Inhalt wie nach dem Chain und nicht die Veränderten Daten die jetzt in Format MyForm sehen.
Wenn ich nach den Update/Write prüfen würde, würde es klappen, denn SavRec wird erst nach einer Dateioperation gefüllt. Ich möchte aber vor dem Update/Write reagieren.
Hat jemand einen Tip für mich??
ich habe das Problem das ich bei einer Veränderung im Programm reagieren möchte.
Beispiel:
FMyDatei UF A E K DISK
F RENAME(MyDateiF:MyForm)
F** --------------------------------------------------------------
*================================================= ====================
* Record comparison
*================================================= ====================
DSavRec e ds extname(MyDatei) inz
DSvBefore ds likerec(MyForm) inz
DSvAfter ds likerec(MyForm) inz
*================================================= ====================
chain(e) (Key01:Key02) MyDatei; // lesen MyDatei
// Sichern alte Satzinhalt
clear SvBefore ; // Vergleichsfelder löschen
clear SvAfter ; // Vergleichsfelder löschen
if %found(MyDatei); // gefunden MyDatei
SvBefore = SavRec ; // Satzinhalt sichern
SvBefore.uekz01 = ' '; // Zustand neu erzeugen
endif; // End gefunden MyDatei
Verarbeitung und Neubesetzung der Satzfelder
SvAfter = SavRec ; // Satzinhalt sichern
if SvAfter <> SvBefore; // Sätze vergleichen
if %found(MyDatei); // gefunden MyDatei
update MyForm; // UPDATE
else; // Else gefunden MyDatei
write MyForm; // Write
endif; // End gefunden MyDatei
endif; // End SvAfter <> SvBefore
aber leider steht in SavRec noch der Inhalt wie nach dem Chain und nicht die Veränderten Daten die jetzt in Format MyForm sehen.
Wenn ich nach den Update/Write prüfen würde, würde es klappen, denn SavRec wird erst nach einer Dateioperation gefüllt. Ich möchte aber vor dem Update/Write reagieren.
Hat jemand einen Tip für mich??