Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Strukturierte Ausgabe in S-Variablen

Das Softwareprodukt SDF-P ist eine Prozedursprache, die die Kommandosprache von BS2000 zu einer Programmiersprache erweitert. Prozeduren, die entsprechend den Regeln von SDF-P erstellt werden, heißen strukturierte Prozeduren (S-Prozeduren). SDF-P bietet ein Variablenkonzept, in dem sowohl zusammengesetzte Variablen (S-Variablen) als auch Variablenströme (S-Variablenströme) bearbeitet werden können. Nähere Informationen zu SDF-P und zum Arbeiten mit S-Variablen finden Sie in den Handbüchern " Programmieren in der Kommandosprache" und " Kommandos, Band 1".

SESADM liefert Ausgaben in S-Variablen für die meisten SHOW-Administrationsanweisungen, wenn der Operand STRUCTURE-OUTPUT (siehe "Syntax für die Ausgabe in S-Variablen") einen anderen Wert als *NONE hat. Die S-Variablen können mit SDF-P ausgewertet und weiter verarbeitet werden. Dies erleichtert eine automatisierte Analyse mit SESADM.

Administrationsanweisungen mit Ausgabe in S-Variablen

SESADM bietet die Ausgabe in S-Variablen für folgende Administrationsanweisungen an:

Administrationsanweisung

Anwendungsgebiet

SHOW-CATALOG-USERS

DBH-Administration

SHOW-CATID-LIST

DBH-Administration

SHOW-DISTRIBUTION-RULE-ENTRIES

DCN-Administration

SHOW-INACTIVE-SQL-USERS

DBH-Administration

SHOW-MAIL-PARAMETERS

DBH-Administration

SHOW-OLD-TABLE-CATALOG-ENTRIES

DBH-Administration

SHOW-PARTITIONS

DBH-Administration

SHOW-SPACE-USERS

DBH-Administration

SHOW-SQL-DB-CATALOG-ENTRIES

DBH-Administration

SHOW-TRANSACTIONS

DBH- und DCN-Administration

SHOW-USERS

DBH- und DCN-Administration

SHOW-USER-SPACES

DBH-Administration

Tabelle 14: Administrationsanweisungen mit Ausgabe in S-Variablen

Die Ausgabe in S-Variablen ist Bestandteil der jeweiligen Kommandobeschreibung. Struktur und Inhalte der S-Variablen werden im Anschluss an die Kommandobeschreibung tabellarisch unter Angabe von Name, Bedeutung und Inhalt aufgelistet.

Die Struktur der S-Variablen ist für jede Anweisung vorgegeben und wird für die Folgeversionen garantiert, d.h. sie wird nicht inkompatibel geändert.

Namensbestandteile der S-Variablen

Die Namen der Listenelemente (z.B. CATID) sind für das jeweilige Informationskommando vorgegeben. Sie schließen sich an den vom Anwender deklarierten S-Variablennamen an. Die Namen orientieren sich, soweit möglich, an den korrespondierenden Ausgabebezeichnungen. Ist die Information auf dieser Ebene weiter hierarchisch untergliedert, schließen sich weitere Namen, durch einen Punkt getrennt, an.

Inhalt der S-Variablen

Die Inhalte der S-Variablen entsprechen den korrespondierenden Ausgabewerten. Der Datentyp der S-Variablen von SESADM ist stets <string>, d.h. es wird eine Zeichenfolge ausgegeben.

Arbeiten mit S-Variablen in SESADM

Die Ausgabe in S-Variablen erfolgt zusätzlich zur normalen Ausgabe, wenn der Operand STRUCTURE-OUTPUT ungleich *NONE angegeben ist. Es werden aber keine Meldungen oder Trenn- bzw. Überschriftszeilen in S-Variable ausgegeben.

