SYSEXT Utility

Mit dem Dienstprogramm ("Utility") SYSEXT können Sie Natural-Anwendungsprogrammierschnittstellen (Application Programming Interfaces/APIs), die in der aktuellen System-Library SYSEXT enthalten sind, finden und testen.

Eine Natural API ist ein Natural-Subprogramm (katalogisiertes Objekt), das dazu benutzt wird, auf Daten zuzugreifen, eventuell Daten zu ändern oder Dienste auszuführen, die für Natural-Statements nicht zugänglich sind. Natural APIs beziehen sich auf Natural, eine Unterkomponente oder ein Unterprodukt.

Folgende Themen werden behandelt:

Verwandte Themen:


Einleitung zu SYSEXT

Die SYSEXT Utility bietet zu jeder Natural API eine Funktionsbeschreibung, ein Beispiel-Programm und API-spezifische Schlüsselwörter.

Hauptmerkmale der SYSEXT Utility sind:

  • API-Objekte

    • API-Subprogramm

    • Beispiel-Programm zum Testen

    • Text-Objekt mit Funktionsbeschreibung und Interface-Versionen

  • Funktionen

    • APIS auflisten mit Beschreibung, Kategorie und Produktcode

    • Mehrfachauswahl zur API-Abfrage

    • Suche nach Schlüsselwort und Kategorie

    • Umschalten zwischen Anzeigemodi

    • Objekt-Operationen

Bei Natural APIs verfügbare Objekte

Im folgenden Abschnitt werden die Natural-Objekttypen aufgeführt, die zu jeder Natural API typischerweise vorhanden sind. Zusätzliche Objekte, die zu einer bestimmten API verfügbar sein können, werden an dieser Stelle nicht behandelt.

Alle Objekte, die einen Bezug zur API haben, sind in der Library SYSEXT in der Systemdatei FNAT enthalten.

In der folgenden Tabelle steht nnnn für die vierstellige Nummer, durch die die API sowie das entsprechende Beispiel-Programm und Text-Objekt identifizierbar sind.

Objektname Erklärung
USRnnnnN Das API-Subprogramm (katalogisiertes Objekt), das die vorgesehene Funktion ausführt.
USRnnnnP Ein Beispiel-Programm (Source-Objekt), das benutzt werden kann, um die Wirkung der API zu testen.

Das Beispiel-Programm ruft das entsprechende Subprogramm USRnnnnN auf.

USRnnnnT Ein Text-Objekt, das Folgendes auflistet: eine Kurzbeschreibung und eine ausführliche Beschreibung, Informationen zur Verwendung, Schlüsselwörter und Interface-Versionen.

Zum Anzeigen eines Text-Objekts können Sie das Zeilenkommando T benutzen, siehe Zeilenkommandos.

Bei einigen APIs stehen Copycodes zur Verfügung, die Funktionen bieten, die in Beziehung zur API stehen. Die Copycodes haben den Namen USRnnnnX, wobei X ein Identifizierungszeichen ist (z.B. "Z", "Y" usw.).

SYSEXT Utility aufrufen und beenden

Die SYSEXT Utility können Sie mit folgendem Systemkommando und den im Syntax-Diagramm gezeigten Parametern aufrufen:

SYSEXT

../graphics/sbo2.gif

ALL

../graphics/sbc2.gif

../graphics/sbo2.gif

FIRST

../graphics/sbc2.gif

../graphics/sbo2.gif

DESCENDING

../graphics/sbc2.gif

CURRENT SECOND ASCENDING

Die Parameter, die Sie mit dem Systemkommando angeben können, werden in der folgenden Tabelle beschrieben:

Parameter Beschreibung
ALL Auflistung aller APIs (Standardeinstellung).
CURRENT Auflistung der aktuellen APIs, d.h. alle singulären, d.h. nur einmal vorhanden, APIs und die aktuelle Version von APIs mit Interface-Versionen (mit Schlüsselwort +CURRENT-VERSION). Siehe Interface-Versionen
FIRST Anzeige des ersten Menüs mit Produktcode-Einzelheiten (Standardeinstellung). Beispiel siehe unten.
SECOND Anzeige des zweiten Menüs mit Kategorie-Einzelheiten. Beispiel siehe unten.
ASCENDING Anzeige der APIs in aufsteigender Reihenfolge (Standardeinstellung).
DESCENDING Anzeige der APIs in absteigender Reihenfolge.

