Previous Topic: 9.4.2.2 VMTPARMS - Field Edit/Action Routine

Next Topic: 10. MODIFICATION

9.4.2.3 VMTPARM1 - Subordinate Action Routine


+----------+
| VMTPARM1 | Subordinate Action Routine
+----------+

VMTPARM1 is entered as an XEDIT profile when the user wishes
to edit JCL for data transfer or a select list for data.  On
entry, the passed parameters are parsed to determine the
group (CAVMACT, MONXA, ACCOUNT, POWER, ERDS, or NETDATA), and
type of edit (XFRJCL or SELECT).

Variables are initialized, depending on the group and type
specified.  For JCL files, no edit routines are provided; for
SELECT files, edit subroutines are identified for syntax
checking.  If VMTPARM1 was called with erroneous parameters,
VMTMSG is called with error code 37, and no further
processing is performed.  Otherwise, various COMMAND SETs are
issued to establish the edit screen display, and control is
turned over to XEDIT.

For SELECT files, hitting the PF key 4 (or PF key 16) causes
a reentry to VMTPARM1, and routine Edit.File is called with a
parameter indicating what group is to be checked for syntax.
This causes the appropriate edit subroutine (Edit.group) to
be called.


EDIT.  SUBROUTINES

Edit.File        Called when a syntax check of a SELECT file
                 is requested.  Each screen line is parsed to
                 determine an opcode and parameters.  Routine
                 OpCodeCheck is called to ensure that valid
                 opcodes have been specified.  If a bad
                 opcode is encountered, VMTMSG is called with
                 error code 39, and a count of bad lines is
                 incremented.  If the opcode is a comment, no
                 processing is performed.  If the opcode was
                 SELECT, EXCLUDE, or INCLUDE, the appropriate
                 Edit routine is called.

                 For the UNKNOWN opcode, a check is made for
                 a specification of SELECT or EXCLUDE.  Any
                 other specification is an error, and VMTMSG
                 is called with error code 41.  When
                 processing of all screen lines is complete,
                 if no bad opcodes were encountered, a
                 successful syntax message is issued via
                 VMTMSG.

                 Parameters (entry) -  Group name (ACCOUNT,
                 MONITOR, MONXA, POWER or NETDATA)

Edit.ACCOUNT     Called to check the syntax of a SELECT,
                 EXCLUDE, or INCLUDE statement.  Checks are
                 made for specifications of 0 through 9, C0,
                 C1, C2, C3, and  *.  Any other specification
                 indicates an error, and VMTMSG is called
                 with error code 42.  Additionally, the count
                 of bad lines is incremented by one.

Edit.CAVMACT     Called to check the syntax of a SELECT,
                 EXCLUDE, or INCLUDE statement.  Checks are
                 made for valid record class and code
                 combinations.  An error causes VMTMSG to be
                 called with error code 42, and the count of
                 bad lines is incremented by one.

Edit.MONXA       Called to check the syntax of a SELECT,
                 EXCLUDE, or INCLUDE statement.  Checks are
                 made for valid domain and record type
                 combinations.  An error causes VMTMSG to be
                 called with error code 42, and the count of
                 bad lines is incremented by one.

Edit.NETDATA     Called to check the syntax of a SELECT,
                 EXCLUDE, INCLUDE, NETSPY, or SYSID
                 statement.  Checks are made for valid domain
                 and record type combinations.  An error
                 causes VMTMSG to be called with error code
                 42, and the count of bad lines is
                 incremented by one.

Edit.POWER       Called to check the syntax of a SELECT,
                 EXCLUDE, or INCLUDE statement.  Checks are
                 made for valid domain and record type
                 combinations.  An error causes VMTMSG to be
                 called with error code 42, and the count of
                 bad lines is incremented by one.

OpCodeCheck      Checks SELECT file lines for valid opcodes.
                 The return code issued determines what type
                 of opcode was encountered.   Opcodes of    *
                 or ! indicate comments, and the return
                 code is set to 1.  Opcodes of SELECT,
                 EXCLUDE, or INCLUDE cause a return code of 2
                 to be set.  An opcode of UNKNOWN causes a
                 return code of 3 to be set.  Any other
                 opcode causes a return code of 0 to be set,
                 indicating an error condition.

                 Parameters (entry) - Opcode.

                 Returns - Return code indicating type of
                 opcode or error.