Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Transaktionsübergreifende Nutzung von erweiterten Database-Key-Werten

Die transaktionsübergreifende Nutzung von Database-Key-Werten innerhalb einer Datenbank ist die typische Situation für die Verwendung von Database-Key-Werten in Anwenderprogrammen:

  1. In einer Transaktion TA1 ermittelt das Anwenderprogramm AP1 mit der DML-Anweisung ACCEPT den Database-Key-Wert des CRR der Satzart KUNDE und speichert diesen Wert in einem COBOL-Feld DBK vom Datentyp USAGE IS DATABASE-KEY:

    ACCEPT DBK FROM KUNDE CURRENCY

    Die Satzart KUNDE ist definiert im Schema REISEBUERO der Datenbank REISEN.

  2. In einer nachfolgenden Transaktion TA2 positioniert das Anwenderprogramm AP1 mit der DML-Anweisung FIND (Format 1) sofort wieder auf den KUNDE-Satz mit dem im COBOL-Feld DBK gespeicherten Database-Key-Wert:

    FIND KUNDE DATABASE-KEY IS DBK

Bild 39: Transaktionsübergreifende Nutzung von Database-Key-Werten durch ein Anwenderprogramm

In der 2-Kbyte-Datenbank REISEN können zur Satzart KUNDE maximal 16 777 215 ( = 224-1) Sätze gespeichert werden. Künftig soll es zur Satzart KUNDE mehr als 16 777 215 Sätze geben. Entsprechend soll das Anwenderprogramm AP1 die erweiterten Database-Key-Werte verarbeiten können. Andere Kapazitätsengpässe treten in der Datenbank REISEN nicht auf.

Die notwendigen Umstellungs- und Anpassungsmaßnahmen führen Sie in folgenden Schritten durch:

  1. Mit dem Dienstprogramm BPGSIZE stellen Sie die Datenbank REISEN auf das 4-Kbyte-Format um. Anschließend erklären Sie die umgestellte Datenbank zum Original.

  2. Sie bereiten die Datenbank REISEN für den Datenbankbetrieb vor. Insbesondere erweitern Sie mit dem Dienstprogramm BREORG im Schema REISEBUERO das Mengengerüst für die Satzart KUNDE auf den benötigten Wert.
    Zur Satzart KUNDE können nun mehr als 16 777 215 Sätze in der Datenbank REISEN abgespeichert werden.

  3. Da Database-Key-Werte für die Satzart KUNDE nicht vom Anwenderprogramm vergeben werden (keine LOCATION MODE IS DIRECT-Klausel im DDL-Satzeintrag für die Satzart KUNDE), müssen Sie Schema-DDL (und somit Subschema-DDL) für das Schema REISEBUERO der Datenbank REISEN nicht anpassen; die Datenbank REISEN muss also nicht umstrukturiert werden.

  4. Bereits vorhandene Anwenderprogramme sind weiterhin unverändert ablauffähig, solange sie nicht in der Datenbank REISEN auf KUNDE-Sätze zugreifen, deren Database-Key-Werte eine RSQ > 224-1 enthalten.
    Damit das Anwenderprogramm AP1 in der Datenbank REISEN auch auf KUNDE-Sätze zugreifen kann, deren Database-Key-Werte eine RSQ > 224-1 enthalten, muss die Deklaration des COBOL-Feldes DBK im Anwenderprogramms AP1 angepasst werden in den Datentyp USAGE IS DATABASE-KEY-LONG. Dabei sind ggf. auch Redefinitionen des Feldes DBK zu berücksichtigen.
    Das Anwenderprogramm AP1 muss neu übersetzt und gebunden werden.
    Die Anpassung des Anwenderprogramms ist zeitlich nicht an die Umstellung der Datenbank gebunden.