Software AG Products 2.4.1 | Reference Guide | Default Statements | Detailed Syntax | @OPTIONS
 
@OPTIONS
The @OPTIONS statement provides Adabas Pre-Compiler with various default options that take effect during the Adabas Pre-Compiler execution.
The syntax of the statement is as follows:
Syntax of the option statement
Some of the defaults can be specified in the Predict generation defaults for the specific language, but the @OPTIONS can override them, if overriding is allowed in Predict. The following parameters can be specified:
ADABAS-FILE
This keyword is used to tell Adabas Pre-Compiler to generate periodic groups in the format buffer with their periodic group names. The file is of type USERVIEW. The default is that when Adabas Pre-Compiler generates format buffer for USERVIEW files and there is a periodic group, Adabas Pre-Compiler puts in the format buffer the name of every field contained in the periodic group for every occurrence. In this case, the format buffer becomes very large. For files of type ADABAS, Adabas Pre-Compiler just puts the periodic group name with the occurrences needed and the format buffer is shorter. In USERVIEW files, the periodic group contains only part of the fields of the physical periodic group. In that case, the ADABAS-FILE keyword must not be used.
AUTODBID
This keyword causes Adabas Pre-Compiler to automatically search for every file, in which data base record it exists in PRECICT, and to assign the DBID to the command using that file. This option is only applicable for access commands that do not hold the ISN. If a file belongs to more than one database, Adabas Pre-Compiler ignores it and the command is performed using DBID 0. Also, if you have used the DBID or AUTODBID parameters in the specific @ADADCL command, then they are taken.
AUTODBID-ALL
This keyword extends the AUTODBID option to be applicable also for update commands. This means that all statements in the program will be addressed to a DBID according to the Predict definition. Since the @ENDTRANSACTION command is done only for one database, the update commands are restricted only to one database.
If the @OPEN command exists, only one @OPEN can be coded. In that @OPEN command, up to five different databases can be used for access, and only one database can be used for update. Also, a @CLOSE command must be coded within the same program. Adabas Pre-Compiler checks for each file what is the database that it belongs to and generates a separate open command for every database. The @CLOSE then is also split into separate close commands for the databases found in the @OPEN command. The @OPEN should be coded before any other executable 106 statement in the program. Adabas Pre-Compiler checks for every update statement and every access with hold statement that the file belongs to files listed for update in the @OPEN command. The @END-TRANSACTION statement is directed automatically to the update database by Adabas Pre-Compiler.
If no @OPEN statement exists, Adabas Pre-Compiler generates a warning for every update statement that consistency is not guaranteed, however, the update with the correct DBID and the end transaction that follows is done to the updated database. If another update is found to a different database, an error is displayed.
COND-NAME
This parameter can be used by COBOL users that have condition names defined for fields in Predict. If COND-NAME=Y, Adabas Pre-Compiler takes the condition names and values from Predict and generates the 88 constants in the record buffer. This parameter may be specified also in an individual @ADADCL statement and then the local specification takes precedence. The default value for this parameter is taken first from the "With Cond. names" clause in the Predict generation defaults for COBOL and it may be changed with the @OPTIONS or @ADADCL statements only if the "with cond names" clause is marked with a "X" to indicate that it may be modified by the user.
DBID
This parameter is used to define the default database that all statements will be assigned to, unless a specific DBID or AUTODBID parameters are used in a specific @ADADCL statement. The database name should be defined in Predict and Adabas Pre-Compiler reads the database record and takes the dbid number from it. The data base type should be "A". If this parameter is omitted, the default is DBID 0.
DYNAMCID
This keyword causes Adabas Pre-Compiler to generate a command-id of X’FFFFFFFF’ for every @ADADCL. This will cause Adabas to assign a dynamic command-id in execution time. This is applicable only with Adabas mainframe versions.
ETID
This parameter provides Adabas Pre-Compiler with a userid to be used when Adabas Pre-Compiler itself is performing an open command against the database. This parameter should be used only if the Predict file is used in an Adabas Star environment and together with the OPEN clause of the @OPTIONS statement.
FDIC
This parameter provides Adabas Pre-Compiler with the file number and DBID of the Predict file. This parameter is mandatory and DBID 0 is not accepted. Adabas Pre-Compiler verifies the database id and file number with the actual numbers that exist in the Adabas Native SQL default record in Predict. The password and cipher code are optional and should be used if the Predict file is protected.
FULL-NUMBER
This keyword indicates that Adabas Pre-Compiler should generate the multiple value and the periodic group occurrences in the format buffer and search buffer as full three digit numbers, including leading zeroes. For example:
AA001,BB001.
The default Adabas Pre-Compiler generation is without the leading zeros.
GFORMAT
This keyword causes Adabas Pre-Compiler to generate global format id for every declaration in the program. The global format id is constructed from the DBID and FNR, together with a special number stored in the Adabas Native SQL default record in Predict. This number is incremented by every preprocessor run so an unique id is generated. The global format id is inserted in ADDITIONS-5 field in the control block and in most cases it is not printable. The user should not modify this field. This option is applicable only if the @ADADCL does not contain variable index arrays.
INDEXED
This parameter can be used by COBOL users who want the periodic group and multiple values to be generated with an "Indexed by" clause. The name of the index is taken from the Predict definition and if no index name defined, the name of the multiple value field or periodic group is used, prefixed with "I-". This parameter can also be specified in an individual @ADADCL statement and then the local specification takes precedence. The default value for this parameter is taken first from the "Indexed by" clause in the Predict generation default for COBOL and it can be changed with the @OPTIONS or @ADADCL statements only if the "Indexed by" clause is marked with an "X" to indicate that it may be modified by the user.
INIT-LOW-VALUE
This keyword will cause Adabas Pre-Compiler to generate an initial value of X'00' in the alphanumeric fields in the generated value buffer instead of blanks (X'40') .
ISNSIZE
This parameter is used to define the default size of the ISN buffer generated for every declaration, unless it is specified in the @ADADCL. The default is 1.
LARGE-NUMBERS
This keyword will cause Adabas Pre-Compiler to generate COBOL numeric unpacked and packed fields with up to 31 digits, instead of the default limit of 18 digits. You are responsible for setting up the appropriate compiler option of the COBOL compiler "ARITH(EXTEND)".
LONG-COUNTER
This keyword will cause Adabas Pre-Compiler to generate the counter field of a Multiple value field or a Periodic group as a 4 bytes binary field instead of 2 bytes binary field. This option is required when there are more than 32,000 occurrences in the Multiple value field or the Periodic group.
NEW-CONTROL-BLOCK
This keyword causes Adabas Pre-Compiler to generate the new control block structure introduced in Adabas v6.* in mainframes and Adabas v4.* in Open-VMS. The new control block contains X’30’ in its first byte and it allows for specification of file numbers and database ids greater than 255. The 109 new control block structure is generated for all @ADADCL commands, no matter of the file number or database id (they can even be less than 255). There is a change in the generation of the execution commands, because the database id in this case is moved to the response code field.
NODATEWARNING
This keyword indicates that no warning message will be issued when a DATE or TIME format fields are generated in the record buffer. Usually, these formats are not supported by the 3gl languages and Adabas Pre-Compiler generates these fields as Packed fields and issues a warning.
NOGRSTRUCT
This keyword indicates that Adabas Pre-Compiler ignores the GRSTRUCT= N attribute specified in Predict for a periodic group and generates the periodic group as though the GR-STRUCT=‘ ‘.
NONDE
This parameter is used to inhibit the non descriptor search. The following table lists the uses of this parameter:
Value
Description
N
Disallow non-descriptor search.
D
At least one real descriptor in search criteria must be provided.
Y
Allow non descriptor search.
Adabas Pre-Compiler checks the Adabas Native SQL default record in Predict and takes the default value from there. If the value "N" is specified in Predict, you cannot change it via the NONDE option. For @READLOGICAL and @READVALUE statements, the search-criterion should contain a real descriptor. The MUSTDE keyword can be used in @ADADCL to force Adabas Pre-Compiler to check the descriptor.
OLD-CONDNAME
This keyword causes Adabas Pre-Compiler to keep the functionality of Adabas Pre-Compiler versions prior to 2.9 while generating the condition names in COBOL. Adabas Pre-Compiler versions prior to 2.9 considered a blank within the value of the condition name to be a delimiter and therefore this value was split into separate values. Starting with 2.9, Adabas Pre-Compiler considers the full value, as the value appears in Predict, to be the value of the condition name, even if it includes 110 blanks. If you want to keep the old functionality, you must use this keyword.
OLDSYNONYM
This keyword indicates that you have old mode synonyms defined in Predict and that the name of the fields defined in the @ADADCL statement may be of the old mode synonyms. In this case, Adabas Pre-Compiler is using a super descriptor "V9" in Predict to search for the field information instead of the "SN" super descriptor, which uses the regular synonyms. You have to invert this super descriptor in the Predict file like this:
V9=BC(1,32),CC(1,32)
OPEN
This keyword forces Adabas Pre-Compiler to make an explicit open to the database during the pre-compile run. This keyword should be used if the OPEN REQUIRED option of the Adabas nucleus is used, or if the FDIC file is within an Adabas Star database.
PERIOD
This keyword provides Adabas Pre-Compiler with the delimiter to use with Adabas Pre-Compiler statements. PERIOD means that every Adabas Pre-Compiler statement should end with a period. The default is a period or a semicolon.
SEMICOLON
This keyword provides Adabas Pre-Compiler with the delimiter to use with Adabas Pre-Compiler statements. SEMICOLON means that every Adabas Pre-Compiler statement should end with a semicolon and a period cannot be a delimiter.
SOFT
This parameter is used to inhibit the softcoupling option. It is applicable only with Adabas on mainframes. 111 Adabas Pre-Compiler checks the Adabas Native SQL defaults in Predict and takes the default value from there. If the default value in Predict is "N", you cannot change it via the SOFT option.
STATIC
This parameter can be used by PL/1 users that need that the generated buffers to have the STATIC option. This parameter can be specified in an individual @ADADCL statement. If so, the local specification takes precedence. The default value for this parameter is taken first from the "Static" clause in the Predict generation defaults for PL/1 and it may be changed with @OPTIONS or @ADADCL statements only if the "Static" clause is marked with an "X".
SYNONYM
This keyword causes Adabas Pre-Compiler to generate the field name synonym instead of the field name in the record buffer. The taken synonym is the appropriate one for the language and if it is not defined for a field, the main field name is used.
USERDATA
This parameter is used to define the size of the ET data buffer, i.e. REDORD-BUFOPN. The default size is 500 bytes, and the length has to be no less than 100 bytes.