Allgemeine Informationen

In diesem Abschnitt werden die folgenden Themen behandelt:


Verwendungszweck

Natural for DB2 ist eine Natural-Schnittstelle für den Zugriff auf Daten in einer DB2-Datenbank.

Im Großen und Ganzen gibt es keinen Unterschied zwischen der Verwendung von Natural mit Db2 und der Verwendung von Natural mit Adabas, VSAM oder DL/I. Die Natural-Schnittstelle zu Db2 ermöglicht Natural-Programmen den Zugriff auf Db2-Daten mit denselben nativen Natural-Anweisungen zur Datenmanipulation (DML), die auch für Adabas, VSAM und DL/I verfügbar sind. Daher können Programme, die für Db2-Tabellen geschrieben wurden, auch für den Zugriff auf Adabas-, VSAM- oder DL/I-Datenbanken verwendet werden. Darüber hinaus sind Natural SQL DML-Anweisungen verfügbar.

Alle Operationen, die eine Interaktion mit Db2 erfordern, werden von Natural for DB2 ausgeführt.

Umgebungsspezifische Aspekte

Natural for Db2 wird in den folgenden Umgebungen unterstützt:

Natural for DB2 unter Com-plete

Db2 wird von Com-plete unterstützt. Programme, die unter Com-plete laufen, können auf Db2-Datenbanken über die Db2 Call Attachment Facility (CAF) zugreifen. Zusammen mit der Com-plete-Schnittstelle zu Db2 ermöglicht diese Einrichtung einen vollständig konversationellen Zugriff auf Db2-Tabellen.

Wenn der während des Installationsprozesses erstellte Db2-Plan nicht in Ihrer Db2-SERVER-Parameterliste für Com-plete angegeben ist, müssen Sie NATPLAN vor dem ersten SQL-Aufruf explizit aufrufen, um diesen Plan zuzuweisen.

Natural for DB2 unter CICS

CICS/Db2 Attachment Facility

Unter CICS verwendet Natural die CICS/Db2 Attachment Facility für den Zugriff auf Db2. Stellen Sie daher sicher, dass dieses Attachment gestartet ist. Ist dies nicht der Fall, wird die Natural-Sitzung mit dem CICS-Abend-Code AEY9 vorzeitig beendet, was zur Natural-Fehlermeldung NAT0954 führt, wenn der Natural-Profilparameter DU auf OFF gesetzt ist.

CICS-Db2-Plan-Auswahl

Wenn die Natural-CICS-Transaktions-ID keinem Db2-Plan in der RCT durch DB2ENTRY- und DB2TRAN-Definitionen zugeordnet ist, müssen Sie vor dem ersten SQL-Aufruf explizit NATPLAN ausführen, um den gewünschten Db2-Plan anzugeben und NDBUEXT als dynamischen Planauswahl-Exit (Attribut PLANExit) zu definieren. Die eigentliche Planzuweisung wird durch den dynamischen Planauswahl-Exit durchgeführt.

Pseudo-Conversational Mode unter CICS

Unter CICS läuft ein Natural-Programm in der Regel im Pseudo-Conversational Mode (Natural-Profilparameter PSEUDO auf ON gesetzt; dies ist der Standardwert). In diesem Fall wird am Ende der CICS-Transaktion die Db2-Transaktion festgeschrieben und alle offenen Db2-Cursor werden implizit geschlossen. Es gibt normalerweise keine Möglichkeit, offene Natural-FIND/SELECT-Datenbankzugriffsschleifen nach der Terminal-E/A wieder aufzunehmen.

Um das Problem zu umgehen, dass CICS eine pseudo-konversationelle Transaktion während der Schleifenverarbeitung beendet und Db2 dadurch alle Cursor schließt und alle Selektionsergebnisse verliert, benutzt Natural for Db2 den File Server zur Unterstützung der Natural-Transaktionslogik. Wenn Sie im Pseudo-Conversational Mode unter CICS arbeiten wollen, geben Sie im Natural-Profilparameter DB2 den Schlüsselwort-Subparameter FSERV=ON an und stellen Sie eine File Server-Datei in der CICS-Region bereit.

