VSAM - Parameter für Natural for VSAM

#### Search Results

Search

# VSAM - Parameter für Natural for VSAM

Die Parameter für Natural for VSAM können als Subparameter des dynamischen Profilparameters `VSAM` oder des Makros `NTVSAM` und der Makros `NTVEXIT`, `NTVLSR` und `NTVTVSD` im Natural-Parametermodul angegeben werden.

Mögliche Werte | Siehe VSAM-Parameter-Syntax.
Standard-Einstellung | Siehe Standardwerte der Schlüsselwort-Subparameter.
Dynamische Angabe | ja | Der Parameter `VSAM` kann nur dynamisch angegeben werden. Im Natural-Parametermodul werden die Makros `NTVSAM`, `NTVEXIT`, `NTVLSR` und `NTVTVSD` verwendet.
Angabe innerhalb der Session | nein |

Dieses Dokument behandelt folgende Themen:

- VSAM-Parameter-Syntax

- NTVSAM-Makro-Syntax

- NTVEXIT-Makro-Syntax

- NTVLSR-Makro-Syntax

- NTVTVSD-Makro-Syntax

- Schlüsselwort-Subparameter

- Beispiel für VSAM-Parameter

- Beispiel für NTVSAM-Makro

## VSAM-Parameter-Syntax

Der Profilparameter `VSAM` wird wie folgt angegeben:

VSAM=(keyword-subparameter=value,keyword-subparameter=value,...)

Siehe Schlüsselwort-Subparameter.

## NTVSAM-Makro-Syntax

Das Makro `NTVSAM` wird wie folgt angegeben:

             NTVSAM BTSUPP=value,                                          *
                   CLSUPP=value,                                           *
                   DDMCHK=value,                                           *
                   DDSWITE=value,                                          *
                   DFBE=value,                                             *
                   DFBN=value,                                             *
                   ENADIS=value,                                           *
                   ENAUNE=value,                                           *
                   ETSUPP=value,                                           *
                   FORMAT=(value1,value2),                                 *
                   KEYLGH=value,                                           *
                   MF=value,
                   OPSUPP=value,                                           *
                   PATH=value,                                             *
                   PSIGNF=value,                                           *
                   RETRY=(value1,value2),                                  *
                   RLS=value,                                              *
                   ROLLSIZ=value,                                          *
                   SFILE=value,                                            *
                   TAFE=value,                                             *
                   TAFN=value,                                             *
                   TIMEOUT=value,                                          *
                   TSAE=value,                                             *
                   TVS=value,                                              *
                   UPDL=value

Siehe Schlüsselwort-Subparameter.

Anmerkung
Die Schlüsselwort-Subparameter `EXIT`, `LSR` und `TVSD` stehen im Makro `NTVSAM` nicht zur Verfügung. Darum werden im Natural-Parametermodul stattdessen die Makros `NTVSAM`, `NTVEXIT`, `NTVLSR` und `NTVTVSD` verwendet.

## NTVEXIT-Makro-Syntax

Das Makro `NTVEXIT` wird wie folgt angegeben:

             NTVEXIT file-name,exit-name,workarea-size

Einzelheiten siehe EXIT - Datei-User Exits.

## NTVLSR-Makro-Syntax

Das Makro `NTVLSR` wird wie folgt angegeben:

             NTVLSR file-name,subpool

Einzelheiten siehe LSR - Subpools für gemeinsam genutzte lokale Ressourcen.

## NTVTVSD-Makro-Syntax

Das Makro `NTVTVSD` wird wie folgt angegeben:

             NTVTVSD file-name,option

Einzelheiten siehe TVSD - Aktivierung der DFSMS Transactional VSAM Services.

## Schlüsselwort-Subparameter

`BTSUPP` | `CLSUPP` | `DDMCHK` | `DDSWITE` | `DFBE` | `DFBN` | `ENADIS` | `ENAUNE` | `ETSUPP` | `EXIT` | `FORMAT` | `KEYLGH` | `LSR` | `MF` | `OPSUPP` | `PATH` | `PSIGNF` | `RETRY` | `RLS` | `ROLLSIZ` | `SFILE` | `TAFE` | `TAFN` | `TIMEOUT` | `TSAE` | `TVS` | `TVSD` | `UPDL`

### BTSUPP - Unterstützung von BACKOUT TRANSACTION-Statements

`BTSUPP=value` gibt an, ob `BACKOUT TRANSACTION`-Statements ausgeführt werden oder nicht.

