So, hab das jetzt versucht mit THREAD(*SERIALIZE) aber das wars nicht. Wieder ein Absturz der UDF.
Die Maschine behauptet "Zeiger für angegebene Position nicht gesetzt", aber es sind alle Parameter gefüllt.
Habs mir im Debugmodus angeschaut, sobald die Funktion aufgerufen wird crashed das Programm und nimmt gleich noch alles im Aufrufstapel mit.

Nochmal der Ablauf:

In der Kundenstammwartung wird auf den Kundenstamm geschrieben, ein Trigger wird ausgelöst, darin wird mittels SQL-Cursor eine Datei gelesen in der die aufzurufenden Triggerprogramme stehen. Das erste Programm wird aufgerufen und sieht in einer Steuerungsdatei nach ob gewissen Dinge zu tun sind oder nicht. Das geschieht mittels eines Prozeduraufrufs an ein Serviceprogramm das wiederum eine UDF enthält die die Datei liest und den gewünschten Wert zurückgibt.

Da die UDF in anderen Programmen, Views und dergleichen auch genutzt wird, dort aber direkt angesprochen wird, macht mir das schon Kopfzerbrechen wenn ich NOT FENCED angeben muß. Weiß ja nicht wie sich das auswirken kann.