GESYOT - write on SYSOUT.

Usage:

mme     gesyot
zero    FCB,0

Where:

FCB
is the address of the beginning of the File Control Block for a file associated with SYSOUT.

Description:

MME GESYOT sends records to SYSOUT for subsequent printing or punching. Files codes P* (printing), C* (punching) and K* (COMDK punching) are associated with SYSOUT by default. Other files may be associated with SYSOUT through the $SYSOUT, $REMOTE, and $PPS JCL statements. SYSOUT files may not be processed with MME GEINOS -- you must use MME GESYOT.

Normally, SYSOUT is only referenced by the File and Record Control function, which uses an FCB. Various fields of the FCB must be set up before the call to MME GESYOT. These are described below.

FCB-4
must contain the file code of the SYSOUT file in bits 24-35.
FCB+2
contains the address of a buffer in bits 18-35. The contents of this buffer will be written to the SYSOUT file.

The buffer referenced by FCB+2 begins with

zero    0,N
zero
zero
zero
where N is the number of words that follow the first word in the buffer. (Therefore the buffer is actually N+1 words long.)

The actual records of the buffer begin at word 4 of the buffer. Each record begins with a "logical record control word" that has the form

vfd     18/LENGTH,8/0,4/MC,6/RC
where
LENGTH
is the number of data words that follow the logical record control word;
MC
is the (decimal) media code of the record;
RC
is the (decimal) report code of the record.

When MME GESYOT writes out a record, it sets bit 18 of the logical record control word to 1. This must be set back to 0 if you want to write out the same record later on.

MME GESYOT returns a status in FCB-3. If bits 2-5 of this word are zero, the MME was successful.

Printing Files via MME GESYOT

MME GESYOT may also be used to send an existing mass storage file of print or punch records directly to SYSOUT.

Usage:

mme     gesyot
vfd     h18/DDD,o6/FLAGS,h12/FC
vfd     h30/BBBBB,6/OC
tra     FAIL_RTN

Where:

DDD
are three BCD characters giving a destination code (a remote ID, an online device name, or zeroes).
FLAGS
indicate various options.
Bit 18
if this is 1, a wide carriage printer is needed.
Bit 19
if this is 1, reprocessing is not allowed.
Bit 20
if this is 1, DDD indicates a remote ID.
Bits 21-23
must be zero.
FC
is the file code of the mass storage file that is to be sent to SYSOUT.
BBBBB
is an identifier that SYSOUT should use as a SNUMB number. If this is all zeroes or spaces, SYSOUT will use the SNUMB of the current job.
OC
is the Output Code, indicating what kind of records the mass storage file contains. Possible code values are:
1
BCD punch
2
BCD print
3
ASCII print
4
ASCII punch
FAIL_RTN
is a routine that can handle errors. MME GESYOT will return to the TRA instruction if the operation fails. If the operation succeeds, it will return to the instruction following the TRA.

The following conditions will abort the user's program and print an (octal) abort code on the output.

Abort Code 142:
user's file is a system file, secondary file, or released file. Abort code is also used if user's file code is not defined.
Abort Code 143:
user's file is not a mass storage file.

The following conditions cause an error return (to the "tra FAIL_RTN" instruction). An octal denial code is given in the lower half of the A register.

Code 001:
space available for cataloging backdoor jobs is exhausted. In this case, a subsequent MME GESYOT call may work; the program might wait for a while and try again.
Code 005:
backdoor request issued from a TSS DRL TASK job.
Code 007:
referenced file is not allocated with read permission.

The records in the mass storage file must be in standard system format, but block serial numbers are not necessary. The file must have an end-of-file mark at its end. All records must contain media codes, and print records should contain printer slew codes.

Printer output can only be media codes 3, 7, 11, or 15. Punched output can only be media codes 1, 2, or 12. Other media codes will abort the report.

The file is processed in sequence without regard to the report codes in the record control words. A permanent file cannot be reprocessed (even if reprocessing is requested) because the file is immediately deallocated. A temporary is not immediately released, so it can be reprocessed.

If a temporary file is processed and the file is not in a rewound state, all space beyond the current position of the file will be released. Note that a program may not reference temporary or permanent backdoor files after the MME GESYOT.

Backdoor requests are assigned a default urgency of 5. This can be modified by the user-supplied .MSCN2 module or the URGC verb.

SYSOUT usually produces the identification banner when it encounters a $IDENT statement on J* with a record word of the form

18/LENGTH,o18/050374       (BCD)
18/LENGTH,o18/050774       (ASCII)
However, there is no execution report for a backdoor job. If an IDENT banner RCW is recorded in the first logical record of the user's file, the report writer accepts it and produces an IDENT banner. If no such RCW is found, the IDENT banner is not generated, but the SNUMB banner is.

SYSOUT does not generate report banners for backdoor jobs, but if the output is being sent to a printer, a top-of-form slew command is issued before the data is delivered.

In TSS, DRL T.SYOT is available for passing a data file to SYSOUT's backdoor queue.

Abort Messages

The following abort messages may appear on SYSOUT's execution report.

077   0> output limit exceeded
100   SYSOUT record size error
101   SYSOUT seek error
102   SYSOUT allocation error
103   01-bad SYOT status ptr.
104   01-bad SYOT buffer ptr.
105   01-SYOT buffer > limits
106   EP-irrecoverable I/O error
110   bad GESYOT media code
120   SYSOUT storage exhausted
121   invalid MME parameter
122   lost PH.SYT seg contents
142   backdoor f.c. unknonwn
143   invalid file to backdoor
223   invalid PMME arguments
230   EXEC RPT descriptor err
243   invalid SYOT record type

Copyright © 2000, Thinkage Ltd.