Anmelden

View Full Version : einfacher Trigger



cicero22
03-07-03, 15:19
Hallo!

Tja - leider habe ich einfach keine Ahnung, wie das geht. Kann mir jemand helfen?

Es gibt das bei uns eine schöne Datenbank (Datei1 genannt) - ich möchte einfach wenn ein Feld eines jeden Satzes einen bestimmten Wert annimmt ein anderes Programm anstossen.
Das andere Programm (triggerproggi!) nimmt dann Änderungen an einer anderen Datei vor. Allerdings brauche ich aus Datei1 noch die Kundennummer um den richtigen Satz in Datei2 zuzuordnen.
Ich denke Trigger bietet sich an.

Wer kann mir helfen. Wie bekomme ich diesen Trigger ans laufen und wie erhalte ich die richtige Kundennummer aus Datei 1 (=> ins Triggerproggi!)

Viiiiiiiiiiiiiiiiiielen Dank

dirk

Fuerchau
03-07-03, 15:35
Suche mal im Forum nach dem Stichwort "Trigger".

Die Programmierung wird am besten mit ILERPG durchgeführt.
Du bekommst als Parameter eine Systemstruktur (Art des Aufrufes, Adressen der Puffer), so dass du über Zeigerarithmetik (Pointer) direkt auf den Satzpuffer (=Immage) zugreifen kannst.

Du erhältst also alle Informationen.

Die andere Möglichkeit sind dann SQL-Trigger, siehe hierzu die entsprechende Dokumentation DB2/400 bzw. UDB/400.

cicero22
04-07-03, 07:57
Vielen Dank Fuerchau (hätte ich auch von alleine drauf kommen können!)

Habe inzwischen guten Erfolg mit einem SQL Trigger - ich tue mir damit leichter... SQL bin ich ein bisschen fit! (und das was ich wollte war damit kein Problem!)

Und für den Rest der Welt den es interessiert hier die SQL Anweisung:

CREATE TRIGGER pgmo_10/trkundst
AFTER UPDATE OF kdkenn ON db_lgb10/kundst
REFERENCING OLD AS OLDROW
NEW AS NEWROW FOR EACH ROW
MODE DB2ROW

when (NEWROW.kdkenn = 'XH' )

BEGIN

INSERT INTO DB_lgb10/fehler
VALUES(current timestamp, 'TRIGGER', user, 'eXtra' ,
digits(newrow.kdnnr), 'Achtung: neuer eXtra Händler!');

end