So ich habe Neuigkeiten, die mich noch mehr verzweifeln lassen.
Ich konnte das Problem lokalisieren und habe folgendes gemacht: Das Programm wo nachts läuft habe ich jetzt aufgerufen und siehe da, das SQL dauert.
Ich hatte geschrieben, dass es am Tag schnell läuft, bezieht sich aber auf andere Parameter, sorry.
Script Auszug:
c/exec sql
c+ prepare s1 from :W@SqlStr
c/end-exec
**
c/EXEC SQL
c+ DECLARE CRS1SQL CURSOR FOR S1
c/END-EXEC
**
**
c/EXEC SQL
c+ OPEN CRS1SQL
c/END-EXEC
**
**EXEC SQL
** WHENEVER NOT FOUND GOTO SbSQLEnd
**END-EXEC
c do *hival
c/EXEC SQL
c+ FETCH NEXT FROM CRS1SQL INTO :INPSQL
c/END-EXEC
**
c
**
c if SqlCod < *zero or SqlCod = 100
c leave
c endif

Das Programm bleibt auf den END-EXEC nach dem FETCH ca, 10 Minuten stehen und zieht CPU. Im wrkactjob steht der Job auf RUN und keine IO Operation in der DB.

Habe den STRDBMON aufgesetzt und der sagt, dass alles gut ist. Bevor das Programm stehen blieb waren 54 Sätze in der outfile und danach auch, d.h. der letzte Eintrag war schon vorher da. Da steht auch Start-Time und End-Time. Nur was macht er solange.
Im debug steht, dass alle Indizes genommen wurden.

Gruß Klaus