FILEDEF

CMS Commands

filedef.helpcmd.txt
FILEDEF                                                   CMS Transient command

Use the FILEDEF command to establish data definitions for OS ddnames, to define
files to be copied with the MOVEFILE command, or to override default file
definitions made by the assembler and the OS language processors.  The format
of the FILEDEF command is:
+----------+------------------------------------------------------------------+
| FIledef  | ddname nn *  device                                              |
|          |                                                                  |
|          | device:                                                          |
|          |    Terminal [(optionA optionD[)]]                                |
|          |    PRinter  [(optionD[)]]                                        |
|          |    PUnch    [(optionD[)]]                                        |
|          |    Reader   [(optionD[)]]                                        |
|          |    DISK [FILE|fn ddname|ft [A1|fm]] [DSN ?|q1 q2 ...]            |
|          |             [(optionA optionB[)]]                                |
|          |    DUMMY    [(optionA[)]]                                        |
|          |    TAPn     [(optionA optionC[)]]                                |
|          |    CLEAR                                                         |
|          | optionA:                                                         |
|          |    BLOCK|BLKSIZE nnnnn  CHANGE|NOCHANGE     LRECL nnnnn          |
|          |    PERM                 RECFM a                                  |
|          | optionB:                                                         |
|          |    CONCAT               DISP MOD            DSORG PS|PO|DA|IS    |
|          |    KEYLEN nnn           LIMCT nnn           MEMBER name          |
|          |    OPTCD a              XTENT 50|nnnnn                           |
|          | optionC:                                                         |
|          |    7TRACK|9TRACK        TRTCH a             DEN den              |
|          | optionD:                                                         |
|          |    UPCASE|LOWCASE                                                |
+----------+------------------------------------------------------------------+
where:

ddname | nn | *
         is the name  by which the file is referred to in your program.  OS
         ddname syntax rules should be followed.  If a number nn is specified,
         it is translated to a FORTRAN data definition name of FTnnF001.  An
         asterisk (*) may be specified with the CLEAR operand to indicate that
         all file definitions not entered with the PERM option should be
         cleared.

Devices:

Terminal is your terminal (terminal I/O must not be blocked).  Terminal input
         will be truncated to the console input buffer length of 130
         characters.

PRinter  is the spooled printer.

PUnch    is the spooled punch.

Reader   is the spooled card reader (card reader I/O must not be blocked).

DISK     specifies that the virtual I/O device is a disk.  As shown in the
         format, you can choose one of two forms for specifying the DISK
         operand.  Both forms are described in "Using the FILEDEF DISK
         Operand."

DUMMY    indicates that no real I/O takes place for a data set.

TAPn     is a magnetic tape.  The symbolic number of the tape drive, n, can be
         1, 2, 3, or 4, representing virtual units 181, 182, 183, 184
         respectively.

CLEAR    removes any existing definition for the specified ddname.  Clearing a
         ddname before defining it ensures that a file definition does not
         exist and that any options previously defined with the ddname no
         longer have effect.

Options:

Whenever an invalid option is specified for a particular device type, an error
message is issued.  The following table shows valid options for each device
type.
      Option             READER, PUNCH   TERMINAL    TAPn    DISK
                         PRINTER                             DUMMY (1)
      BLOCK, BLKSIZE           X            X         X          X
      CHANGE, NOCHANGE         X            X         X          X
      CONCAT                                                     X
      DEN                                             X
      DISP MOD                                                   X
      DSORG                                                      X
      KEYLEN                                                     X (2)
      LIMCT                                                      X (2)
      LOWCASE, UPCASE                       X
      LRECL                    X            X         X          X
      MEMBER                                                     X
      OPTCD                                                      X (2)
      PERM                     X            X         X          X
      RECFM                    X            X         X          X
      TRTCH                                           X(3)
      XTENT                                                      X (2)
      7TRACK, 9TRACK                                  X
      (1) No options may be necessary but all disk options are accepted.
      (2) This option is meaningful open for BDAM files.
      (3) This option is for 7-track tapes only.

