Ich denke mal, die AS/400 wird mit dem Cursor überlastet da ggf. keine Indizes verwendbar sind.
Starte mal per Debugger dein Programm und schau dir an, was den so im Joblog steht.
Wahrscheinlich ist der SQL so komplex, dass es einfach etwas dauert, die benötigten Daten zusammen zu suchen.
Das Problem ist häufig bei dynamischem SQL zu finden.