Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SYSFL - Reassign system files

&pagelevel(3)&pagelevel

General

Application area:

System files; see "System files"

Macro type:

Type S, MF format 1: standard/E/L/C/D form; see "S-type macros"


The (standard) file names SYSDTA, SYSLST, SYSLST01 ... SYSLST99 and SYSOUT denote files used by the operating system to input commands and data to the operating system or to output data via the operating system. These files are each created by the task and specify input and output areas that were preset (primarily) from the start.
Users can revoke the primary assignment and assign their own (cataloged) files to the (standard) file names. Some of the standard names can also be equated. The file which is being assigned (to the right of the equals sign) then takes over the functions of the (system) file (to the left of the equal sign). The SYSTA macro can be used to output the current assignment of system files.

The system files available for input/output are described in the general section “Systemfiles”.

Macro description

The SYSFL macro allows the user to issue the appropriate command via the macro interface of the Macro Command Language Processor (MCLP) without interrupting program mode (see section “Macro Command Language Processor macros” (Standard header)).

The SYSFL macro enables the user to reassign the (system) files SYSDTA, SYSLST, SYSLST01,..., SYSLST99 and SYSOUT.
Output device and output format specifications for the (system) file SYSLST can be entered by the user.
The SYSFL macro also enables the user to specify an object module file (TASKLIB) for the dynamic binder loader.
Messages concerning the execution of the macro are output to SYSOUT and, if desired, may be copied into an area in the calling program.

Macro formats and description of operands

The following table shows the various macro formats for the SYSFL macro. The individual formats and their operands are then described.

SYSFL

[,PARMOD=24 / 31]

[,MF=D / (E,..) / C]

For a description of the PARMOD and MF operands, see section “S-type macros”.

Assignment of SYSDTA (see description on "SYSFL - Reassign system files"):

SYSFL

{ 'SYSDTA={pathname / #filename / (SYSCMD) / (PRIMARY)}' /

'SYSDTA={pathname1(element), VERSION=*STD / vers, TYPE=*STD / type}' }

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

Assignment of SYSOUT (see description on "SYSFL - Reassign system files"):

SYSFL

'SYSOUT=pathname / (pathname,EXTEND) / *DUMMY / (PRIMARY)'

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

Assignment of SYSLST (see description on "SYSFL - Reassign system files"):

SYSFL

'SYSLST=pathname / (pathname,EXTEND) / #filename / (SYSCMD) / (PRIMARY)'

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

Output of SYSLST to printer (see description on "SYSFL - Reassign system files"):

SYSFL

'FILE=SYSLST, PRINTER=136 / 160 [,HREC=m] [,FORM=code] [,LOOP=vfb]]

[,COPIES=number1 / ([number1],number2)] [,CHARS=(c1[,c2][,c3][,c4])]

,CONTROL=NO / PHYS [,IMAGE=xxxx] [,SHIFT=columns] [,DIS=zz]'

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

Assignment of SYSLSTn (see description on "SYSFL - Reassign system files"):

SYSFL

'SYSLSTn=pathname / (pathname,EXTEND) / *DUMMY / (PRIMARY) / *SYSLSTn'

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

Assignment for dynamic binder loader DBL (see description on "SYSFL - Reassign system files"):

SYSFL

'TASKLIB=pathname / (NO)'

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

Notes

  • The operands must be enclosed in single quotes.

  • Unlike system output files, the assigned cataloged files are not automatically output to the printer. The user can have these files printed using the PRINT-DOCUMENT command.

  • If the parentheses are omitted in the (SYSCMD) or (PRIMARY) entry, these will be interpreted as file names.

  • The field to receive the SYSOUT log must be aligned on a word boundary. The output record starts with the 4-byte record length field, which contains the record length in bytes 0-1. The record length field is followed by the output text. Structure of the output area:

             DS  0F
    OUTPUT   DC  Y(AENDE-OUTPUT)   Output area
    SLF      DS  0CL4              4 bytes: record length field
    SL       DS  CL2               2 bytes: record length of output record
             DS  CL2               2 bytes: reserved
    TEXT     DS  CL300             Output text
    AENDE    EQU *
    

Notes on temporary files:

  • The system can operate without temporary files.

  • Temporary files are task-oriented and are deleted on task termination.

  • Temporary files can be of the type BTAM, SAM, ISAM or PAM.

Return information and error flags

Messages concerning command processing are part of the SYSOUT log, which can optionally be transferred to the program (“addr” operand).

R15:

+---------------+
|   |   |   |   |
| | | | | | |a|a|
+---------------+

A return code relating to the execution of the SYSFL macro is transferred in the rightmost byte of register R15.

X'aa'

Meaning

X'00'

Normal termination.

X'04'

Insufficient memory; request not processed.

X'08'

Operand list error (address area).

X'0C'

Last output record placed in user area was truncated.

X'10'

Macro/command error (command returned an error to MCLP).

Assignment of SYSDTA

SYSFL

{ 'SYSDTA={pathname / #filename / (SYSCMD) / (PRIMARY)}' /

'SYSDTA={pathname1(element), VERSION=*STD / vers, TYPE=*STD / type}' }

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

