Der Dialog-Vorgang BADTACS wird - falls generiert - gestartet, wenn ein Terminal oder eine Transportsystem-Anwendung einen ungültigen Transaktionscode eingegeben hat. Das kann folgende Ursachen haben:
der Transaktionscode ist nicht generiert.
der Transaktionscode ist keinem Teilprogramm zugeordnet.
Der Benutzer hat nicht die Berechtigung den Transaktionscode aufzurufen. Dies kann verschiedene Gründe haben, z.B.:
der Transaktionscode ist ein Administrator-TAC, aber der Benutzer hat sich nicht als Administrator angemeldet,
dem Transaktionscode ist ein Lockcode zugeordnet, aber der Benutzer oder der LTERM-Partner verfügt über keinen entsprechenden Keycode.
Programmierhinweise
Der Dialog-Vorgang BADTACS muss gemäß den in Kapitel Aufbau und Einsatz von UTM-Programmen dargestellten Regeln einen MPUT-Aufruf absetzen. Dieser MPUT-Aufruf ersetzt dann die Fehlermeldung K009, die openUTM ohne BADTACS erzeugen würde.
Bei Vorgangs-Beginn steht nach dem INIT-Aufruf der ungültige TAC im KB-Kopf, und zwar sowohl im Feld KCTACAL/kcpr_tac als auch im Feld KCTACVG/kccv_tac.
Wird der Vorgang BADTACS aus dem Zeilenmodus aufgerufen, dann erhält er die volle Nachricht einschließlich der ersten 8 Byte. Bei Aufruf aus dem Formatmodus werden die ersten 8 (bei *Formaten) bzw. 10 (bei +Formaten) Byte aus der Nachricht entfernt.
Außerhalb eines Vorgangs kann man BADTACS auch mittels einer Funktions-Taste starten, wenn für diese ein Returncode (20Z-39Z), aber kein TAC generiert ist (SFUNC-Anweisung, Operand RET=) oder wenn die Funktions-Taste nicht generiert wurde (Returncode 19Z). Mit dem ersten MGET wird dann der Returncode übergeben, mit einem zweiten MGET kann eine Nachricht (einschließlich der ersten 8 Byte) gelesen werden. In die Felder KCTACAL/kcpr_tac und KCTACVG/kccv_tac wird nichts eingetragen.
Generierungshinweise
Pro Anwendung darf es nur einen Vorgang BADTACS geben,
Das erste Teilprogramm des Dialog-Vorgangs BADTACS muss bei der Generierung mit der TAC-Anweisung TAC KDCBADTC, PROGRAM=... definiert werden.
Ein Beispiel für einen EVENT-Service BADTACS finden Sie in C auf "Beispiel für eine komplette UTM-Anwendung auf BS2000-Systemen" bzw. in COBOL auf "Beispiel für eine komplette UTM-Anwendung auf BS2000-Systemen".