Assign SYSLST to output destination
Component: | SYSFILE |
Functional area: | Job processing |
Domain: | JOB |
Privileges: | STD-PROCESSING |
Function
The ASSIGN-SYSLST command assigns a SYSLST system file to an output destination. SYSLST system files are SYSLST, SYSLST01, SYSLST02, ...SYSLST99.
The primary assignment and attributes of SYSLST system files are described in section "System files".
Restrictions
Allocating a system file to a variable with TO=*VARIABLE(...) is only possible if the chargeable subsystem SDF-P is loaded.
Format
ASSIGN-SYSLST | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operands
TO =
Output destination to which the SYSLST file is to be assigned.
TO = <filename 1..54>
Name for the new file or name of an already existing file to which the SYSLST file is to be assigned. A new file is created with the following attributes:
SAM access method
Initial allocation of the size defined by the system parameter SSMAPRI (default: 24 PAM pages).
Secondary allocation of the size defined by the system parameter SSMASEC (default: 24 PAM pages).
An existing file must have the following attributes:
SAM access method
it must not reside on a multifile tape.
For SYSLST (not SYSLST01 through SYSLST99):
If no further storage space is available during SYSLST output to a library element, the system behaves as described in the "Notes on the behavior of the system in case of insufficient storage space".
TO = *VARIABLE(...)
Name of a complex S variable of the “list” type (i.e. a series of elements of the same variable type which can only be accessed sequentially). Complex S variables can only be used if the chargeable subsystem SDF-P is loaded (see the “SDF-P” manual [34]). The command will be rejected if the specified list has not been declared or if the list elements are not of variable type STRING (or ANY).
VARIABLE-NAME = <composed-name 1..254>
Name of the S variable.
TO = *LIBRARY-ELEMENT(...)
Output to a PLAM library element.
LIBRARY = <filename 1..54 without-gen-vers>
Name of a PLAM library.
ELEMENT = <composed-name 1..64 with-under>(...)
Name of an element in the specified library.
VERSION = *UPPER-LIMIT / <composed-name 1..24>
Addition of the version to the element name. The default value is the highest possible version of the specified element.
TYPE = P / *STD / <alphanum-name 1..8>
Type of the element. The *STD operand value corresponds to element type P .
P | Element type P (print-edited data); default value |
S | Element type S (source program) |
D | Element type D (text data) |
M | Element type M (macro) |
TO = *PRIMARY
Resets the SYSLST file to its primary assignment (see section "System files").
TO = *DUMMY
Assigns the SYSLST file to a dummy file, which means that output to a volume is suppressed. For further information on using dummy files, see the FILE-NAME=*DUMMY operand in the ADD-FILE-LINK command description.
TO = *SYSLST-NUMBER(...)
Designates as output destination a SYSLST file from the series SYSLST01 through SYSLST99, to which a SYSLST file from the series SYSLST01 through SYSLST99 is to be assigned. This operand value is not permitted when SYSLST-NUMBER = STD (the default) applies, i.e. the system file SYSLST must not be assigned to a system file in the series SYSLST01 to SYSLST99.
SYSLST-NUMBER = <integer 1..99>
Number of the SYSLST file. It must not be the same as that specified in the (subsequent) operand SYSLST-NUMBER.
OPEN-MODE = *OUTPUT / *EXTEND
Specifies whether an already cataloged SAM file is to be replaced or extended.
If a complex S variable is assigned:
If OPEN-MODE=*OUTPUT is specified, output resumes with the first list element. Previous list items can no longer be accessed. If OPEN-MODE=*EXTEND is specified, the list of variables is extended (dynamic extension must have been permitted).
SYSLST-NUMBER =
Designates the SYSLST file to which the specified output destination is to be assigned.
SYSLST-NUMBER = *STD
The system file SYSLST is assumed. This operand value must not be specified together with TO = *SYSLST-NUMBER.
SYSLST-NUMBER = <integer 1..99>
The system file from the series SYSLST01 through SYSLST99 whose number is specified here is used. If the operand TO = *SYSLST-NUMBER is specified, the number given here must not correspond to the number specified there.
CODED-CHARACTER-SET = *TASK-TYPE-DEFAULT / *NONE / <name 1..8>
Determines the code of the SYSLST file. This defines how the characters of a national character set are to be stored in binary form. The defined character set affects, for example, the screen display of the characters, the sort sequence (see the “XHCS” User Guide [51]).
CODED-CHARACTER-SET = *TASK-TYPE-DEFAULT
The code defined for the SYSLST file depends on the task mode:
No code table is used within a batch task (corresponds to CODED-CHARACTER-SET=*NONE).
The code table currently set for the task is used within a interactive task (see also the function description of the MODIFY-TERMINAL-OPTIONS command).
CODED-CHARACTER-SET = *NONE
No code is defined for the SYSLST file.
CODED-CHARACTER-SET = <name 1..8>
The specified code is defined for the SYSLST file.
Return codes
(SC2) | SC1 | Maincode | Meaning |
---|---|---|---|
0 | CMD0001 | Command executed | |
1 | 0 | SSM2039 | Command executed but error occurred on closing the previously assigned SYSLST file (DMS error is contained as an insert in the SYSOUT message) |
2 | 0 | SSM3200 | Command executed with a warning |
2 | 0 | SSM3034 | The system file is already assigned to *PRIMARY |
1 | SSM2036 | Operand invalid | |
1 | SSM2038 | The specified code table (CCS) is not permitted | |
32 | SSM1013 | System error during command execution | |
64 | SSM0001 | Loop during SYSLSTnn assignment | |
64 | SSM2012 | OPEN error on output (DMS error is contained as an insert in the SYSOUT message) | |
64 | SSM2048 | XHCS does not support the specified code table (CCS) | |
64 | SSM2061 | Error on accessing PLAM library element | |
64 | SSM2064 | System file cannot be assigned via RFA | |
64 | SSM3031 | Semantic error | |
64 | SSM3055 | Invalid record or file format | |
64 | SSM3100 | S variable does not exist | |
64 | SSM3101 | S variable not of list type | |
64 | SSM3102 | SDF-P subsystem not available | |
64 | SSM3200 | Error on accessing PLAM library or element |
Note
No loops may arise in the assignment of SYSLST files to one another. For example, the following combination is rejected with an error message:
/ASS-SYSLST...SYSLSTxx -> SYSLSTyy
/ASS-SYSLST...SYSLSTyy -> SYSLSTxx
Notes on the behavior of the system in case of insufficient storage space
If there is insufficient storage space during the output to the system file SYSLST (not SYSLST01 to SYSLST99) or SYSOUT, the system behaves as follows:
In case of assignment to the temporary S.LST or S.OUT file (*PRIMARY):
If the system parameter is SSMPNOQ=YES (default setting), the logging is terminated (implicit assignment of the system file on *DUMMY). The task issues the console message SSM2076 and continues to run normally.
If SSMPNOQ=NO, the temporary file is treated like a permanent file (see below).
In case of assignment to a permanent disk file or a library element in an interactive task:
In interactive mode, the system asks the user (message SSM2035 or SSM2078) how to proceed further. The user has the following response options:
N
Closes the assigned file or the library element and changes the system file assignment to the dummy file *DUMMY (thereby losing further outputs!).
P
Closes the assigned file or the library element and changes the system file assignment to the primary assignment *PRIMARY.
T
Requests a tape (volume type TAPE) to continue the output. From there on, the process is the same as in a batch task (see below).
M
Has the same effect as T, but the requested volume type is taken from the SSMSDEVD system parameter (default setting: TAPE-C4).
In case of assignment to a permanent disk file or a library element in a batch task:
If the system parameter is SSMSDEVB=*DUMMY, the system file assignment is changed to *DUMMY and the previously used file or library element is closed. The task issues the console message SSM2076 and continues to run normally.
If not, the system requests a tape with the volume type from the SSMSDEVB system parameter (default setting: TAPE). If it receives this tape, e.g. via an automatic assignment by MAREN, the disk file or library element is copied to it and subsequently deleted. The output is then continued in the tape file.
The Name of the file on tape or MTC is the name of the disk file.
The name of the library element on tape or MTC isS.LST.PLAM-TO-
TAPE.<tsn>.<date>.<time>.
<tsn>
=
The task’s TSN
<date>
=
Creation date in the format yyyy-mm-dd, with yyyy=year, mm=month and dd=day
<time>
=
Creation time in the format hhmmss, with hh=hours, mm=minutes and ss=seconds
If, however, MAREN reports that there are no free volumes of the requested type, the system file assignment is changed to *PRIMARY (or to *DUMMY, if it already was *PRIMARY). The task issues the console message SSM2076 and continues to run normally.
Without MAREN the tape request will lead to the console query DMS0591. The task waits until the operator manually assigns a tape or rejects the assignment. In case of a rejection, the operator receives the question SSM3060, which has the same possible answers as the dialog question SSM2035 (see above).
Examples
Example 1
/ass-syslst to=*dummy ———————————————————————————————————————————————— (1)
/show-sys-file system-file=*syslst
%PROCEDURE LEVEL NUMBER 0 %SYSLST : *DUMMY
/start-exe from-file=cob.prog
.
.
.
/ass-syslst to=mj.cob.dat,open-mode=*ext ————————————————————————————— (2)
/show-sys-file system-file=*syslst
%PROCEDURE LEVEL NUMBER 0 %SYSLST : :P:$USER.MJ.COB.DAT
/start-exe from-file=cob.prog
.
.
.
/ass-syslst to=*primary —————————————————————————————————————————————— (3)
(1) | A user program prints data on the printer. The user does not require any listings for trial operation, assigning SYSLST to a dummy file instead. |
(2) | In productive use, the data is not to be output on the printer either, but is instead to be appended to the existing file MJ.COB.DAT. |
(3) | SYSLST again receives its primary assignment. |
Example 2 (assigning SYSLST-NUMBER)
/ass-syslst to=lst.syssdf.globals,syslst-number=1 ——————————————————— (1)
/ass-syslst to=lst.syssdf.implementation,syslst-number=2 ———————————— (2)
/ass-syslst to=lst.syssdf.cmd-list,syslst-number=3 —————————————————— (3)
/show-sys-file —————————————————————————————————————————————————————— (4)
%PROCEDURE LEVEL NUMBER 0 %SYSCMD : (PRIMARY) %SYSDTA : (PRIMARY) %SYSIPT : NOT ASSIGNED %SYSOUT : (PRIMARY) %SYSLST : (PRIMARY) %SYSLST01: :1OSN:$USERXY01.LST.SYSSDF.GLOBALS %SYSLST02: :1OSN:$USERXY01.LST.SYSSDF.IMPLEMENTATION %SYSLST03: :1OSN:$USERXY01.LST.SYSSDF.CMD-LIST %SYSOPT : (PRIMARY) %TASKLIB : (PRIMARY)
/start-sdf-a ———————————————————————————————————————————————————————— (5)
% BLS0517 MODULE 'SDAMAIN' LOADED % SDA0001 'SDF-A' VERSION '04.1G10' STARTED %//open SYSSDF.NDCSFSYS,type=*system %//show object=*global-info,output=*syslst(syslst-number=1) %//show object=*cmd(name=*all),impl-info=*yes,output=*syslst(2) %//show object=*cmd(name=*all),attach-info=*no,output=*syslst(3) %//end
/ass-syslst to=*primary,syslst-number=1 ————————————————————————————— (6)
/ass-syslst to=*primary,syslst-number=2
/ass-syslst to=*primary,syslst-number=3
/show-sys-file
%PROCEDURE LEVEL NUMBER 0 %SYSCMD : (PRIMARY) %SYSDTA : (PRIMARY) %SYSIPT : NOT ASSIGNED %SYSOUT : (PRIMARY) %SYSLST : (PRIMARY) %SYSOPT : (PRIMARY) %TASKLIB : (PRIMARY
(1) | System file SYSLST01 is assigned to LST.SYSSDF.GLOBALS. |
(2) | System file SYSLST02 is assigned to LST.SYSSDF.IMPLEMENTATION. |
(3) | System file SYSLST03 is assigned to LST.SYSSDF.CMD-LIST. |
(4) | The SHOW-SYSTEM-FILE-ASSIGNMENT command shows the assignments of the system files. |
(5) | Call to the SDF-A utility routine (syntax file processing). Various items of information are to be output to files from a syntax file (global information, implementation statements, and a command list). The SDF-A SHOW statement only supports output to SYSOUT, SYSLST or SYSLST-NUMBER. To avoid having to keep changing the SYSLST assignment while the program is running, a number of SYSLST-NUMBER files were assigned to files before the program was called. Now a specific SYSLST-NUMBER file can be selected in the SHOW statements and the output sent to the file assigned to it. |
(6) | Once the program has executed, the assignment is canceled (see the output of the SHOW-SYSTEM-FILE-ASSIGNMENT command). |