PERM     retains the current definition until it either is explicitly cleared
         or is changed with a new FILEDEF command with the CHANGE option.  If
         PERM is not specified, the definition is cleared when a FILEDEF *
         CLEAR command is executed.

CHANGE   merges the file definitions whenever a file definition already exists
         for a ddname and a new FILEDEF command specifying the same ddname is
         issued; the options associated with the two definitions are merged.
         Options from the original definition remain in effect unless
         duplicated in the new definition.  New options are added to the option
         list.

NOCHANGE retains the current file definition, if one exists, for the specified
         ddname.  With this option, the system stops further processing (error
         checking, scanning, etc.)  of the new FILEDEF command if a file
         definition exists for the specified ddname.

RECFM a  is the record format of the file, where "a" can be one of the
         following:
            F         Fixed length
            FB        Fixed blocked
            V         Variable length
            VB        Variable blocked
            U         Undefined
            FS,FBS    Fixed length, standard blocks
            VS,VBS    Variable length, spanned records
            A         ASA print control characters
            M         Machine print control codes

LRECL nnnnn
         is the logical record length (nnnnn) of the file, in bytes.  LRECL
         should not exceed 32760 bytes for fixed length records or 32756 for
         variable length records because of OS restrictions.

BLOCK | BLKSIZE nnnn
         is the logical block size (nnnnn) of the file, in bytes.  BLOCK should
         not exceed 32760 bytes because of OS restrictions.  If both BLOCK and
         BLKSIZE options are specified, the value of nnnnn for BLOCK is used
         and BLKSIZE is ignored.

KEYLEN nnn
         is the size (nnn) of the key (in bytes).  The maximum value accepted
         is 256.

XTENT nnnnn
         is the number of records (nnnnn) in the extent for the file.  The
         default is 50.  The maximum value is 16,777,215.

LIMCT nnn
         is the maximum number of extra tracks or blocks (nnn) to be searched.
         The maximum value is 256.

OPTCD a  is the direct access search processing desired.  The variable "a" may
         be any combination of up to three of the following:  (A and R are
         mutually exclusive.)
            A      Actual device addressing
            E      Extended search
            F      Feedback addressing
            R      Relative block addressing

Note:  The KEYLEN, XTENT, LIMCT, and OPTCD options should only be used with
BDAM files.

DISP MOD positions the read/write pointer after the last record in the disk
         file.

MEMBER membername
         allows you to specify the name of a member of an OS partitioned data
         set; membername is the name of the PDS member.

CONCAT   allows you to assign the same ddname to two or more OS libraries so
         that you can refer to them in a single GLOBAL command.

         Any file format options you specify in the first FILEDEF command line
         remain in effect for subsequently concatenated libraries.

DSORG PS | PO | DA | IS
         is the data set organization: physical sequential (PS), partitioned
         (PO), direct access (DA), or indexed sequential (IS).

7TRACK | 9TRACK
         is the tape setting.

TRTCH a  is the tape recording technique for 7-track tapes.  Use the following
         chart to determine the value of "a" for 7-track tapes.
            a      Parity     Converter    Translator
            O      odd        off          off
            OC     odd        on           off
            OT     odd        off          on
            E      even       off          off
            ET     even       off          on
         The default value of TRTCH is OC.

DEN den  is tape density:  den can be 200, 556, 800, 1600, or 6250 BPI (bytes
         per inch).  If 200 or 556 are specified, 7TRACK is assumed. If 800,
         1600, or 6250 are specified, 9TRACK is assumed.

UPCASE   translates all terminal input data to uppercase.

LOWCASE  retains all terminal input data as typed in.


Usage notes:

1.  If you do not issue a FILEDEF command for an OS input or output file, CMS
    uses the ddname on the DCB macro to issue the following default file
    definition:
       FILEDEF ddname DISK FILE ddname A1

    See "Usage Notes" under the discussion of the ASSEMBLE command for
    information on the default file definitions made by the assembler.

2.  To identify DOS files for DOS program execution or to identify VSAM data
    sets for either OS or DOS program execution, you must use the DLBL command.