Pseudo-Conversational Mode unter CICS

Wenn Sie keine File Server-Datei in der CICS-Region bereitstellen und im Natural-Profilparameter DB2 der Schlüsselwort-Subparameter CONVERS auf ON gesetzt ist, schaltet Natural for Db2 immer dann in den Conversational Mode, wenn während einer offenen Datenbankschleife eine Terminal-E/A stattfindet. Das bedeutet, dass die CICS-Transaktion über Terminal-Ein-/Ausgaben erzeugt wird, solange es offene Datenbankschleifen gibt. Dies kann zu Deadlocks bei Db2 führen, da Db2-Ressourcen über Terminal-Ein-/Ausgaben zugeordnet werden.

Conversational Mode 2 unter CICS

Um Anwendungen zu unterstützen, die das implizite Commit bei CICS Terminal-Ein-/Ausgaben nicht einsetzen und stattdessen ein explizites ROLLBACK oder COMMIT codieren, um ihre Datenbanktransaktion zu beenden, wurde ein Conversational Mode 2 eingeführt.

Conversational Mode 2 bedeutet, dass eine Db2-Update-Transaktion über Terminal-Ein-/Ausgaben erzeugt wird, bis ein explizites COMMIT oder ROLLBACK ausgegeben wird.

Der Conversational Mode 2 kann angefordert werden , indem im Natural-Profilparameter DB2 der Schlüsselwort-Subparameter CONVRS2=ON gesetzt wird, oder er kann durch den Aufruf des CALLNAT-Programms NDBCONV dynamisch gesetzt oder zurückgesetzt werden.

Warnung:
Diese Art von Anwendungen neigen dazu, CICS- und Db2-Ressourcen zu binden, da die Ressourcen über Terminal-Ein-/Ausgaben nicht freigegeben werden!

File Server unter CICS

Die Verwendung des File Servers wird gesteuert durch den Schlüsselwort-Subparameter FSERV im Makro NTDB2.

In einer CICS-Umgebung ist der File Server ein optionales Feature, um die Probleme bei der Umstellung auf konversationelle Verarbeitung zu lösen. Vor einer Bildschirm-Ein-/Ausgabe erkennt Natural, ob offene Cursors vorhanden sind, und speichert die in diesen Cursors enthaltenen Daten in den File Server. Mit dem File Server können Datenbankschleifen über Terminal-Ein-/Ausgaben hinweg fortgesetzt werden, aber Datenbankänderungen, die vor einer Terminal-Ein-/Ausgabe vorgenommen wurden, können nicht mehr rückgängig gemacht werden.

Ausführliche Informationen zum File Server siehe unter Natural File Server für DB2.

Natural for DB2 unter IMS TM

Unter IMS TM verwendet Natural die IMS Db2 Attachment Facility für den Zugriff auf Db2. Stellen Sie daher sicher, dass dieses Attachment gestartet ist.

In IMS TM-Transaktionsverarbeitungsumgebungen schließt Db2 alle Cursors und verliert dadurch alle Selektionsergebnisse, wenn das Programm zum Terminal zurückkehrt, um eine Antwortnachricht zu senden. Dieser Betriebsmodus unterscheidet sich von der Art und Weise, wie Db2 im Conversational Mode unter CICS oder in TSO-Umgebungen arbeitet, wo Cursor über die Terminal-Kommunikation hinweg geöffnet bleiben können und daher ausgewählte Zeilen für längere Zeit beibehalten werden können.

File Server unter IMS TM MPP

Die Verwendung des File Servers wird gesteuert durch den Schlüsselwort-Subparameter FSERV im Makro NTDB2.