Wert | Erklärung
--- | ---
`ON` | Jedes `BACKOUT TRANSACTION`-Statement wird ausgeführt und in ein entsprechendes `ROLLBACK`-Kommando umgesetzt. Dies ist der Standardwert.
`OFF` | `BACKOUT TRANSACTION`-Statements werden nicht beachtet.

Anmerkung
Dieser Subparameter gilt nur in TP- und DFSMStvs-Umgebungen, in denen VSAM-Logging unterstützt wird.

### CLSUPP - Unterstützung eines CLOSE-Aufrufs beim Beenden der Session

`CLSUPP=value` gibt an, ob ein `CLOSE`-Aufruf beim Beenden der Session ausgeführt wird oder nicht.

Wert | Erklärung
--- | ---
`ON` | Jeder `CLOSE`-Aufruf wird ausgeführt und in ein entsprechendes `SYNCPOINT`-Kommando umgesetzt. Dies ist der Standardwert.
`OFF` | Jeder `CLOSE`-Aufruf wird nicht beachtet.

Anmerkung
Wenn ein `CLOSE`-Aufruf ausgeführt wird, erzwingt Natural for VSAM ein `END TRANSACTION` nur in TP- und DFSMStvs-Umgebungen, in denen VSAM-Logging unterstützt wird.

### DDMCHK - Unterstützung der DDM-Integrität

Bei `DDMCHK=value` wird geprüft, ob sich das Datei-Layout und folglich auch die DDM verändert hat.

Wert | Erklärung
--- | ---
`ON` | Die DDM-Prüfung ist eingeschaltet.
`OFF` | Die DDM-Prüfung ist ausgeschaltet. Dies ist der Standardwert.

Anmerkung
Die Prüfung erfolgt nach jeder Programmbeendigung auf der `NEXT`-Ebene über den Natural Buffer Pool. Der Subparameter `DDMCHK` ist nur in Entwicklungsumgebungen relevant, in denen DDMs geändert werden. Um die Performance zu verbessern, sollten Sie diese Prüfung in Produktionsumgebungen ausschalten.

### DDSWITE - Maximale Anzahl der Einträge im DD/DLBL-Namensumschaltpuffer

`DDSWITE=value` gibt die maximale Anzahl der Einträge im DD/DLBL-Namensumschaltpuffer an.

Wert | Erklärung
--- | ---
`0` bis `TAFE=value`. | Maximale Anzahl der Einträge; d.h., `0` oder ein Wert in einem Bereich, der durch den im Parameter `TAFE` angebenen Maximalwert vorgegeben ist.
`0` | Dies ist der Standardwert.

Anmerkung
Weitere Informationen zum Umschalten von DD-Namen siehe Anwendungsprogrammierschnittstelle `USR1047N` in der Debugger und Dienstprogramme (Utilities)-Dokumentation.

### DFBE - Anzahl der dekodierten Format-Puffer-Einträge

`DFBE=value` gibt die Anfangsanzahl der Einträge der dekodierten Format-Puffer an.

Wert | Erklärung
--- | ---
`1 - 1000` | Durchschnittliche Anzahl Felder.
`10` | Dies ist der Standardwert.

Anmerkungen:

1. Für jedes aktive Natural-Ein-/Ausgabe-Statement (`FIND`, `READ`, `UPDATE`, `STORE`) wird in dieser Tabelle ein Eintrag zugeordnet.
2. Wenn Sie den Wert von `DFBE` oder `DFBN` erhöhen, müssen Sie berücksichtigen, dass die zugordnete Speicherbereichsgröße nicht durch Addieren, sondern durch Multiplizieren dieser Werte berechnet wird.

### DFBN - Anzahl der Felder in dekodierten Format-Puffer-Einträgen

`DFBN=value` gibt die durchschnittliche Anzahl der in einem Eintrag der dekodierten Forma-Puffer-Tabelle enthaltenen Felder an.

Wert | Erklärung
--- | ---
`1 - 1000` | Durchschnittliche Anzahl Felder.
`50` | Dies ist der Standardwert.

Anmerkungen:

1. Für jedes Natural-Ein-/Ausgabe-Statement (`FIND`, `READ`, `UPDATE`, `STORE`) wird ein Eintrag erstellt.
2. Wenn Sie den Wert von `DFBN` oder `DFBE` erhöhen, müssen Sie berücksichtigen, dass die zugordnete Speicherbereichsgröße nicht durch Addieren, sondern durch Multiplizieren dieser Werte berechnet wird.

### ENADIS - Ausgeschaltete Felder einschalten