3.  A file definition established with the FILEDEF command remains in effect
    until explicitly changed or cleared.  The system clears file definitions
    under the following circumstances:

    o  When the assembler or any of the language processors are invoked.
       (Note that FILEDEF definitions entered with the PERM option are not
       cleared.)

    o  When a program abends or when you issue the Immediate command HX to halt
       command or program execution.

4.  The FILEDEF command does not supply default values for LRECL and BLKSIZE.
    As under OS, if DCB information is unavailable when a file is opened, an
    open error is issued for the file.  The following chart summarizes the
    results at OPEN time of specifying LRECL and BLKSIZE options.
    +-----------+-----------+----------------------------------------------+
    | BLKSIZE   | LRECL     |  Results                                     |
    +-----------+-----------+----------------------------------------------+
    | Not       | Not       | If the input file exists on disk, the item   |
    | Specified | Specified | length (or item length +4 for variable       |
    |           |           | length records) becomes the BLKSIZE.         |
    +-----------+-----------+----------------------------------------------+
    | Specified | Not       | LRECL=BLKSIZE (or LRECL=BLKSIZE-4, Specified |
    |           |           | for variable-length records).                |
    +-----------+-----------+----------------------------------------------+
    | Not       | Specified | BLKSIZE=LRECL (or BLKSIZE=LRECL+4, for       |
    | Specified |           | variable-length records).                    |
    +-----------+-----------+----------------------------------------------+
    | Specified | Specified | The values specified are used.               |
    +-----------+-----------+----------------------------------------------+

    If V or VB is specified for RECFM, LRECL must be at least 4 bytes less than
    BLKSIZE and LRECL must be at least 4 bytes greater than the largest record
    of the file.  If VS or VBS is specified for RECFM, LRECL can exceed the
    specified BLKSIZE, but LRECL should not exceed a maximum value of 32756
    because of OS restrictions.

    DOS sequential (SAM) files do not contain BLKSIZE, LRECL, or RECFM
    specifications.  These options must be specified by a FILEDEF command or
    DCB statement if OS macros are used to access DOS files.  Otherwise the
    defaults, BLKSIZE=32760 and RECFM=U, are assumed.  LRECL is not used for
    RECFM=U files.

5.  When copying a variable length data set (RECFM=V or VB) from an OS disk to
    a CMS disk, the logical record length (LRECL) of the file that is created
    on the CMS disk is equal to the size of the largest record in the data set
    being copied.  If the file that is being created has a filemode of 4, the
    logical record length will be equal to the LRECL of the largest record plus
    8 bytes.  The actual LRECL of the new file can be determined by using the
    CMS LISTFILE command.

6.  There is an auliliary processing potion for FILEDEF that is only valid when
    FILEDEF is executed by an internal program call: this option cannot be
    entered as a terminal command.  The option, AUXPROC addr, allows an
    auxiliary processing routine to receive control during I/O operations.

7.  If a FILEDEF command is issued with a DDNAME that matches a current DDNAME
    defined by a previous FILEDEF command and the devices are the same, the
    filename, filetype, filemode, and options previously specified remain in
    effect, unless re-specified by the new FILEDEF command.  If the devices are
    not the same, all previous specifications are removed.

8.  CMS supports one virtual reader at address 00C, one virtual punch at
    address 00D, and one virtual printer at address 00E.  When you issue a CMS
    command or execute a program that uses one of these unit record devices,
    the device must be attached at the virtual address indicated.

9.  If the FILEDEF command is entered with no operands, a list of current
    definitions is displayed.

Using the FILEDEF DISK Operand

There are two general forms for specifying the DISK operand in a FILEDEF
command.  If you specify the first form:
    FILEDEF ddname DISK fn ft [fm]
fn and ft (filename and filetype) are assumed to be a CMS fileid.  If fm is the
filemode of an OS disk, fn and ft are assumed to be the only two qualifiers of
an OS data set name.  If fm is specified as an asterisk, (*) then all accessed
disks are searched.