SYSDTA=

pathname

“pathname” stands for: [:catid:][$userid.]filename

catid
Catalog ID of the pubset where the file is stored.
The catalog ID assigned to the user ID in the user catalog.

userid
User ID to which the file is assigned.
Default value: user ID from the SET-LOGON-PARAMETERS command.

filename
Name of a cataloged file (or a file generation).
The file must be a SAM or ISAM file with variable record length.
An ISAM file also requires a key starting in column 5 and a key length of 8 bytes (KEYPOS=5, KEYLEN=8; see the “DMS Macro” manual [7 (Related publications)]). Specification of a file group (not to be confused with a file generation group) is permitted only for tape files.

#filename
Name of a temporary file.
# = character that is set by the system parameter TEMPFILE as a prefix to the file names of temporary files. Information on the character selected can be obtained with the SHOW-SYSTEM-PARAMETERS command or the macro NSIOPT.
filename = any file name; length <= 30 characters.
See Notes on temporary files on "SYSFL - Reassign system files".

(SYSCMD)
The system file SYSCMD is equated with the system file SYSDTA, i.e. SYSCMD assumes the same function as SYSDTA in addition to its own function. Data (and not only commands) can then be read from the SYSCMD system file.

(PRIMARY)
SYSDTA is restored to its original primary assignment.

SYSDTA=pathname1(element)
“pathname1” stands for [:catid:][$userid.]library

catid

see SYSDTA=pathname.

userid

see SYSDTA=pathname.

library

name of a PLAM library. The expression “library(element)” may be up to
41 characters long.

element

name of a library element. The following characters are permissible:

  • alphabetic charactersA,...Z

  • special characters$, #, -, @

  • numeric characters0,...9

The first character must be alphabetic. The last character must not be a
hyphen.

VERSION=
The element name is supplemented by the version specification.

*STD
Default setting: the highest version is used.

vers
Version designation (max. 10 characters).

TYPE=
Element type (1 letter).

*STD
Default setting: element type = S.

type
Character from the set (D, S, M).

addr
Symbolic address (name) of a field to receive the SYSOUT log; for structure see "SYSFL - Reassign system files".

(r)
Register containing the address value “addr”.

Assignment of SYSOUT

SYSFL

'SYSOUT=pathname / (pathname,EXTEND) / *DUMMY / (PRIMARY)'

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

SYSOUT=

pathname

“pathname” stands for [:catid:][$userid.]filename

catid
Catalog ID of the pubset where the file is stored.
The catalog ID assigned to the user ID in the user catalog.

userid
User ID to which the file is assigned.
Default value: user ID from the SET-LOGON-PARAMETERS command.

filename
Name of a file or a file generation.
The file is created as a SAM file on a public volume, with its size being determined by the system parameter SSMAPRI and the SECONDARY-ALLOCATION being determined by the system parameter SSMASEC. Alternatively, this file may also reside on private volumes, if so defined earlier by the user in a CREATE-FILE command. However, no multifile tape may be used.

It is advisable to estimate the probable size of the file “filename” and to specify a corresponding PRIMARY-ALLOCATION operand in the CREATE-FILE command so as to avoid too many memory requests.

(pathname,EXTEND)
SYSOUT is assigned to the file “filename”; data records are entered from the end of the file onwards.

*DUMMY
A dummy file is assigned to SYSOUT. For meaning see ADD-FILE-LINK command, “Commands” manual [19 (Related publications)]. Data records are not stored.

(PRIMARY)
Restores the SYSOUT file to its primary assignment.

addr

Symbolic address (name) of a field to receive the SYSOUT log; for structure see "SYSFL - Reassign system files".

(r)
Register containing the address value “addr”.

Assignment of SYSLST

SYSFL

'SYSLST=pathname / (pathname,EXTEND) / #filename / (SYSCMD) / (PRIMARY)'

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

SYSLST=

pathname

“pathname” stands for: [:catid:][$userid.]filename

catid
Catalog ID of the pubset on which the file is stored.
The catalog ID assigned to the user ID in the user catalog.

userid
User ID that is assigned to the file.
Default value: user ID from the SET-LOGON-PARAMETERS command.

filename
Name of a file or a file generation. SYSLST is assigned to this file or file generation. The file is created as a SAM file on a public volume, with its size being determined by the system parameter SSMAPRI and the SECONDARY-ALLOCATION being determined by the system parameter SSMASEC. Alternatively, this file may also reside on private volumes, if so defined earlier by the user in a CREATE-FILE command. However, no multifile tape may be used.

It is advisable to estimate the probable size of the file “filename” and to specify a corresponding PRIMARY-ALLOCATION operand in the CREATE-FILE command so as to avoid too many memory requests.

If no further memory space is available during SYSLST output to a disk file, the system requests a tape. The file is automatically copied to this tape and deleted from the disk. SYSLST output then continues to the tape file.

#filename
Name of a temporary file.
# = character that is set by the system parameter TEMPFILE as a prefix to the file names of temporary files. Information on the character selected can be obtained with the SHOW-SYSTEM-PARAMETERS command or the macro NSIOPT.
filename = any file name; length <= 30 characters.
See Notes on temporary files on "SYSFL - Reassign system files".

