|
The $SCANTAB macro should be used to generate a scan table. Your
installation can define, for example, a table that describes the keywords
and input allowed on a JES2 job control statement and use $SCAN and
that table from a JES2 HASPRDR Exit 4 to implement your own JES2 job
control statements.
As mentioned, the JES2 initialization options, initialization parameter
statements, and some operator commands are now implemented using $SCAN.
(See z/OS JES2 Commands for a list of these commands.) Scan tables in the HASPSTAB module
make up the JES2 half of the table pairs that define those options
and parameters. Your installation can define its own scan tables to
add to or replace any or all of the JES2 scan table entries.
Each of the pairs of table addresses used in the implementation
of the initialization statements is defined in the MCT in HASPTABS.
Your can include your table by using one of the following techniques: - Specify $SCANTAB TABLE=(DYNAMIC,pair-offset). When the module containing the tables is loaded (through the
LOAD(xxxxxxxx) initialization statement), the tables
will be associated with the specified table pair. Multiple tables
may be listed if your tables are to be associated with multiple statements
or commands. Valid table pair names take the form of MCTxxxTP, where xxx is listed in Table 1.
- Your installation can locate the MCT while running in a JES2 initialization
exit (for example, Exit 0) and store the addresses of its tables in
the MCTxxxTU fields of the MCT, or you can point
to your installation-defined UCT that contains a pair of table addresses.
- The linkage editor can be used to define these table addresses
to JES2 by linkediting them (and possibly the UCT) into HASJES20.
This is possible because the MCTxxxTU and $UCT
fields are defined as the weak external symbol names. The installation
must name its scan tables with those specific names (listed in Table 1) in order to use this method of providing
user scan tables for the initialization statements.
The installation tables can provide entries that define new initialization
options or statements, new parameters on JES2-defined statements,
or new commands. Since the installation table is searched first, JES2-defined
entries can be functionally replaced as well. The following scan tables
are involved with the JES2 initialization statements. In each case,
the xxx described indicates the MCT labels for
the table address pair (MCTxxxTP), the installation
table address (MCTxxxTU), and the JES2 table address
(MCTxxxTH).
To access $SCAN table pairs at the highest level of scan use: - Table Name
- To Access
- OPT
- Initialization Options
- MPS
- Main Parameter Statements (initialization/command statements)
- MG
- Message Generation
There are two table pairs that need to be considered
for message generation: - MCTMGTP
- This table pair in the $MCT processes message is built in the
JES2 main task environment.
- CCTMGTP
- This table pair in the $HCCT processes message is built in other
environments.
When creating messages, you need to be aware of which
environments the messages will be built in, and add them to the appropriate
table pair (possibly both).
Be aware that although the main initialization parameter statement
(MPS) tables are used for JES2 initialization statements and for processing
the object of several command verbs, not all command verb processing
checks the MPS $SCAN tables before trying to process a command with
non-$SCAN code. Entries in the installation-defined or JES2-defined
MPS table are used for initialization processing if: - the CALLERS= keyword on the $SCANTAB macro is not specified or
- the CALLERS= keyword on the $SCANTAB macro includes the correct
initialization $SCAN caller id, as follows:
- $SCAN Caller ID Equate
- Initialization Statement
Source
- $SCIRPL
- Parmlib or Exit 19
- $SCIRPLC
- Operator Console
Entries in the installation-defined or JES2-defined MPS table are
used for the following command verbs if: - the object of the verb in the command input matches the NAME=
keyword on the $SCANTAB macro (at least for the minimum length required,
that is, MINLEN=) and
- the CALLERS= keyword on the $SCANTAB macro explicitly includes
the caller ID for the command verb, as follows:
- $SCAN Caller ID Equate
- Command Verb
- $SCDCMDS
- $D or $DU (long form)
- $SCDOCMD
- $DU (short form)
- $SCSCMDS
- $T
- $SCSTCMD
- $S
- $SCPCMDS
- $P
- $SCECMDS
- $E
- $SCACMDS
- $ADD
- $SCRCMDS
- $DEL
- $SCLTCMD
- $DO
- $SCECMDA
- $E (MEMBER)
- $SCZCMDS
- $Z
- $SCHCMDS
- $H
- $SCRLCMD
- $A
- $SCCCMDS
- $C
- $SCTOCMD
- $TO
- $SCCOCMD
- $CO
- $SCPOCMD
- $PO
- $SCOCMDS
- $O
- $SCLOCMD
- Output short display
- $SCLCMDS
- $L
If the command verbs shown in the table above are used against
objects for which no match is found in the MPS tables, then non-$SCAN
command support is attempted. Using sub-tables you can also affect
the sub-operands of JES2-defined MPS tables entries by using
the tables by Table 1.
Table 1 shows the processing that can
be affected by the use of $SCAN tables.
Table 1. JES2 Reserved
Master Control Table Names$SCAN Target |
Master Control Table Name |
Used for MPS Processing |
Parent CB |
Notes |
---|
INIT |
$D |
$T |
---|
ACTRMT(nnnn) |
ACT |
|
• |
|
RSO |
|
APPL(applid) |
APL |
• |
• |
• |
APT |
$ADD |
BADTRACK |
BAD |
• |
|
|
|
No commands exist |
BUFDEF |
BUF |
• |
• |
• |
|
|
BUFDEF BELOWBUF= |
BFH |
• |
• |
• |
|
|
BUFDEF EXTBUF= |
BFX |
• |
• |
• |
|
|
CKPTDEF |
CKT |
• |
• |
• |
|
CKPT recovery dialog |
CKPTDEF CKPTn= |
KPN |
• |
• |
• |
HFAM |
CKPT recovery dialog |
CKPTDEF NEWCKPTn= |
EKN |
• |
• |
• |
HFAM |
CKPT recovery dialog |
CKPTDEF VERSIONS= |
VKP |
• |
• |
• |
|
|
CKPTDEF VOLATILE= |
VLT |
• |
• |
• |
|
|
CKPTLOCK |
CKL |
|
|
|
|
$E only; normally not driven by $SCAN |
CKPTSPACE |
SPC |
• |
• |
• |
|
|
CKPTSPACE CKPT1 |
CK1 |
|
• |
|
|
|
CKPTSPACE CKPT2 |
CK2 |
|
• |
|
|
|
COMPACT |
COM |
• |
• |
|
|
|
CONDEF |
CND |
• |
• |
• |
|
|
CONNECT |
CON |
• |
• |
• |
NAT |
$ADD and $DEL |
DEBUG |
DBG |
• |
• |
• |
|
|
DESTDEF |
DST |
• |
• |
• |
|
|
DESTID(destname) |
DES |
• |
• |
• |
RDT |
$ADD and $DEL |
ESTBYTE |
EBY |
• |
• |
• |
EST |
|
ESTIME |
ETM |
• |
• |
• |
EST |
|
ESTLNCT |
ELC |
• |
• |
• |
EST |
|
ESTPAGE |
EPG |
• |
• |
• |
EST |
|
ESTPUN |
EPN |
• |
• |
• |
EST |
|
EXIT(nnn) |
XIT |
• |
• |
• |
XRT |
$ADD and $DEL |
FSS(fssname) |
FSS |
• |
• |
• |
FSSCB |
$ADD |
INCLUDE |
INC |
• |
|
|
|
|
INIT(nnn) |
PIT |
• |
• |
• |
PIT |
$S, $P, and $Z |
INITDEF |
PAR |
• |
• |
• |
|
|
INTRDR |
INR |
• |
• |
|
|
|
JOBCLASS(n) |
CAT |
• |
• |
• |
CAT |
|
JOBCLASS(n) XEQCOUNT= |
JCX |
• |
• |
• |
CAT |
|
JOB, JOBQ, STC, TSU |
JQE |
|
• |
• |
JQA |
$D, $T, $S, $P, $E, $H, $A, $C |
JOB, JOBQ, STC, TSU |
JQE |
|
• |
• |
JQA |
$D, $T, $S, $P, $E, $H, $A, $C |
JOB CC= |
JCC |
|
• |
• |
JQA |
Display and filtering only |
JOB SPOOL= |
JSP |
|
• |
• |
JQA |
Display and filtering only |
JOB, JOBQ, STC, TSU |
OTP |
|
|
|
JQA |
$DO, $TO, $CO, $PO, $O |
JOB, JOBQ, STC, TSU |
LOT |
|
|
|
JQA |
$L |
JOBDEF |
JOB |
• |
• |
• |
|
|
JOBPRTY(n) |
JPY |
• |
• |
• |
|
|
LINEnnnn |
LNE |
• |
• |
• |
DCT |
$DU and $ADD. $S, $P, and $E are processed by $SCAN and MPS
tables but do not use LOG subtables. |
LINEnnnn.device |
LIN |
• |
• |
• |
|
$D, $T, $DU are processed by $SCAN, other commands are not. |
LINEnnnn.JTn |
LJT |
• |
• |
• |
DCT |
$D, $T, $DU are processed by $SCAN, other commands are not. |
LINEnnnn.JRn |
LJR |
• |
• |
• |
|
$D, $T, $DU are processed by $SCAN, other
commands are not. |
LINEnnnn.STn |
LST |
• |
• |
• |
DCT |
$D, $T, $DU are processed by $SCAN, other commands are not. |
LINEnnnn.SRn |
LSR |
• |
• |
• |
DCT |
$D, $T, $DU are processed by $SCAN, other commands are not. |
LOADMOD(modname) |
LOD |
• |
• |
• |
LMT |
|
LOGONn |
LOG |
• |
• |
• |
DCT |
$DU and $ADD. $S, $P, and $E are processed by $SCAN and MPS
tables but do not use LOG subtables. |
MASDEF |
MAS |
• |
• |
• |
|
|
MEMBER(x) |
MEM |
• |
• |
• |
QSE |
|
MEMBER(x) LASTART= |
STY |
|
• |
|
QSE |
|
MODULE |
MOD |
• |
• |
|
MIT |
USER/dynamic tables not allowed |
NETACCT |
NET |
• |
• |
|
|
|
NJEDEF |
NJE |
• |
• |
• |
|
|
NETSRV | NSV |▪|▪|▪| DCT |
NSV |
|
• |
• |
|• |
DCT |
NODE(nnnn) |
NOD |
• |
• |
• |
NIT |
$SN command not processed by $SCAN |
NODE(nnnn) AUTH= |
NAU |
• |
• |
• |
NIT |
|
NODE(nnnn) PASSWORD= |
NDP |
• |
• |
• |
NIT |
|
OFFn.device |
OFF |
• |
• |
• |
|
$DU. $S OFFn.device, $P OFFn.device not processed by $SCAN |
OFFn.JR |
OJR |
• |
• |
• |
DCT |
$DU. $S OFFn.JR, $P OFFn.JR not processed by $SCAN |
OFFn.JT |
OJT |
• |
• |
• |
DCT |
$DU. $S OFFn.JT, $P OFFn.JT not processed by $SCAN |
OFFn.JT MOD= |
OJM |
• |
• |
• |
DCT |
|
OFFn.SR |
OSR |
• |
• |
• |
DCT |
$DU. $S OFFn.SR, $P OFFn.SR not processed by $SCAN |
OFFn.ST |
OST |
• |
• |
• |
DCT |
$DU. $S OFFn.ST, $P OFFn.ST not processed by $SCAN |
OFFn.ST MOD= |
OSM |
• |
• |
• |
DCT |
|
OFFLOADn |
OFL |
• |
• |
• |
DCT |
$DU. $S, $P, and $Z not processed by $SCAN |
OPTSDEF |
OPD |
• |
• |
• |
|
|
OUTCLASS(n) |
SCT |
• |
• |
• |
SCAT |
|
OUTDEF |
OUT |
• |
• |
• |
|
|
OUTPRTY(n) |
OPY |
• |
• |
• |
|
|
PATH(x) |
PTH |
|
• |
|
NIT |
|
PATH(x) VIA |
VIA |
|
• |
|
NITP |
Individual path element |
PCEDEF |
PCD |
• |
• |
|
|
|
PCE |
PCC |
|
• |
• |
PTAB |
|
PCE COUNT= |
PCN |
|
• |
|
PTAB |
|
PCE DETAILS= |
PDT |
|
• |
|
PTAB |
|
PRINTDEF |
PTD |
• |
• |
• |
|
|
PRINTDEF SETPAGE= |
SEP |
• |
• |
• |
|
|
PROCLIB |
PRL |
• |
• |
• |
|
$ADD, $DEL |
PROCLIB DD= |
PDD |
• |
• |
• |
PAD |
$ADD, $DEL |
PRTnnnn |
PRT |
• |
• |
• |
DCT |
$B, $C, $E, $F, $I, $N, $P, $S, $Z are not processed
by $SCAN |
PRTnnnn FSSINFO= |
PRF |
• |
• |
• |
DCT |
$d only |
PUNnn |
PUN |
• |
• |
• |
DCT |
$B, $C, $E, $F, $I, $N, $P, $S, $Z are not processed by $SCAN |
PUNCHDEF |
PUD |
• |
• |
|
|
|
RDI |
RDI |
|
• |
• |
DCT |
|
REDIRECT |
RED |
• |
• |
• |
CRE |
$ADD |
Rnnnn.device |
RDV |
• |
• |
• |
|
$B, $C, $E, $F, $I, $N, $P, $S, and $Z are not processed by
$SCAN |
Rnnnn.PRm |
RPR |
• |
• |
• |
DCT |
$B, $C, $E, $F, $I, $N, $P, $S, and $Z are not processed by
$SCAN |
Rnnnn.PUm |
RPU |
• |
• |
• |
DCT |
$B, $C, $E, $F, $I, $N, $P, $S, and $Z are not processed by
$SCAN |
Rnnnn.RDm |
RRD |
• |
• |
• |
|
$B, $C, $E, $F, $I, $N, $P, $S, and $Z are
not processed by $SCAN |
Rnnnn.CON |
RCN |
|
• |
|
DCT |
|
RDRnn |
RDR |
• |
• |
• |
DCT |
$C, $P, $S, $Z are not processed by $SCAN |
RDRnn AUTH= |
RAU |
• |
• |
• |
DCT |
Also RDI AUTH= and Rn.RDn AUTH= |
RECVOPTS(type) |
RCV |
• |
• |
• |
RVS |
|
REQJOBID |
RQJ |
• |
• |
• |
|
|
RMT(nnnn) |
RMT |
• |
• |
• |
RAT |
$DU. $S, $P commands are processed by $SCAN and MPS tables
but do not use the RMT subtables |
SMFDEF |
SMF |
• |
• |
• |
|
|
SOCKET |
SCK |
|
• |
• |
• |
SCK |
SPOOL |
SPL |
|
• |
|
DAS |
$D, $S, $P, $Z |
SPOOL UNITDATA= |
VUN |
|
• |
|
DAS |
|
SPOOLDEF |
SPD |
• |
• |
• |
|
|
SPOOLDEF FENCE= |
FEN |
• |
• |
• |
z |
|
SPOOLDEF TGSPACE= |
TGS |
• |
• |
• |
|
|
SSI(nnn) |
SSI |
• |
• |
• |
|
|
SUBNET(xxxxx) |
SUB |
|
• |
|
NSACT |
|
SUBTDEF |
SBD |
• |
• |
• |
|
|
TPDEF |
TPD |
• |
• |
• |
|
|
TPDEF BSCBUF= |
BSC |
• |
• |
• |
|
|
TPDEF SNABUF= |
SNA |
• |
• |
• |
|
|
TPDEF SESSIONS= |
SES |
|
• |
|
|
|
TRACE(nnn) |
TRI |
• |
• |
|
|
$S, $P commands are processed by $SCAN |
TRACEDEF |
TRC |
• |
• |
• |
|
|
TRACEDEF LOG= |
TLG |
• |
• |
• |
|
|
TRACEDEF STATS= |
STA |
• |
|
|
|
|
ZAPJOB ZBJ= |
INIT |
• |
|
|
|
ZAPJOB command and init stmt |
|