`ENADIS=value` dient dazu, ausgeschaltete Dateien einzuschalten.

Wert | Erklärung
--- | ---
`ON` | Für alle ausgeschalteten Dateien, auf die während der Session zugegriffen wird, wird ein `EXEC CICS SET ENABLED`-Kommando ausgeführt.
`OFF` | Alle ausgeschalteten Dateien bleiben ausgeschaltet. Dies ist der Standardwert.

Anmerkungen:

1. Dieser Subparameter gilt nur in CICS-Umgebungen und wird nur beim ersten Dateizugriff berücksichtigt, der in der aktuellen Natural Session ausgeführt wird.
2. Falls der Subparameter auf `OFF` gesetzt ist und die Datein nicht eingeschaltet wurde, muss auf den ersten Dateizugriff die Fehlermeldung NAT3516 folgen.

### ENAUNE - Nicht eingeschaltete Dateien einschalten

`ENAUNE=value` dient dazu, nicht eingeschaltete Dateien einzuschalten.

Wert | Erklärung
--- | ---
`ON` | Für alle nicht eingeschalteten Dateien, auf die während der Session zugegriffen wird, wird ein `EXEC CICS SET ENABLED`-Kommando ausgeführt. For all "unenabled" files accessed during the session, an `EXEC CICS SET ENABLED` command is executed.
`OFF` | Alle nicht eingeschalteten Dateien bleiben nicht eingeschaltet. Dies ist der Standardwert.

Anmerkungen:

1. Dieser Subparameter gilt nur in CICS-Umgebungen und wird nur beim ersten Dateizugriff berücksichtigt, der in der aktuellen Natural Session ausgeführt wird.
2. Falls der Subparameter auf `OFF` gesetzt ist und die Datein nicht eingeschaltet wurde, muss auf den ersten Dateizugriff die Fehlermeldung NAT3539 folgen.

### ETSUPP - Unterstützung von END TRANSACTION-Statements

`ETSUPP=value` gibt an, ob `END TRANSACTION`-Statements unterstützt werden oder nicht.

Wert | Erklärung
--- | ---
`ON` | Jedes `END TRANSACTION`-Statement wird ausgeführt und in ein entsprechendes `SYNCPOINT`-Kommando umgesetzt. Dies ist der Standardwert.
`OFF` | `END TRANSACTION`-Statements werden nicht beachtet.

Anmerkung
Dieser Subparameter gilt nur in TP- und DFSMStvs-Umgebungen, in denen VSAM-Logging unterstützt wird.

### EXIT - Datei-User Exits

Natural for VSAM bietet die Möglichkeit, einen oder mehrere User Exits zu definieren. Zu jeder VSA-Datei, auf die zugegriffen werden soll, kann ein User Exit definiert werden. Die Definition eines User Exit erfolgt mit dem Subparameter `EXIT` des Profilparameters `VSAM` bzw. mit dem Makro `NTVEXIT` im Natural-Parametermodul.

Der Subparameter `EXIT` wird wie folgt angegeben:

EXIT=(dd-name,exit-name,workarea-size)

Das Makro `NTVEXIT` wird wie folgt angegeben:

             NTVEXIT dd-name,exit-name,workarea-size

Dabei ist:

Wert | Erklärung
--- | ---
`dd-name` | DD/DLBL/FCT-Name der VSAM-Datei, auf die zugegriffen werden soll. Anmerkung Es gibt keinen Standardwert.
`exit-name` | Name des User Exit. Anmerkung Es gibt keinen Standardwert.
`workarea-size` | Optional kann die Größe des User Exit-Arbeitsbereichs (in Bytes) angegeben werden. Anmerkungen: Eine Mindestgröße von 72 Bytes ist erforderlich; diese entspricht der Größe des gespeicherten IBM-Standard-Register-Bereichs, d.h., 18 Vollwörter. Der Maximalwert beträgt 1024 Bytes. Der Standardwert ist 72.

Anmerkung
Alle User Exits müssen entweder mit dem Natural-Parametermodul verlinkt oder mit Hilfe von CSTATIC- oder RCA-Techniken definiert werden. Für jeden Datei-User Exit ist eine separate Definition mit dem Subparameter `EXIT` bzw. dem Makro `NTVEXIT` erforderlich.

#### User Exit Linkage-Konventionen

Bei der Übergabe der Kontrolle an den und von dem User Exit werden IBM-Standard Linkage Register-Notationen verwendet.

