View Full Version : Lese trigger Änderung Feldinhalt
Hallo Forum,
ich muss den Saldo eines Kontos statt aus Datei A aus Datei B holen. Datei B ist natürlich nicht in der LIBL, wäre ja auch zu einfach.
Das ganze unter S/36 environment. Da das ganze in ca 40 S/36er Programmen stattfindet möchte ich das mit einem Read-Trigger machen.
Mittels der Pointer löse ich die Satzstruktur ("OldRecord") auf und schreibe da den Saldo rein, aber der "neue" Saldo kommt im aufrufenden Programm nicht an. da steht nach wie vor der Satzinhalt von Datei A.
Hat jemand ne Idde, was ich da verkehrt mache?
Danke für die Mühe
Hi Andreas,
Wie has du denn den Trigger angehängt ?
alwrepchg(*NO) ? --> muß *yes
gruß Robi
Hi Robi,
er ist auf ALWREPCHG(*YES)
Was ich gestern abend vergaß zu schreiben: Es geht um eine Maschine unter V5R1.
ALWREPCHG
Specifies whether repeated changes to a record within a trigger are allowed.
*NO: Repeated changes to a record within a trigger are not allowed.
*YES: Repeated changes to a record within a trigger are allowed.
This value is ignored if *READ is specified for the TRGEVENT parameter.
Wieso eigentlich OLD-Record ?
Diesen gibt es nur bei UPDATE und DELETE.
Die Daten müssten im NEW-Record abgelegt werden.
Bedenke aber, dass der neue Saldo dann bei einem späteren Update in diese Datei geschrieben wird.
Wäre da ein Update-Trigger auf der neuen Datei, der den Saldo in die alte datei schreibt, nicht besser ?
Hallo Fuerchau,
oldrecord war n Denkfehler hier im thread, ich benutze schon NewRec. Ich wollte nur darstellen, dass ich mit den pointern auf die Satzstruktur arbeite und nicht fest im Parameter "von Stelle" "bis Stelle" = SatzInhalt.
Was den Updatetrigger angeht
In beiden Dateien habe ich einen KontenStamm Debitoren. Einmal "alter" Kontenstamm" S/36 Buchhaltung, einmal neuen Kontenstamm DKS.
Der S736 Kontenstamm wird beim Vertriebmodul (auch S/36) zur Anzeige des Kontensaldos benutzt. Ich könnte sicherlich einen Trigger auf den DKS-Kontenstamm setzen bei Update After und daraus die S/36 Datei fortschreiben, hoffte aber, dass ich nicht gleich in der neuen FiBu "rummachen" müßte.
Diese Trigger auf Standardsoftware mchen aus meiner Erfahrung heraus recht viel Aufwand bei Releasewechseln. und ich wollte mich nicht unbedingt für meinen Auftraggeber unentbehrlich programmieren ;)
Dann prüfe doch mal, ob dein Trigger überhaupt aufgerufen wird (kann man schließlich auch debuggen). Vielleicht wird der Lesetrigger ja in S/36-Umgebung nicht unterstützt ?
Hallo Andreas,
Du hast Dir die Frage doch schon in Deinem zweiten Beitrag selber beantwortet: in einem Read Trigger geht das nicht, mit dem Buffer. Du könntest höchstens probieren einen konventionellen Update in einem After Read zu versuchen, aber ob das geht, weiss ich nicht.
Dieter Bender
quote:
ALWREPCHG
Specifies whether repeated changes to a record within a trigger are allowed.
*NO: Repeated changes to a record within a trigger are not allowed.
*YES: Repeated changes to a record within a trigger are allowed.
This value is ignored if *READ is specified for the TRGEVENT parameter.