In der Prozedur TEST.MSG wird mit dem Programm MSGMAKER zunächst eine Meldungsdatei erzeugt und eine Meldungseinheit eingetragen. Im Anschluss daran werden Meldungen aus der Meldungsdatei SYSMES.MSG.010 in die neue Meldungsdatei kopiert und verändert. Der Inhalt der neu erzeugten und anschließend veränderten Meldungsdatei SYSMES.TSTFILE wird in eine SYSOUT- und SYSLST-Datei ausgegeben. Das SYSOUT-Protokoll finden Sie im Anschluss an die Beschreibung der einzelnen Prozedurschritte.
Prozedur TEST.MSG
/BEGIN-PROCEDURE /ASSIGN-SYSLST TO=TEST.MSG.SYSLST /ASSIGN-SYSOUT TO=TEST.MSG.SYSOUT /ASSIGN-SYSDTA *SYSCMD /REMARK ********************************************************************* /REMARK ** Part 1 : Create a new message file /REMARK ********************************************************************* /START-MSGMAKER ——————————————————————————————————————————————————————— (1) //REMARK //REMARK ************************* OPEN-MSG-FILE *************************** //REMARK //OPEN-MSG-FILE FILE-NAME=SYSMES.TSTFILE,- // MODE=CREATE(TYPE=C,PRODUCT=TSTPROD(VERSION=V01.0A10)) —— (2) //REMARK //REMARK ************************* ADD-MSG ********************************** //REMARK //ADD-MSG MSG-ID=TST0000,- ——————————————————————————————————————————— (3) // ACCESS-METHODS=ISAM,- // DESTINATIONS=CONSOLE(ROUTING-CODE=A),- // WEIGHT=30,- // LANGUAGES=(E(- // MSG-TEXT='Text in english with inserts ''(&&00)'' and ''(&&01)''',- // MEANING=('First meaning line',- // 'second meaning line'),- // RESPONSE='Response line'- // ),- // D(- // MSG-TEXT='Text in Deutsch mit Inserts ''(&&01)'' und ''(&&00)''',- // MEANING=('Erste Bedeutungszeile',- // 'Zweite Bedeutungszeile'),- // RESPONSE=('Erste Massnahmeszeile',- // 'Zweite Massnahmeszeile')- // )- // ),- // INSERT-ATTRIBUTES=(0(NAME=NAM0,DEFAULT-VALUE='default0'),- // 1(NAME=NAM1,DEFAULT-VALUE='default1')) //REMARK //REMARK ************************* SHOW ************************************* //REMARK //SHOW MSG-ID=*ALL,OUTPUT=*ALL ———————————————————————————————————————— (4) //END /REMARK ********************************************************************* /REMARK ** Part 2 : Messages from another message file /REMARK ********************************************************************* /REMARK /START-MSGMAKER ——————————————————————————————————————————————————————— (5) //REMARK //REMARK ************************* SHOW (other file) ************************ //REMARK //SHOW MSG-ID=(PEP0001,PEP0002,PEP0004),- ————————————————————————————— (6) // INFORMATION=(MESSAGES(LANGUAGES=E,ELEMENTS=(MSG-TEXT,MEAN-RESP)),- // DOCUMENTATION),- // FROM-FILE=SYSMES.MSG.010,- // OUTPUT=*ALL //REMARK //REMARK ************************* OPEN-MSG-FILE **************************** //REMARK //OPEN-MSG-FILE SYSMES.TSTFILE,(PRODUCT=*UNCHANGED('V01.1A10')) —————— (7) //REMARK //REMARK ***** COPY (from the other file) *********************************** //REMARK //COPY MSG-ID=(PEP0001,PEP0002,PEP0004),- ———————————————————————————— (8) // INFORMATION=*ALL,- // FROM-FILE=SYSES.MSG.010 //REMARK //REMARK ************************* ADD-MSG ********************************** //REMARK //ADD-MSG MSG-ID=PEP0005,- ———————————————————————————————————————————— (9) // LANGUAGES=(E(- // MSG-TEXT='File ''(&&05)'' does not exist',- // ),- // D(- // MSG-TEXT='Datei ''(&&05)'' nicht vorhanden',- // )- // ) //REMARK //REMARK ************************* MODIFY-MSG ******************************* //REMARK //REMARK +++++ Modify the message attributes +++++ //REMARK //MODIFY-MSG MSG-ID=(PEP0001,PEP0002),- ——————————————————————————————— (10) // ACCESS-METHODS=DLAM,- // DESTINATIONS=(USER-TASK,- // CONSOLE(ROUTING-CODE=*MAIN-CONSOLE)),- // INSERT-ATTRIBUTES=1(DEFAULT-VALUE= 'E') //REMARK //REMARK +++++ Modify the texts +++++ //REMARK //MODIFY-MSG - ——————————————————————————————————————————————————————— (11) // MSG-ID=PEP0001,- // LANG=E(- // MEANING=(- // *REPLACE(- // LINE-NUMBER=1,- // TEXT='For more detailed information about the DMS error code- // enter /HELP-MSG in'),- // *ADD('system mode or see the BS2000 manual ''System- // Messages''.')- // )- // ) //REMARK //REMARK ************************* MOVE (rename a message) ****************** //REMARK //MOVE MSG-ID=PEP0004,- ——————————————————————————————————————————————— (12) // INFORMATION=(MESSAGES(LANGUAGES=E)),- // TO-MSG-ID=TST*,- // OVERWRITE=NO //REMARK //REMARK ************************* SHOW (new message file) ****************** //REMARK //SHOW MSG-ID=(*CLASS(PEP),- —————————————————————————————————————————— (13) // TST0004),- // INFORMATION=(MESSAGES,DOCUMENTATION),- // OUTPUT=*ALL //REMARK //REMARK ************************* DELETE-MSG ******************************* //REMARK //DELETE-MSG MSG-ID=*CLASS(TST),LANGUAGES=(D,E) —————————————————————— (14) //END /END-PROCEDURE
Erläuterung
Aufruf von MSGMAKER
Eröffnen der Meldungsdatei SYSMES.TSTFILE für das Produkt TSTPROD mit der Version V01.0A10.
Mit dem Meldungsschlüssel TST0000 wird eine Meldung in die neu eröffnete Meldungsdatei eingetragen. Neben Meldungsattributen (Zugriffsmethode, Ausgabeziel, Weight Code) werden Meldungs-, Bedeutungs- und Maßnahmetext in Englisch und Deutsch eingetragen. Die Meldungstexte enthalten die Inserts (&00) und (&01).
Sollen die Inserts bei Meldungsausgabe in Hochkommata eingeschlossen werden, müssen die Hochkommata in der Anweisung verdoppelt werden. Bitte beachten Sie auch die Verdoppelung des Zeichens &.Der Inhalt der Meldungsdatei SYSMES.TSTFILE wird nach SYSOUT und SYSLST ausgegeben.
Erneuter Aufruf von MSGMAKER.
Drei Meldungen aus der Meldungsdatei SYSMES.MSG.010 werden nach SYSOUT und SYSLST ausgegeben. Die Ausgabe umfaßt die englischen Meldungs-, Bedeutungs- und Maßnahmetexte, sowie die Dokumentationszeilen.
Die Meldungsdatei SYSMES.TSTFILE wird erneut, mit einer geänderten Versionsangabe (V01.1A10) geöffnet.
Aus der Meldungsdatei SYSMES.MSG.010 werden drei Meldungen inkl. Dokumentation in die Datei SYSMES.TSTFILE kopiert.
Die neue Meldung PEP0005 wird in die Meldungsdatei SYSMES.TSTFILE eingetragen.
Für die zwei Meldungen PEP0001 und PEP0002 wird die Zugriffsmethode, das Ausgabeziel und der Default-Text für Insert (&01) verändert.
Für die Meldung PEP0001 wird der englische Bedeutungstext verändert. Die erste Zeile wird durch einen neuen Text ersetzt, eine zweite Zeile wird angefügt.
Alle englischen Texte der Meldung PEP0004 werden unter dem Meldungschlüssel TST0004 abgespeichert.
Die Meldungen der Meldungsklasse PEP und die Meldung TST0004 werden nach SYSOUT und SYSLST ausgegeben.
Die englischen und deutschen Texte der Meldung TST0004 werden gelöscht.
Ausgabe nach SYSOUT
zu Punkt (4):
############################################################################ ################### M e s s a g e c l a s s : T S T ################ ############################################################################ -- TST0000 ----------------------------------------------------------------- Access : ISAM Destination: CONSOLE Routing code: A Weight: 30 Warranty : NO Text format : UPPER CASE Insert attributes: (&00) Name: NAM0 Default value: 'default0' (&01) Name: NAM1 Default value: 'default1' D Text in Deutsch mit Inserts '(&01)' und '(&00)' ? Erste Bedeutungszeile Zweite Bedeutungszeile ! Erste Massnahmezeile Zweite Massnahmezeile E Text in english with inserts '(&00)' and '(&01)' ? First meaning line second meaning line ! Response line % MSMN600 MSGMAKER TERMINATED NORMALLY
zu Punkt (6):
############################################################################ ################### M e s s a g e c l a s s : P E P ################ ############################################################################ -- PEP0001 ----------------------------------------------------------------- E MESSAGE WITH INSERT (&01) ? meaning for pep0001 ! response for pep0001 -- PEP0002 ----------------------------------------------------------------- E MESSAGE WITH INSERT (&01) ? meaning for pep0002 ! response for pep0002 -- PEP0004 ----------------------------------------------------------------- E MESSAGE WITH INSERT (&01) ? meaning for pep0004 ! response for pep0004 ======================== D O C U M E N T A T I O N ===================== PE0001-PEP0004 Owner name: MAIER Team: TEAM1 product = DMS-ERR
############################################################################ ################### M e s s a g e c l a s s : P E P ################ ############################################################################ -- PEP0001 ----------------------------------------------------------------- Access : DLAM Destination: USER-TASK, CONSOLE Routing code: * (main console) Weight: 99 Warranty : NO Text format : UPPER CASE Insert attributes: (&01) Default value: 'E' E MESSAGE WITH INSERT (&01) ? For more detailed information about the DMS error code enter /HELP-MSG in system mode or see the BS2000 manual 'System Messages'. ! response for pep0001 -- PEP0002 ----------------------------------------------------------------- Access : DLAM Destination: USER-TASK, CONSOLE Routing code: * (main console) Weight: 99 Warranty : NO Text format : UPPER CASE Insert attributes: (&01) Default value: 'E' E MESSAGE WITH INSERT (&01) ? meaning for pep0002 ! response for pep0002 -- PEP0005 ----------------------------------------------------------------- Access : ISAM Destination: USER-TASK Routing code: Weight: 99 Warranty : NO Text format : UPPER CASE D Datei '(&05)' nicht vorhanden E File '(&05)' does not exist
======================== D O C U M E N T A T I O N ===================== PEP0001-PEP0004 Owner name: MAIER Team: TEAM1 product = DMS-ERR ############################################################################ ################### M e s s a g e c l a s s : T S T ################ ############################################################################ -- TST0004 ----------------------------------------------------------------- Access : ISAM Destination: USER-TASK Routing code: Weight: 99 Warranty : NO Text format : UPPER CASE E MESSAGE WITH INSERT (&01) ? meaning for pep0004 ! response for pep0004
Ausgabe nach SYSLST
Die Ausgabe des Meldungsdateiinhalte nach SYSLST stimmt nahezu mit der nach SYSOUT überein.
So werden die Meldungen und Dokumentationszeilen identisch ausgegeben. Um die Ausgabe auf Drucker zu steuern, ist die Spalte 1 des SYSLST-Protokolls jedoch für EBCDIC-Steuerzeichen reserviert. Die neue Seite wird mit einer Informationszeile eingeleitet, die Datum, Uhrzeit, Produktname, Produktversion und Seitenzahl enthält.