Beginn der Anweisungsliste Um die SYSEXT Utility aufzurufen:

  • Geben Sie folgendes Systemkommando ein:

    SYSEXT

    Es erscheint ein Menü mit einer Liste aller vorhandenen Natural APIs gemäß den Angaben im ersten Menü (Beispiel):

     07:43:19              ***** NATURAL SYSEXT UTILITY *****             2010-09-15
     User SAG                            - Menu -                   Library SYSEXT
    
     Cmd Interface Description                                                  Prod
     --- USR*____  _____________________________________________________________ *__
      _  USR0010N  Get SYSPROF information                                       NAT
      _  USR0011N  Get information on logical file                               NAT
      _  USR0020N  Read any error message from FNAT or FUSER                     NAT
      _  USR0040N  Get type of last error                                        NAT
      _  USR0050N  Get SYSPROD information                                       NAT
      _  USR0060N  Copy LFILE definition from FNAT to FUSER                      NAT
      _  USR0070P  Define editor default profile 'SYSTEM'                        NAT
      _  USR0080N  Get or set type and name of editor contents                   NAT
      _  USR0100N  Maintain record length of VSAM datasets                       NVS
      _  USR0120N  Read Natural short error message                              NAT
      _  USR0210N  Save, catalog or stow Natural object                          NAT
      _  USR0220N  Read Natural long error message                               NAT
      _  USR0320N  Read user short error message from FNAT or FUSER              NAT
    
      Category .. ______________________________  Keyword .. ____________________
    
     Command ===>
     Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
           Help  Reset Exit  Desc  Curr  --    -     +     ++          >     Canc   

Sie können die SYSEXT Utility mit beliebigen Parametern (s.o.) aufrufen, z.B. um das zweite Menü direkt beim Start der Utility anzuzeigen:

SYSEXT SECOND

Folgendes Menü wird angezeigt (Beispiel):

 07:43:19              ***** NATURAL SYSEXT UTILITY *****             2010-09-15
 User SAG                            - Menu -                   Library SYSEXT

 Cmd Interface Description                        Category
 --- USR*____  __________________________________ *_____________________________
  _  USR0010N  Get SYSPROF information            SYSTEM COMMANDS
  _  USR0011N  Get information on logical file    SYSTEM FILES
  _  USR0020N  Read any error message from FNAT o ERROR MESSAGES
  _  USR0040N  Get type of last error             ERROR HANDLING
  _  USR0050N  Get SYSPROD information            SYSTEM COMMANDS
  _  USR0060N  Copy LFILE definition from FNAT to SYSTEM FILES
  _  USR0070P  Define editor default profile 'SYS EDITOR
  _  USR0080N  Get or set type and name of editor EDITOR
  _  USR0100N  Maintain record length of VSAM dat VSAM
  _  USR0120N  Read Natural short error message   ERROR MESSAGES
  _  USR0210N  Save, catalog or stow Natural obje NATURAL OBJECTS
  _  USR0220N  Read Natural long error message    ERROR MESSAGES
  _  USR0320N  Read user short error message from ERROR MESSAGES

  Category .. ______________________________  Keyword .. ____________________

 Command ===>
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help  Reset Exit  Desc  Curr  --    -     +     ++    <           Canc   

Alternativ können Sie die SYSEXT Utility ohne Parameter aufrufen und dann PF-Tasten benutzen, um das angezeigte Menü wunschgemäß anzupassen. Siehe PF-Tasten.

Beginn der Anweisungsliste Um die SYSEXT Utility zu beenden:

  • Drücken Sie im Menü der SYSEXT Utility PF3 oder PF12.

    Oder:
    Geben Sie in der Kommandozeile einen Punkt (.) oder EXIT ein.

SYSEXT Utility benutzen

