Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Steueranweisungen von KDCMMOD

KDCMMOD kennt folgende Steueranweisungen:

CONSTANT

Definieren von Konstanten

END

Ende der Eingabe der Steueranweisungen

ENDMSG

Ende der Meldungsdefinition

GEN

Generieren von Meldungen für eine Funktionseinheit

MODMSG

Ändern von Meldungen

MSGBASE

Auswahl der Meldungsgruppe:
UTM (K-Meldungen) oder XAPTP (P-Meldungen)

OPTION

Namen der Meldungsdefinitionsdatei festlegen

Bei der Reihenfolge der Steueranweisungen von KDCMMOD ist zu beachten:

  1. Die OPTION-Anweisung kann nur als erste Steueranweisung angegeben werden.

  2. Die CONSTANT-Anweisung muss in der Eingabedatei stehen, bevor eine Textdefinition Bezug auf sie nimmt.

  3. Die GEN-Anweisung muss in der Eingabedatei vor allen MODMSG/ENDMSG-Steueranweisungen stehen.

  4. Die MSGBASE-Anweisung wirkt auf alle nachfolgenden MODMSG-Anweisungen.

  5. Die END-Anweisung muss am Ende der Eingabedatei stehen.

Treten bei einer Anweisung für KDCMMOD Fehler auf, so wird die falsche Anweisung nach Ausgabe einer entsprechenden Fehlermeldung (K6xx) ignoriert. Der Programmlauf wird dadurch nicht beendet.


Anweisung CONSTANT

Die CONSTANT-Anweisung definiert eine Konstante, die man anschließend in den Textdefinitionen der Meldungen verwenden kann.

Operation

Operanden

CONSTANT

constant-name, constant-wert

constant-name

legt den maximal 8 Zeichen langen Namen einer Konstanten fest. Falls eine Konstante mit dem gleichen Namen bereits existiert, wird die CONSTANT-Anweisung als fehlerhaft abgewiesen.

Pflichtoperand.

constant-wert

ordnet constant-name einen Wert zu. Der Wert ist entweder als hexadezimale Größe (X’......’) oder abdruckbar in der Form ’...’ anzugeben. Die maximale Länge beträgt 50 Zeichen.

Pflichtoperand.

In der Meldungsdefinitionsdatei sind einige Konstanten bereits enthalten (siehe auch "Konstanten der Standard-Meldungsdefinitionsdatei"). Weitere logische Steuerzeichen finden Sie im Macro VTCSET.

 

Anweisung END

Mit der END-Anweisung werden die Anweisungen für KDCMMOD beendet. END muss als letzte Anweisung eingegeben werden.

Operation

Operanden

END


Ohne Operanden.

 

Anweisung ENDMSG

Mit der ENDMSG-Anweisung wird eine Meldungstextdefinition abgeschlossen.

Operation

Operanden

ENDMSG


Ohne Operanden.

Die ENDMSG-Anweisung muss immer in einer eigenen Zeile stehen.

 

Anweisung GEN

Die GEN-Anweisung gibt an, für welche Funktionseinheit und in welcher Landessprache die Meldungen generiert werden sollen. In einem Programmlauf darf diese Anweisung nur einmal gegeben werden und muss vor allen MODMSG-Anweisungen stehen.

Operation

Operanden

GEN

[funktionseinheit]
,LANG=sprachkennzeichen]
,MODULE=objekt-module-name

funktionseinheit

Name der Funktionseinheit, für die Meldungen generiert werden sollen.
Zurzeit ist nur die Funktionseinheit SYS möglich, d.h. es werden die Meldungen des Transaktionsmonitors erzeugt.



Standard: SYS

LANG= sprachkennzeichen 


bezeichnet die Landessprache, für welche die Meldungstexte generiert werden sollen. Es muss ein Sprachkennzeichen angegeben werden, für das Meldungstexte in der Meldungsdatei vorhanden sind.

Standardwert: GB

MODULE= objekt-modul-name 


bezeichnet den Namen des Meldungsmoduls. Er entspricht dem MODULE-Namen in der MESSAGE-Anweisung des Tools KDCDEF (siehe openUTM-Handbuch „Anwendungen generieren“).

Pflichtoperand.


Anweisung MODMSG

Mit der MODMSG-Anweisung ändern Sie eine Meldung der Funktionseinheit, die in der GEN-Anweisung angegeben wurde.  

