This document describes Adabas sequential files.
This section summarizes the sequential files used by the Adabas utilities. Explanations of the table heading and contents are in the text following the table.
Utility | File Name | z/VSE Tape SYS |
Out | In | BLKSIZE by device |
Concatenation |
---|---|---|---|---|---|---|
ADACDC | DD/SIIN | 10 | x | Yes | ||
ADACMP | DD/AUSBA DD/EBAND DD/FEHL |
12 10 14 |
x x |
x | Yes | |
ADACNV | DD/FILEA | 10 | x | |||
ADALOD | DD/EBAND DD/FILEA DD/ISN DD/OLD |
10 12 16 14 |
x x |
x x x |
Yes | Yes Yes |
ADAMER | DD/EBAND | 10 | x | |||
ADAORD | DD/FILEA | 10 | x | x | Yes | |
ADAPLP | DD/PLOG | 14 | x | Yes | ||
ADARAI | DD/OUT | 10 | x | |||
ADAREP | DD/SAVE DD/PLOG |
10 11 |
x x |
Yes Yes |
||
ADARES | DD/BACK DD/SIAUS1 DD/SIAUS2 DD/SIIN |
20 21 22 20 |
x x |
x x |
Yes Yes |
|
ADASAV | DD/DEL1 DD/DEL2 DD/DEL3 DD/DEL4 |
31 32 33 34 |
x x x x |
Yes Yes Yes Yes |
||
DD/DEL5 DD/DEL6 DD/DEL7 DD/DEL8 |
35 36 37 38 |
x x x x |
Yes Yes Yes Yes |
|||
DD/DUAL1 DD/DUAL2 DD/DUAL3 DD/DUAL4 |
21 22 23 24 |
x x x x |
||||
DD/DUAL5 DD/DUAL6 DD/DUAL7 DD/DUAL8 |
25 26 27 28 |
x x x x |
||||
DD/FULL DD/PLOG |
30 10 |
x x |
Yes Yes |
|||
DD/REST1 DD/REST2 DD/REST3 DD/REST4 |
11 12 13 14 |
x x x x |
Yes | |||
DD/REST5 DD/REST6 DD/REST7 DD/REST8 |
15 16 17 18 |
x x x x |
||||
DD/SAVE1 DD/SAVE2 DD/SAVE3 DD/SAVE4 |
11 12 13 14 |
x x x x |
||||
DD/SAVE5 DD/SAVE6 DD/SAVE7 DD/SAVE8 |
15 16 17 18 |
x x x x |
||||
ADASEL | DD/EXPA1 DD/EXPA2 DD/EXPA3 DD/EXPA4 |
11 12 13 14 |
x x x x |
|||
DD/EXPA5 DD/EXPA6 DD/EXPA7 DD/EXPA8 |
15 16 17 18 |
x x x x |
||||
DD/EXPA9 DD/EXPA10 DD/EXPA11 DD/EXPA12 |
19 20 21 22 |
x x x x |
||||
DD/EXPA13 DD/EXPA14 DD/EXPA15 DD/EXPA16 |
23 24 25 26 |
x x x x |
||||
DD/EXPA17 DD/EXPA18 DD/EXPA19 DD/EXPA20 |
27 28 29 30 |
x x x x |
||||
DD/SIIN | 10 | x | Yes | |||
DD/EBAND | x | No | ||||
DD/SAVE | x | No | ||||
ADAULD | DD/OUT1 DD/OUT2 DD/ISN DD/SAVE DD/PLOG DD/FULL DD/DEL1-8 |
10 11 12 13 14 30 31-38 |
x x x |
x x x x |
Yes Yes Yes |
Yes Yes Yes Yes |
ADAVAL | DD/FEHL | 14 | x | Yes |
Files that are both output and input are first written and then read by the indicated program. BS2000, z/OS, and OS-compatible files have names starting with "DD" (DDSIIN, DDFEHL, etc.); z/VSE file names are without "DD".
The following sections describe characteristics of file and device definition by operating system.
Note:
This discussion uses SPF format. In ISP format:
SPF Format | ISP Format |
---|---|
BUFF-LEN | BLKSIZE defined by BLKSIZE=(STD,16) |
REC-FORM | RECFM |
REC-SIZE | RECSIZE |
SET-FILE-LINK | FILE |
The LINK name by which a file is referenced is determined as follows:
The characters DD are prefixed to the file name to form the LINK name.
If files for which the column "Concatenation" contains "Yes" are on tape, they may be concatenated as follows: the first file is read using the indicated LINK name; at the first end-of-file, 01 is appended to the LINK name; and, if there is a /SET-FILE-LINK (in ISP format /FILE) statement for that LINK name, reading continues.
Each subsequent end-of-file adds 1 to the LINK name, and as long as there is a /SET-FILE-LINK (in ISP format /FILE) statement for that LINK name, reading continues through a maximum of 99. For LINK names longer than six characters, the excess characters will be overlaid with the file number increment (e.g., DDEBAND becomes DDEBAN01).
BS2000 does not support the backward reading of multivolume tape files; therefore, all volumes of the ADARES DDBACK file must be specified in the reverse order in which they were written on /SET-FILE-LINK (in ISP format /FILE) statements using the LINK names DDBACK, DDBACK01, DDBACK02, and so on.
The BUFF-LEN of a sequential file is determined as follows:
The BUFF-LEN is obtained from the /SET-FILE-LINK statement or the data set's catalog entry, if present.
If the BUFF-LEN cannot be obtained from the /SET-FILE-LINK statement and/or catalog, the value of the ADARUN QBLKSIZE parameter is used, if specified.
Otherwise, the BUFF-LEN depends on the device type as follows:
Tape: | 32760 |
Disk: | 32768 (BUFF-LEN=(STD,16)) |
The REC-SIZE and REC-FORM should be as follows:
Tape: | REC-SIZE = BUFF-LEN - 4; REC-FORM = V; |
Disk: | REC-SIZE = BUFF-LEN - 20; RECFORM = V; |
Input: | Obtained from the /SET-FILE-LINK statement or the data set's catalog entry. |
Note:
Do not specify REC-FORM, REC-SIZE, or BUFF-LEN for input data sets
unless the TAPE data set contains no REC-FORM, REC-SIZE, or BUFF-LEN values in
HDR2.
The SPACE parameter for primary and secondary allocations must specify a multiple of three (3) times the number of PAM blocks specified in the BUFF-LEN parameter. Otherwise, I/O errors will occur. For the default /CREATE-FILE ...,PUB(SPACE(48,48)) and /SET-FILE-LINK ...,BUFF-LEN=STD(16) (in ISP format, BLKSIZE=(STD,16), SPACE=(48,48)) is the smallest valid value.
The portions of the DDDRUCK and DDPRINT data sets already written to disk can be accessed during either a regular nucleus or utility session for reading. This includes the following BS2000 read accesses:
SHOW-FILE
@READ data set
/COPY-FILE (in ISP format, /COPY)
For using more than one data set as input medium to an ADABAS utility, some operating systems (such as z/OS) provide a concatenation feature.
For BS2000 this feature is simulated by adding /SET-FILE-LINK (in ISP format, /FILE) statements with modified LINK names created from the original and a two-digit increment (ranging from 01 to 99):
/SET-FILE-LINK DDTEST,firstfile /SET-FILE-LINK DDTEST01,secondfile /SET-FILE-LINK DDTEST02,thirdfile ... /SET-FILE-LINK DDTEST99,lastfile
In ISP format:
/FILE firstfile ,LINK=DDTEST /FILE secondfile,LINK=DDTEST01 /FILE thirdfile ,LINK=DDTEST02 ... /FILE lastfile ,LINK=DDTEST99
For those original LINK names that are 7 or 8 characters long, the incremental number occupies the 7th and 8th position. For example:
/SET-FILE-LINK DDEBAND,firstfile /SET-FILE-LINK DDEBAND01,lastfile
In ISP format:
/FILE firstfile ,LINK=DDEBAND /FILE secondfile,LINK=DDEBAN01
When processing input files that have the concatenation option at end-of-file of one input file, a check is made to determine whether a /SET-FILE-LINK (in ISP format, /FILE) statement exists for the next data set. If none exists, the sequential GET call returns EOF; otherwise, the data set currently open is closed, and an open is tried for the next file.
Files concatenated in this way must have the same file characteristics (block size, record format and record size).
This concatenation feature applies also to files that are processed backwards. The order of the LINK names is the reverse of the creation order. For example, ADARES with DDBACK:
/SET-FILE-LINK DDBACK,lastfile /SET-FILE-LINK DDBACK01,filebeforelast /... /SET-FILE-LINK DDBACKnn,firstfile
In ISP format:
/FILE lastfile ,LINK=DDBACK /FILE filebeforelast,LINK=DDBACK01 /.... /FILE firstfile ,LINK=DDBACKnn
Note that this feature can also be used to process a multivolume file backwards, if each volume is specified with a separate /SET-FILE-LINK (in ISP format, /FILE) statement.
The following list is of LINK names/utilities with the concatenation option:
DDDELn (where n = 1-8) |
ADASAV |
DDEBAND | ADACMP ADALOD ADAMER |
DDFULL | ADASAV |
DDISN | ADALOD |
DDPLOG | ADAPLP ADASAV |
DDBACK | ADARES |
DDSIIN | ADARES ADASEL |
DDREST1 | ADASAV (LINK names used are DDREST1, DDREST01, DDREST02, and so on.) |
During the last nucleus session, three protection log files were produced with ADARES PLCOPY named F1, F2, F3.
When backing out the session to a specific point, use the following /SET-FILE-LINK (in ISP format, /FILE) statements for the ADARES BACKOUT function:
/SET-FILE-LINK DDBACK,F3 /SET-FILE-LINK DDBACK01,F2 /SET-FILE-LINK DDBACK02,F1
In ISP format:
/FILE F3,LINK=DDBACK /FILE F2,LINK=DDBACK01 /FILE F1,LINK=DDBACK02
To regenerate the database from the protection log that was produced during the session, use the following /SET-FILE-LINK (in ISP format, /FILE) statements for the ADARES REGENERATE function:
/SET-FILE-LINK DDSIIN,F1 /SET-FILE-LINK DDSIIN01,F2 /SET-FILE-LINK DDSIIN02,F3
In ISP format:
/FILE F1,LINK=DDSIIN /FILE F2,LINK=DDSIIN01 /FILE F3,LINK=DDSIIN02
With BS2000 version 11.2 (OSD 2.0), the SYSIPT system file is no longer available. Beginning with version 5.3.3, ADABAS can read all control statements from the SYSDTA system file.
When running on BS2000 Versions 10.0 or 11.0, the SYSIPT assignment can still be used; however, Software AG recommends adapting all ADABAS utility and Entire Net-Work job control to indicate the SYSDTA system file before migrating to BS2000 version 11.2 (OSD 2.0).
The ADARUN parameter TAPEREL is required to perform the tape handling control for utilities that access files on tape. See the ADABAS Operations documentation for more information.
The DDNAME is formed by prefixing the characters DD to the file name.
To allow utilities to access data set information after closing, the DD statement for sequential data sets used in utilities should not contain FREE=CLOSE.
The BLKSIZE of a sequential file is determined as follows:
If the column, "BLKSIZE by device" specifies "Yes" for a file, the default BLKSIZE depends on the device type as follows:
Tape: | 32760 |
3330 disk: | 13030 |
3340 disk: | 8368 |
3350 disk: | 19069 |
3375 disk: | 17600 |
3380 disk: | 23476 |
3390 disk: | 27998 |
If the column "BLKSIZE by device" does not specify "Yes" for a file, the file's BLKSIZE is obtained from the DD statement or data set label, if present. It must be present for any input file.
If the column "BLKSIZE by device" does not specify "Yes" for a file and the BLKSIZE cannot be obtained from the DD statement or data set label, the value of the ADARUN QBLKSIZE parameter is used, if specified.
Except for ADACMP EBAND, the RECFM and LRECL of all sequential files are VB and BLKSIZE-4, respectively. For ADACMP EBAND, RECFM and LRECL must be available from the DD statement and/or data set label.
If the DCB BUFNO parameter is not provided on the DD statement, the operating system default will be used.
The following items determine how a file is referenced by the utilities running under z/VSE:
The file name is used as the filename on the DLBL or TLBL statement.
If files for which the column "Concatenation" contains "Yes" are on tape, they may be concatenated as follows:
The file is first read using the indicated file name.
At the first end-of-file, "01" is appended to the file name and, if there is a TLBL statement for that filename, reading continues.
At each subsequent end-of-file, 1 is added to the file name and reading continues as long as there is a TLBL statement for that filename, up through a maximum of 99.
Since z/VSE does not support reading multivolume tape files backward, each volume of the ADARES BACK file must be specified in reverse order from the way it was written on TLBL statements using the filenames BACK, BACK01, BACK02, and so on.
Any programmer logical unit may be used for sequential files on disk. The z/VSE Tape SYS number must be used for sequential files on tape; any or all of these numbers may be changed using procedures defined in the ADABAS Installation documentation.
The BLKSIZE of a sequential file is determined as follows:
If the column "BLKSIZE by device" specifies "Yes" for a file, the BLKSIZE depends on the device type as follows:
Tape: | 32760 |
FBA disk: | 32760 |
3330 disk: | 13030 |
3340 disk: | 8368 |
3350 disk: | 19069 |
3375 disk: | 17600 |
3380 disk: | 23476 |
3390 disk: | 27998 |
If the column "BLKSIZE by device" does not specify "Yes" for a file, the value of the ADARUN QBLKSIZE parameter is used, if specified.
For ADACMP EBAND, this BLKSIZE is checked and may then be changed to an actual BLKSIZE, depending on the RECFM and LRECL parameters as specified on ADACMP control cards, as follows:
If RECFM= ... | then the actual BLKSIZE= ... |
---|---|
F | LRECL. |
FB | BLKSIZE/LRECL*LRECL, where the remainder of the division is discarded before the multiplication. |
U | LRECL, which must not be greater than BLKSIZE. |
V | LRECL+4, which must not be greater than BLKSIZE. |
VB | BLKSIZE, which must not be less than LRECL+4. |
The RECFORM of all sequential files except ADACMP EBAND is VARBLK. For ADACMP EBAND, it is provided by the RECFM parameter of a control statement.
To distinguish whether z/VSE message 4140D refers to the first or a subsequent volume of a multivolume tape file, message ADAI31 is written to the operator whenever a tape file is opened, but not at end-of-volume.
In those cases where it is desired to use more than one data set as input medium for an ADABAS utility, a concatenation feature is provided by some operating systems (z/OS, for example).
For z/VSE, this feature is simulated by adding FILE statements with modified LINK names created from the original and a two-digit increment (ranging from 01 to 99):
// DLBL TEST ,'firstfile' // EXTENT ... // DLBL TEST01,'secondfile' // EXTENT ... ... // DLBL TEST99,'lastfile' // EXTENT ...
When processing input files that have the concatenation option at end-of-file (EOF) of one input file, a check is made to determine whether a FILE statement exists for the next data set. If it does not exist the Sequential Get call returns EOF; otherwise, the data set currently open is closed and an open is tried for the next file.
Files concatenated in this way must have the same file characteristics (block size, record format, and record size).
This concatenation feature applies also to files that are processed backwards. The order of the LINK names is the reverse of the creation order; for example, ADARES with BACK:
// DLBL BACK ,'lastfile' // EXTENT ... // DLBL BACK01,'filebeforelast' // EXTENT ... ... // DLBL BACKnn,'firstfile' // EXTENT ...
Note that this feature could also be used to process a multivolume file backwards, if each volume is specified with a separate FILE statement.
The following are the LINK names/utilities with the concatenation option:
DELn (where n=1-8) |
ADASAV |
EBAND | ADACMP ADALOD ADAMER |
FULL | ADASAV |
ISN | ADALOD |
PLOG | ADAPLP ADASAV |
BACK | ADARES |
SIIN | ADARES ADASEL |
REST1 | ADASAV (LINK names used are REST1, REST101, REST102, and so on.) |
During the last nucleus session, three protection log files were produced with ADARES PLCOPY named F1, F2, F3.
When deciding to back out the session to a specific point, the following FILE statements should be used for the ADARES BACKOUT function:
// DLBL BACK ,'F3' // EXTENT ... // DLBL BACK01,'F2' // EXTENT ... // DLBL BACK02,'F1' // EXTENT ...
To regenerate the database from the protection log that was produced during the session, the following FILE statements should be used for the ADARES REGENERATE function:
// DLBL SIIN ,'F1' // EXTENT ... // DLBL SIIN01,'F2' // EXTENT ... // DLBL SIIN02,'F3' // EXTENT ...