Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

COBOL-Definitionen anpassen

COBOL-Definitionen, die sich auf den Database Key beziehen, liefern Hinweise, wo im Anwenderprogramm ggf. Anpassungen an Database-Key-Werte des erweiterten Wertebereichs (REC-REF > 254 und/oder RSQ > 224-1) notwendig sind.

Die folgenden COBOL-Definitionen beziehen sich auf den Database Key:

  • Definition eines COBOL-Feldes mit Datentyp USAGE IS DATABASE-KEY

  • Redefinition mit REDEFINES eines COBOL-Feldes oder Subschema-Feldes vom Datentyp USAGE IS DATABASE KEY

  • LINKAGE SECTION, die COBOL- oder Subschema-Felder vom Datentyp USAGE IS DATABASE-KEY beschreibt

Somit liefern diese Definitionen Hinweise, wo im Anwenderprogramm ggf. Anpassungen an erweiterte Database-Key-Werte notwendig sind.

Definitionen von COBOL-Feldern mit USAGE IS DATABASE-KEY anpassen

Der Definition eines Database-Key-Feldes im Subschema entspricht die Definition von COBOL-Feldern des Typs USAGE IS DATABASE-KEY bzw. USAGE IS DATABASE-KEY-LONG in der WORKING-STORAGE SECTION des COBOL-Programms.

Ein COBOL-Feld, das mit USAGE IS DATABASE-KEY definiert ist, zeigt an, dass das Anwenderprogramm Database-Key-Werte verwendet. Sofern dieses COBOL-Feld auch Database-Key-Werte des erweiterten Wertebereichs aufnehmen soll (z.B. mit ACCEPT), muss der Datenyp des COBOL-Feldes geändert werden in USAGE IS DATABASE-KEY-LONG.

Wenn ein COBOL-Programm nur Database-Key-Felder (USAGE IS DATABASE-KEY) verwendet, die innerhalb der WORKING STORAGE SECTION des Programms definiert sind, kann das COBOL-Programm bereits vor der Datenbankumstellung für die Nutzung erweiterter Database-Key-Werte (USAGE IS DATABASE-KEY-LONG) vorbereitet werden.

Redefinitionen von Database-Key-Feldern anpassen

Die Redefinition von Database-Key-Feldern mit REDEFINES in der WORKING-STORAGE SECTION erlaubt es, einzelne Bestandteile von Database-Key-Werten im COBOL-Programm gezielt anzusprechen und zu verarbeiten.
Redefiniert werden können folgende Database-Key-Felder:

  • COBOL-Felder vom Datentyp USAGE IS DATABASE-KEY bzw.
    USAGE IS DATABASE-KEY-LONG

  • Felder vom Datentyp USAGE IS DATABASE-KEY bzw. USAGE IS DATABASE-KEY-LONG, die in einem vom Anwenderprogramm verwendeten Subschema (SUB-SCHEMA SECTION) definiert sind.

Für COBOL- oder Subschema-Felder vom Datentyp USAGE IS DATABASE-KEY-LONG müssen alle Redefinitionen entsprechend angepasst werden.

LINKAGE SECTION anpassen

Die LINKAGE SECTION in einem aufgerufenen COBOL-Programm beschreibt und verwendet eine Datenstruktur, die außerhalb des Programms in einem aufrufenden Programm definiert ist.

Wenn in der LINKAGE SECTION eines Anwenderprogramms ein Subschema- oder COBOL-Feld vom Typ USAGE IS DATABASE-KEY angesprochen wird, ist zu prüfen,

  • ob und ggf. wie dieses Feld mit Werten versorgt wird,

  • ob dieses Feld mit Werten versorgt wird, die aus Sätzen anderer Datenbanken stammen,

  • ob bei der Wertzuweisung der Datentyp konvertiert wird.

Wenn das im aufrufenden Programm definierte Feld in den Datentyp USAGE IS DATABASE-KEY-LONG geändert wurde und nicht ausgeschlossen werden kann, dass künftig auch Database-Key-Werte des erweiterten Wertebereichs übergeben werden, muss die lokale Definition ebenfalls in DATABASE-KEY-LONG geändert werden.

In der Regel verweist die LINKAGE-SECTION per COPY-Anweisung auf ein im aufrufenden Programm definiertes Datenfeld. Um Datentypänderungen des aufrufenden Programms in das aufgerufene Programm zu übernehmen, genügt es dann, das aufgerufene Programm neu zu übersetzen.