Die Änderungen können den Text, die Inserts und die Meldungsziele betreffen. Es sind nur die Änderungen möglich, die durch die Rahmendefinitionen erlaubt sind (siehe  Abschnitt „Ziele der UTM-Meldungen" ).

Mit der ENDMSG-Anweisung wird eine Meldungstextdefinition abgeschlossen. Sie muss immer in einer eigenen Zeile stehen und hat keine Operanden.

Operation

Operanden

MODMSG

 msg-nr

 [,BEL= {YES | NO}]

 [,COMPRESSION= {YES | NO}]
 [,EXTEND= {YES | NO}]
 [,CONSOLE= {YES | NO}]
 [,MSGTAC=  {YES | NO}]
 [,PARTNER= {YES | NO}]
 [,STATION= {YES | NO}]

 [,SYSLINE= {YES | NO}]
 [,SYSLOG=  {YES | NO}]
 [,SYSLST=  {YES | NO}]
 [,SYSOUT=  {YES | NO}]
 [,USER-DEST-1= {YES | NO}]
 [,USER-DEST-2= {YES | NO}]
 [,USER-DEST-3= {YES | NO}]
 [,USER-DEST-4= {YES | NO}]

 [text]           

  • Die Operanden der MODMSG-Anweisung müssen durch ein Komma getrennt werden. Bei Fortsetzungszeilen in einer MODMSG-Anweisung muss das Komma immer als letztes Zeichen in der vorangehenden Zeile stehen (als Fortsetzungszeichen).
  • Die Zeile vor [text] darf nicht mit einem Komma abgeschlossen werden.

msg-nr

gibt an, welche K- bzw. P-Meldung modifiziert werden soll. Die Meldungsnummer muss im Meldungsnummernbereich der im GEN-Kommando spezifizierten Funktionseinheit liegen. Die Meldungsnummer ist ohne das vorangestellte K bzw. P anzugeben.

Pflichtoperand.

BEL=

gibt an, ob bei der Ausgabe der Nachricht an das Meldungsziel STATION oder SYSLINE ein akustisches Signal (BELL) ausgelöst werden soll.

   YES

Ein akustisches Signal wird ausgelöst.

   NO

Es wird kein akustisches Signal ausgelöst.


Standardwert: NO.

COMPRESSION=


   YES

   

Überflüssige Leerzeichen werden aus der Meldung entfernt.YES wirkt nur für Meldungsausgaben, die mit Meldungstext erfolgen.

   NO

Überflüssige Leerzeichen verbleiben in der Meldung.

Der Standardwert ist für die einzelnen Meldungen unterschiedlich. Welcher Wert für welche Meldung voreingestellt ist, entnehmen Sie dem Abschnitt „Ziele der UTM-Meldungen".

Standard: Rahmendefinition

EXTEND=


   YES

Der Meldungstext soll im Extended Line Mode ausgegeben werden. YES ist nur sinnvoll für Meldungen, denen das Meldungsziel STATION oder SYSLINE zugeordnet ist.

   NO

Der Meldungstext soll nicht im Extended Line Mode ausgegeben werden.

Der Standardwert ist für die einzelnen Meldungen unterschiedlich. Welcher Wert für welche Meldung voreingestellt ist, entnehmen Sie dem Abschnitt  "Ziele der UTM-Meldungen".

Meldungsziele CONSOLE, MSGTAC usw.


bezeichnet die Meldungsziele, an welche die Meldung gesendet (YES) bzw. nicht gesendet (NO) werden soll. Es dürfen nur die Meldungsziele angegeben werden, die in den Rahmendefinitionen mit ’erlaubt’ (+) oder ’Default’ (D) angegeben sind (siehe Tabelle im Abschnitt "Ziele der UTM-Meldungen"). Für alle Meldungsziele, die nicht im MODMSG-Kommando angegeben werden, gelten die Rahmendefinitionen.

Die Zuordnung der Benutzer-spezifischen Meldungsziele USER-DEST-1,..., USER-DEST-4 zum konkreten Meldungsziel müssen Sie über die KDCDEF-Anweisung MSG-DEST vornehmen.

Die einzelnen Meldungsziele sind im Abschnitt "Meldungsziele" näher beschrieben.

text

Im MODMSG-Kommando kann ein neuer Meldungstext definiert werden. Wird kein neuer Text definiert, dann gilt der Text, wie im "UTM-Meldungen" beschrieben.

Ein neuer Meldungstext wird in einer oder mehreren Zeilen definiert. Er besteht aus einer Folge von Textelementen, die entweder durch Komma oder durch Zeilenende voneinander getrennt sind.
Text = Textelement,Textelement,.....
Textelement,.....

Das erste Textelement muss immer in einer neuen Zeile stehen.

Längenbeschränkungen

Der Meldungstext darf inklusive Meldungsnummer und eventuell vorhandener Inserts nicht länger als 512 Zeichen sein. Die Längen der Inserts entnehmen Sie bitte der Tabelle "Inserts in Meldungen". Ist der Text länger als 512 Zeichen, dann lehnt KDCMMOD ihn mit der Meldung K686 ab. Die Meldungsdefinitionsdatei wird dann nicht verändert. Meldungstexte mit dem Meldungsziel SYSLINE (=Systemzeile) dürfen nicht länger als 80 Zeichen sein. Ist der Text länger als 80 Zeichen, so warnt KDCMMOD mit der Meldung K687. Bei der Ausgabe werden längere Meldungen auf 80 Zeichen begrenzt, der Rest wird abgeschnitten.

Folgende Textelemente können verwendet werden:

Literal

Ein Literal ist eine Zeichenkette, die in Hochkommata eingeschlossen ist. Doppelte Hochkommata in einem Literal ergeben das Zeichen Hochkomma im Literal.

Insert

Das Textelement Insert ist der Name eines Feldes (Insert) im Meldungstext, dem das Zeichen „&“ vorangestellt wird. Im Text dürfen nur die Feldnamen (Inserts) verwendet werden,  die für die jeweilige Meldung zulässig sind, siehe Abschnitt " Ziele der UTM-Meldungen ". Insert-Felder sind Bereiche in Meldungstexten, in die vor Ausgabe der Meldung aktuelle Werte eingetragen werden.

Konstante

Das Textelement Konstante ist der Name einer Konstanten, der das Zeichen „#“ vorangestellt ist.

Built-in-Function 


Das Textelement Built-in-Function ist eine Funktion, die an der betreffenden Stelle ausgeführt wird. Es gibt die Built-in-Function:

MSGID
Zur Erleichterung der Diagnose sollte jeder Meldungstext mit MSGID beginnen.

Die Funktion liefert für die Meldungsnummer die Zeichenkette für die Meldungs-Identifikation.

Jedes MODMSG-Kommando muss mit einer ENDMSG-Anweisung abgeschlossen werden.

Anweisung MSGBASE (für FU SYS)

openUTM unterscheidet innerhalb der FU SYS zwei Meldungsgruppen: Meldungen der Gruppe UTM, die mit dem Buchstaben K beginnen, und Meldungen der Gruppe XAPTP, die mit dem Buchstaben P beginnen.

Mit der Anweisung MSGBASE können Sie die Meldungsgruppe auswählen, auf die sich die nachfolgenden MODMSG-Anweisungen innerhalb der Funktionseinheit SYS beziehen sollen.

Operation

Operanden

MSGBASE

{ UTM | XAPTP }

UTM

Voreinstellung. Auswahl der Meldungsgruppe UTM (K-Meldungen).

XAPTP

Auswahl der Meldungsgruppe XAPTP (P-Meldungen).

Anweisung OPTION

Mit der OPTION-Anweisung legt man den Namen der Meldungsdefinitionsdatei fest, die das Tool KDCMMOD bearbeiten soll.

Operation

Operanden

OPTION

MSGFILE=dateiname

dateiname

Name der zu bearbeitenden Meldungsdefinitionsdatei.  

Wird keine OPTION-Anweisung angegeben, dann wird  als Standard die Datei SYSMSH.UTM.070.MSGFILE verwendet.

Beispiel 1

Der Anwender möchte für die Meldung K006 das Meldungsziel MSGTAC einschalten und ansonsten die unveränderten Meldungen mit deutschen Standardtexten verwenden.

Die folgende Prozedur liefert die Assembler-Quelldatei für das gewünschte eigene Meldungsmodul, wenn die Meldungsdefinitionsdatei SYSMSH.UTM.070.MSGFILE heißt und das Programm KDCMMOD in der Bibliothek /SYSLNK.UTM.070.UTIL steht:

/BEGIN-PROCEDURE LOGGING=N
/ASSIGN-SYSDTA TO=*SYSCMD
/ASSIGN-SYSLST TO=LIST.KDCMMOD
/START-EXECUTABLE-PROGRAM FROM-FILE=*LIB-ELEM(LIB=SYSLNK.UTM.070.UTIL,ELEM=KDCMMOD)
OPTION MSGFILE=SYSMSH.UTM.070.MSGFILE
GEN SYS,LANG=D,MODULE=KCSMSGSD
MODMSG 6, MSGTAC=YES
ENDMSG
END
/ASSIGN-SYSDTA TO=*PRIMARY
/ASSIGN-SYSLST TO=*PRIMARY
/END-PROCEDURE

Als Ergebnis der Prozedur erzeugt das Tool KDCMMOD die Assembler-Quell-Datei SRC.ASSEMB.KCSMSGSD. Sie ist zu assemblieren und als Ergebnis dieser Assemblierung erhält man ein Objektmodul mit dem Namen KCSMSGSD.

Um dieses Meldungsmodul benutzen zu können, muss der Anwender in die KDCDEF-Generierung die Anweisung MESSAGE MODULE=KCSMSGSD, LIB=... aufnehmen.

Beispiel 2

Das folgende Beispiel zeigt die KDCMMOD-Anweisungen, die in der K070-Meldung das Meldungsziel, eine Meldungseigenschaft und den Meldungstext verändern.

GEN SYS,LANG=D,MODULE=KCSMSGSD
MODMSG  070,
COMPRESSION = NO,
SYSOUT = YES
MSGID, ' Benutzer abgemeldet: ', &USER, ', CPU-time: ', &CPTM
ENDMSG
END