Folgende Themen werden behandelt:

Bestandteile des SYSEXT Utility-Menüs

Das SYSEXT Utility-Menü enthält eine Liste der APIs. Zu jeder API wird Folgendes angezeigt: Name der API (Interface), eine Beschreibung (Description) und, je nach gewähltem Menü, eine Klassifizierung nach Produktcode (Prod) oder Kategorie (Category).

Mit Ausnahme der Spalte Cmd befindet sich über jeder Spalte ein Auswahlfeld, in das Sie Auswahlkriterien eingeben können.

Das Eingabefeld Category im unteren Bereich des Menüs können Sie außerdem zur Suche nach verfügbaren Kategorien benutzen.

Das Eingabefeld Keywords können Sie als Suchfeld benutzen, um verfügbare Schlüsselwörter oder APIs abzurufen.

Darüber hinaus können Sie Auswahlkriterien bei mehreren Auswahlfeldern eingeben. Zum Beispiel können Sie in einem einzelnen Schritt APIs auswählen, die mit USR4 beginnen und als weitere Auswahlkriterien das Schlüsselwort PF-KEY und die Kategorie NATURAL ENVIRONMENT aufweisen.

Die folgende Tabelle enthält eine ausführliche Beschreibung aller Bestandteile des SYSEXT Utility-Menüs:

Bestandteil Erklärung Verwendung
Cmd Eingabefeld für ein Zeilenkommando, mit dem Sie ein Text-Objekt oder ein Beispiel-Programm zur Ausführung markieren können. Siehe Zeilenkommandos. Geben Sie ein Zeilenkommando ein, z.B.:
K Alle bei der angegebenen API relevanten Schlüsselwörter auflisten.
Interface Der Name des API-Subprogramms. APIs mit Interface-Versionen werden hervorgehoben angezeigt. Geben Sie einen Stern (*) oder ein mit einem Stern eingegrenztes Präfix ein, z.B.:
USR4* Alle APIs mit Präfix USR4 auflisten.
Description Kurzbeschreibung des Verwendungszwecks der API. Geben Sie eine Zeichenkette ein, z.B.:
default Alle APIs mit einer Beschreibung auflisten, die die Zeichenkette default oder Default enthält.
* Alle APIs mit einer Beschreibung auflisten, die die Zeichenkette * enthält.
Prod Der Produktcode von Natural (NAT) oder eines Natural Add-on-Produkts, das von der API betroffen ist.

Verfügbare Produktcodes: NAT = Natural, NCI = Natural for CICS, NDB = Natural for DB2, NVS = Natural for VSAM, NDV = Natural Development Server, PRD = Predict, RPC = Natural RPC (Remote Procedure Call).

Mit Ausnahme von NAT werden alle Produktcodes hervorgehoben angezeigt.

Die Anzeige erfolgt nur im ersten Menü.

Geben Sie einen Namen oder ein mit einem Stern (*) eingegrenztes Präfix ein, z.B.:
N* Alle APIs mit einem Produktcode auflisten, der mit N beginnt.
Category (Auswahlfeld) Die Kategorie, durch die die API gemäß ihrem Funktionsbereich und Verwendungszweck klassifiziert wird.

Eine API kann nur zu einer Kategorie gehören.

Die Anzeige erfolgt nur im zweiten Menü, und zwar über der Liste der APIs.

Geben Sie einen Namen oder ein mit einem Stern (*) eingegrenztes Präfix ein, z.B.:
NATURAL OBJECTS Alle APIs mit der Kategorie NATURAL OBJECTS auflisten.
Category (Suchfeld) Alle Kategorien auflisten.

Die Anzeige erfolgt über der Liste der APIs.

Siehe Kategorie-Suche.
Keyword Alle Schlüsselwörter auflisten oder ein Schlüsselwort als Auswahlkriterium eingeben. Siehe Schlüsselwort-Suche oder Schlüsselwort-Auswahl.
Command Kommandozeile zur Eingabe von Utility-Kommandos. Geben Sie ein Utility-Kommando ein. Siehe Utility-Kommandos.

