Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Steuerung über MSGTAC-Programm

Wie Sie die Administration mit Hilfe eines MSGTAC-Programms automatisieren können, wird anhand eines Beispiels gezeigt. In diesem Beispiel reagiert die Anwendung auf die Meldung K041 Warnstufe xx fuer Pagepool wurde ueberschritten. Statt K041 können Sie auch weitere Meldungen wie z.B. K091... Betriebsmittelengpaß... zur Steuerung verwenden.

Für dieses Beispiel muss für K041 das Meldungsziel MSGTAC definiert sein und ein MSGTAC-Programm geschrieben und generiert werden. Dieses Programm liest die Meldung und startet im Beispiel mit einer FPUT-Ausgabe-Nachricht das Asynchron-Programm PRGK041.

Im Folgenden wird PRGK041 in zwei Versionen gezeigt: einmal, wie es die Administrationsaktionen über die Programmschnittstelle und einmal, wie es diese über die Kommandoschnittstelle durchführt. Die Funktionalität eines solchen Programms kann auch in der MSGTAC-Routine selber implementiert werden.

Aufbau des MSGTAC-Programms 

Das MSGTAC-Programm kann nach folgendem Schema aufgebaut sein:

 /***************************** MSGTAC-Programm ***************************/
 #include <kcmsg.h>
  
 INIT
 FGET meldung                     /* Meldung lesen                        */
 ...
 switch (msg-id)
    { case Kxx:...
      case K041:
        { FPUT daten KCRN=PRGK041 /* Teilprogramm PRGK041 aufrufen        */
          break;
       ... 
      case Kyy:..
    }
 PEND FI

Das Programm PRGK041 steuert die Aktionen, die aufgrund der Meldung K041 notwendig sind. Im Folgenden wird skizziert, wie PRGK041 unter Verwendung der Programmschnittstelle und der Kommandoschnittstelle aussehen kann. 

Administrationsaktionen über Programmschnittstelle

Mit MSGTAC wird folgendes asynchrone Administrationsprogramm gestartet.

 /******** Teilproramm PRGK041 fuer KDCADMI-Programmschnittstelle *********/
 #include <kcadminc.h>        /* Include-Datei fuer die Administration    */
 INIT
 FGET daten                   /* Von MSGTAC gelieferte Daten lesen        */
 KDCADMI opcode=KC_GET_OBJECT
                              /* Administrationsaufruf, openUTM liefert   */
                              /* die gewünschten Statistikdaten an das    */
                              /* Programm                                 */
  
  if {...       }             /* Daten auswerten und Aktionen vorbereiten */
  
 KDCADMI opcode=KC_MODIFY_OBJECT
                              /* Geeigneter Parameter wird modifiziert    */
                              /* Ggf. sind zusaetzliche KDCADMI-Aufrufe   */
                              /* noetig, um weitere Parameter zu aendern  */
  
 FPUT                         /* Eventuell Nachricht an Administrator     */
 
 PEND FI 

Das Lesen und die Auswertung der Anwendungsdaten können Sie innerhalb eines Programms realisieren, wobei beliebig viele KDCADMI-Aufrufe erlaubt sind. Damit können Sie z.B. mehrere Anwendungsparameter ändern, wenn dies aufgrund der aktuellen Anwendungsdaten notwendig sein sollte. 

Beispiel: Diagnosehilfen ein/ausschalten

Das folgende Beispiel reagiert auf die Meldung K119 OSI TP Fehlerinformation... Ein MSGTAC-Programm wie z.B. das im Abschnitt "Aufbau des MSGTAC-Programms" skizzierte fängt K119 ab und startet mit FPUT das Administrationsprogramm. Dieses schaltet abhängig von der in K119 gelieferten Information die OSI-Tracefunktionen ein.

 #include <kcadminc.h>        /* Include-Datei fuer die Administration    */
 ...
 INIT
 
 FGET                         /* Daten von MSGTAC lesen                   */
   if {...        }           /* Daten auswerten                          */
 
 KDCADMI opcode=KC_MODIFY_OBJECT
                              /* Unter bestimmten Voraussetzungen die     */
                              /* OSI-Tracefunktionen einschalten          */
   
 FPUT KCRN=admin-lterm        /* Nachricht an Administrator: Trace laeuft */
  
 DPUT KCRN=TRACEOFF           /* Nach einiger Zeit soll ein weiteres      */
                              /* Asynchron-Programm (TRACEOFF) den Trace  */
                              /* wieder ausschalten                       */
    
 PEND FI 

Diesen Programmaufbau können Sie auch verwenden, um z.B. auf die Meldung K065 Netzmeldung... zu reagieren. Nach dem gleichen Muster schreiben Sie ein Programm, das aufgrund einer bestimmten Meldung einen UTM-Dump erzeugt mit KDCADMI opcode=KC_CREATE_DUMP.