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.
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. 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:
  • Adabas file (type A), where parameter Adabas SQL usage may not be set to Y.

  • Adabas userview (type U)

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:

  1. This option is not allowed for files of type A or U.
  2. 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
P Point.
C Comma.
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.