Beginn der AnweisungslisteKategorie-Suche

  • Geben Sie einen Stern (*) oder ein Präfix im Suchfeld Category ein. Wahlweise können Sie einen Stern (*) zur Eingrenzung angeben, z.B.:

    N*

    Als Ergebnis der Suche erscheint ein Menü (Beispiel):

             Search for Categories
    
      Mark Category
      ---- N*____________________________
        _  NATURAL ENVIRONMENT
        _  NATURAL OBJECTS

    Um eine bestimmte Kategorie als Auswahlkriterium auszuwählen, können Sie in dem entsprechenden Eingabefeld in der Spalte Mark ein beliebiges Zeichen eingeben. Als Ergebnis wird eine Liste aller APIs, die dieses Auswahlkriterium erfüllen, angezeigt.

Beginn der AnweisungslisteSchlüsselwort-Suche

  • Geben Sie im Feld Keyword einen Stern (*) oder ein mit einem Stern (*) eingegrenztes Präfix ein, z.B.:

    PF*

    Als Ergebnis der Suche erscheint ein Menü mit einem separaten Fenster, in dem Schlüsselwörter angezeigt werden, die mit PF beginnen (Beispiel):

             Search for Keywords
    
      Mark Keyword
      ---- PF*_________________
        _  PF-KEY
        _  PF-KEY LINE

    Um ein bestimmtes Schlüsselwort als Auswahlkriterium auszuwählen, können Sie in dem entsprechenden Eingabefeld in der Spalte Mark ein beliebiges Zeichen eingeben. Als Ergebnis wird eine Liste aller APIs, die dieses Auswahlkriterium erfüllen, angezeigt.

Beginn der AnweisungslisteSchlüsselwort-Auswahl

  • Geben Sie ein vollständiges Schlüsselwort ein, z.B.:

    PF-KEY

    Als Ergebnis der Suche erscheint eine Liste aller APIs mit Schlüsselwort PF-KEY.

    Anmerkung:
    Ein Stern (*), der nicht am Ende eines Kriteriums angegeben wird, wird nicht als Platzhalter, sondern "buchstäblich" interpretiert. Beispiel: Die Eingabe von *LANGUAGE ergibt eine Liste mit APIs mit dem Schlüsselwort *LANGUAGE.

PF-Tasten

Sie können die folgenden, mit Funktionen belegten PF-Tasten benutzen:

PF-Taste Name Funktion
PF1 Help Anzeige der kontextabhängigen Hilfe.

Zu jedem Eingabefeld ist ein spezifischer Hilfetext vorhanden. In anderem Kontext, zum Beispiel in der Kommandozeile, wird ein allgemeiner Hilfetext angezeigt.

PF2 Reset Die Inhalte aller Auswahlfelder werden gelöscht und die Liste der APIs wird zurückgesetzt.
PF3 Exit Beenden der SYSEXT Utility oder Verlassen des aktuellen Menüs oder Fensters.
PF4 Asc/Desc Umschalten zwischen aufsteigender (Asc) und absteigender (Desc) Reihenfolge der aufgelisteten APIs.
PF5 All/Curr Umschalten zwischen Menüs, die alle APIs (All) anzeigen, und Menüs, die nur aktuelle APIs (Curr) anzeigen. Siehe Interface-Versionen.
PF6 -- Zum Anfang der Liste blättern.
PF7 - Eine Seite nach oben blättern.
PF8 + Eine Seite nach unten blättern.
PF9 ++ Zum Ende der Liste blättern.
PF10 < Wechsel zum ersten Menü.
PF11 > Wechsel zum zweiten Menü.
PF12 Canc SYSEXT Utility oder das aktuelle Menü oder Fenster verlassen.

Zeilenkommandos

Zeilenkommandos werden verwendet, um Objektoperationen durchzuführen. Sie können ein Zeilenkommando in der Spalte Cmd neben der gewünschten API eingeben. Für eine Liste der gültigen Zeilenkommandos können Sie ein Fragezeichen (?) eingeben oder PF1 drücken.

Folgende Zeilenkommandos stehen zur Verfügung:

