Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

INFORM-PROGRAM

&pagelevel(3)&pagelevel

Nachricht an ein Programm (STXIT-Routine) senden

Komponente:

BS2000

Funktionsbereich:

Auftragsverarbeitung
Programm-Steuerung

Anwendungsbereich:

JOB
PROGRAM                                                                                                  

Privilegierung:

STD-PROCESSING
OPERATING
TSOS
HARDWARE-MAINTENANCE
SAT-FILE-EVALUATION
SAT-FILE-MANAGEMENT
SECURITY-ADMINISTRATION

Berechtigungsschlüssel:

P

Funktionsbeschreibung

Mit dem Kommando INFORM-PROGRAM kann der nicht-privilegierte Benutzer eine Nachricht an ein unterbrochenes Programm der eigenen Task senden.

Das unterbrochene Programm wird an der Adresse fortgesetzt, die im STXIT-Makro für das Ereignis „Mitteilung an das Programm“ definiert ist. Enthält das Programm keine STXIT-Routine für dieses Ereignis, so wird das INFORM-PROGRAM-Kommando mit einer Fehlermeldung abgewiesen. Der Eintritt des Ereignisses „Mitteilung an das Programm“ ist unabhängig von einer Nachricht, die der Benutzer zusätzlich im Operanden MSG angeben kann.
Eine im Operanden MSG angegebene Nachricht wird, falls im STXIT-Makro angegeben, in den eigens dafür definierten Bereich des Programms übertragen.

Das STXIT-Verfahren ist im Handbuch „Makroaufrufe an den Ablaufteil“ [22] beschrieben.

Privilegierte Funktionen

Die Systembetreuung (Privileg TSOS bzw. OPERATING) kann mit dem Kommando INFORM-PROGRAM auch eine Nachricht an ein geladenes Programm einer Nicht-Dialogtask senden.
Das Kommando wird akzeptiert, bleibt aber wirkungslos, wenn das Programm keine STXIT-Routine für diese Ereignis enthält. Ist in der Task kein Programm geladen, wird das Kommando abgewiesen.

Mithilfe dieser privilegierten Funktion kann die Systembetreuung z.B. vor Shutdown bestimmte Datenbankanwendungen ordnungsgemäß beenden, indem diesen mitgeteilt wird, dass das Ereignis „Mitteilung an das Programm“ eingetreten ist. Ist die Datenbank programmtechnisch auf die Verarbeitung der Nachricht vorbereitet, kann sie selbst ihre Beendigung einleiten.

 

Format

INFORM-PROGRAM                                                                                                         

Kurzname: IFPG

 MSG = *NO / <c-string 1..64 with-low>

,JOB-IDENTIFICATION = *OWN / *TSN(...) / *MONJV(...)


*TSN(...)



|

TSN = <alphanum-name 1..4>


*MONJV(...)



|

MONJV = <filename 1..54 without-gen-vers>

Operandenbeschreibung

MSG = *NO / <c-string 1..64 with-low>
Nachrichtentext, der an das Programm zu senden ist.
Default-Wert ist *NO, d.h. es wird keine Nachricht übertragen.
Die Länge der Nachricht ist auf 64 Zeichen begrenzt. Kürzere Nachrichten erhalten rechtsbündig ein Nullbyte, um das Textende im Empfangsbereich anzuzeigen. Wurde im STXIT-Makro kein Bereich für die Nachrichtenübergabe definiert, so wird die angegebene Nachricht ignoriert. Wird keine Nachricht angegeben, obwohl ein Bereich definiert ist, so wird ein Nullbyte übertragen.

JOB-IDENTIFICATION = *OWN / *TSN(...) / *MONJV(...)
Bestimmt, wie die Task, in der das zu benachrichtigende Programm läuft, identifiziert wird. Ein unterbrochenes Programm der eigenen Task (*OWN) bzw. einer anderen Nicht-Dialogtask (*TSN bzw. *MONJV) soll benachrichtigt werden, dass das Ereignis „Mitteilung an das Programm“ eingetreten ist. Zusätzlich kann der Benutzer eine Nachricht von maximal 64 Zeichen an das Programm senden (siehe Operand MSG).

JOB-IDENTIFICATION = *OWN
Der Benutzer benachrichtigt ein unterbrochenes Programm seiner eigenen Task.

JOB-IDENTIFICATION = *TSN(...)
Die Angabe ist nur für privilegierte Benutzer (Privileg OPERATING bzw. TSOS) zulässig.
Die Task, in der das zu benachrichtigende Programm läuft, wird über ihre Auftragsnummer identifiziert. Eine Dialogtask darf nicht als Empfänger angegeben werden.

TSN = <alphanum-name 1..4>
TSN der Task.

JOB-IDENTIFICATION = *MONJV(...)
Die Angabe ist nur für privilegierte Benutzer (Privileg OPERATING bzw. TSOS) zulässig.
Die Task, in der das zu benachrichtigende Programm läuft, wird über ihre auftragsüberwachende Jobvariable identifiziert. Eine Dialogtask darf nicht als Empfänger angegeben werden.

MONJV = <filename 1..54 without-gen-vers>
Name der auftragsüberwachenden Jobvariable.

Kommando-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler


64

EXC0920

Angegebene JOB-ID ungültig


64

EXC0921

Kommando für eine Dialog-Task nicht zulässig


64

EXC0922

Kein Programm geladen


64

EXC0923

Im angegebenen Programm keine STXIT-Schnittstelle für dieses Ereignis definiert


64

EXC0924

Im angegebenen Programm keine STXIT-Routine für dieses Ereignis definiert


64

EXC0925

STXIT-Routine bereits aktiviert


64

EXC0090

Speicherplatzmangel