NOPUSY6N - Auf Entire Operations Symbole zugreifen

Dieser Abschnitt behandelt folgende Themen:


Handhabung von Entire Operations Symbolen

Sie können Symbole in Symboltabellen mit der folgenden Anweisung bearbeiten.

CALLNAT 'NOPUSY6N'
  FUNCTION RC DBENV OWNER NETWORK NETWORK-VERSION RUN JOB SYMTAB SYMTAB-VERSION SYMBOL FORMAT
  VALUE USER TIME

Bedeutung der Parameter:

Parameter Format Verwendung
FUNCTION A01 ein Funktions-Code:
D Einen mehrfachen Wert löschen.
M Einen mehrfachen Wert hinzufügen.
N Nächstes Symbol testen.
P Nächstes abzufragendes Symbol testen.
R Symbol zurücksetzen.
S Symbol setzen (hinzufügen oder ändern).
T Existenz eines Symbols testen und seinen Wert abfragen.
1 Existenz eines Symbols testen und seinen Wert mit rekursiver Auflösung abfragen.
RC N03 aus Rückgabe-Code:
0 Funktion ok; Symbol gefunden.
1 Symbol nicht gefunden.
2 Ungültiger numerischer Wert.
3 Ungültiges Format.
4 Formatänderung versucht.
5 Tabelle für mehrfache Werte voll.
6 Wert fehlt.
7 Versuchter Schreibzugriff auf (schreibgeschütztes) Symbol.

Siehe Vordefinierte Symbolbereiche.

10 Ungültiger Wert durch User-Exit.
11 User-Exit nicht gefunden.
12 Zugriff auf User-Exit nicht erlaubt (Natural Security).
20 Ok: ist ein mehrfacher Wert.
30 Ok; das Master-Symbol wurde ebenfalls geändert.
101 Ungültiger Funktions-Code.
102 Parameter fehlt.
111 Symboltabellen-Name fängt mit dem reservierten Präfix "=EOR=" an.
- - - 121 Eigentümer exisitiert nicht.
- - - 131 Ungültiger Symboltabellenname.
- - - 132 Ungültiger Symboltabellen-Versionsname.
- - - 777 Interner Parameterfehler.

Weitere Informationen können Sie dem Entire Operations-Protokoll entnehmen.

DBENV A10 ein Datenbankumgebung (OPTIONAL, für zukünftige Nutzung)
OWNER A10 ein Eigentümer der Symboltabelle
NETWORK A10 ein Netzwerk (nur für aktive Symboltabelle)
NETWORK-VERSION A10 ein Netzwerkversion
RUN P13 ein Lauf (nur für aktive Symboltabelle)
JOB A10 ein Job
SYMTAB A10 ein Die Symboltabelle
SYMTAB-VERSION A10 ein Symboltabellenversion
SYMBOL A40 ein Das Symbol
aus (für Funktions-Codes N und P)
FORMAT A01 ein Das Symbolformat.

Bei der Funktion 1 für Master-Symboltabellen hat dieser Parameter eine besondere Bedeutung: FORMAT kann das Fluchtzeichen enthalten, das für die rekursive Auflösung verwendet werden soll. Die (unten) angegebenen Formatwerte und das Fragezeichen (?) dürfen nicht als Fluchtzeichen verwendet werden.

aus (für Funktions-Codes N, P und T)
leer oder A Alphanumerisch ohne Änderung
D Datum im Format JJJJMMTT
H Alphanumerisch, verborgen
L Alphanumerisch, Konvertierung in Kleinbuchstaben
N Numerisch
U Alphanumerisch, Konvertierung in Großbuchstaben
VALUE A80 ein Der Symbolwert.
aus (für Funktions-Codes N, P und T)
USER A08 aus Benutzer, der die letzte Änderung durchführte.
TIME T aus Zeit der letzten Änderung .

Hinweis zu Parametern, die als optional gekennzeichnet sind: Die Reihenfolge der Parameter ist feststehend. Optionale Parameter können jedoch im CALLNAT-Statement als 1X kodiert werden.

Beschreibung der Funktions-Codes

Bedeutung der Funktions-Codes:

Code Bedeutung
D Löschen (Delete).

Einen mehrfachen Wert löschen. Wert in einem Symbol mit mehrfachen Werten zurücksetzen.

Wenn dies der letzte Symbolwert ist, wird das ganze Symbol aus der Tabelle entfernt.

M Einen mehrfachen Wert hinzufügen. Einen Wert in einem Symbol mit mehrfachen Werten setzen.