Zeilen-
kommando
Funktion
K Schlüsselwörter auflisten, die für die angegebene API relevant sind.
T Text-Objekt USRnnnnT mit der Beschreibung der entsprechenden API anzeigen.

Die Beschreibung umfasst Zweck, Funktion und Aufrufkonventionen der API sowie relevante Schlüsselwörter und die Kategorie der API.

L Beispiel-Programm USRnnnnP anzeigen (LIST).
E Beispiel-Programm USRnnnnP bearbeiten (EDIT).
R Beispiel-Programm USRnnnnP kompilieren und ausführen (RUN).
X Beispiel-Programm USRnnnnP ausführen (EXECUTE).
. SYSEXT Utility verlassen.

Utility-Kommandos

In der Kommandozeile können Sie die folgenden Utility-Kommandos eingeben:

  • EXIT
    SYSEXT Utility verlassen.

  • REFRESH
    Aktualisieren der API-Informationen unter Verwendung von Daten aus den Objekten, die in der aktuellen Library SYSEXT enthalten sind. Dieses Kommando wird nur dann benötigt, wenn eine API-Beschreibung oder ein Schlüsselwort geändert oder ein Text-Objekt hinzugefügt oder entfernt worden ist.

    Nach erfolgter Aktualisierung erscheint eine Meldung zur Bestätigung, dass die Text-Module EXT-XML1 und EXT-XML2 in der Library SYSEXT generiert worden sind.

    Anmerkung:
    Sie dürfen die Source-Objekte EXT-XML1 und EXT-XML2 nicht ändern. Diese werden zum Konfigurieren der SYSEXT Utility benötigt und sind nur für den internen Gebrauch in der Software AG bestimmt.

Interface-Versionen

Interface-Versionen können als eine Sammlung von APIs gesehen werden mit (fast) der gleichen Funktionalität, aber mit unterschiedlich erweiterten Parameter Spezifikationen. Sie decken somit den Entwicklungszyklus ab, der explizit wegen der Kompatibilität (zwischen späteren und früheren Versionen) aufbewahrt wird.

Wenn Interface-Versionen zu einer API existieren, werden diese im entsprechenden Text-Objekt USRnnnnT angezeigt. Interface-Versionen sind in einer Liste gemäß der Version angeordnet, zu der sie gehören. Das ganz rechts angeordnete Listenelement gehört zu der aktuellen Version. Der Status wird durch das Schlüsselwort +CURRENT-VERSION ausgedrückt. Alle übrigen Listenelemente gehören zu früheren Versionen und sind durch das Schlüsselwort +PREVIOUS-VERSION gekennzeichnet. APIs ohne Interface-Versionen werden als singulär, d.h. nur einmal vorhanden, bezeichnet.

APIs mit Interface-Versionen werden im Menü hervorgehoben dargestellt.

Die Liste aller aktuellen APIs (siehe PF5) besteht aus allen nur einmal vorhandenen APIs und der aktuellen Version von APIs mit Interface-Versionen (mit Schlüsselwort +CURRENT-VERSION).

Reservierte Schlüsselwörter

Reservierte Schlüsselwörter beziehen sich auf Meta-Informationen zu APIs, z.B. der Natural-Version, in der eine API hinzugefügt worden ist. Reservierte Schlüsselwörter beginnen immer mit einem Plus-Zeichen (+):

Reserviertes Schlüsselwort Beschreibung
+CURRENT-VERSION Die aktuelle Version einer API mit Interface-Versionen (siehe Interface-Versionen).
+PREVIOUS-VERSION Eine frühere Version einer API mit Interface-Versionen (siehe Interface-Versionen).
+NEW-PROD-version Eine API, die zu einem bestimmten Produkt in einer bestimmten Version hinzugefügt worden ist.

Beispiel: +NEW-NAT-4.2.7 bezieht sich auf eine API, die zum Produkt Natural in Version 4.2.7 hinzugefügt worden ist.

+MOD-PROD-version Eine API, die zu einem bestimmten Produkt gehört und in einer bestimmten Version geändert worden ist.