You cannot use this form unless the OS data set name or DOS file-id conforms to
the OS naming convention (1- to 8-byte qualifiers separated by periods, to a
maximum of 44 characters, including periods).  Also, the data set name can have
only two qualifiers; otherwise, you must use the DSN ? or DSN qual1... form.
For example, if the OS data set name or DOS file-id is TEST.SAMPLE.MAY, you
enter:
    FILEDEF MINE B1 DSN TEST SAMPLE MAY
       -- or --
    FILEDEF MINE B1 DSN ?
    TEST.SAMPLE.MAY

If the OS data set name or DOS file-id is TEST.SAMPLE, then you may enter:
    FILEDEF MINE DISK TEST SAMPLE B1

The second form of the DISK operand is used only with OS data sets and DOS
files:
    FILEDEF ddname DISK [FILE   fn ddname   ft [A1   fm]] [DSN ?   q1 q2 ... ]

This form allows you to enter OS and DOS file identifications that do not
conform to OS data set naming conventions.  The DSN operand corresponds to the
DSN parameter on the OS DD (data definition) statement.  There are three ways
you can specify this form:

1.  FILEDEF ddname DISK fn ft fm DSN qual1 [qual2...]

    The above forms of the FILEDEF command associate the CMS filename and
    filetype you specify with the OS data set name or DOS file-id specified
    following the DSN operand.  Once it is defined, you can refer to the OS
    data set name or DOS file-id by using the CMS filename and filetype.  If
    you omit DISK,     filename, filetype, and filemode, the default values are
    FILE ddname A1.

2.  FILEDEF ddname DSN ?

    This form of the FILEDEF command allows you to specify the OS data set name
    or DOS file-id interactively.  Using this form, you can enter an OS data
    set name or DOS file-id containing embedded special characters such as
    blanks.  If you use this form, the default filename and filetype for your
    file, FILE ddname, is the CMS filename and filetype associated with the OS
    data set name or DOS file-id.  The filemode for this form is always the
    default, A1.

    To use the interactive DSN operand, you key in DSN ?; CMS then requests
    that you enter the OS data set name or DOS file-id exactly as it appears in
    the data set or file.  Do not omit the periods that separate the qualifiers
    of an OS data set name, but do not insert periods where they do not appear.
       qual1[.qual2...]
    where qual1.qual2... are the qualifiers of the OS data set name or DOS
    file-id.  When you use this form, you must code the periods separating the
    qualifiers.

3.  FILEDEF ddname mode DSN qual1 [qual2...]

    This form allows you to specify the OS data set name or DOS file-id
    explicitly.  The default value for the filename and filetype is FILE
    ddname.  When you use this form, you can use periods to separate the
    qualifiers.  If the command is entered with a blank separating the
    qualifiers, FILEDEF replaces them with periods.  For example, for an OS
    data set or DOS file named MY.FILE.IN, you enter:
       FILEDEF ddname B1 DSN MY FILE IN

All of these forms have many variations, as is apparent from the command
format.

Responses:

If FILEDEF is entered with no operands and there are filedefs in effect, a list
of current definitions is displayed. For example:
    ddname1 device1 (filename1 filetype1 filemode1 (datasetname))
       .       .         .        .           .           .
       .       .         .        .           .           .
       .       .         .        .           .           .
    ddnameN deviceN (filenameN filetypeN filemodeN (datasetname))

DMSFLD069I    DISK 'mode' NOT ACCESSED
    The specified disk is not accessed; the file definition remains in effect.
    You should access the disk before you attempt to read or write the file.

DMSFLD220R    ENTER DATA SET NAME:
    A FILEDEF command with the DSN ? operand was entered.  Enter the exact OS
    or DOS file identification, including embedded periods and blanks.

DMSFLD704I    INVALID CLEAR REQUEST
    A CLEAR request was entered for a file definition that does not exist; no
    action is taken.

DMSSTT228I    USER LABELS BYPASSED ON DATA SET 'data set name'
    This message is displayed when you issue a FILEDEF command for an OS data
    set that contains user labels. The message is displayed the first time you
    issue the FILEDEF command after accessing the disk on which the data set
    resides.