Der File Server wird benötigt, um das Natural for Db2-Cursor-Management zu unterstützen, während IMS TM nach jeder Terminal-Ein-/Ausgabe-Operation ein implizites End-of-Transaction an Db2 ausgibt. Mit dem File Server können Datenbankschleifen über Terminal-Ein-/Ausgaben hinweg fortgesetzt werden, aber Datenbankänderungen, die vor einer Terminal-Ein-/Ausgabe vorgenommen wurden, können nicht mehr rückgängig gemacht werden.

Ausführliche Informationen zum File Server siehe unter Natural File Server für DB2.

Natural for DB2 unter TSO

Natural for Db2 kann unter TSO ausgeführt werden, ohne dass Änderungen an der Natural/TSO-Schnittstelle erforderlich sind.

Neben z/OS Batch kann die Batch-Umgebung für Natural auch der TSO Background sein, der das TSO-Terminal-Monitorprogramm durch eine EXEC PGM=IKJEFT01-Anweisung in einem JCL-Stream aufruft.

Sowohl TSO-Online- als auch Batch-Programme können entweder unter der Kontrolle des DSN-Kommandos oder unter Verwendung der Call Attachment Facility (CAF) ausgeführt werden. Die CAF-Schnittstelle ist erforderlich, wenn Plan-Switching verwendet werden soll.

File Server unter TSO

Die Verwendung des File Servers wird gesteuert durch den Schlüsselwort-Subparameter FSERV im Makro NTDB2.

In einer TSO-Umgebung ist der File Server ein optionales Feature, durch das während des Entwicklungsstatus eine zukünftige CICS- oder IMS TM-Produktionsumgebung emuliert werden kann.

Bei jeder Terminal-Ein-/Ausgabe gibt Natural ein COMMIT WORK-Kommando aus, um CICS- oder IMS TM-Syncpoints zu simulieren. Daher können Datenbankänderungen, die vor einer Terminal-Ein-/Ausgabe vorgenommen wurden, nicht mehr rückgängig gemacht werden.

Ausführliche Informationen zum File Server siehe unter Natural File Server für DB2.

Natural for DB2 mit CAF

Wenn Sie Natural for Db2 unter TSO oder im Batch-Modus ausführen und die CAF-Schnittstelle verwenden, müssen Sie NATPLAN vor dem ersten SQL-Aufruf explizit aufrufen, um den erforderlichen Db2-Plan zuzuordnen.

NATPLAN kann bearbeitet werden, um die entsprechende Db2-Subsystem-ID anzugeben.

Natural for Db2 mit Db2 DL/I Batch-Unterstützung

Wenn Sie in derselben Natural-Sitzung im Batch-Modus (nicht BMP) auf Db2 und DL/I zugreifen möchten, können Sie die Db2 DL/I Batch-Unterstützung nutzen, mit der Sie die Wiederherstellung von Db2- und DL/I-Datenbanksystemen koordinieren können.

Wenn Sie diese Möglichkeit nutzen wollen, müssen Sie die Prozedur DLIBATCH ausführen, um das Modul DSNMTV01 als Anwendungsprogramm zu starten. DSNMTV01 wiederum führt den Natural-Batch-Nukleus aus, der mit der Db2-Schnittstelle DFSLI000 verlinkt sein muss.

Wenn Ihr PSB mit CMPAT=YES generiert wird, werden alle Syncpoints ausgeführt, und Sie müssen ein END TRANSACTION-Statement absetzen, bevor Sie Ihre Natural-Sitzung beenden. Andernfalls gehen alle Datenbankänderungen verloren, weil Natural am Ende der Sitzung implizit ein BACKOUT TRANSACTION-Statement absetzt.

Wenn Ihr PSB mit CMPAT=NO generiert wird, werden alle Syncpoints ignoriert.

Integration mit Predict

Predict, das offene, operationale Data Dictionary der Software AG für die Entwicklung mit der 4GL-Sprache Natural, ist ein zentrales Repository für Anwendungsmetadaten und bietet Dokumentations- und Cross-Reference-Funktionen. Mit Predict können Sie automatisch Code aus Definitionen generieren und so die Produktivität bei Entwicklung und Wartung steigern.

