Nach KDCS-Aufrufen gibt openUTM im Rückgabebereich des Kommunikationsbereichs Returncodes zurück: im Feld KCRCCC nach jedem Aufruf einen KDCS-Rückgabecode gemäß DIN 66 265 (kompatibler Returncode) sowie evtl. im Feld KCRCDC einen UTM-spezifischen Returncode (KCRCDC). Diese Returncodes geben Aufschluss darüber, ob und wie der KDCS-Aufruf ausgeführt werden konnte bzw. warum openUTM ihn nicht ausführen kann.
Welche Fehlercodes bei welchen KDCS-Aufrufen auftreten können, ist bei jedem Aufruf beschrieben. Eine Zusammenstellung aller Fehlercodes finden Sie im openUTM-Handbuch „Meldungen, Test und Diagnose“.
Wenn nach einem Aufruf das Teilprogramm die Steuerung zurückerhält, sollte es also überprüfen:
ob der Aufruf fehlerfrei ausgeführt wurde; dies erkennt das Teilprogramm daran, dass der KDCS-Returncode (im Feld KCRCCC) den Wert "000" hat.
welche Fehler ggf. aufgetreten sind entsprechend dem angegebenen Returncode.
Ferner sind ggf. Zusatzinformationen wie tatsächlich übertragene Längen (Feld KCRLM), verwendete Formatkennzeichen (Feld KCRMF/kcrfn) usw. für die zu ergreifenden Maßnahmen interessant.
Bei schwerwiegenden Fehler erhält das Teilprogramm die Steuerung nicht mehr zurück. openUTM setzt in solchen Fällen die Transaktion zurück, beendet den Vorgang und erstellt einen PEND ER Dump; der Fehlercode, der zum Vorgangs-Abbruch geführt hat, kann der UTM Diagarea des PEND ER-Dumps entnommen werden. Näheres zur Analyse eines PEND ER Dumps finden Sie im openUTM-Handbuch „Meldungen, Test und Diagnose“.
Auf Unix- und Linux-Systemen haben Sie die Möglichkeit, die Steuerung in gewissen Fällen zu behalten, indem Sie eine anwenderspezifische Fehlerbehandlung durchführen, siehe „Anwenderspezifische Fehlerbehandlung (Unix- und Linux- Systeme)".
Das Teilprogramm kann mit RSET, PGWT RB oder mit PEND RS/ER/FR die Transaktion zurücksetzen; bei PEND ER wird ein Dump angefordert.
Es kann auch sein, dass openUTM einen Fehler meldet, weil eine der beteiligten Komponenten (z.B. das Formatierungssystem) einen Fehler an openUTM gemeldet hat.
Für solche Fehler führt openUTM intern eine Fehlerbehandlung durch, ohne dass sich das Teilprogramm darum kümmern muss. Wenn möglich, korrigiert openUTM den Fehler, sonst wird der Vorgang mit PEND ER abgebrochen und der spezifische UTM-Fehlercode entsprechend versorgt.
Beispiele für eine Fehlerroutine finden Sie bei den Programmbeispielen, für C/C++ „Programmierbeispiele in C/C++", für COBOL „Programmier-Beispiele in COBOL".