Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

ADD-MSG - Einfügen einer Meldungseinheit

Funktion

Mit der Anweisung //ADD-MSG wird eine neue Meldungseinheit in die aktuell geöffnete Meldungsdatei eingefügt.

Neben dem Meldungschlüssel, der die Adresse der Meldungseinheit innerhalb der Meldungsdatei darstellt, müssen die Meldungsattribute, Kennbuchstaben der Sprachen und Texte festgelegt werden.

Zu den Meldungsattributen zählen Zugriffsmethode, Ausgabeziel, Berechtigungsschlüssel, Weight Code und „Garantie“ der Meldung. Zu jedem definierten Kennbuchstaben muss ein Meldungstext geschrieben werden, wohingegen Bedeutungs- und Maßnahmetext nach Bedarf eingetragen werden können. Werden im Meldungstext Inserts vereinbart, können ihnen im Operanden INSERT-ATTRIBUTES Namen und Default-Texte zugewiesen werden. Die Meldungsattribute und Insertattribute werden nur einmal definiert und gelten für alle Texte und Sprachen einer Meldungseinheit.

In eine bereits bestehende Meldungseinheit können Texte in einer neuen Sprache nicht eingetragen werden. In diesem Fall würde mit der Anweisung //ADD-MSG die existierende Meldungseinheit überschrieben werden. Im Batch-Betrieb und Dialogprozeduren wird Spin-Off ausgelöst, falls ein Überschreiben der Meldung nicht erlaubt ist (siehe Operand OVERWRITE der Anweisung //ADD-MSG und //MODIFY-OPTION).

Unterschiede zur Anweisung //ADD-MSG im Menümodus

Die Anweisung //ADD-MSG, die in den Kommandobereich der Bildschirmmaske eingetragen werden kann, unterscheidet sich von der Anweisung //ADD-MSG in Kommandoprozeduren, durch

  • den Operandenwert *PANEL-REQUEST, der im Menümodus jedem Operanden zugewiesen werden kann

  • zusätzliche Werte des Operanden MSG-ID

  • den Operanden OVERWRITE, der im Menümodus nicht verfügbar ist.

Näheres im Abschnitt „Besonderheiten der Anweisungen im Menümodus".

 

Format

ADD-MSG                                                                                                                                                       

MSG-ID = <name 7..7>

,ACCESS-METHODS = *ISAM / list-poss(4): *ISAM / *DLAM / *LOCAL-DLAM / *MINIMIP / *BAMR

,DESTINATIONS = *USER-TASK / *ALL(...) / list-poss(2): *USER-TASK / *CONSOLE(...)


*ALL(...)



|

ROUTING-CODE = <alphanum-name 1..1> / *MAIN-CONSOLE / *CONSLOG


CONSOLE(...)



|

ROUTING-CODE = <alphanum-name 1..1> / *MAIN-CONSOLE / *CONSLOG

,WEIGHT = *NONE / <integer 0..99>

,WARRANTY = *NO / *YES

,MSG-TEXT-OUTPUT = *UPPER-CASE / *LOWER-CASE

,LANGUAGES = list-poss(8): <name 1..1>(...)


<name 1..1>(...)



|

MSG-TEXT = <c-string 1..220 with-low>



|

,MEANING = *NONE / list-poss(256): <c-string 1..74 with-low>



|

,RESPONSE = *NONE / list-poss(256): <c-string 1..74 with-low>

,INSERT-ATTRIBUTES = *NONE / list-poss(30): <integer 0..29>(...)


<integer 0..29>(...)



|

NAME = *NONE / <structured-name 1..20>



|

,DEFAULT-VALUE = *NONE / <c-string 1..54 with-low> / *EMPTY-STRING



|

,AUTOMATIC-HELP = *NO / *YES(...)



|


*YES(...)



|



|

PREFIX = *BY-INSERT-VALUE / <name 3...7>

,OVERWRITE = *STD / *YES / *NO

Operanden