*DUMMY
A dummy file is assigned to SYSLST (for an explanation, see the ADD-FILE-LINK command in the “Commands” manual [19 (Related publications)]); data records are not stored.

(pathname,EXTEND)
The “filename” file is assigned to SYSLST; the data records are entered from the end of the file onwards.

(PRIMARY)
Restores the SYSLST file to its primary assignment.

addr
Symbolic address (name) of a field to receive the SYSOUT log; for structure see "SYSFL - Reassign system files".

(r)
Register containing the address value “addr”.

Output of SYSLST to printer

SYSFL

'FILE=SYSLST, PRINTER=136 / 160 [,HREC=m] [,FORM=code] [,LOOP=vfb]]

[,COPIES=number1 / ([number1],number2)] [,CHARS=(c1[,c2][,c3][,c4])]

,CONTROL=NO / PHYS [,IMAGE=xxxx] [,SHIFT=columns] [,DIS=zz]' 1

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

1The PRINTER, HREC, COPIES, CHARS, CONTROL, IMAGE, SHIFT and DIA operands refer to the PRNT macro of SPOOL V2.7 and are no longer described in the current manuals.

FILE=SYSLST
Together with the operands below, specifies the output format of the (system) file SYSLST.

addr
Symbolic address (name) of a field to receive the SYSOUT log; for structure, see "SYSFL - Reassign system files".

(r)
Register containing the address value “addr”.

The FORM and LOOP operands describe the printout format; they are described under the PRNTDOC macro (see “SPOOL & Print - Macros and Exits” manual [23 (Related publications)]).

Assignment of SYSLSTn

SYSFL

'SYSLSTn=pathname / (pathname,EXTEND) / *DUMMY / (PRIMARY) / *SYSLSTm'

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

SYSLSTn=
n = a (2-digit) number from the range (01,02,...,99).
The SYSLSTn files can only be used if (cataloged) SAM files are assigned to them. The primary assignment to these files is the file that is simultaneously assigned to the SYSLST (system) file.

pathname
pathname stands for: [:catid:][$userid.]filename

catid
Catalog ID of the pubset on which the file is stored.
The catalog ID assigned to the user ID in the user catalog.

userid
User ID to which the file is assigned.
The user ID from the SET-LOGON-PARAMETERS command.

filename
Name of a file or a file generation. The file is assigned to SYSLSTn and is created as a SAM file on public volumes.
It is advisable to estimate the probable size of the “filename” file and to specify an appropriate PRIMARY-ALLOCATION operand in the CREATE-FILE command.

*DUMMY
SYSLSTn is assigned a dummy file. The data records are not stored.

(pathname,EXTEND)
SYSLST is assigned the “filename” file; data records are entered from the end of the file onwards.

(PRIMARY)
Primary assignment.

*SYSLSTm
m = a 2-digit number from the range (01,02,...,99); m != n
The SYSLSTn (system) files can also be assigned to each other. The following points should be borne in mind:

  • mutual assignment is not permitted

    Example of incorrect assignment

    SYSFL SYSLSTn = *SYSLSTm

    SYSFL SYSLSTm = *SYSLSTn

  • the assignment must eventually lead to a cataloged file or to a dummy file

    Example

    SYSFL     SYSLSTn  = filename
    SYSFL     SYSLSTm  = *SYSLSTn
    SYSFL     SYSLSTp  = *SYSLSTm
    

addr
Symbolic address (name) of a field to receive the SYSOUT log; for structure, see "SYSFL - Reassign system files".

(r)
Register containing the address value “addr”.

Assignment for dynamic binder loader DBL

SYSFL

'TASKLIB=pathname / (NO)'

[,addr / (r)]

[,PARMOD=24 / 31]

[,MF=L]

TASKLIB=
Denotes an object module file which is to be searched by the binder loader DBL if

  • no object module file (library) was specified on loading the program and/or

  • external references still have to be resolved.

TASKLIB=(PRIMARY), i.e. the (user) file TASKLIB or,if this does not exist, the file $TSOS.TASKLIB is searched.

pathname
“pathname” stands for: [:catid:][$userid.]filename

catid
Catalog ID of the pubset on which the file is stored.
The catalog ID assigned to the user ID in the user catalog.

userid
User ID to which the file is assigned.
User ID from the SET-LOGON-PARAMETERS command.

filename
Name of an object module file.
When a program is linked, this object module file is searched before the TASKLIB (user) file, or the (system) file $TSOS.TASKLIB, for the object module required by the binder loader (DBL).

Notes

  • “filename” must not be the name of a file generation.

  • Procedure nesting: After the END-PROCEDURE or EXIT-PROCEDURE commands, the TASKLIB assignment valid before the procedure call applies.

(NO)
The assignment is canceled. TASKLIB=(PRIMARY) applies, or, in the case of nested procedures, the assignment that existed before the procedure call is retained.

addr
Symbolic address (name) of a field to receive the SYSOUT log; for structure see "SYSFL - Reassign system files".

(r)
Register containing the address value “addr”.