Adabas Sequential Files

This document describes Adabas sequential files.


Sequential File Table

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
ADACHK DD/FEHL 14 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".

Operating System Dependencies

The following sections describe characteristics of file and device definition by operating system.

BS2000 Systems

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:

  1. The BUFF-LEN is obtained from the /SET-FILE-LINK statement or the data set's catalog entry, if present.

  2. 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.

  3. 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)

Concatenation of Sequential Input Files for BS2000

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.)

Example for Use of the Concatenation Feature with ADARES

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

Control Statement Read Procedure in Version 11.2 (OSD 2.0)

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).

ADARUN TAPEREL: Tape Release Option

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.

z/OS Systems

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.

z/VSE Systems

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.

Concatenation of Sequential Input Files for z/VSE

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.)

Example for use of the Concatenation Feature with ADARES

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 ...