Register | Verwendung
--- | ---
R1 | Adresszeiger auf die Parameteradressenliste. Die Parameteradressenliste liefert die Adressen des Datensatzes, des LRECL, der aktuellen Funktion und des Arbeitsbereichs.
R3 | Adresszeiger auf die VSAM Control Area (VCA).
R12 | Adresszeiger auf den Natural Basic Control Block (BB).
R13 | Adresse der 18-Wort-Save Area.
R14 | Rückgabe-Adresse.
R15 | Eintrag-Adresse/Rückgabeschlüssel. Ein Rückgabeschlüssel von `0` steht für normale Rückgabe der Kontrolle. In allen übrigen Fällen wird eine Natural-Fehlermeldung zurückgegeben.

Die aktuelle Funktion (siehe oben, Register R1) zeigt an, wie die Kontrolle an den User Exit übergeben worden ist. Die Übergabe der Kontrolle kann entweder vor oder nach einem Natural-Aufruf an VSAM erfolgen (siehe auch Feld `DCRREQCD` im mitgelieferten Makro `NVMDCR`).

- Bei den Statements `STORE` und `UPDATE` wird die Kontrolle vor dem Aufruf übergeben.

- Bei den Statements `FIND`, `GET` und `READ` wird die Kontrolle nach dem Aufruf übergeben.

#### Beispiel-User Exit

Ein Beispiel-User Exit `NVSEX01` ist auf dem Installationsband vorhanden.

### FORMAT - Unterstützung der Datensatzformatierung bei STORE- und UPDATE-Statements

Dieser Abschnitt beschreibt die neue (erweiterte) Syntax des Subparameters `FORMAT` und zusätzlich die alte Subparameter-Syntax, die aus Kompatibilitätsgründen noch unterstützt wird.

#### Neue (erweiterte) Subparameter-Syntax:

`FORMAT=(value1,value2)` ermöglicht die Unterstützung der Formatierung von VSAM-Datensätzen, die in einem `STORE`- oder `UPDATE`-Statement referenziert werden. Datensatzfelder, die nicht referenziert werden und deshalb binäre Nullen enthalten, werden in ein Format umgesetzt, das dem in der relevanten DDM definierten Feldtyp und der dort definierten Datensatzlänge entspricht.

Wert | Erklärung
--- | ---
`value1` | `ON` | VSAM-Datensätze werden gemäß den entsprechenden DDM-Definitionen formatiert. Dies ist der Standardwert.
`OFF` | VSAM-Datensätze werden nicht formatiert, und Felder, die nicht referenziert werden, enthalten binäre Nullen.
`value2` | `KEYS` | Alle VSAM-Schlüssel werden gemäß dem DDM-Feldtyp formatiert. Dies ist der Standardwert.
`NOKEYS` | Alle VSAM-Schlüssel werden nicht formatiert.

Anmerkung
Natural for VSAM-Systemdatei-Datensätze werden immer formatiert; dies kann nicht geändert werden.

Sinnvolle Kombinationsmöglichkeiten sind:

`FORMAT=(ON,NOKEYS)` | Alle Felder, mit Ausnahme der Schlüssel, werden formatiert.
`FORMAT=(OFF,KEYS)` | Nur die Schlüssel werden formatiert.

#### Alte Subparameter-Syntax:

Die alte Subparameter-Syntax wird aus Kompatibilitätsgründen noch unterstützt.

`FORMAT=value` ermöglicht die Unterstützung der Formatierung von VSAM-Datensätzen, die in einem `STORE`- oder `UPDATE`-Statement referenziert werden.

Wert | Wert
--- | ---
`ON` | VSAM-Datensätze werden gemäß den entsprechenden DDM-Definitionen formatiert. Dies ist der Standardwert.
`OFF` | VSAM-Datensätze werden nicht formatiert, und Felder, die nicht referenziert werden, enthalten binäre Nullen.

Anmerkungen:

1. Natural for VSAM-Systemdatei-Datensätze werden immer formatiert; dies kann nicht geändert werden.
2. Datensatzfelder, die nicht referenziert werden und deshalb binäre Nullen enthalten, werden in ein Format umgesetzt, das dem in der relevanten DDM definierten Feldtyp und der dort definierten Datensatzlänge entspricht.

### KEYLGH - Länge der in E/A-Statements verwendeten VSAM-Schlüssel

`KEYLGH=value` gibt die Länge von in Ein-/Ausgabe-Statements verwendeten VSAM-Schlüsseln an.

Wert | Erklärung
--- | ---
`1 - 255` | Länge (in Bytes) von in Ein-/Ausgabe-Statements verwendeten VSAM-Schlüsseln.
`32` | Dies ist der Standardwert.