Da Db2 von Predict unterstützt wird, ist ein direkter Zugriff auf den Db2-Katalog über Predict möglich. Informationen aus dem Db2-Katalog können in das Predict-Datendiktionär übertragen werden, um sie in Datendefinitionen für andere Umgebungen zu integrieren.

Db2-Datenbanken, -Tabellen und -Sichten (Views) können eingebunden und verglichen werden, neue Db2-Tabellen und -Sichten können generiert werden, und Natural-DDMs können erzeugt und verglichen werden. Alle Db2-spezifischen Datentypen und die referenzielle Integrität von Db2 werden unterstützt. Details finden Sie in der entsprechenden Predict-Dokumentation.

Darüber hinaus unterstützen die aktiven Predict-Referenzen statisches SQL für Db2, wie unter WITH XREF Option in Programme für die statische Ausführung vorbereiten beschrieben.

Integration mit Natural Security

Wenn das Programm in einer Umgebung ausgeführt wird, die von Natural Security kontrolliert wird, kann die Verwendung bestimmter Funktionen von Natural for Db2 durch den Security-Administrator eingeschränkt werden, z. B:

  • Natural Tools for DB2

    Zugriff auf die Natural System-Library SYSDB2

    Einzelne Funktionen

  • Statisches SQL

    Die statische Generierung kann wie folgt unterbunden werden:

    • Einschränkung des Zugriffs auf die Natural-System-Library SYSDB2,

    • Nichtzulassung des Moduls CMD,

    • Beschränkung des Zugriffs auf die Libraries, die die entsprechenden Natural-Objekte enthalten,

    • Nichtzulassung eines der Natural-Systemkommandos CATALOG oder STOW für eine Library, die relevante Natural-Objekte enthält.

    Wenn eine Library in Natural Security definiert ist und die Datenbankkennung (DBID) und Dateinummer (FNR) dieser Library von den Standardangaben abweichen, schaltet das statische Generierungsverfahren automatisch auf die in Natural Security definierten DBID- und FNR-Angaben um.

Weitere Informationen erhalten Sie von Ihrem Security-Administrator.

Inkompatibilitäten und Einschränkungen

In diesem Abschnitt werden die bekannten Inkompatibilitäten und Einschränkungen gegenüber Db2 aufgeführt, die auftreten können, wenn Natural for Db2 für den Zugriff auf Daten aus Db2 verwendet wird.

  • Datentyp DECIMAL oder NUMERIC
    Die meisten SQL-Datenbanksysteme unterstützen gepackte Dezimalzahlen mit einer maximalen Genauigkeit von 31 Ziffern und einer Skalierung (Bruchteil der Zahl) von bis zu 31 Ziffern. Die Skalierung muss positiv sein und darf nicht größer als die Genauigkeit sein. Natural erlaubt eine Genauigkeit und Skalierung von bis zu 29 Ziffern.

Meldungen mit Bezug zu Db2

Die Nummernbereiche von Natural-Systemmeldungen im Zusammenhang mit Db2 sind 3275 - 3286, 3700-3749 und 7386-7395.

Eine Liste der Fehlermeldungen, die bei der statischen Generierung ausgegeben werden können, finden Sie unter Static Generation Messages and Codes Issued under NDB in der Natural-Messages and Codes-Dokumentation.

In dieser Dokumentation verwendete Begriffe

Begriff Erläuterung
Db2 (vormals: DB2) Db2 bezieht sich auf IBMs Db2 UDB für z/OS.
DBRM Datenbankabfrage-Modul.
DDM Natural-Datendefinitionsmodul.
DML Datenmanipulationssprache (Natural).
File Server In diesem Dokument bezieht sich der Begriff "File Server" auf den Natural File Server für Db2.
NDB Dies ist der Produktcode von Natural for Db2. In dieser Dokumentation wird der Produktcode häufig als Präfix in den Namen von Dateien (Datasets), Modulen usw. verwendet.