MSG-ID = <name 7..7>
Bezeichnet die Meldungseinheit, die eingefügt werden soll. Der vollständige Meldungsschlüssel, bestehend aus der dreistelligen Meldungsklasse und der vierstelligen Meldungsnummer, muss eingegeben werden.

ACCESS-METHODS = *ISAM / list-poss(4): *ISAM / *DLAM / *LOCAL-DLAM / *MINIMIP / *BAMR
Beschreibt die MIP-Zugriffsmethode für die Meldungen. Die Kombination von maximal drei Methoden ist möglich, wobei ISAM und DLAM bzw. ISAM und LOCAL-DLAM nicht zusammen ausgewählt werden dürfen.

ACCESS-METHODS = *ISAM
Die Meldungen werden über den ISAM-Schlüssel (=Meldungsschlüssel) gesucht.

ACCESS-METHODS = *DLAM
Die Zugriffsmethode DLAM ist für besonders häufig auftretende Meldungen vorgesehen. Wird eine Meldungsdatei, die eine DLAM-Meldung enthält, aktiviert, wird diese in den Arbeitsspeicher geladen. Die DLAM-Meldung kann von MIP direkt, ohne Zugriff auf die Meldungsdatei, ausgegeben werden.

ACCESS-METHODS = *LOCAL-DLAM / *MINIMIP / *BAMR
Diese Zugriffsmethoden sind für den internen Gebrauch beim Hersteller reserviert.

DESTINATIONS = *USER-TASK / *ALL(...) / list-poss(2): *USER-TASK / *CONSOLE
Dieser Operand dokumentiert die möglichen Ausgabeziele der Meldung aus der Sicht des Meldungsverfassers. Das Ausgabeziel selbst wird im Operanden DEST (Destination Code) des Makros MSG7X festgelegt.

DESTINATIONS = *USER-TASK
Die Meldung hat das Ausgabeziel SYSOUT, SYSLST oder einen benutzereigenen Speicherbereich.

DESTINATIONS = *ALL(...)
Alle Ausgabeziele sind möglich.

ROUTING-CODE = <alphanum-name 1..1> / *MAIN-CONSOLE / *CONSLOG
Der einstellige Berechtigungsschlüssel wird bei Konsolausgaben als Zielangabe ausgewertet. Die Bedeutung der Berechtigungsschlüssel finden Sie im Handbuch „Systembetreuung“ [5].

ROUTING-CODE = <alphanum-name 1..1>
Als Berechtigungsschlüssel kann jeder Buchstabe, jede Zahl oder die Sonderzeichen #, $, oder @ verwendet werden. Die Bedeutung der schon vorbelegten
Berechtigungsschlüssel finden Sie im Handbuch „Systembetreuung“ [5].

ROUTING-CODE = *MAIN-CONSOLE
Ziel der Meldung ist der besondere Berechtigungsschlüssel *, der stets zumindest der Hauptkonsole zugeordnet ist.

ROUTING-CODE = *CONSLOG
Meldungen, die keine Antwort erfordern, werden nur in der CONSLOG-Datei protokolliert. ROUTING-CODE = *CONSLOG entspricht der Zuweisung ROUTING-CODE = @.

DESTINATION = *CONSOLE(...)
Das Ausgabeziel der Meldung ist eine Konsole. Nähere Informationen hierzu finden Sie im Handbuch „Systembetreuung“ [5].

ROUTING-CODE = <alphanum-name 1..1> / *MAIN-CONSOLE / *CONSLOG
Der einstellige Berechtigungsschlüssel wird bei Konsolausgaben als Zielangabe ausgewertet. Die Bedeutung der Berechtigungsschlüssel finden Sie im Handbuch „Systembetreuung“ [5].

ROUTING-CODE = <alphanum-name 1..1>
Als Berechtigungsschlüssel kann jeder Buchstabe, jede Zahl oder die Sonderzeichen #, $, oder @ verwendet werden. Die Bedeutung der schon vorbelegten
Berechtigungsschlüssel finden Sie im Handbuch „Systembetreuung“ [5].

ROUTING-CODE = *MAIN-CONSOLE
Ziel der Meldung ist der besondere Berechtigungsschlüssel *, der stets zumindest der Hauptkonsole zugeordnet ist.