Anmerkungen:

1. Für eine VSAM-Datei beträgt die maximale Schlüssellänge 255 Bytes.
2. Der Wert dieses Parameters wird benutzt, um die Größe der TSA-Tabelle (Table of Sequential Access) zu berechnen.
3. Wenn Sie VSAM-Systemdateien benutzen, geben Sie mindestens folgende Werte an: 87 Bytes für die Systemdateien `FNAT`, `FUSER`, `FDIC` und `FSPOOL` bzw. 126 Bytes für die Systemdatei `FSEC` und für Natural ISPF-Systemdateien.

### LSR - Subpools für gemeinsam genutzte lokale Ressourcen

Dieser Subparameter ist nur erforderlich, wenn VSAM-Dateien als gemeinsam genutzte lokale Ressourcen (Local Shared Resources) benutzt werden.

Anmerkung
Diese Methode bewirkt eine erheblichen Performance-Verbesserung bei TSO und bei Batch-Verarbeitungsläufen und gleichzeitig zu einer Verringerung der VSAM-Ein-/Ausgabe-Rate. Die Definition der Verwendung eines gemeinsam genutzten lokalen Ressourcen-Subpool pro Datei erfolgt mit dem Subparameter `LSR` im Profilparameter `VSAM` bzw. im Makro `NTVLSR` im Natural-Parametermodul.

Der Subparameter `LSR` wird wie folgt angegeben:

LSR=(dd-name,subpool-number)

Das Makro `NTVLSR` wird wie folgt angegeben:

             NTVLSR dd-name,subpool-number

Dabei ist:

Wert | Erklärung
--- | ---
`dd-name` | DD/DLBL/FCT-Name der VSAM-Datei, auf die zugegriffen werden soll. Es gibt keinen Standardwert.
`subpool-number` | Subpool-Nummer (ID) zwischen `0` und `255` bei z/OS; siehe auch die relevante IBM VSAM-Dokumentation. Es gibt keinen Standardwert.

Bis zu 200 logische Dateien sind möglich. Für jede Datei ist eine separate Definition mit dem Subparameter `LSR` bzw. dem Makro `NTVLSR` erforderlich.

Wenn `ERROR=YES` im Modul `NVSMISC` gesetzt ist, müssen alle mit dem Subparameter `LSR` bzw. dem Makro `NTVLSR` definierten Dateien zur Laufzeit per JCL definiert werden, andernfalls wird eine entsprechende Fehlermeldung bei der Natural-Initialisierung zurückgegeben.

Wenn Sie mit dem Subparameter `LSR` bzw. dem Makro `NTVLSR` Basisgruppen (Cluster) definiert haben, die Pfadeinträge enthalten, müssen alle Pfade auch mit dem Subparameter `LSR` bzw. dem Makro `NTVLSR` definiert werden.

Für Umgebungen ohne Pfade gilt: Wenn im VSAM-Katalog die Upgrade-Option aktiv ist und wenn mit dem Subparameter `LSR` bzw. dem Makro `NTVLSR` eine VSAM-Datei definiert wird und diese Datei Referenzen auf einen alternativen Index (AIX) enthält, müssen alle AIX-Dateien auch mit dem Subparameter `LSR` bzw. dem Makro `NTVLSR` definiert werden.

Natural for VSAM benutzt die entsprechenden VSAM-Kataloginformationen über die beteiligten Dateien, berechnet automatisch die optimale Pool-Größe und erstellt dann separate Subpools für Daten- und Index-Bestandteile.

Im Batch-Modus unter z/OS ordnet Natural for VSAM die Pools als ESO Hiperspace zu, wenn die folgenden Bedingungen erfüllt werden:

- Alle Größen im VSAM-Katalog sind mit mindestens als 4 KB oder einem Vielfachen dieses Wertes angegeben (dies gilt sowohl für Daten- als auch für Index-Bestandteile).

- Die Library, aus der Natural for VSAM geladen wurde, ist eine AFP-zugelassene Library.

  Diese Bedingung ist nötig, um den Adressbereich als nicht verlagerbar (non-swapable) zu definieren, was eine Voraussetzung für ESO Hiperspaces ist.

### OPSUPP - Unterstützung dynamischer Open-Aufrufe

`OPSUPP=value` schaltet die Unterstützung mehrerer Open-Aufrufe innerhalb einer Session ein bzw. aus.