Der Operand STRUCTURE-OUTPUT (siehe "Syntax für die Ausgabe in S-Variablen") steuert die Ausgabe in S-Variablen:

  • STRUCTURE-OUTPUT=*NONE liefert keine Ausgabe in S-Variable

  • STRUCTURE-OUTPUT=<Name der S-Variablen>(WRITE-MODE=*REPLACE/*EXTEND) liefert die Ausgabe in die angegebene S-Variable. Die S-Variable muss zuvor in der S-Prozedur als dynamische, strukturierte Listenvariable deklariert werden. Die S-Variable kann überschrieben ( *REPLACE ) oder erweitert (*EXTEND) werden.Siehe Beispiel auf "Strukturierte Ausgabe in S-Variablen".

  • STRUCTURE-OUTPUT=*SYSINF liefert die Ausgabe auf den Variablenstrom SYSINF, dem mittels ASSIGN-STREAM eine S-Variable zugewiesen ist. Die S-Variable wird fortgeschrieben. Der Inhalt kann mit dem SDF-P-Kommando FREE-VARIABLE gelöscht werden. Siehe Beispiel auf "Strukturierte Ausgabe in S-Variablen".

Bei einer strukturierten Ausgabe in S-Variablen werden die aktuellen Einzelinformationen jeweils als Inhalt einer S-Variablen abgespeichert. Über die Namen und Strukturbezeichner der S-Variablen greift der Anwender, unabhängig vom Layout der Bildschirm- oder Listenausgabe, auf die gewünschte Einzelinformation im Informationskommando zu.

Es wird empfohlen, für verschiedene Administrationsanweisungen auch verschiedene S-Variablen zu verwenden, da die erzeugten Strukturelemente von der Anweisung abhängen..

Beispiel

Mit folgendem Beispiel werden die Einträge der SQL-Verzeichnisse zweier DBHs einer Konfiguration in eine S-Variable geschrieben und ausgegeben:

/DECLARE-VARIABLE -
/        VARIABLE-NAME=ADMVAR(TYPE=*STRUCTURE(DEFINITION=*DYNAMIC)), -
/        MULTIPLE-ELEMENTS=*LIST                                          1.
/START-SESAM-ADMINISTRATION                                               2.
//START-DBH-ADMINISTRATION PASSWORD=C'ADM',DBH-NAME=W                     3.
//SHOW-SQL-DB-CATALOG-ENTRIES SELECT=*ALL, -
//                    STRUCTURE-OUTPUT=ADMVAR(WRITE-MODE=*REPLACE)        4.
<catalog-name>       | Copy-|Class| UserID   | Status  | Info
  <physical-name>    | Nr   |     |          |         |
---------------------------------------------------------------
DCCAT                |      |ADMIN| SQLDB112 | ACTIVE  |
  WIE                |      |     |          |         |
VIRST                |      |ADMIN| SQLDB112 | ACTIVE  |
  WIE.FIRST          |      |     |          |         |
% <date> <time> SES7215 END OF OUTPUT
//START-DBH-ADMINISTRATION PASSWORD=C'ADM',DBH-NAME=V                     5.
//SHOW-SQL-DB-CATALOG-ENTRIES SELECT=*ALL, -
//                    STRUCTURE-OUTPUT=ADMVAR(WRITE-MODE=*EXTEND)         6.
<catalog-name>       | Copy-|Class| UserID   | Status  | Info
  <physical-name>    | Nr   |     |          |         |
---------------------------------------------------------------
DCCAT                |      |ADMIN| SQLDB112 | ACTIVE  |
  WIE                |      |     |          |         |
SECON                |      |ADMIN| SQLDB112 | ACTIVE  |
  WIE.SEC            |      |     |          |         |
% <date> <time> SES7215 END OF OUTPUT
//END                                                                     7.
Fortsetzung auf der nächsten Seite 
  1. Die zusammengesetzte, strukturierte S-Variable ADMVAR von Typ Liste wird angelegt.

  2. SESADM wird gestartet.

  3. Die Administration des DBH W wird gestartet.

  4. Anweisung zur Ausgabe der SQL-Verzeichnisse der DBHs. Die S-Variable ADMVAR wird überschrieben (*REPLACE, Standardwert). Es folgt die SYSOUT-Ausgabe.

  5. Die Administration des DBH V wird gestartet.

  6. Anweisung zur Ausgabe der SQL-Verzeichnisse der DBHs. Die S-Variable ADMVAR wird fortschrieben (*EXTEND). Es folgt die SYSOUT-Ausgabe.

  7. Die Administration mit SESADM wird beendet.

    /SHOW-VARIABLE VAR-NAME=ADMVAR, -
    /               INFORMATION=*PARAMETER(LIST-INDEX-NUMBER=*YES)            8.
    (OUT) ADMVAR#1.CATALOG = DCCAT
    (OUT) ADMVAR#1.ACCESS-MODE = ADMIN
    (OUT) ADMVAR#1.USERID = SQLDB112
    (OUT) ADMVAR#1.STATE = ACTIVE
    (OUT) ADMVAR#1.INFORMATION =
    (OUT) ADMVAR#1.PHYSICAL-NAME = WIE
    (OUT) ADMVAR#1.COPY-NUMBER =
    (OUT) ADMVAR#2.CATALOG = VIRST
    (OUT) ADMVAR#2.ACCESS-MODE = ADMIN
    (OUT) ADMVAR#2.USERID = SQLDB112
    (OUT) ADMVAR#2.STATE = ACTIVE
    (OUT) ADMVAR#2.INFORMATION =
    (OUT) ADMVAR#2.PHYSICAL-NAME = WIE.FIRST
    (OUT) ADMVAR#2.COPY-NUMBER =
    (OUT) ADMVAR#3.CATALOG = DCCAT
    (OUT) ADMVAR#3.ACCESS-MODE = ADMIN
    (OUT) ADMVAR#3.USERID = SQLDB112
    (OUT) ADMVAR#3.STATE = ACTIVE
    (OUT) ADMVAR#3.INFORMATION =
    (OUT) ADMVAR#3.PHYSICAL-NAME = WIE
    (OUT) ADMVAR#3.COPY-NUMBER =
    (OUT) ADMVAR#4.CATALOG = SECON
    (OUT) ADMVAR#4.ACCESS-MODE = ADMIN
    (OUT) ADMVAR#4.USERID = SQLDB112
    (OUT) ADMVAR#4.STATE = ACTIVE
    (OUT) ADMVAR#4.INFORMATION =
    (OUT) ADMVAR#4.PHYSICAL-NAME = WIE.SEC
    (OUT) ADMVAR#4.COPY-NUMBER =
    
  8. Der Inhalt der S-Variablen ADMVAR wird ausgegeben. Bei den Listenlementen wird statt (*LIST) die Elementnummer an den Namen angehängt.


Bei Nutzung des Variablenstroms SYSINF lauten die entsprechenden Anweisungen:

/DECLARE-VARIABLE -
/        VARIABLE-NAME=ADMVAR(TYPE=*STRUCTURE(DEFINITION=*DYNAMIC)), -
/        MULTIPLE-ELEMENTS=*LIST
/ASSIGN-STREAM STREAM-NAME=SYSINF,TO=*VARIABLE(VARIABLE-NAME=ADMVAR)      1.
/START-SESAM-ADMINISTRATION
//START-DBH-ADMINISTRATION PASSWORD=C'ADM',DBH-NAME=W
//SHOW-SQL-DB-CATALOG-ENTRIES SELECT=*ALL,STRUCTURE-OUTPUT=*SYSINF        2.
//START-DBH-ADMINISTRATION PASSWORD=C'ADM',DBH-NAME=V
//SHOW-SQL-DB-CATALOG-ENTRIES SELECT=*ALL,STRUCTURE-OUTPUT=*SYSINF
//END
/SHOW-VARIABLE VAR-NAME=ADMVAR, -
//              INFORMATION=*PARAMETER(LIST-INDEX-NUMBER=*YES)
  1. Das Kommando ASSIGN-STREAM weist einen S-Variablenstrom für strukturierte Ausgaben einem (Ausgabe-)Server zu, der die weitere Verarbeitung des Variablenstroms steuert. Die Ausgabe des Servers ist die S-Variable.

  2. Die Ausgabe geht an den S-Variablenstron SYSINF und damit an die S-Variable.

Sonderfälle

Wenn keine Ausgabeinformation vorhanden ist, dann wird der Inhalt der betreffenden S-Variablen bei WRITE-MODE=*REPLACE gelöscht, bei WRITE-MODE=*EXTEND bleibt er unverändert..

Wenn eine Ausgabeinformation vorhanden ist, aber nicht in die S-Variable geschrieben werden kann, dann wird eine entsprechende Meldung (SEA7032, SEA7033) ausgegeben. Diese Meldungsnummern werden auch in der S-Variablen SESADM-RESULT vermerkt, siehe Abschnitt „Resultat der Administrationsanweisungen“.