ROUTING-CODE = *CONSLOG
Meldungen, die keine Antwort erfordern, werden nur in der CONSLOG-Datei protokolliert. ROUTING-CODE = *CONSLOG entspricht der Zuweisung ROUTING-CODE = @.

WEIGHT = *NONE / <integer 0..99>
Der Weight Code bezeichnet das Meldungsgewicht.
Ein Gewicht muss nur für eine Meldung vereinbart werden, deren Ausgabeziel eine Konsole ist, andernfalls ist *NONE der voreingestellte Wert.
Nähere Informationen zum Weight Code finden Sie im Handbuch „Systembetreuung“ [5].

WARRANTY = *NO / *YES
Das Meldungsattribut „Garantie“ wird von MIP ausgewertet. Die Garantieerklärung besagt, dass bestimmte Teile der Meldung in den kommenden BS2000-Versionen nicht mehr geändert werden.

Folgende Meldungs-Bestandteile werden garantiert:

  • Meldungsschlüssel

  • Nummerierung und Bedeutung der Inserts

Der Meldungstext wird nicht garantiert.
MIP erzeugt für garantierte Meldungen S-Variablen.
Nähere Informationen hierzu finden Sie im Handbuch „Systembetreuung“ [5].

MSG-TEXT-OUTPUT = *UPPER-CASE / *LOWER-CASE
Bezeichnet die Schreibweise des Meldungstextes bei der Ausgabe. Die Default-Texte für Inserts sowie die Texte, die über den Makro MSG7X vorgegeben sind, werden ebenfalls an dieses Format angepasst. Diese Festlegung gilt nicht für den Bedeutungs- und Maßnahmetext.

Folgende Ausgabeziele sind möglich:

  • nach SYSOUT

  • in eine SYSLST-Datei

  • in einen benutzereigenen Speicherbereich

  • an eine Konsole

Die Ausgabe erfolgt durch den Makro MSG7X oder durch das Kommando /HELP-MSG-INFORMATION.

MSG-TEXT-OUTPUT = * UPPER-CASE
Der Meldungstext und die Insert-Texte (Default oder aktuell) werden immer in Großbuchstaben umgewandelt.

MSG-TEXT-OUTPUT = *LOWER-CASE
Der Meldungstext und die Insert-Texte (Default oder aktuell) werden gemäß ihrer Schreibweise im Operanden LANGUAGES = ...(MSG-TEXT='...') ausgegeben.

LANGUAGES = list-poss(8): <name 1..1>(...)
Kennzeichnet die Sprache, in der der Meldungs-, Bedeutungs- und Maßnahmetext eingetragen und ausgegeben wird. Die Kennzeichnung besteht aus einem Buchstaben, welcher für Deutsch D und für Englisch E lautet. Für andere Sprachen gibt es keine Konvention.
Die Texte können in maximal acht Sprachen eingegeben werden.

MSG-TEXT = <c-string 1..220 with-low>
Zu jeder Meldung muss ein Meldungstext geschrieben werden, der maximal 220 Zeichen lang sein kann. In dieser Länge sind die Zeichenfolgen (&00) bis (&29) enthalten, jedoch nicht die Default-Texte, welche bei Meldungsausgabe diese Zeichenfolgen ersetzen.

Trennungszeichen „^“
Der Meldungstext wird als fortlaufende Textzeile eingegeben. Um den Meldungstext zu strukturieren, kann das Trennungszeichen „^“ an jeder beliebigen Stelle und beliebig oft in den Meldungstext eingefügt werden. Der Text, der auf das Trennungszeichen folgt, wird in der jeweils nächsten Zeile ausgegeben. Die Textausgabe durch den Makro MSG7X oder durch das Kommando /HELP-MSG-INFORMATION kann mit der Anweisung //SHOW überprüft werden.

Beispiel

MSG-TEXT ='THIS MESSAGE IS OUTPUT TO ''(&04)''^ IN THE FOLLOWING