Wert | Erklärung
--- | ---
`ON` | Mehrere unterschiedliche Open-Aufrufe werden durch Aufrufen der Anwendungsprogrammierschnittstelle `USR2008N` unterstützt.
`OFF` | Mehrere unterschiedliche Open-Aufrufe innerhalb einer Session werden nicht unterstützt. Dies ist der Standardwert.

Anmerkung
Informationen zu Anwendungsprogrammierschnittstellen siehe SYSEXT Utility in der Debugger und Dienstprogramme (Utilities)-Dokumentation.

### MF – Multi-Fetch-Faktor

`MF=value` dient dazu, den Multi-Fetch-Faktor für VSAM-Ein-/Ausgaben über Natural Statements anzugeben.

Wert | Erklärung
--- | ---
`1 - 28000` | Multi-Fetch-Faktor, der bei Natural-Ein-/Ausgabe-Statements verwendet wird.
`0` | Dies ist der Standardwert.

Anmerkungen:

1. Der Multi-Fetch-Faktor kann nur bei Batch-Verarbeitung angewendet werden.
2. Der Multi-Fetch-Faktor kann nur bei L1-, L2-, L3- und L9-Aufrufen angewendet werden.
3. Der maximale Multi-Fetch-Faktor für eine VSAM-Datei ist `28000`.

### PATH - Unterstützung der Pfad-Verarbeitung

`PATH=value` dient dazu, einen Sekundärschlüssel als Pfad oder als native AIX-Datei zu handhaben.

Wert | Erklärung
--- | ---
`ON` | Alle in einer DDM definierten Sekundärschlüssel werden als Pfade für AIX-Dateien behandelt.
`OFF` | Alle Sekundärschlüssel werden als AIX-Dateien behandelt.
`CHECK` | Natural for VSAM prüft, ob die Sekundärschlüssel im VSAM-Katalog als Pfade oder als AIXs definiert sind. Dies ist der Standardwert.

Anmerkung
Falls Sie VSAM-Systemdateien `FSEC` und/oder `FSPOOL` verwenden, dürfen Sie `ON` nicht angeben; geben Sie entweder `OFF` oder `CHECK` an.

### PSIGNF - Unterstützung der Compiler-Option PSIGNF

`PSIGNF=value` dient dazu, die interne Darstellung positiver Vorzeichen gepackter Zahlen zu handhaben.

Wert | Erklärung
--- | ---
`ON` | Natural for VSAM unterstützt die Compiler-Option `PSIGN` für ein Natural-Objekt; die entsprechende DDM-Beschreibung im Feld `ZONES` wird nicht beachtet.
`OFF` | Natural for VSAM benutzt die DDM-Beschreibung im Feld `ZONES`. Dies ist der Standardwert.

### RETRY - Unterstützung des RETRY-Statement bei einer ON ERROR-Klausel

`RETRY=(value1,value2)` dient dazu, das `RETRY`-Statement bei den folgenden Natural for VSAM-Fehlermeldungen zu unterstützen:

-     NAT3541     File :1:, control interval/record held by another user

-     NAT3520     Held VSAM record modified by another user

Der erste Wert des Subparameters `RETRY` gilt für die Meldung NAT3541, der zweite für die Meldung NAT3520.

Dabei ist:

Wert | Erklärung
--- | ---
(value1,value2) | Jeder der beiden Werte kann entweder `ON` oder `OFF` sein.
`(OFF,OFF)` | Dies ist der Standardwert.

### RLS - Unterstützung des Record Level Sharing

`RLS=value` dient zur Unterstützung des Record Level Sharing (RLS) unter z/OS, DFSMS Version 1.6 oder höher.

Wert | Erklärung
--- | ---
`ON` | Alle Dateien werden im RLS-Modus geöffnet.
`OFF` | Alle Dateien werden im Nicht-RLS-Modus geöffnet (NSR, LSR). Dies ist der Standardwert.
`CHECK` | Alle Dateien werden überprüft, ob sie als SMS-verwaltete Datasets mit RLS-Optionen definiert sind; falls ja, wird die Datei im RLS-Modus geöffnet; falls nein, im Nicht-RLS-Modus.

Anmerkungen:

1. Dieser Subparameter gilt nur bei z/OS.
2. Wenn `TVS=ON` gesetzt ist (siehe Subparameter `TVS` weiter unten) und im Makro `NTVTVSD` (siehe oben) keine VSAM-Datei definiert worden ist, setzen Sie `RLS=CHECK`, um zu prüfen, ob die entsprechende VSAM-Datei als wiederherstellbarer Dataset definiert worden ist.

### ROLLSIZ - Größe des Bereichs für Session-Status-Informationen

