ist es möglich einen SQL Cursor von einem anderen Job zu schliessen wenn dieser auf Fehler läuft ?
Grund:
In einem SQL Programm wird ein Cursor geöffnet und das PGM läuft dann in der späteren Verarbeitung auf Fehler und man hat die Möglichkeit mit G = *GETIN zu beantworten . Das Problem ist nun aber das er beim wiederholten einsteigen natürlich den Cursor wieder öffnen will .
PGM CODE das auf Fehler läuft -
if OpenCursor();
Verarbeitung PGM
endif;
Closecursor();
*inlr = *on
Beantworte ich jetzt einen Fehler mit G und das PGM läuft wieder von vorne los bringt er beim openCursor einen SQL Code zurück und er kommt nicht mehr in die Verarbeitung .
Deshalb meine Frage kann ich einen Cursor von einem anderen Job schliessen damit er nach dem Beantworten mit G *GETIN den Cursor wieder ganz normal öffnen kann ???
Grüsse
... je nach Konstellation ginge da mit STRSRVJOB und STRDBG noch was, aber für eine gute Idee halte ich das nicht. Der Murks gehört im Programm geheilt!
Ernsthaft gehört natürlich der Fehler behoben.
Zwischen Open und Close das Ganze in eine Monitor-Gruppe einbetten.
Den Cursor ernsthaft "Extern" zu schließen geht leider nur per ENDJOB oder das Programm eben per "C" zum Abbruch bringen.
Einfach per "G" einen Wiederanlauf zu erzwingen birgt eigentlich mehr Gefahren.
Bookmarks