COMPOPT [option=value
...]
|
Mit diesem Kommando können Sie verschiedene Kompilierungsoptionen setzen. Die Optionen werden wirksam, wenn ein Natural-Programmierobjekt kompiliert wird.
Wenn Sie nur das Kommando COMPOPT
eingeben, wird ein Schirm angezeigt, auf dem Sie die unten beschriebenen
Optionen ein- bzw. ausschalten können.
Die Standardwerte für die einzelnen Optionen werden mit dem Makro
NTCMPO
im Natural-Parametermodul bzw. dem entsprechenden Profilparameter
CMPO
gesetzt. Wenn Sie die Library wechseln, werden die
COMPOPT
-Optionen wieder auf ihre Standardwerte
zurückgesetzt.
Folgende Themen werden behandelt:
COMPOPT | Wenn Sie nur das Kommando COMPOPT
eingeben, wird der Compilations
Options-Schirm angezeigt, auf dem Sie die unten beschriebenen Optionen ein-
bzw. ausschalten können. Die dort vorhandenen Schlüsselwörter werden
nachfolgend beschrieben.
|
---|---|
COMPOPT option=value |
Die Schlüsselwörter für die einzelnen Optionen werden nachfolgend beschrieben. Die einer Compiler-Option zugewiesene Einstellung bleibt solange
gültig, bis Sie das nächste |
Compiler-Schlüsselwortparameter können Sie auf verschiedenen Ebenen angeben:
Die Standardeinstellungen der einzelnen
Compiler-Schlüsselwortparameter werden mit dem Parameter-Makro
NTCMPO
vorgenommen. Diese
Einstellungen werden im Natural-Parametermodul NATPARM
gespeichert.
Zu Beginn einer Natural-Session können Sie die
Compiler-Schlüsselwortparameter überschreiben, indem Sie die Werte im
entsprechenden Profilparameter CMPO
setzen.
Während einer aktiven Natural-Session haben Sie zwei Möglichkeiten,
die Compiler-Parameterwerte mit dem Systemkommando
COMPOPT
zu ändern: Entweder direkt mittels
Kommandozuordnung (COMPOPT
option=value
)
oder indem Sie das Kommando COMPOPT
ohne Optionen
absetzen, woraufhin der Schirm Compilation
Options
erscheint.
Bei einem LOGON
auf eine andere Library,
werden die mit dem Makro
NTCMPO
und/oder dem Profilparameter
CMPO
vorgenommenen
Standardeinstellungen (siehe Punkt 1) wieder hergestellt. Beispiel:
OPTIONS KCHECK=ON DEFINE DATA LOCAL 1 #A (A25) INIT <'Hello World'> END-DEFINE WRITE #A END
In einem Natural-Programmierobjekt (z.B. Programm, Subprogramm) können
Sie Compiler-Parameter mit dem OPTIONS
-Statement setzen.
Beispiel:
OPTIONS KCHECK=ON WRITE 'Hello World' END
Die in einem OPTIONS
-Statement angegebenen
Compiler-Optionen betreffen nur die Kompilierung dieses Programmierobjekts, sie
aktualisieren jedoch nicht die mit dem Systemkommando
COMPOPT
gesetzten Optionen.
Folgende Optionen stehen zur Verfügung:
PSIGNF - Internal Representation of Positive Sign of Packed Numbers
DB2ARRY - Support DB2 Arrays in SQL SELECT and INSERT Statements
Diese Optionen entsprechen den gleichnamigen Schlüsselwortparametern des
Profilparameters CMPO
bzw. des Parameter-Makros
NTCMPO
.
Prüfung auf Schlüsselwörter.
ON | Felddeklarationen in einem Programmierobjekt werden gegen einen Satz kritischer Natural-Schlüsselwörter geprüft. Falls ein Variablenname mit einem dieser Schlüsselwörter übereinstimmt, wird ein Syntaxfehler ausgegeben, wenn das Programmierobjekt geprüft oder katalogisiert wird. |
---|---|
OFF | Es erfolgt keine solche Prüfung. Dies ist der Standardwert. |
Der Abschnitt Prüfung der für Natural
reservierten Schlüsselwörter durchführen im
Leitfaden zur Programmierung enthält eine Liste der
Natural-Schlüsselwörter, die von der KCHECK
-Option abgeprüft
werden.
Der Abschnitt Alphabetische Liste der für Natural reservierten Schlüsselwörter im Leitfaden zur Programmierung enthält eine Übersicht über alle Natural-Schlüsselwörter und reservierten Wörter.
Prüfung der Parameter bei CALLNAT-Statements.
ON |
Der Compiler prüft Anzahl, Format, Länge und Array-Index-Grenzen
der Parameter, die in einem Objekt aufrufenden Statement (zum Beispiel
Die Parameterprüfung basiert auf dem Vergleich der Parameter des
Objekt aufrufenden Statements mit den Dazu ist folgendes erforderlich:
Andernfalls hat die Einstellung Probleme bei der Benutzung des CATALL-Kammandos mit
PCHECK=ON
Wenn ein Wenn ein Wie zuvor erwähnt werden die Parameter des des Objekt aufrufenden
Statements gegen die kompilierte Form des aufgerufenen Subprogramms geprüft.
Wenn das rufende Objekt (das momentan kompiliert wird und das Objekt aufrufende
Statements enthält) vor dem aufgerufenen Objekt katalogisiert wird, kann das
Das hat zur Folge, dass das neue Parameterlayout im
Objekt aufrufenden Statement mit dem alten Parameterlayout im
Lösung:
|
---|---|
OFF | Es erfolgt keine solche Prüfung. Dies ist der Standardwert. |
Interpretation von Datenbankfeld-Namen in Programmierobjekten.
Ein in einem DDM definiertes Datenbankfeld wird durch zwei Namen beschrieben:
durch den Kurznamen mit einer Länge von zwei Zeichen, der von Natural für die Kommunikation mit der Datenbank (insbesondere mit Adabas) verwendet wird;
durch den Langnamen mit einer Länge von 3 bis 32 Zeichen (1 bis 32 Zeichen, wenn die darunter liegende Datenbank DB2/SQL ist), der zum Referenzieren des Feldes im Natural-Programmcode verwendet werden soll.
Unter speziellen Bedingungen können Sie in einem Natural-Programm ein Datenbankfeld mit seinem Kurznamen statt mit dem Langnamen referenzieren. Dies gilt, falls Sie Natural im Reporting Mode ohne Natural Security benutzen und falls das für den Datenbankzugriff verwendete Statement statt einer Referenz auf ein View eine Referenz auf ein DDM enthält.
Die Entscheidung, ob ein Feldname als eine Kurznamen-Referenz
betrachtet wird, erfolgt abhängig von der Länge des Namens. Wenn die
Feldkennung (Identifier) aus zwei Zeichen besteht, wird davon ausgegangen, dass
eine Kurznamen-Referenz vorliegt; ein Feldname mit einer anderen Länge wird als
Langnamen-Referenz betrachtet. Diese standardmäßige Interpretation können Sie
zusätzlich beeinflussen, indem Sie die Compiler-Option DBSHORT
auf
ON
oder OFF
setzen:
ON |
Die Verwendung eines Kurznamens zum Referenzieren eines
Datenbankfeldes ist erlaubt, jedoch wird die Verwendung eines
Datenbank-Kurznamens nicht generell gestattet (selbst wenn
Dies ist der Standardwert. |
---|---|
OFF |
Ein Datenbankfeld kann nur über seinen Langnamen referenziert werden. Jede Datenbankfeldkennung wird unabhängig von ihrer Länge als Langnamen-Referenz betrachtet. Wenn ein zwei Zeichen langer Name geliefert wird, der nur als Kurzname und nicht als Langname gefunden werden kann, wird bei der Kompilierung ein Syntaxfehler NAT0981 ausgegeben. Dies ermöglicht die Verwendung von Langnamen, die in einer DDM mit einer Kennungslänge von 2 Byte definiert wurden. Diese Option ist wichtig, wenn die darunter liegende Datenbank, auf die Sie mit diesem DDM zugreifen wollen, vom Typ SQL (DB2) ist und wenn dort Tabellenspalten mit einem zwei Zeichen langen Namen existieren. Dagegen wird bei allen anderen Datenbanktypen (zum Beispiel Adabas) jeder Versuch, ein Langnamenfeld mit einer Namenslänge von 2 Bytes zu definieren bei der DDM-Generierung zurückgewiesen. Darüber hinaus wird das Programm, wenn keine Kurznamenreferenzen
verwendet werden (was durch |
Gegeben sei die folgende Datenbankfelddefinition in dem DDM
EMPLOYEES
:
Kurzname | Langname |
---|---|
AA |
PERSONNEL-ID |
Beispiel 1:
OPTIONS DBSHORT=ON READ EMPLOYEES DISPLAY AA /* Datenbankfeldkurzname AA ist erlaubt END
Beispiel 2:
OPTIONS DBSHORT=OFF READ EMPLOYEES DISPLAY AA /* Syntaxfehler NAT0981, weil DBSHORT=OFF END
Beispiel 3:
OPTIONS DBSHORT=ON DEFINE DATA LOCAL 1 V1 VIEW OF EMPLOYEES 2 PERSONNEL-ID END-DEFINE READ V1 BY PERSONNEL-ID DISPLAY AA /* Syntaxfehler NAT0981, weil PERSONNEL-ID im View definiert ist; /* (selbst wenn DBSHORT=ON) END-READ END
Interne Darstellung des positiven Vorzeichens von gepackten Zahlen.
ON | Das positive Vorzeichen einer gepackten Zahl wird intern als H'F' dargestellt. Dies ist der Standardwert. |
---|---|
OFF | Das positive Vorzeichen einer gepackten Zahl wird intern als H'C' dargestellt. |
Diese Option bestimmt, ob der Profilparameter TS
für
Natural-System-Libraries (d.h. für Libraries, deren Namen mit SYS
beginnt, außer SYSTEM
) gilt oder auch für alle
Benutzer-Libraries.
Natural-Objekte, die mit der Einstellung TSENABL=ON
katalogisiert werden, bestimmen die Verwendung des
TS
-Parameters auch dann, wenn sie sich nicht in einer
System-Library befinden.
ON | Der Profilparameter TS gilt für alle
Libraries.
|
---|---|
OFF | Der Profilparameter TS gilt nur für
Natural-System-Libraries. Dies ist der Standardwert.
|
Mit dieser Option können Sie Naturals interne Generierung von Global Format IDs steuern, um damit das Leistungsverhalten von Adabas bei der Wiederverwendbarkeit von Format-Buffer-Übersetzungen zu beeinflussen.
ON | Global Format IDs werden für alle Views generiert. Dies ist der Standardwert. |
---|---|
VID | Global Format IDs werden nur für in Local/Global Data Areas definierte Views generiert, aber nicht für innerhalb von Programmen definierte Views. |
OFF | Es werden keine Global Format IDs generiert. |
Weitere Informationen zu Global Format IDs siehe Adabas-Dokumentation.
GFID=abccddee
dabei steht | für |
---|---|
a | x'F9' |
b | x'22' oder x'21' in Abhängigkeit vom DB-Statement |
cc | physische Datenbanknummer (2 Bytes) |
dd | physische Dateinummer (2 Bytes) |
ee | zur Laufzeit generierte Nummer (2 Bytes) |
GFID=abbbbbbc
Für Dateinummern kleiner als oder gleich 255 und Adabas Version
kleiner als 6.2 (siehe
NTDB
-Makro).
dabei steht | für |
---|---|
a | x'F8' oder x'F7' oder x'F6' |
bbbbbb | Bytes 1-6 des STOD-Werts |
c | physische Dateinummer |
GFID=axbbbbbc
Für Dateinummern über 255 und Adabas Version kleiner als 6.2.
dabei steht | für |
---|---|
a | x'F8' oder x'F7' oder x'F6' |
x | physische Dateinummer - high order byte |
bbbbb | Bytes 2-6 des STOD-Werts |
c | physische Dateinummer - low order byte |
GFID=abbbbbb
Für Adabas Version 6.2 oder höher.
dabei steht | für |
---|---|
a | x'F8' oder x'F7' oder x'F6'
wobei:
F6= |
bbbbbbb | Bytes 1-7 des STOD-Werts |
Anmerkung:
STOD ist der Rückmeldewert der Store Clock Machine Instruction
(STCK).
Diese Option unterstützt die Verwendung von Programmen in Sourceform mit Kleinschreibung oder gemischter Schreibweise auf Großrechnerplattformen und erleichtert so die Übertragung von derartigen Programmen von anderen Plattformen in eine Großrechnerumgebung.
ON | Gestattet jede Art von Zeichen in Klein-/Großschreibung in Source-Programmen. |
---|---|
OFF | Gestattet nur Großschreibung. Das bedeutet, dass Schlüsselwörter, Variablennamen und Identifier in Großbuchstaben definiert werden müssen. Dies ist der Standardwert. |
Wenn Sie Zeichen in Kleinschreibung mit LOWSRCE=ON
verwenden, müssen Sie folgendes berücksichsichtigen:
Die Syntaxregeln für Variablennamen erlauben es, ab der zweiten Stelle Zeichen in Kleinschreibung zu benutzen. Sie können deshalb zwei Variablen gleichen Namens definieren, indem Sie die eine in Kleinschreibung und die andere in Großschreibung angeben, zum Beispiel:
DEFINE DATA LOCAL 1 #Vari (A20) 1 #VARI (A20)
Mit LOWSRCE=OFF
werden die im Beispiel angegebenen
Variablen als zwei verschiedene Variablen behandelt.
Mit LOWSRCE=ON
unterscheidet der Compiler nicht zwischen
Klein- und Großschreibung. Dies führt zu einem Syntaxfehler, weil eine doppelte
Namensvergabe bei Variablen nicht erlaubt ist.
Bei Verwendung des Session-Parameters
EM
(Edit
Mask) in einem I/O-Statement oder in einem MOVE EDITED
-Statement gibt es
Zeichen, die das Daten-Layout, das einer Variablen
(EM
-Steuerzeichen) zugeordnet ist, und Zeichen, die
Textfragmente in das Datenfeld einfügen.
Beispiel:
#VARI :='1234567890' WRITE #VARI (EM=XXXXXxxXXXXX)
Bei LOWSRCE=OFF
ist die Ausgabe
12345xx67890
, weil bei Variablen im Alpha-Format nur X-, H- und
Zirkumflex-(ˆ)-Zeichen in Großschreibung verwendet werden können.
Bei LOWSRCE=ON
ist die Ausgabe 1234567890
,
weil das Zeichen x wie der Großbuchstabe C behandelt und deshalb als
EM
-Steuerzeichen für dieses Feldformat interpretiert
wird. Um dieses Problem zu vermeiden, sollten Sie Textkonstantenfragmente in
Apostrophe (') einschließen.
Beispiel:
WRITE #VARI(EM=XXXXX'xx'XXXXX)
Das Textfragment wird, unabhängig von den
LOWSRCE
-Einstellungen, nicht als ein
EM
-Steuerzeichen betrachtet.
Da bei der Einstellung LOWSRCE=ON
alle Variablennamen in
Großbuchstaben umgesetzt werden, ist die Anzeige von Variablennamen in
I/O-Statements (INPUT
,
WRITE
oder
DISPLAY
)
unterschiedlich.
Beispiel:
MOVE 'ABC' to #Vari DISPLAY #Vari
Bei LOWSRCE=OFF
ist die Ausgabe:
#Vari -------------------- ABC
Bei LOWSRCE=ON
ist die Ausgabe:
#VARI -------------------- ABC
Mit dieser Option können Sie Anführungszeichen (") in Apostrophe (') umsetzen.
ON | Jedes Anführungszeichen (") in einer Textkonstante wird als Apostroph (') ausgegeben. Dies ist der Standardwert. |
---|---|
OFF | Anführungszeichen (") in einer Textkonstante werden nicht umgesetzt, sondern als Anführungszeichen beibehalten. |
Beispiel:
RESET A (A5) A:= 'AB"CD' WRITE '12"34' / A / A (EM=H(5)) END
Mit TQMARK ON
sieht die Ausgabe so aus:
12'34 AB'CD C1C27DC3C4
Mit TQMARK OFF
sieht die Ausgabe so aus:
12"34 AB"CD C1C27FC3C4
Mit dieser Option können Sie beim Kompilieren die Verwendung des
Tausender-Trennzeichens ermöglichen oder unterdrücken. Siehe auch
Profil- und Session-Parameter THSEPCH
sowie
Abschnitt Trennzeichen-Angaben
standardisieren (im
Leitfaden zur Programmierung).
ON | Das Tausender-Trennzeichen wird verwendet. Jedes Tausender-Trennzeichen, das nicht Teil eines Zeichenketten-Literals ist, wird intern durch ein Steuerzeichen ersetzt. |
---|---|
OFF | Das Tausender-Trennzeichen wird nicht verwendet, d.h. der Compiler erzeugt kein Steuerzeichen für Tausender-Trennzeichen. Dies ist die Kompatibilitätseinstellung. |
(Codepage-Unterstützung bei alphanumerischen Konstanten)
Mit der CPAGE
-Option können Sie eine Konvertierungsroutine
aktivieren, die, wenn das Objekt zur Laufzeit gestartet wird, alle
alphanumerischen Konstanten von der Codepage, die bei der Kompilierung aktiv
war, in die Codepage, die zur Laufzeit aktiv ist, umsetzt.
Siehe auch Abschnitt CPAGE Compiler Option in der Dokumentation Unicode and Code Page Support.
ON | Codepage-Unterstützung für alphanumerische Zeichenketten ist eingeschaltet. |
---|---|
OFF | Codepage-Unterstützung für alphanumerische Zeichenketten ist ausgeschaltet. Dies ist der Standardwert. |
(Unterstützung von DB2-Arrays in SQL SELECT
- und
INSERT
-Statements)
Mit der Option DB2ARRY
können Sie die Recherche und/oder
das Einfügen in mehreren Reihen in DB2 mit nur einer Ausführung eines SQL
SELECT
- oder
INSERT
-Statements
aktivieren. Dies ermöglicht die Angabe von Arrays als Zielfelder im SQL
SELECT
-Statement oder als Quellfelder im SQL
INSERT
-Statement. Wenn DB2ARRY
auf ON
gesetzt ist, ist es nicht mehr möglich, alphanumerische Natural-Arrays für DB2
VARCHAR/GRAPHIC
-Spalten zu verwenden. Stattdessen müssen Sie lange
alphanumerische Natural-Variablen verwenden.
ON | DB2-Array-Unterstützung ist eingeschaltet. |
---|---|
OFF | DB2-Array-Unterstützung ist ausgeschaltet. Dies ist der Standardwert. |
Mit der Option CHKRULE
können Sie eine während des
Katalogisierungsvorgangs für Maps stattfindende Validierungsprüfung ein- bzw.
ausschalten.
ON |
Die Beim Anlegen einer Map können Sie Felder einfügen, die schon in
einem anderen existierenden Programmierobjekt definiert sind. Das funktioniert
bei fast allen Arten von Objekten, in denen Sie Variablen definieren können,
und ebenso bei DDMs. Wenn es sich bei dem eingefügten Feld um eine
Datenbankvariable handelt, fügt der Map Editor automatisch (neben dem
eingefügten Feld) ein Die Funktionsweise ist ähnlich dem Vorgang bei der Verarbeitung
eines Bei Übernahme von Feldern aus einer DDM in eine Map, werden
entsprechende |
---|---|
OFF | Die INCDIR -Validierung ist ausgeschaltet. Dies ist
der Standardwert.
|
Folgende Optionen stehen zur Verfügung:
FINDMUN - Detect Inconsistent Comparison Logic in FIND Statements
NMOVE22 - Assignment of Numeric Variables of Same Length and Precision
Diese Optionen entsprechen den gleichnamigen Schlüsselwortparametern des
Profilparameters CMPO
bzw. des Parameter-Makros
NTCMPO
.
Mit Natural Version 2.3 hat sich die Vergleichslogik für multiple
Felder in der WITH
-Klausel des FIND
-Statements geändert.
Das hat zur Folge, dass Sie andere Ergebnisse erhalten, wenn Sie
Version-2.3-Programme, die bestimmte Formen von FIND
-Statements
enthalten, unter Version 2.3 kompilieren. Mit dieser Option können Sie nach
FIND
-Statements suchen, deren WITH
-Klausel multiple
Felder in einer Weise verwendet, die nicht mehr mit der verbesserten
Vergleichslogik von Version 3.1 konsistent ist.
ON | Fehler NAT0998 wird für jedes bei der Kompilierung entdeckte
derartige FIND -Statement ausgegeben.
|
---|---|
OFF | Es erfolgt keine Suche nach derartigen
FIND -Statements. Dies ist der Standardwert.
|
Die Vergleichslogik für multiple Felder in der
WITH
-Klausel des FIND
-Statement wurde ab Natural
Version 2.3 so geändert, dass sie mit der Vergleichslogik bei anderen
Statements (z.B. IF
) konsistent ist.
Man kann vier verschiedene Formen des FIND
-Statement
unterscheiden. Dabei wird davon ausgegangen, dass das Feld MU
in
den folgenden Beispielen ein multiples Feld ist.
FIND XYZ-VIEW WITH MU = 'A'
Bei Version 2.2 und höher liefert dieses Statement Datensätze zurück,
in denen mindestens eine Ausprägung von MU
den Wert A
hat.
FIND XYZ-VIEW WITH MU NOT EQUAL 'A'
Bei Version 2.2 liefert dieses Statement Datensätze zurück, in denen
keine Ausprägung von MU
den Wert A
hat (wie bei Punkt
4). Bei Version 2.3 und höher liefert dieses Statement Datensätze zurück, in
denen mindestens eine Ausprägung von MU
nicht den Wert
A
hat.
FIND XYZ-VIEW WITH NOT MU NOT EQUAL 'A'
Bei Version 2.2 liefert dieses Statement Datensätze zurück, in denen
mindestens eine Ausprägung von MU
den Wert A
hat (wie bei Punkt 1). Bei Version 2.3 und höher liefert dieses Statement
Datensätze zurück, in denen jede Ausprägung von MU
den
Wert A
hat.
FIND XYZ-VIEW WITH NOT MU = 'A'
Bei Version 2.2 und höher liefert dieses Statement Datensätze
zurück, in denen keine Ausprägung von MU
den Wert
A
hat. Das bedeutet, wenn Sie vorhandene Version-2.2-Programme,
die FIND
-Statements der Formen 2 und 3 enthalten, unter der
Version 2.3 kompilieren, liefern diese unterschiedliche Ergebnisse.
Wenn Sie die Option FINDMUN=ON
benutzen, wird bei jedem
beim Kompilieren festgestellten FIND
-Statement der Form 2 oder 3
ein Fehler (NAT0998) ausgegeben.
Wenn Sie in diesen Fällen weiterhin dieselben Ergebnisse wie bei der Version 2.2 erhalten möchten, müssen Sie diese Statements wie folgt schreiben:
FIND XYZ-VIEW WITH MU NOT EQUAL 'A'
ändern in
FIND XYZ-VIEW WITH NOT MU = 'A'
FIND XYZ-VIEW WITH NOT MU NOT EQUAL 'A'
ändern in
FIND XYZ-VIEW WITH MU = 'A'
Mit dieser Option können Sie die MASK
-Option mit dem
MOVE EDITED
-Statement kompatibel machen.
ON | Der Bereich der gültigen Jahreswerte, die zu den
YYYY -Maskenzeichen passen, ist 1582 bis
2699 , damit die MASK -Option mit dem MOVE
EDITED -Statement kompatibel wird. Wenn der Profilparameter
MAXYEAR auf 9999 gesetzt ist, erstreckt
sich der Bereich der gültigen Jahreswerte von 1582 bis
9999 .
|
---|---|
OFF | Der Bereich der gültigen Jahreswerte, die zu den
YYYY -Maskenzeichen passen, ist 0000 - 2699 . Dies ist
der Standardwert.
Wenn der Profilparameter |
ON | Die Zuordnung von numerischen Variablen, bei denen Source und Target dieselbe Länge und Genauigkeit haben, erfolgt wie bei Natural Version 2.2. |
---|---|
OFF | Die Zuordnung von numerischen Variablen, bei denen Source und Target dieselbe Länge und Genauigkeit haben, erfolgt wie bei Natural Version 2.3 und höher, d.h., sie werden so verarbeitet, als ob Source und Target eine unterschiedliche Länge oder Genauigkeit hätten. Dies ist der Standardwert. |
Wichtig:
Diese Compiler-Option ist nur bei der Natural Version 4.2
vorhanden, um einen sanften Übergang zu ermöglichen. Sie wird in einem späteren
Release im Anschluss an Natural Version 4.2 entfallen.
Einige der mit Natural Version 4.2 eingeführten Funktionen und Programmierungsmerkmale verursachen Probleme, wenn ein unter Version 4.1 entwickeltes und kompiliertes Programm neu kompiliert werden soll, um es in einer Version-4.1-Umgebung in Betrieb zu nehmen. Die betreffenden Funktionen und Merkmale sind nachfolgend aufgeführt.
Die Option V41COMP
dient dazu, deratige
Unverträglichkeiten zu finden und eine Fehlermeldung auszugeben, die durch
einen Reason Code aussagt, warum die Neukompilierung nicht erfolgreich war.
Mögliche Werte sind:
ON | Wenn ein Programm unter Version 4.2 kompiliert wird, dann wird jeder Versuch, ein von Version 4.2, aber nicht von Version 4.1 unterstütztes Syntaxkonstrukt zu verwenden, zurückgewiesen, und es wird ein Syntaxfehler NAT0647 und ein entsprechender Reason Code ausgegeben (siehe unten). |
---|---|
OFF | Es erfolgt keine Prüfung auf Kompatibilität mit Version 4.1. Dies ist der Standardwert. |
Die folgende Tabelle enthält eine Übersicht über kompilierungsrelevante Unterschiede zwischen Version 4.2 und 4.1 und zeigt den Reason Code, der ausgegeben wird, wenn eine inkompatible Syntax festgestellt wird:
Funktion oder Merkmal | Version 4.2 | Version 4.1 | Reason Code | ||||||
---|---|---|---|---|---|---|---|---|---|
Neues Format U (Unicode) | möglich | unbekannt | 001 | ||||||
Array mit variabler Anzahl an Ausprägungen:
X-array, zum Beispiel: DEFINE DATA LOCAL 1 #ARR (A10/1:*) |
möglich | unbekannt | 002 | ||||||
Mögliche Länge von alphanumerischen Konstanten und Literalen (Konstanten) | 1 Byte - 1 GB | 1 Byte - 253 Bytes (NAT0264) | 003 | ||||||
|
möglich | unbekannt | 004 | ||||||
Neue Statements
|
möglich | unbekannt | 005 | ||||||
Statement SET GLOBALS
|
möglich | unbekannt | 006 | ||||||
Neue Systemvariablen
|
möglich | unbekannt | 007 | ||||||
Nicht benutzt | - | - | 008 | ||||||
Länge und Typ von Source-Parametern, die mit
INCLUDE -Statement geliefert werden
Beispiel: INCLUDE COPY01 'WRITE *LINE' 'WRITE *PROGRAM' |
jede Länge und Format U (Unicode) erlaubt | nur alphanumerisch mit einer Länge von max. 80 Bytes | 009 | ||||||
Definition eines Adabas LA-Feldes in einer Data
View
|
möglich | unbekannt | 010 |