`ROLLSIZ=value` gibt die Größe des von Natural zum Speichern von internen Session-Status-Informationen benutzten Bereichs an, wenn eine Natural-Transaktion wegen des Endes eines TP-Monitor Tasks beendet wird.

Wert | Erklärung
--- | ---
`0` oder `1 - 10000` | Größe des Bereichs (in Bytes).
`550` | Dies ist der Standardwert.

Anmerkung
Dieser Subparameter gilt nur in einer Thread-Umgebung (CICS, Com-plete, Natural als Server).

### SFILE - Unterstützung von VSAM-Systemdateien

`SFILE=value` wird benutzt, um VSAM-Systemdateien zu unterstützen.

Wert | Erklärung
--- | ---
`ON` | Unterstützung von VSAM-Systemdateien.
`OFF` | Keine Unterstützung von VSAM-Systemdateien. Dies ist der Standardwert.
`CHECK` | Es erfolgt eine Prüfung, ob die Natural-Systemdateien `FNAT`, `FUSER` und `FDIC` als Natural for VSAM Version 8.2 VSAM-Systemdateien mit der erforderlichen Schlüssellänge von 87 definiert sind.

### TAFE - Maximale Anzahl DDMs pro Natural-Session

`TAFE=value` gibt die maximale Anzahl DDMs pro Natural-Session an.

Wert | Erklärung
--- | ---
`0` oder `1 -1000` | Maximale Anzahl DDM-Felder.
`10` | Dies ist der Standardwert.

Anmerkungen:

1. Da es möglich ist, mehrere Deskriptoren in einer DDM zu definieren, hat der Subparameter `TAFE` Auswirkungen auf die Größe der FCT-, FWA-, OPV- und TAF-Puffer (siehe Buffers for Memory Management) in der Natural for VSAM-Dokumentation.
2. Wenn Sie den Wert von `TAFE` oder `TAFN` erhöhen, müssen Sie berücksichtigen, dass die zugordnete Speicherbereichsgröße nicht durch Addieren, sondern durch Multiplizieren dieser Werte berechnet wird.

### TAFN - Durchschnittliche Anzahl DDM-Felder

`TAFN=value` gibt die durchschnittliche Anzahl DDM-Felder an, die in jedem Eintrag in der Tabelle von VSAM-Dateien enthalten sind, auf die zugegriffen wird.

Wert | Erklärung
--- | ---
`0` oder `1 -1000` | Maximale Anzahl DDM-Felder: `0` - `1000`.
`50` | Dies ist der Standardwert.

Anmerkung
Wenn Sie den Wert von `TAFE` oder `TAFN` erhöhen, müssen Sie berücksichtigen, dass die zugordnete Speicherbereichsgröße nicht durch Addieren, sondern durch Multiplizieren dieser Werte berechnet wird.

### TIMEOUT - Zeitbeschränkung in Sekunden für eine RLS-Anforderung

`TIMEOUT=value` dient zur Unterstützung einer gemischten Umgebung mit RLS-/Nicht-RLS-Dateien unter z/OS CICS Version 5.3 oder höher in einer Natural for VSAM Session.

Wert | Erklärung
--- | ---
`0 - 30` | Zeitbeschränkung (in Sekunden).
`0` | Dies ist der Standardwert.

Anmerkungen:

1. Dieser Subparameter gilt nur für z/OS CICS Version 5.3 oder höher.
2. Natural und Natural for VSAM Version 6.2 sind plex-fähig; d.h., die Natural Session kann nacher einer Terminal-Ein-/Ausgabe durch den Workload Manager auf einem anderen z/OS in einem anderen CICS 5.3 fortgesetzt werden, vorausgesetzt die Ressourcen sind plex-fähig. Da dies bei Nicht-RLS-Dateien nicht der Fall ist, muss die Session im konversationellen Modus laufen, sobald eine VSAM-Datei im Nicht-RLS-Modus geöffnet wird. Mit dem Subparameter `TIMEOUT` können Sie festlegen, dass Nicht-RLS-Dateien aus der Natural for VSAM FCT-Warteschlange gelöscht werden sollen. Wenn es für die betreffende Natural for VSAM Session keine weiteren Nicht-RLS-FCT-Einträge gibt, schaltet Natural for VSAM in den nicht-konversationellen Modus, was bedeutet, dass die z/OS Parallel Sysplex-Verarbeitung wieder möglich ist.

### TSAE - Maximale Anzahl verschachtelter READ- und FIND-Statements

