Hallo Brigitta,
die SQL-Funktion ist mit DETERMINISTIC erstellt. Ausserdem wird diese Funktion doch zu diesem Zeitpunkt noch garnicht aufgerufen, da im Trigger diese nur aufgerufen wird wenn das Datum != 0 ist.
Beim Insert sind die Datumsfelder aber 0 und in der Kopie sollen die Timestamps dann null sein.
Das funktiuoniert auch.

Ich habe den oben erwähnten Systemwert auf unserer Testmaschine (ein Prozessor weniger Arbeitsspeicher als die Produktion und nur mechanische Platten) QQRYDEGREE auf *OPTIMIZE gestellt.
Es schein so zu sein, dass dieser Wert schon Auswirkungen hat. Nach einer Stunde hatte diese Maschine vorgestern nur ca 200.000 Sätze geschrieben. Jetzt hat sie aber schon 750.000 Sätze inserted.

Bei Views bekomme ich auf den Maschinen ebenfalls Probleme, da diese ja als Berechnungsgrundlage für weitere Statistikauswertungen.

FOR EACH STATEMENT hört sich interesant an und werde ich auch noch ausprobieren.
Aber jetzt werde icherstmal abwarten was der Query-Degree bringt.

Ausserden würde ich als nächsten Schritt einfach mal auf der Testmaschine die DS-Datei durch eine 1:1 DDL-Definierte Tabelle ersetzten.

Das Problem mit dem Datum habe ich auf dem System mit vielen Tabellen, wo ich auch keinen Quellcode für habe. Deshalb diese Funktion.

Zur Info hier die Einstellungen der Funktion, die aber erst beim2ten Durchlauf (UPDATE) zum tragen kommen:

returns timestamp
language SQL
specific getTimestamp
deterministic
reads SQL data
called on null input
allow parallel
set option alwblk = *allread,
alwcpydta = *optimize,
commit = *none,
decresult = (31, 31, 00),
dftrdbcol = *none,
dyndftcol = *no,
dynusrprf = *user ,
srtseq = *hex

Brigitta, wir kennen uns von Bucher Reisen, dort hast du uns SQL und SQLRPG noch unter dem 6er Relase gezeigt. Bei Bucher hatte ich dieses merkwürdige Verhalten nicht gehabt. Also gehe ich davon aus, dass irgend eine Systemeinstellung hier anders ist. Nur Welche?

Das erste was mir aufgefallen ist, ist das der CHGQRYA die Tabelle QAQQINI in der QUSRSYS erwartet, diese aber nur in der QSYS vorhanden ist. Dann gibt es in der Tabelle viele Parameter, die ich nicht direkt einem SYSVALUE zuordnen kann. Hast Du da Erfahrungswerte ?

Andreas Funke