LANGUAGES; ''(&00)'', ''(&01)'' AND ''(&03)'''

Ausgegeben wird folgender Text:

% ABC1234 THIS MESSAGE IS OUTPUT TO 'SYSOUT'

  IN THE FOLLOWING LANGUAGES; 'E', 'D' AND 'F'

Nähere Informationen zum Meldungstext finden Sie im Handbuch „Systembetreuung“ [5].

MEANING = *NONE / list-poss(256): <c-string 1..74 with-low>
Zu jeder Meldung kann in der entsprechenden Sprache ein Bedeutungstext geschrieben werden, der maximal 256 Zeilen mit je 74 Zeichen umfassen kann.Nähere Informationen hierzu finden Sie im Handbuch „Systembetreuung“ [5].

RESPONSE = *NONE / list-poss(256): <c-string 1..74 with-low>
Zu jeder Meldung kann in der entsprechenden Sprache ein Maßnahmetext geschrieben werden, der maximal 256 Zeilen mit je 74 Zeichen umfassen kann.Nähere Informationen hierzu finden Sie im Handbuch „Systembetreuung“ [5].

INSERT-ATTRIBUTES = *NONE / list-poss(30): insert-number <integer 0..29>(...)
Beschreibt die im Meldungstext definierten Inserts.

INSERT-ATTRIBUTES = *NONE
Den Inserts werden keine Eigenschaften zugeordnet.

INSERT-ATTRIBUTES = list-poss(30): insert-number <integer 0..29>(...)Gibt die Nummer des Inserts an, für das ein Default-Text vereinbart wird. Nähere Informationen hierzu finden Sie im Handbuch „Systembetreuung“ [5].

NAME = *NONE / <structured-name 1..20>
Bezeichnet den Namen des Inserts. Insertnamen werden von MIP ausgewertet. Sie werden von MIP zur Erzeugung von S-Variablen verwendet. Der im Operanden DEFAULT-VALUE angegebene Wert bzw. der aktuelle Wert (MSG7X) wird zum Inhalt dieser S-Variablen. Nähere Informationen hierzu finden Sie im Handbuch „Systembetreuung“ [5].
Die Buchstaben der hier eingetragenen Namen werden immer in Großbuchsstaben umgewandelt.

Beispiel

Die Inserts mit den Nummern 0 und 4 sollen die Namen „LANGUAGE“ und „DESTINATION“ erhalten:

INSERT-ATTRIBUTES=(0(NAME=LANGUAGE),4(NAME=DESTINATION))

DEFAULT-VALUE = *NONE / <c-string 1..54 with-low> / *EMPTY-STRING
Bezeichnet den voreingestellten Text, der anstelle des Inserts in den Meldungstext eingefügt wird, falls im Makro MSG7X kein aktueller Text dafür angegeben ist. DEFAULT-VALUE = *NONE bedeutet, dass kein Inserttext voreingestellt ist. Mit DEFAULT-VALUE = *EMPTY-STRING wird ein Leerstring als Inserttext vereinbart. Der Operandenwert DEFAULT-VALUE = *NULL, der *EMPTY-STRING entspricht, wird aus Kompatibilitätsgründen in Batch-Aufträgen und Prozeduren weiterhin unterstützt. Die Ausgabe des Default-Textes hängt vom Operanden MSG-TEXT-OUTPUT ab.

Beispiel

Die Inserts mit den Nummern 4, 0 und 1 sollen die Texte „F“, „E“ und „D“ erhalten:

INSERT-ATTRIBUTES=(4(DEF='F'),0(DEF='E'),1(DEF='D'))

AUTOMATIC-HELP = *NO / *YES(...)
Wird über ein Insert ein Meldungsschlüssel oder ein Teil davon ausgegeben (z.B. bei DVS-Fehlern wird lediglich die Meldungsnummer ausgegeben), so wird über die automatische Hilfsfunktion MIP dazu veranlaßt, zusätzlich zu diesem Meldungsschlüssel den zugehörigen Meldungstext auszugeben.

AUTOMATIC-HELP = *NO
Es wird nur der Meldungsschlüssel ausgegeben.

AUTOMATIC-HELP = *YES(...)
Zum Meldungsschlüssel wird der Meldungstext ausgegeben.

PREFIX = *BY-INSERT-VALUE / <name 3...7>
Zu einem in der Fehlermeldung ausgegebenen Insert oder zu einer explizit angegebenen Meldungsnummer wird der gesamte Meldungstext ausgegeben.

PREFIX = *BY-INSERT-VALUE
Mögliche Ausgaben:

  • Meldungsschlüssel mit sieben Zeichen

  • DVS-Fehlerschlüssel mit „0...“ am Anfang. Die Fehlerklasse DMS wird durch /HELP-MSG-INFORMATION vorangestellt

  • vierstelliger Meldungsschlüssel, der in einen siebenstelligen Meldungsschlüssel umgewandelt wird.

MSGMAKER überprüft nicht, ob der Default-Insertwert einen gültigen Meldungsschlüssel bzw. eine gültige Meldungsnummer enthält. Liegt kein gülter Meldungsschlüssel vor, wird von MIP die Meldung „MESSAGE UNDEFINED“ ausgegeben.

Folgende Regeln gelten für die Länge der Insertwerte bzw. Standardinsertwerte:

Länge < 4:

der Wert wird links bis zu vier Zeichen mit „0“ ergänzt

Länge > 4 und < 7:

der Wert wird bei den 4 letzten Zeichen abgeschnitten

Länge > 7:

der Wert wird bei den 7 letzten Zeichen abgeschnitten

PREFIX = <name 3...7>
Für die Ausgabe im Kommando /HELP-MSG-INFORMATION wird der Meldungsschlüssel aus Präfix und Insertwert oder Default-Inserttext gebildet. Die ersten drei Zeichen geben die Meldungsklasse an und müssen Buchstaben sein.

Entspricht der Präfix einem vollständigen Meldungsschlüssel, wird die automatische Hilfsfunktion direkt darauf angewendet, unabhängig vom Insertwert.

Der Insertwert wird entweder mit „0“ erweitert oder an der linken Seite abgeschnitten, damit das Ergebnis einem Meldungsschlüssel mit 7 Zeichen entspricht.

 

Beispiel

Präfix

Insertwert

/HELP-MSG-INFORMATION

ABC

12

ABC0012

ABCX

123

ABCX123

ABCX

1234

ABCX234

ABC01

XYZ1234

ABC0134

ABC01

<none>

ABC01 (error)

Ist eine Insertnummer mehrmals in einem Meldungstext definiert, wird die automatische Hilfsfunktion nur einmal auf diese Insertnummer angewendet.

Bei einer Meldung, die eine Antwort erfordert, gibt MIP die Meldung nach Ausführen der automatischen Hilfsfunktion erneut aus. Die automatische Hilfsfunktion wird nicht aktiviert, wenn die Meldung an einen Benutzerpuffer geschickt wird.

OVERWRITE = *STD / *YES / *NO
Gibt an, ob die aktuelle Meldungseinheit von einer bereits bestehenden Meldungseinheit mit identischem Meldungsschlüssel überschrieben werden darf.

OVERWRITE = *STD
Der Defaultwert *STD bezieht sich auf die letzte OVERWRITE-Vereinbarung in der Anweisung //MODIFY-OPTION (siehe "MODIFY-OPTION - Überschreiben einer Meldungseinheit").

OVERWRITE = *YES
Die bestehende Meldungseinheit wird durch die aktuelle Meldungeinheit vollständig überschrieben.

OVERWRITE = *NO
Die bestehende Meldungseinheit wird durch die aktuelle Meldungseinheit nicht überschrieben.

Beispiel

MIP meldet den DVS-Fehlercode:

% DMS05F8 DMS error code '0533'. Command processing aborted.
  IN SYSTEM MODE: /HELP-MSG DMS(0533)

Mit der automatischen Hilfsfunktion wird der entsprechende Meldungstext automatisch ausgegeben:

DMS0533 REQUESTED FILE NOT CATALOGED IN PUBSET '(&00)'. COMMAND TERMINATED