`TSAE=value` dient dazu, die maximale Anzahl aller verschachtelten `READ`- und `FIND`-Statements anzugeben.

Wert | Erklärung
--- | ---
`0` oder `1 -100` | Maximale Anzahl aller verschachtelten `READ`- und `FIND`-Statements.
`10` | Dies ist der Standardwert.

### TVS - Unterstützung von DFSMStvs

`TVS=value` dient dazu, die Unterstützung der DFSMS Transactional VSAM Services (DFSMStvs) zu ermöglichen.

Wert | Erklärung
--- | ---
`ON` | Unterstützung von DFSMStvs.
`OFF` | Keine Unterstützung von DFSMStvs. Dies ist der Standardwert.

Anmerkungen:

1. Dieser Subparameter gilt nur bei z/OS.
2. Wenn `TVS` auf `ON` gesetzt ist, werden die Subparameter `BTSUPP` und `ETSUPP` zwangsweise auf `ON` gesetzt. Der Subparameter `RLS` wird nur dann zwangsweise auf `ON` gesetzt, wenn `RLS` auf `OFF` gesetzt worden ist (`RLS=CHECK` wird nicht zwangsweise auf `ON` geändert).

### TVSD – Aktivierung der DFSMS Transactional VSAM Services

Die Aktivierung der DFSMS Transactional VSAM Services (DFSMStvs) erfolgt entweder durch Setzen des ACB-Parameters `RLSREAD` oder des JCL-Parameters `RLS`. Grundsätzlich öffnet Natural for VSAM alle VSAM-Dateien standardmäßig für die Ausgabe. Dieser Subparameter aktiviert die DFSMStvs durch Angabe des Lese-Integritätswertes des ACB-Parameters `RLSREAD`. Wenn Sie `RSLREAD` im Subparameter `TVSD` oder im Makro `NTVTVSD` angeben, um die DFSMStvs zu aktivieren, brauchen Sie die JCL nicht anzupassen.

Wenn Sie nur den `VSAM`-Subparameter `TVS=ON` setzen, ohne die enstsprechende VSAM-Dateidefinition mit dem Subparameter `TVSD` oder dem Makro `NTVTVSD` anzugeben, müssen Sie die JCL wie unten beschrieben ändern. In diesem Fall müssen Sie den `VSAM`-Subparameter `RLS=CHECK` setzen.

Der Subparameter `TVSD` wird wie folgt angegeben:

TVSD=(dd-name,option)

Das Makro `NTVTVSD` wird wie folgt angegeben:

             NTVTVSD dd-name,option

Dabei ist:

Wert | Erklärung
--- | ---
`dd-name` | DD/DLBL/FCT-Name der VSAM-Datei, auf die zugegriffen werden soll. Es gibt keinen Standardwert.
`option` | `NRI` - Keine Lese-Integrität ("Dirty Read"). `CR` - Konsistentes Lesen. `CRE` - Explizites, konsistentes Lesen. Es gibt keinen Standardwert.

### UPDL - Größe der Aktualisierungstabelle

`UPDL=value` gibt die Größe der Tabelle an, die vom Natural/VSAM-Interface zum Speichern der aus Datensätzen zwecks anschließender Aktualisierung gelesenen Felder.

Wert | Erklärung
--- | ---
`0` oder `1 - 500000` | Größe der Tabelle (in Bytes).
`8192` | Bzw. `32768` wenn `SFILE=ON` gesetzt ist. Dies ist der Standardwert.

Anmerkung
Da die Datensätze von Natural zur Vermeidung von gegenseitigen Sperren nicht mit Hold gelesen werden, wird der Inhalt der `UPDL`-Tabelle benutzt, um zu prüfen, ob vor der Aktualisierungsaufforderung durch einen anderen Benutzer irgendwelche Änderungen erfolgt sind.

## Beispiel für VSAM-Parameter

    VSAM=(RLS=ON,PATH=ON,KEYLGH=66,EXIT=(FILE1,EXIT1,400),EXIT=(FILE2,EXIT2))

## Beispiel für NTVSAM-Makro

             NTVSAM  RLS=ON,PATH=ON,KEYLGH=66
             NTVEXIT FILE1,EXIT1,400
             NTVEXIT FILE2,EXIT2

### On this page

- VSAM-Parameter-Syntax
- NTVSAM-Makro-Syntax
- NTVEXIT-Makro-Syntax
- NTVLSR-Makro-Syntax
- NTVTVSD-Makro-Syntax
- Schlüsselwort-Subparameter
- Beispiel für VSAM-Parameter
- Beispiel für NTVSAM-Makro