Auch wenn die Menge der multiplen Werte 1 ist, bleibt der einzelne Wert ein "multipler" Wert. Er wird nicht in einen Standardwert konvertiert.

N Nächstes Symbol testen.

Versucht, das nächste Symbol (in alphabetischer Reihenfolge) vom angegebenen Symbol an zu finden. Der angegebene Name wird durch den gefundenen Namen überschrieben. Die anderen Felder werden wie bei Funktion T zurückgegeben.

Um das erste Symbol einer Symboltabelle zu finden, kann der Symbolname weggelassen werden. Wenn das Ende der Symboltabelle erreicht wird, wird Code 1 zurückgegeben.

P Nächstes abzufragendes Symbol testen (Prompt).

Das Symbol, das in alphabetischer Reihenfolge für den aktuellen Lauf des Netzwerks/Jobs zur Abfrage aussteht, wird ermittelt. Im weiteren gilt hier das unter Funktions-Code N gesagte.

R Ein Symbol zurücksetzen (Reset).

Das Symbol wird aus der Symboltabelle entfernt.

S Ein Symbol setzen (Set).

Wenn das Symbol nicht in der Symboltabelle existiert, wird es eingefügt. Wenn es bereits existiert, wird es überschrieben.

T Ein Symbol testen (Test).

Wenn das Symbol nicht gefunden wird, wird Code 1 zurückgegeben.

Wenn das Symbol existiert, werden sein Format und Wert zurückgegeben. Die Felder USER und TIME enthalten den Benutzernamen und den Zeitstempel der letzten Änderung.

1 Ein Symbol testen.

Wenn das Symbol nicht gefunden wird, wird Code 1 zurückgegeben.

Wenn das Symbol existiert, werden sein Format und Wert zurückgegeben. Wenn der Symbolwert Symbole enthält, werden diese rekursiv aufgelöst. Die Felder USER und TIME enthalten den Benutzernamen und den Zeitstempel der letzten Änderung.

Anmerkungen:

  1. Um auf eine Master-Symboltabelle zuzugreifen, müssen die Felder NETWORK und RUN leer sein. Um auf eine aktive Symboltabelle zuzugreifen, müssen die Felder NETWORK und RUN durch den Aufrufenden ergänzt werden.
  2. Wenn ein User-Exit zur Gültigkeitprüfung für das Symbol definiert ist, wird auch er aus dieser API-Routine heraus aufgerufen. Stellen Sie sicher, dass der User-Exit in der aufrufenden Umgebung zugänglich ist. Die Bibliothek, die den User-Exit enthält, muss als Steplib für die Ausführungsumgebung dieser APIs definiert werden. Ein Symbolwert wird abgelehnt, wenn der Exit "not ok" zurückgibt (RC=10) oder wenn der Exit fehlt (RC=11).
  3. Alle Aktionen werden im Protokoll aufgezeichnet.
  4. Außerdem kann diese API die Werte vordefinierter Symbole lesen.
  5. Ein mit dieser API erstelltes Symbol erhält die Symboleingabe-Einstellung N (niemals).

Sequenzielles Lesen in einer Symboltabelle

Beginn der AnweisungslisteUm Symbole sequenziell von einer Master-Symboltabelle oder einer aktiven Symboltabelle zu lesen, fahren Sie fort, wie im Folgenden beschrieben:

  1. Setzen Sie die Funktion auf N.

  2. Wenn Sie am Anfang der Tabelle mit dem Lesen anfangen wollen, dann setzen Sie zuerst SYMBOL zurück; sonst geben Sie einen Start-Namen in SYMBOL ein.

  3. Rufen Sie den Benutzer-Exit in einer REPEAT-Schleife auf; verlassen Sie die Schleife, wenn RC nicht 0 ist und nicht 20 ist.

  4. Lassen Sie SYMBOL unverändert als Start-Wert für den nächsten Aufruf.

  5. Setzen Sie VALUE zurück, vor dem nächsten Aufruf, wenn RC=0.

  6. Setzen Sie VALUE nicht zurück, wenn RC=20.

Beispiel: Lesen einer sequenziellen Symboltabelle

MOVE 'N' TO FUNCTION
RESET SYMBOL-NAME
R1.  REPEAT
     CALLNAT 'NOPUSY4N' RC  ...

     DECIDE ON FIRST VALUE OF RC
     VALUE 0, 20 IGNORE
     VALUE 1 ESCAPE BOTTOM (R1.)
     NONE VALUE
            /* Error handling
     END-DECIDE
            /* process symbol here
     IF RC NE 20
          RESET VALUE
     END-IF
END-REPEAT