First using the PIPE utility run the following commands to reblock the VMARC file,
then use VMARC to unpack STDTOOLS.VMARC
into the files of: VMTOOLSA.VMARC, VMTOOLSB.VMARC, [VMTOOLSC.VMARC if professional version]
and OPER291.VMARC.
The default PIPE separation character is the |.
(Note that Pipelines is standard part of VM/CMS).
PIPE ( SEP | ) < PROPPACK VMARC A | FBLOCK 80 00 | > TEMP VMARC A F 80
VMARC UNPK TEMP VMARC A (REPLACE
Now that you have the archive files VMTOOLSA, VMTOOLSB [, VMTOOLSC ]
and OPER291 you should now obtain a R/W link to
the VMTOOLS 1192 disk, access it as "D",
the VMTOOLS 2192 disk, access it as "E";
[the VMTOOLS 3192 disk, access it as "F";]
then copy
the VMTOOLSA VMARC file to the D-disk,
the VMTOOLSB VMARC to the E-disk,
[the VMTOOLSC VMARC to the F-disk].
LINK VMTOOLS 1192 1192 MR
[ Note: the VMTOOLS 2192 disk, accessed as "E" is reserved for "sensitive" executables that you
may want only certain users to have access.]
ACCESS 1192 D
COPYFILE VMTOOLSA VMARC A = = D (OLDDATE REPLACE
LINK VMTOOLS 2192 2192 MR
ACCESS 2192 E
COPYFILE VMTOOLSB VMARC A = = E (OLDDATE REPLACE
LINK VMTOOLS 3192 3192 MR
ACCESS 3192 F
COPYFILE VMTOOLSC VMARC A = = F (OLDDATE REPLACE
[ Note: the VMTOOLS 3192 disk is used in the professional version only.]
Next get a R/W link to the OPERATOR 291 disk, access it as "O", then copy the OPER291 VMARC file to the O-disk.
LINK OPERATOR 291 291 MR
ACCESS 291 O
COPYFILE OPER291 VMARC A = = O (OLDDATE REPLACE
Next, access each of the three disks temporarily as your "A-disk" and unpack the archive files.
First for the VMTOOLSA archive file that resides on the 1192 disk, run:
ACC 1192 A
VMARC UNPK VMTOOLSA VMARC A (REPLACE
Now do the same for the VMTOOLSB archive file that resides on the 2192 disk, run:
ACC 2192 A
VMARC UNPK VMTOOLSB VMARC A (REPLACE
If the professional version then do the same for the VMTOOLSC archive file that resides on the 3192 disk, run:
ACC 3192 A
VMARC UNPK VMTOOLSC VMARC A (REPLACE
Now to the same for the OPER291 archive file, run:
ACC 291 A
VMARC UNPK OPER291 VMARC A (REPLACE
Lastly re-access you 0191 disk as "A" and access the VMTOOLS 1192 as "D", the VMTOOLS 2192 as "E", [,VMTOOLS 3192 as "F"] and OPERATOR as "O"
ACC 0191 A
ACC 1192 D
ACC 2192 E
[ACC 3192 F]
ACC 0291 O
The common user files are now on your D-disk (1192).
The sensitive executables are on your E-disk (2192).
[The professional extension executables are on your F-disk (3192).]
Programs used directly by the VM Programmable Operator will now reside on your O-disk (291).
The OPER291 installation package contain a set of VM Programmable Operator (PROP) "filters", a PROP Routing Table (SAMPLE RTABLE,), and maintenance execs that will reside on OPERATOR's 0291 (O-Disk). These will be accessible only by the OPERATOR virtual machine and the maintaining systems programmer.
The VMTOOLS installation packages contain a set of common use and support execs
that will reside on VMTOOLS' 1192 (D-Disk). This disk should be available READ-ONLY to only
authorized users, such as Operations and Technical Support staff. Accessed as their 1192 (D-disk).
The last set of installation materials is presented in the below items. They consist of
the VM Directory models for each of the virtual machines that will have to be installed or
modified, along with examples of their recommended PROFILE EXECs.
The steps of the installation process will be:
The following are the components found on the VMTOOLS 1192 disk that drive the OPERLOG Viewer:
IBM's VM Programmable Operator is detailed in:[
CMS Planning and Administration]
When you are satisfied with the product's performance please review the licensing options
for our professional version and make your purchase. You will be provided with a download
link to your licensed copy.
[Return to Index]
Copyright © Cullen Programming 1987, 2021 All Rights Reserved
Create the VM Directory PROFILE for SERVMACH.
Create the VM Directory entries for the machines VMTOOLS, VMTOD, VMCRON, LOGLOPER and CONSOLES.
Ensure that you (the systems programmer) have WRITE (MR) access to the OPERATOR 291 disk as your
O-disk. Ensure that you have WRITE (MR) access to VMTOOLS 1192 disk as your D-Disk, and to
VMTOOLS 2192 as your E-Disk.
Create a 5 cylinder 291 disk for OPERATOR.
Populate the VMTOOLS 1192 disk with the files found in the VMTOOLSA VMARC package.
Populate the VMTOOLS 2192 disk with the files found in the VMTOOLSB VMARC package.
[If the professional version, Populate the VMTOOLS 3192 disk with the files found in the VMTOOLSC VMARC package.]
Populate the OPERATOR 0291 disk with the files found in the OPER291 VMARC package.
Ensure that your system has a proper SYSTEM NETID S that is seen by all. Found on the 0190-disk.
Tailor a PROP ROUTING TABLE using your system NETWORK ID and designated authorized users.
**IMPORTANT** Change the READ password on OPERATOR's 191 disk to ALL.
Modify the OPERATOR PROFILE EXEC A on its 191 disk.
IPL the OPERATOR virtual machine and allow it to run its PROFILE EXEC.
It should recognize the SYSTEM NETID and find its xxxxxx RTABLE O, then initiate and disconnect.
Logon to the LOGLOPER virtual machine and allow it to run its PROFILE EXEC. You should provide
some program like PerfKit or the PROPROLL MODULE A to provide a rolling master console for messages
that have passed VM/PROP filtering. Otherwise you will receive raw CP Messages.
Update the AUTOLOG1's PROFILE EXEC so that the logical operator LOGLOPER starts at a fixed
console address automatically.
OPERLOG Viewer Component List
OPERLOG   EXEC
OPERUPLG   XEDIT
OPERONRS   XEDIT
OPERLOGO   XEDIT
OPERTAIL   XEDIT
OPERUPTL   XEDIT
OPERWHTS   XEDIT
OPEREPOS   XEDIT
OPERSHRI   XEDIT
OPERWAIT   XEDIT
ONLY   XEDIT
A basic VM Programmable Operator Routing Table example
*
* See included file CPVMSTAN RTABLE on the OPERATOR 0291-Disk
*
VM Real Operator Virtual Machine Directory Entry
USER OPERATOR SECRET 64M 64M ABCDEFG
ACCOUNT 2 OPERATOR
XAUTOLOG AUTOLOG1 OP1 MAINT
IUCV ANY MSGLIMIT 4096
IUCV ALLOW
OPTION MAINTCCW MAXCONN 512
MACH ESA
IPL 190 PARM AUTOCR
SPOOL 000C 2540 READER *
SPOOL 000D 2540 PUNCH A
SPOOL 000E 1403 A
CONSOLE 009 3215 T
LINK MAINT 0190 0190 RR
LINK MAINT 019D 019D RR
LINK MAINT 019E 019E RR
LINK VMTOOLS 1192 1192 RR
LINK VMTOOLS 2192 2192 RR
LINK VMTOOLS 3192 3192 RR
LINK TCPMAINT 0592 0592 RR
MDISK 191 3390 3301 005 540RES MR ALL WRITE
MDISK 291 3390 9810 010 540RES RR ALL
PROFILE EXEC for the OPERATOR virtual machine
/* */
TRACE OFF
'CP SP CON CLOSE START CONSOLES'
'CP SET RUN ON'
'CP TERM MODE VM'
'CP TERM MORE 0 0'
'CP TERM HOLD OFF'
'CP EMSG ON'
'CP SET MITIME OFF'
'CP SET PF11 RETRIEVE FORWARD'
'CP SET PF12 RETRIEVE BACKWARD'
'CP SET PF23 RETRIEVE FORWARD'
'CP SET PF24 RETRIEVE BACKWARD'
'ACC 1192 D'
'ACC 2192 E'
'ACC 3192 F'
'ACC 0291 B'
'ACC 0592 T'
'IDENTIFY (LIFO'
PARSE UPPER PULL VMUSER . LOCNODE . RSCSNAME
'VMFCLEAR'
say '---------------------------------------------------------------------'
SAY 'Control being given to the Programmable Operator Facility at 'LOCNODE
say ' '
SAY 'PROP will initialize and then DISCONNECT from this terminal.'
say '---------------------------------------------------------------------'
say ' '
'CP SLEEP 2 SEC'
'EX PROPST 'LOCNODE' DISC '
'EXECIO 1 CP (STRING QUERY 'userid()
PARSE PULL . . where .
if where = "DSC" then
do
NOP
end
else
do
say ' '
say '---------------------------------------------------------------------'
say '...Warning, ...Warning, ...Warning,...'
say ' '
SAY 'Control has been taken from the Programmable Operator Facility at 'LOCNODE
say ' '
SAY 'To re-initialize PROP type PROFILE. '
say '---------------------------------------------------------------------'
say ' '
end
'CP SET RUN ON'
'CP SP CON CLOSE'
return 0
Logical Operator Virtual Machine Directory Entry
USER LOGLOPER SECRET 64M 64M G
INCLUDE SERVMACH
ACCOUNT 1234 LOGLOPER
MDISK 191 3390 9802 2 540RES MR READ WRITE
PROFILE EXEC for the Logical Operator (LOGLOPER) virtual machine
/* */
TRACE OFF
'CP SP CON CLOSE START CONSOLES'
'CP SET RUN ON'
'CP TERM MODE VM'
'CP TERM MORE 0 0'
'CP TERM HOLD OFF'
'CP EMSG ON'
'CP SET PF11 RETRIEVE FORWARD'
'CP SET PF12 RETRIEVE BACKWARD'
'CP SET PF23 RETRIEVE FORWARD'
'CP SET PF24 RETRIEVE BACKWARD'
'ACC 1192 D'
'ACC 2192 E'
'ACC 3192 F'
'ACC 0592 T'
'IDENTIFY (LIFO'
PARSE UPPER PULL VMUSER . LOCNODE . RSCSNAME
PROFILE EXEC for the AUTOLOG1 virtual machine
/* */
TRACE off
'CP SPOOL CONS START CONSOLES'
conaddr = '0200'
Address Command
'CP SET PF12 RET'
'ACC 1192 D'
'ACC 2192 E'
'ACC 3192 F'
state = 'NULL'
do i = 1 while state <> 'DSC'
'EXECIO 1 CP (STRING QUERY OPERATOR'
PARSE UPPER PULL . . state .
If state = 'DSC' then
do
leave i
end
else
do
'EXECIO 1 CP (STRING SLEEP 5 SEC'
iterate
end
end /* DSCWAIT */
'CP ENABLE ' conaddr
'CP XAUTOLOG LOGLOPER ON ' conaddr
'CP SLEEP 8 SEC'
'CP ENABLE ALL'
'CP SMSG OPERATOR CMD PROP123H'
'CP SET SIGNAL SHUTDOWN 300'
'CP XAUTOLOG VMTOD'
'CP XAUTOLOG CONSOLES'
'CP XAUTOLOG VMCRON'
:
:
: (any other statements that you use)
:
:
return 0
Model Directory entry for the Human Operators CMS Userids
USER OP1 SECRET 64M 64M G
ACCOUNT 5000 CPUSER
IPL CMS PARM AUTOCR
MACH XA
CONSOLE 0009 3215 T
SPOOL 000C 2540 READER *
SPOOL 000D 2540 PUNCH A
SPOOL 000E 1403 A
LINK MAINT 0190 0190 RR
LINK MAINT 019D 019D RR
LINK MAINT 019E 019E RR
LINK VMTOOLS 1192 0192 RR
LINK VMTOOLS 2192 2192 RR
LINK TCPMAINT 0592 0592 RR
MDISK 0191 XXXX AUTOG 2 USER MR RPASS WPASS
VM Service Machine Profile Directory Entry
PROFILE SERVMACH
ACCOUNT 8000 ZSERVER
IPL CMS PARM AUTOCR
IUCV ANY
IUCV ALLOW
MACH XA
XAUTOLOG OPERATOR AUTOLOG1
SPOOL 000C 2540 READER *
SPOOL 000D 2540 PUNCH A
SPOOL 000E 1403 A
CONSOLE 009 3215 T
LINK MAINT 0190 0190 RR
LINK MAINT 019D 019D RR
LINK MAINT 019E 019E RR
LINK TCPMAINT 0592 0592 RR
LINK VMTOOLS 1192 1192 RR
LINK VMTOOLS 2192 2192 RR
LINK VMTOOLS 3192 3192 rr
VMTOD Time-of-Day Virtual Machine Directory Entry
USER VMTOD SECRET 32M 32M G
INCLUDE SERVMACH
ACCOUNT 1234 VMTOD
OPTION MIH
MDISK 191 3390 9800 1 540RES MR READ WRITE
PROFILE EXEC for the VMTOD virtual machine
/* */
TRACE OFF
say date() TIME()
'SET RDYMSG SMSG'
'SET EMSG ON'
'CP SET RUN ON'
'CP AUTOREAD OFF'
'CP TERM HILIGHT ON'
'CP SCREEN VMOUT GREEN NONE INAREA YELLOW NONE'
'CP SCREEN STATAREA PINK NONE CPOUT TUR NONE INREDISP WHIT NONE'
'CP SP 00C CL *'
'CP SP PRT * '
'ACC 1192 D '
'ACC 2192 E '
'ACC 3192 F '
'ACC 0592 T '
'SET RETRIEVE MAX'
'CP SET PF11 RECEIVE = A A(REP#X A A'
'CP SET PF12 RETRIEVE BACKWARD'
'CP SET PF23 RETRIEVE FORWARD'
'CP SET PF24 RETRIEVE BACKWARD'
'CP SPOOL CONS START CONSOLES'
TODEMIT
RETURN 0
VMCRON Virtual Machine Directory Entry
USER VMCRON SECRET 32M 32M GD
INCLUDE SERVMACH
ACCOUNT 1234 VMCRON
OPTION MIH
MDISK 191 3390 9801 1 540RES MR READ WRITE
PROFILE EXEC for the VMCRON virtual machine
/* */
TRACE OFF
say date() TIME()
'SET RDYMSG SMSG'
'SET EMSG ON'
'CP SET RUN ON'
'CP AUTOREAD OFF'
'CP TERM HILIGHT ON'
'CP SCREEN VMOUT GREEN NONE INAREA YELLOW NONE'
'CP SCREEN STATAREA PINK NONE CPOUT TUR NONE INREDISP WHIT NONE'
'CP SP 00C CL *'
'CP SP PRT * '
'ACC 1192 D '
'ACC 2192 E '
'ACC 3192 F '
'ACC 0592 T '
'SET RETRIEVE MAX'
'CP SET PF11 RECEIVE = A A(REP#X A A'
'CP SET PF12 RETRIEVE BACKWARD'
'CP SET PF23 RETRIEVE FORWARD'
'CP SET PF24 RETRIEVE BACKWARD'
'CP SPOOL CONS START CONSOLES'
INTVCMDS
RETURN 0
CONSOLES Virtual Machine Directory Entry
USER CONSOLES SECRET 64M 64M G
INCLUDE SERVMACH
ACCOUNT 1234 CONSOLES
MDISK 191 3390 9820 30 540RES MR READ WRITE
*
*
PROFILE EXEC for the CONSOLES virtual machine
/* */
TRACE OFF
'CP SPOOL CONS START SERVCONS'
say userid() date() TIME()
'SET RDYMSG SMSG'
'SET EMSG ON'
'CP SET RUN ON'
'CP AUTOREAD OFF'
'CP TERM HILIGHT ON'
'CP SCREEN VMOUT GREEN NONE INAREA YELLOW NONE'
'CP SCREEN STATAREA PINK NONE CPOUT TUR NONE INREDISP WHIT NONE'
'CP SP 00C CL *'
'CP SP PRT * '
'ACC 1192 D '
'ACC 2192 E '
'SET RETRIEVE MAX'
'CP SET PF11 RECEIVE = A A(REP#X A A'
'CP SET PF12 RETRIEVE BACKWARD'
'CP SET PF23 RETRIEVE FORWARD'
'CP SET PF24 RETRIEVE BACKWARD'
'EXECIO 1 CP (STRING QUERY 'userid()
PARSE PULL . . WHERE .
If WHERE = "DSC" then
do
CONSOLES
queue 'CP logoff'
end
else
do
end
'CP SPOOL CONS CLOSE'
RETURN 0
VMTOOLS Virtual Machine Directory Entry
USER VMTOOLS NOPASS 32M 32M G
INCLUDE SERVMACH
MDISK 1192 3390 10000 10 540RES MR ALL
MDISK 2192 3390 10000 10 540RES MR
MDISK 3192 3390 10000 10 540RES MR
[Return to Cullen Programming HomePage]