Preprocessor Statements
This document covers the following topics:
Overview of Preprocessor Statements
Statements to Include Copy Code Generated from Predict File Objects
The preprocessor statements COPY,
FORMAT-BUFFER and GENERATE in
COBOL, PL/I and Assembler programs instruct the preprocessor to include data definitions
or a format buffer.
- COPY
-
Instructs the preprocessor to insert copy code which has previously been
generated by Predict. XRef data is written for the file and each field in the
file.
- FORMAT-BUFFER
-
Instructs the preprocessor to generate an Adabas format buffer and insert it at
the position of the statement. XRef data is written for the file and each field in
the file.
- GENERATE
-
Instructs the preprocessor to generate a record buffer and optionally a format
buffer and insert it at the position of the statement. XRef data is written for
the file and each field in the file.
Statements to Write XRef Data for 3GL Copy/Include Code or Function Calls
The preprocessor statements ENTRY and
CALL - if included in Assembler programs - instruct the
preprocessor to write XRef data for entry points or the call of external programs.
Information to be written to XRef data is specified in parameters of the statement.
- CALL
-
Specifies the name of a called external program or function that is to be stored
in the active reference records. This command can only be used for Assembler
programs.
- ENTRY
-
Specifies the name of a program entry that is to be stored in the active
reference records. This command can only be used for Assembler programs.
- PROGRAM
-
Member ID used in XRef data. This statement is interpreted only if no member
name is specified when the Preprocessor is called.
Format of Preprocessor Statements
The following rules apply to preprocessor statements:
-
Preprocessor statements start with EXEC ADABAS (there may
be any number of blanks between the two words, but both must be coded on the same
line).
-
Preprocessor statements can be terminated in any of the following ways:
-
with the statement END-EXEC
-
in COBOL by a period (.)
-
in PL/I by a semicolon (;)
-
In BAL, the preprocessor terminates processing at the end of the current card
unless a continuation character is punched in column 72.
-
The preprocessor assumes standard statement layout in BAL, for example the Assembler
statement ICTL is not valid.
-
Preprocessor control statements are left in the source program as comments.
Using Keyword and/or Positional Parameters
-
Parameters of preprocessor statements can be specified in positional or keyword
form. Both forms are described below.
-
Keyword and positional parameters can be mixed. This allows the use of a keyword
parameter as a starting point for subsequent positional parameters, as shown in the
following example: For Assembler, the INIT parameter is the
eighth parameter of the EXEC ADABAS GENERATE statement.
VALIDATION is the next parameter in the list and can
therefore be specified as a positional parameter directly behind the
INIT parameter.
EXEC ADABAS GENERATE <file-name>,INIT=<init>,<validation>
CALL
The name of a called external program or function can be specified for Assembler
programs. The name is stored in the active reference records.
Syntax with Positional Parameters
EXEC ADABAS CALL <function-name>
END-EXEC
Syntax with Keyword Parameters
EXEC ADABAS CALL FUNCTION=<function-name>
END-EXEC
| Parameters |
| function-name |
The name of a called external program or function that should be stored in
the active reference records. Maximum length: 8 characters.
|
COPY
Instructs the preprocessor to include copy code previously generated by Predict. If more
than one copy code member has been generated for the appropriate file and language, the
copy code name must be specified. XRef data is written for the file and each field in the
file.
Copying a Member from a File that has been Modified after Generation
This statement can also be used if the file has been modified after the corresponding
member was generated. The system behavior depends on the Predict version with which the
member was generated and on parameter Ignore changes. See table below.
Syntax with Positional Parameters
EXEC ADABAS COPY <file-name><copycode-name> <ignore-changes>
END-EXEC
Syntax with Keyword Parameters
EXEC ADABAS COPY FILE=<file-name>
MEM=<copycode-name>
IGNORE-CHANGES=<ignore-changes>
END-EXEC
Note:
All parameters except <file-name> are optional.
| Parameters |
| file name |
The ID of the Predict file object from which the copy code was generated.
See GENERATE for a list of file types
that can be used for generating copy code.
|
| member name |
The member name which was supplied during copy code generation. Maximum
length: 8 characters.
|
| ignore changes |
| This parameter determines whether a
member connected to a file that has been modified after generation is
copied.
|
| N |
Default. A member connected to a file that has been
modified after generation is not copied. The Preprocessor issues an error
message and terminates with condition code 107.
|
| Y |
A member connected to a modified file is copied -
irrespective of whether the member contains usage information. With this
option, the preprocessor writes the XRef data on the basis of the current
documentation of the file in Predict. A warning is given if the file
object has been modified after generation, since using this option may
result in inconsistent XRef data. See Additional Usage Information for Fields in
a File.
|
| X |
A member of a modified file is only copied if it was
generated with Predict version 3.3 or above. With this version, additional
information on the usage of fields in the file is available. This
information is used by the Preprocessor when writing XRef data. See Additional Usage
Information for Fields in a File. If
the file has been modified since generation and the usage information is
not available because the member was generated with an earlier version of
Predict, the Preprocessor issues an error message and terminates with
condition code 107.
|
|
ENTRY
Declares the name of an entry point in Assembler programs. The name is stored in the
active reference records.
Syntax with Positional Parameters
EXEC ADABAS ENTRY <entry-name>
END-EXEC
Syntax with Keyword Parameters
EXEC ADABAS ENTRY FUNCTION=<entry-name>
END-EXEC
| Parameters |
| entry-name |
The name of an entry point to be stored in the XRef data. Maximum length: 8
characters.
|
FORMAT-BUFFER
The FORMAT-BUFFER statement instructs the preprocessor to
generate an Adabas format buffer and insert it into the 3GL member at the position of the
statement. XRef data is written for the file and each field in the file.
Syntax with Positional Parameters
EXEC ADABAS FORMAT-BUFFER
<file-name><format-buffer-name>
<sync><offset><dcl>
<adabas-version><buffer-format>
<literal-delimiter>
END-EXEC
Syntax with Keyword Parameters
EXEC ADABAS FORMAT-BUFFER
FILE=<file-name>
FORMAT-BUFFER-NAME=<format-buffer-name>
SYNC=<sync>
OFFSET=<offset>
DCL=<dcl>
ADA-VER=<adabas-version>
FORMAT=<buffer-format>
DELIMITER=<literal-delimiter>
END-EXEC
Note:
All parameters except <file-name> are optional.
| Parameters |
| file-name |
Specifies the ID of the file object in Predict. This parameter is
mandatory. The file can be one of the following types:
|
| format-buffer-name |
The name to be given to the format buffer in the target program. In COBOL,
this may be up to 30 characters long; in PL/I, up to 31; and in BAL, up to 8
characters. The default value is the same as in the respective generation
function.
|
| sync |
| Y |
All appropriate fields will be aligned. |
| N |
No fields will be aligned. |
| S |
Fields will be aligned only if the corresponding
Predict object has the 3GL specification Synchronized=S.
|
|
| offset |
| L,Y,P |
The total length of the code will be included in the
format buffer.
|
| V |
A constant will be generated for the format buffer
length.
|
|
| dcl |
| Only applies to PL/I include
code.
|
| Y |
The generated code will be preceded by a declare
statement DCL and will end with a semicolon instead of a comma.
|
|
| adabas-version |
The version of Adabas for which the copy code of the Adabas files and
userviews is to be generated. See list of possible values in the section
Adabas
Version.
|
| buffer-format |
| Y |
Normal format for format buffer. Adabas groups,
standard formats and lengths are used whenever possible. The resulting
format buffers are then as short as possible.
|
| F |
Full format for format buffer. The format buffer will
include field length and format.
|
|
| literal-delimiter |
| Only valid for COBOL copy code. |
| S |
single quotes |
| D |
double quotes |
|
GENERATE
The statement GENERATE instructs the preprocessor to generate
copy code from Predict file objects and insert it into the 3GL member at the position of
the statement. XRef data is written for the file and each field in the file.
Generation can be performed for Assembler, COBOL and PL/I. See table of valid file types
and languages below.
The generated copy code will be written to the source area and then copied into the
source program.
| Code |
File Type |
Assembler |
COBOL |
PL/I |
| A |
Adabas file |
Y |
Y |
Y |
| B |
Adabas SQL view |
Y |
Y |
Y |
| BT, BV |
Adabas D table/view |
|
Y |
|
| D, E |
DB2 table/view |
Y |
Y |
Y |
| F |
rdb file |
Y |
Y |
Y |
| J |
IMS segment layout |
Y |
Y |
Y |
| JT, JV |
Ingres table/view |
|
Y |
Y |
| L |
logical VSAM file |
Y |
Y |
Y |
| M |
ISAM file |
Y |
Y |
Y |
| O |
other file |
Y |
Y |
Y |
| OT, OV |
Oracle table/view |
|
Y |
Y |
| S |
sequential file |
Y |
Y |
Y |
| T |
rms file |
Y |
Y |
Y |
| U |
Adabas user view |
Y |
Y |
Y |
| V |
VSAM file |
Y |
Y |
Y |
| X |
General SQL file |
Y |
Y |
Y |
| XT, XV |
Informix table/view |
|
Y |
|
| YT, YV |
Sybase table/view |
|
Y |
|
Generating Assembler Copy Code
Syntax with Positional Parameters
EXEC ADABAS GENERATE <filename><prefix><suffix><dsect>
<dc-ds><nr-comments><offset><init>
<validation><truncation><dsect-name><align>
<equ><adabas-version><generate-format-buffer>
<format-buffer-name><counter-length>
END-EXEC
Syntax with Keyword Parameters
EXEC ADABAS GENERATE FILE=<file-name>
PREFIX=<prefix>
SUFFIX=<suffix>
DSECT=<dsect>
DC-DS=<dc-ds>
NR-COMMENTS=<nr-comments>
OFFSET=<offset>
INIT=<init>
VALIDATION=<validation>
TRUNCATION=<truncation>
RECORD-BUFFER-NAME=<dsect-name>
SYNC=<align>
EQU=<equ>
ADA-VER=<adabas-version>
FORMAT-BUFFER=<generate-format-buffer>
FORMAT-BUFFER-NAME=<format-buffer-name>
COUNTER-LENGTH=<counter-length>
END-EXEC
Note:
All parameters except <file-name> are optional.
Details of the parameters are given in the following table and also in the section
Generation of External
Objects in this documentation. If a parameter is omitted, the
default value defined in Predict by the DDA will be used. See the section Defaults in the Predict
Administration documentation.
If the statement is entered using positional parameters and no prefix or no suffix is
required, an asterisk (*) should be substituted for the parameter <prefix> or
<suffix>.
| Parameters |
| file-name |
ID of the Predict file object from which the Assembler copy code is to be
generated. This parameter is mandatory. See table of valid file types in the
description of parameter GENERATE.
|
| prefix |
A prefix for the field names. Maximum length: 8 characters. |
| suffix |
A suffix for the field names. Maximum length: 8 characters. |
| dsect |
| Y |
The copy code will be generated as an ASSEMBLER DSECT
(dummy section). The DSECT will have the name specified by the
<dsect-name> parameter, or the file ID if no <dsect-name>
parameter is supplied.
|
|
| dc-ds |
| DC |
Assembler DC (define constant) instructions will be
generated.
|
| DS |
Assembler DS (define storage) instructions will be
generated.
|
|
| nr-comments |
Specifies the number of abstract lines per field (0-16) which will be
included in the generated code.
|
| offset |
| Y |
Include the offset of each item in the record buffer
structure (relative to the beginning of the structure) in decimal and
hexadecimal formats as a comment. The total length of each buffer is also
included.
|
| P |
Include the absolute position (offset+1) as a
comment.
|
| L |
Include the total lengths of the record buffer and the
format buffer as a comment.
|
| V |
Only allowed if parameters As DSECT=N and With DC or
DS=DC. The file number and the calculated lengths of the record buffer and
the format buffer are to be generated as constants in the copy code. The
name of the file number constant is the record buffer name with N as
prefix. The name of each length constant is the appropriate buffer name
with L as prefix. Each name is prefixed, suffixed, validated and truncated
in the same way as any other field name.
|
| N |
No offset. |
|
| init |
| This option takes effect only when With
DC or DS=DC and As DSECT is set to N.
|
| N |
No initialization. |
| Y |
Statements are generated to initialize the structure with the value
specified for Init value in the corresponding field object in Predict.
Fields with no value for Init value are initialized with zeros or
blanks.
Aligned 8-digit fields with format B or I are not initialized.
In a PE group with the 3GL specification Gr.structur set to blank, only
the first occurrence of each field is initialized.
|
|
| validation |
| Determines how invalid characters in a
field name are handled.
|
| blank |
Invalid characters will result in an error message but
will not be deleted.
|
| rep.char |
Invalid characters will be replaced by this character.
Valid values: letters A-Z, digits 0-9, $, § or #.
|
| * |
Invalid characters will be deleted. |
|
| truncation |
| Specifies which characters are deleted
if a generated field name is longer than 8 characters:
|
| L |
truncate from the left |
| R |
truncate from the right |
| M |
truncate from the middle |
|
| dsect-name |
Specifies the name of the record buffer in the generated structure. The
effect of this parameter depends on parameter dsect.
|
| align |
| Y |
All appropriate fields will be aligned. |
| N |
No fields will be aligned. |
| S |
Fields will be aligned only if the corresponding
Predict object has the 3GL specification Synchronized= S.
|
|
| equ |
| Y |
EQU statements are to be generated for fields of length 1 whose format
is not P and comment lines are to be generated for other fields, using
any condition names defined as attributes of the Predict field objects.
These names are prefixed, suffixed, validated and truncated in the same
way as field names.
For fields of format L where no condition name was specified, a
condition name is generated by concatenating the field name
"Example" to the prefix N. In this case the
following statement is generated: NEXAMPLE EQU
X'00'.
|
|
| adabas-version |
The version of Adabas for which the copy code of the Adabas files and
userviews is to be generated. See list of possible values in the section
Adabas
Version.
|
| generate-format-buffer |
| Format buffer generation for Assembler
copy code is only allowed if parameters As DSECT=N and With DC or DS=DC.
The contents of the format buffer will correspond exactly to the contents
of the record buffer. Only valid for files of type A (with parameter
Adabas SQL usage set to N) or for files of type U.
|
| Valid values: |
| Y |
Adabas format buffer is to be generated. Adabas
groups, standard formats and lengths are used whenever possible. The
resulting format buffers are then as short as possible.
|
| F |
Full format buffer is to be generated. Length and
format of Adabas fields are included.
|
| N |
No format buffer is to be generated. |
Note: If you are generating for a WANG environment, set this parameter to
F or N.
|
|
| format-buffer-name |
Specifies the label (name) of the format buffer in the generated structure.
If omitted, the file ID prefixed by F is used.
|
| counter-length |
Length of additional counter fields: Valid values: 1, 2. |
Generating COBOL Copy Code
Syntax with Positional Parameters
EXEC ADABAS GENERATE <file-name><prefix><suffix> <start-level>
<level-increment><shift-number><nr-comments>
<offset><init><validation><truncation>
<record-buffer-name><cond-name><sync>
<indexed><depending>
<adabas-version><generate-format-buffer>
<format-buffer-name>
<check-name>
<literal-delimiter>
<decimal-char>
<redefine-name>
END-EXEC
Syntax with Keyword Parameters
EXEC ADABAS GENERATE FILE=<file-name>
PREFIX=<prefix>
SUFFIX=<suffix>
START-LEVEL=<start-level>
LEVEL-INCREMENT=<level-increment>
SHIFT-NUMBER=<shift-number>
NR-COMMENTS=<nr-comments>
OFFSET=<offset>
INIT=<init>
VALIDATION=<validation>
TRUNCATION=<truncation>
RECORD-BUFFER-NAME=<record-buffer-name>
COND-NAME=<cond-name>
SYNC=<sync>
INDEXED=<indexed>
DEPENDING=<depending>
ADA-VER=<adabas-version>
FORMAT-BUFFER=<generate-format-buffer>
FORMAT-BUFFER-NAME=<format-buffer-name>
CHECK-NAME=<check-name>
DELIMITER=<literal-delimiter>
DEC-CHAR=<decimal-char>
REDEFINE-NAME=<redefine-name>
END-EXEC
Note:
All parameters except <file-name> are optional.
Details of the parameters are given in the following table and also in the section
Generation of External
Objects in this documentation. If a parameter is omitted, the
default value defined in Predict by the DDA will be used. See the section Defaults in the Predict
Administration documentation.
If the statement is entered using positional parameters and no prefix or no suffix is
required, an asterisk (*) should be substituted for the parameter
<prefix> or <suffix>.
| Parameters |
| file-name |
ID of the Predict file object from which the COBOL copy code is to be
generated. This parameter is mandatory. See table of valid file types in the
description of parameter GENERATE.
|
| prefix |
A prefix for the field names. Maximum length: 16 characters. |
| suffix |
A suffix for the field names. Maximum length: 16 characters. |
| start-level |
Specifies the starting level of the generated record buffer. Valid values
are in the range 1 - 40.
|
| level-increment |
Specifies the level-increment. Valid values are in the range 1 -
40.
|
| shift-number |
The number of positions to be shifted right when a level number which is
higher than the current level number is encountered. Valid values are in the
range 0 - 9.
|
| nr-comments |
Specifies the number of abstract lines per field that will be included in
the generated code. Valid values are in the range 0 - 16.
|
| offset |
| Y |
The offset of each item in the record buffer structure
(relative to the beginning of the structure) in decimal and hexadecimal
formats is to be included as a comment. The total length of each buffer is
also included.
|
| P |
As above, but the absolute position (offset+1) is
included as a comment.
|
| L |
The total lengths of the record buffer and the format
buffer are to be included as a comment.
|
| V |
The file number and the calculated lengths of the
record buffer and the format buffer are to be generated as constants in
the copy code. The name of the file number constant is the record buffer
name prefixed by N-. The name of each length constant is the appropriate
buffer name prefixed by L-. Each name is prefixed, suffixed, validated and
truncated in the same way as any other field name.
|
| N |
No offset. |
|
| init |
| Y |
The fields will be initialized wherever possible using
a COBOL VALUE clause. Any fields with INIT VALUEs in their Predict objects
will be initialized with those values; other fields will be initialized
with low values (zeros or spaces).
|
| S |
Only fields with INIT VALUEs in the corresponding
Predict object will be initialized.
|
| N |
No initialization. |
|
| validation |
| Determines how invalid characters in a
field name are handled.
|
| blank |
Invalid characters will result in an error message
but will not be deleted.
|
| rep.char. |
Invalid characters will be replaced by this character.
Valid values: letters A-Z, digits 0-9 or hyphen.
|
| * |
Invalid characters will be deleted. |
|
| truncation |
| Specifies which characters are deleted
if a generated field name is longer than 30 characters:
|
| L |
Truncate from the left. |
| R |
Truncate from the right. |
| M |
Truncate from the middle. |
|
| record-buffer-name |
Specifies the name of the record buffer in the generated structure. If
omitted, the file ID is used.
|
| cond-name |
| Y |
Any condition names defined in the Predict field
objects are to be generated on level 88, provided that the respective
field objects have one of the following formats:
-
A - All lengths
-
N or P - Less than 19 digits
-
I or B - 2, 4 or 8 digits
-
L - A FALSE-condition will always be generated. The Condition name
is then generated by concatenating the field name to the prefix N-
(if not specified explicitly).
These names are prefixed, suffixed, validated and truncated
in the same way as field names.
|
|
| sync |
| Y |
All appropriate fields will be aligned. |
| N |
No fields will be aligned. |
| S |
Fields will be aligned only if the corresponding
Predict object has the 3GL specification Synchronized = S.
|
|
| indexed |
| Y |
The COBOL clause INDEXED BY will be generated for all
repetitive fields (MU/MC and PE/PC).
|
| S |
This clause will be generated only for repetitive
fields which have INDEXED BY NAMEs in their Predict objects.
|
| N |
This clause will not be generated for any field.
|
|
| depending |
| Y |
COBOL attribute OCCURS DEPENDING ON is generated for a
field or field group in a file if it has type PE or MU and DEPENDING ON
NAME is specified for this field. These names are prefixed, suffixed,
validated and truncated in the same way as field names.
|
|
Notes:
- This option is not allowed for files of type A or U.
- This option is ignored when using a WANG COBOL compiler.
|
|
| adabas-version |
The version of Adabas for which the copy code of the Adabas files and
userviews is to be generated. See table of valid values in the section Adabas
Version.
|
| generate-format-buffer |
| The contents of the format buffer will
correspond exactly to the contents of the record buffer. Only valid for
files of type A (with parameter Adabas SQL usage set to N) or for files of
type U.
|
| Valid values: |
| Y |
Adabas format buffer is to be generated. Adabas
groups, standard formats and lengths are used whenever possible. The
resulting format buffers are then as short as possible.
|
| F |
Full format buffer is to be generated. Length and
format of Adabas fields are included.
|
| N |
No format buffer is to be generated. |
Note: If you are generating for a WANG environment, set this parameter to
F or N.
|
|
| format-buffer-name |
Specifies the name of the format buffer in the generated structure. If
omitted, the file ID prefixed by FORMAT-BUFFER- is used.
|
| check-name |
| A |
COBOL field names are checked for uniqueness
throughout the whole structure.
|
| Y |
Structure levels are included in the validation check
of the field names: if two fields have the same name, they must be
separated by at least one field with a different name and a lower-level
number.
|
| N |
No check for duplicate field names is performed.
|
|
| literal-delimiter |
| S |
Single quotes. |
| D |
Double quotes. |
|
| decimal-character |
|
| redefine-name |
| Determines how COBOL field names for
Predict fields of type RE are generated:
|
| F |
The string FILLER is used as redefinition
name.
|
| S |
The suffix REGR is added to the Predict field ID. If a
field is redefined more than once, the suffix will have the form REGRn,
where n is an integer incremented by 1 for each field of type RE.
|
|
Generating PL/I Include Code
Syntax with Positional Parameters
EXEC ADABAS GENERATE <file-name><prefix><suffix>
<start-level><level-increment><shift-number>
<nr-comments><offset><init><struct-as-char>
<static><validation><truncation>
<record-buffer-name><align><dcl>
<adabas-version><generate-format-buffer>
<format-buffer-name><check-name>
<numeric sign><position of sign>
END-EXEC
Syntax with Keyword Parameters
EXEC ADABAS GENERATE FILE=<file-name>
PREFIX=<prefix>
SUFFIX=<suffix>
START-LEVEL=<start-level>
LEVEL-INCREMENT=<level-increment>
SHIFT-NUMBER=<shift-number>
NR-COMMENTS=<nr-comments>
OFFSET=<offset>
INIT=<init>
STRUCTURE=<struct-as-char>
STATIC=<static>
VALIDATION=<validation>
TRUNCATION=<truncation>
RECORD-BUFFER-NAME=<record-buffer-name>
SYNC=<align>
DCL=<dcl>
ADA-VER=<adabas-version>
FORMAT-BUFFER=<generate-format-buffer>
FORMAT-BUFFER-NAME=<format-buffer-name>
CHECK-NAME=<check-name>
NUM-SIGN=<numeric sign>
POS-SIGN=<position of sign>
END-EXEC
Note:
All parameters except <file-name> are optional.
Details of the parameters are given in the following table and also in the section
Generation of External
Objects in this documentation. If a parameter is omitted, the
default value defined in Predict by the DDA will be used. See the section Defaults in the Predict
Administration documentation.
If the statement is entered using positional parameters and no prefix or no suffix is
required, an asterisk (*) should be substituted for the parameter
<prefix> or <suffix>.
| Parameters |
| file-name |
ID of the Predict file object from which the PL/I include code is to be
generated. This parameter is mandatory. See table of valid file types in the
description of parameter GENERATE.
|
| prefix |
Specifies a prefix for the field names. Maximum length: 16
characters.
|
| suffix |
Specifies a suffix for the field names. Maximum length: 16
characters.
|
| start-level |
Specifies the starting level of the generated record buffer. Valid values
are in the range 1 - 40.
|
| level-increment |
Specifies the level-increment. Valid values are in the range 1 -
40.
|
| shift-number |
The number of positions to be shifted right when a level number which is
higher than the current level number is encountered. Valid values are in the
range 0 - 9.
|
| nr-comments |
Specifies the number of abstract lines per field that will be included in
the generated code. Valid values are in the range 0 - 16.
|
| offset |
| Y |
The offset of each item in the record buffer structure
(relative to the beginning of the structure) in decimal and hexadecimal
formats is to be included as a comment. The total length of each buffer is
also included.
|
| P |
As above, but the absolute position (offset+1) is
included as a comment.
|
| L |
The total lengths of the record buffer and the format
buffer are to be included as a comment.
|
| V |
The file number and the calculated lengths of the
record buffer and the format buffer are to be generated as constants in
the include code. The name of the file number constant will be the record
buffer name prefixed by N_. The name of each length constant will be the
appropriate buffer name prefixed by L_. Each name is prefixed, suffixed,
validated and truncated in the same way as any other field name.
|
| N |
No offset. |
|
| init |
| Y |
The fields will be initialized wherever possible. Any
fields with INIT VALUEs in their Predict objects will be initialized with
those values; other fields will be initialized with low values (zeros or
spaces).
|
| S |
Only fields with INIT VALUEs in the corresponding
Predict object will be initialized.
|
| N |
No initialization. |
|
| struct-as-char |
| Y |
The entire generated structure will be declared at the
end of the record buffer as a single character-string.
|
|
| static |
| Y |
The structure will be declared with the attribute
STATIC.
|
|
| validation |
| Determines how invalid characters in a
field name are handled.
|
| blank |
Invalid characters will result in an error message but
will not be deleted.
|
| rep.char |
Invalid characters will be replaced by this character.
Valid values: letters A-Z, digits 0-9, $, §, # or _ (underscore).
|
| * |
Invalid characters will be deleted. |
|
| truncation |
| Specifies which characters are deleted
if a generated field name is longer than 31 characters:
|
| L |
Truncate from the left. |
| R |
Truncate from the right. |
| M |
Truncate from the middle. |
|
| record-buffer-name |
Specifies the name of the record buffer in the generated structure. If
omitted, the file ID is used.
|
| align |
| Y |
All appropriate fields will be aligned. |
| N |
No fields will be aligned. |
| S |
Fields will be aligned only if the corresponding
Predict object has the 3GL specification Synchronized= S.
|
Note: This parameter only takes effect with fields that have the PL/I
attribute FIXED BIN or FLOAT DEC.
|
|
| dcl |
| Y |
The generated code will be preceded by a declare
statement DCL and will end with a semicolon instead of a comma.
|
|
| adabas-version |
The version of Adabas for which the include code of the Adabas files and
userviews is to be generated. See table of valid values in the section Adabas
Version.
|
| generate-format-buffer |
| The contents of the format buffer will
correspond exactly to the contents of the record buffer. Only valid for
files of type A (with parameter Adabas SQL usage set to N) or for files of
type U.
|
| Valid values: |
| Y |
Adabas format buffer is to be generated. Adabas
groups, standard formats and lengths are used whenever possible. The
resulting format buffers are then as short as possible.
|
| F |
Full format buffer is to be generated. Length and
format of Adabas fields are included.
|
| N |
No format buffer is to be generated. |
Note: If you are generating for a WANG environment, set this parameter to
F or N.
|
|
| format-buffer-name |
Specifies the name of the format buffer in the generated structure. If
omitted, the file ID prefixed by FORBUF_ is used.
|
| check-name |
| A |
Field names are checked for uniqueness throughout the
whole structure.
|
| Y |
Structure levels are included in the validation check
of the field names: if two fields have the same name, they must be
separated by at least one field with a different name and a lower level
number.
|
| N |
No check for duplicate field names is
performed.
|
|
| numeric sign |
Specifies which of the PL/I picture characters T, I or R is to be used for
the representation of numeric values of format packed with sign or unpacked with
sign.
|
| position of sign |
| Defines the position of the sign in a
numeric field:
|
| L |
Left. |
| R |
Right. |
|
PROGRAM
The member name can be passed to the preprocessor with the
PROGRAM statement:
Syntax with Positional Parameters
EXEC ADABAS PROGRAM <member-name><library>
END-EXEC
Syntax with Keyword Parameters
EXEC ADABAS PROGRAM
PROGRAM-ID=<member-name>
LIBRARY-ID=<library>
END-EXEC
Note:
If member and library are specified when the Preprocessor is called, these values
are taken. The statement EXEC ADABAS PROGRAM is then not
necessary.
| Parameters |
| member-name |
The name used to identify the XRef data. Maximum length: 8
characters.
|
| library |
If the parameter library is specified, a system of type G (3GL application)
that contains this library name in its implementation pointer must have been
defined before. If no library is specified, the *SYSCOB*, *SYSBAL* or *SYSPLI*
libraries are used.
|