Beispiel: +MOD-NAT-8.2.1 bezieht sich auf eine API, die zum Produkt Natural gehört und in Version 8.2.1 geändert worden ist.

Eine Natural API verwenden

Wenn Sie eine der Natural APIs, die in der System-Library SYSEXT enthalten sind, verwenden möchten, können Sie einen der folgenden Schritte ausführen:

  • Definieren Sie die System-Library SYSEXT in der Systemdatei FNAT als eine Steplib Library für die Benutzer-Library, die die Natural-Objekte enthält, welche diese API verwenden. Dadurch sind bei einem Upgrade Ihrer Natural-Version keine API-spezifischen Maßnahmen erforderlich.

  • Kopieren Sie die benötigte API in die System-Library SYSEXT in der Systemdatei FNAT. Sie müssen so bei einem Natural-Upgrade nur eine einzige Library auf APIs überprüfen.

  • Kopieren Sie die benötigte API in die System-Library SYSTEM in der Systemdatei FNAT (nicht zu empfehlen).

  • Kopieren Sie die benötigte API in die Benutzer-Library (oder in eine ihrer Steplibs) in der Systemdatei FUSER, die die Natural-Objekte enthält, welche diese API verwenden (nicht zu empfehlen).

Sie können eine API nur in der Natural-Version verwenden, in der sie ausgeliefert wird. Es wird dringend geraten, die APIs nur in der Systemdatei FNAT zu speichern. Dadurch wird sichergestellt, dass immer die richtige Version ausgeführt wird.

Beginn der AnweisungslisteUm eine Natural API zu verwenden:

  1. Benutzen Sie im rufenden Programm das Statement DEFINE DATA, um die Parameter anzugeben, die im Text-Objekt USRnnnnT der betreffenden API aufgelistet sind. In dem Beispiel-Programm USRnnnnP werden die Parameter in einem DEFINE DATA LOCAL-Statement definiert. Alternativ können Sie die Parameter außerhalb des rufenden Programms in einer separaten LDA (Local Data Area) oder PDA (Parameter Data Area) angeben, indem Sie ein DEFINE DATA LOCAL USING-Statement benutzen, das diesen Datenbereich referenziert.

  2. Geben Sie folgendes Statement ein:

    CALLNAT 'USRnnnnN' parameters

    Weitere Informationen siehe CALLNAT-Statement in der Statements-Dokumentation.

Anmerkung:
Eine nicht standardmäßige Verwendung ist immer im jeweiligen Text-Objekt USRnnnnT dokumentiert.

Wenn Sie einen in der System-Library SYSEXT enthaltenen Copycode verwenden möchten, können Sie folgenden Schritt ausführen:

  • Kopieren Sie den benötigten Copycode in die Benutzer-Library in der Systemdatei FUSER, die die Natural-Objekte enthält, welche diese API verwenden

Beginn der AnweisungslisteUm einen Copycode zu verwenden:

  1. Benutzen Sie im rufenden Programm das Statement INCLUDE, um die Parameter anzugeben, die im Text-Objekt USRnnnnT der betreffenden API oder im Copycode selbst aufgelistet sind. In dem Beispiel-Programm USRnnnnP werden die Parameter in einem DEFINE DATA LOCAL-Statement definiert. Alternativ können Sie die Parameter außerhalb des rufenden Programms in einer separaten LDA (Local Data Area) oder PDA (Parameter Data Area) angeben, indem Sie ein DEFINE DATA LOCAL USING-Statement benutzen, das diesen Datenbereich referenziert.

  2. Bei einigen Copycodes sind zusätzliche Datendefinitionen erforderlich. Diese sind im Text-Objekt USRnnnnT der API und im Copycode selbst beschrieben.

  3. Geben Sie folgendes Statement ein:

    INCLUDE USRnnnnX 'parameter'...

    Weitere Informationen siehe INCLUDE-Statement in der Statements-Dokumentation.

Anmerkung:
Eine nicht standardmäßige Verwendung ist immer im jeweiligen Text-Objekt USRnnnnT dokumentiert.