-
Notifications
You must be signed in to change notification settings - Fork 2
promis
You should first save the current contents of AEQ_SSP: in another area as you will be overwriting its contents.
Download the source code.
The package consists of all ASCII files. These files have been tar'ed and gzip'ed into a binary file called code.tgz, which was created on a UNIX (Linux) system using the command:
tar -cvzf code.tgz code
Copy the binary package to a temporary directory and unpack it.
tar -xvzf code.tgz
Ftp the files to your VMS system.
cd code
ftp <vms_host_name>
Username: xxxxxx
Password: xxxxxx
ftp> cd aeq_ssp:
ftp> prompt
ftp> ascii
ftp> mput
Using WINZIP shareware or other compression utility, unpack the ascii files into a temporary directory.
Using an transfer method that does not mess up the linefeed characters in the ascii file, transfer the files to the VMS aeq_ssp directory.
Note: Using the standard FTP utility that comes with WIndows does not properly transfer ascii files to UNIX or VMS systems, linefeed characters are lost. Reflections FTP may not have this problem.
Run the install utility which patches the PROMIS source files. The patch program should work for PROMIS systems 5.2 through 5.6.
The installation procedure "INSTALL.COM" patches your PROMIS source files. It makes assumptions about what the sources should look like. If any of your PROMIS sources are not what is expected, the patch will fail on that source file. You can easily create an additional patch file for any failures.
For example, there are two patch files for UAF:AUTH.FOR, which are AUTH.PAT and AUTH.PAT2. The patch program tries each patch file until it is successful.
It is recommended that you patch each of the PROMIS files one at a time.
$ set def AEQ_SSP:
$ @INSTALL AEQSTART
$ @INSTALL AEQSTOP
$ @INSTALL ABORTSTEP
$ @INSTALL AEQSSP
$ @INSTALL AUTH
$ @INSTALL ENTERDATA
$ @INSTALL EXPUTIL
$ @INSTALL GETTOKEN
$ @INSTALL INFO
$ @INSTALL INQUIRE
$ @INSTALL LOTTRMENU
$ @INSTALL OPERMENU
$ @INSTALL SEARCH
$ @INSTALL TKIN
$ @INSTALL TRACKOUT
$ @INSTALL UAFDEF
In the file, there are 3 segments:
BS,BE - segment that must match before the patch insert
IS,IE - the inserted segment
ES,EE - segment that must match after the insert
For example, the file ABORTSTEP.PAT patches the file LOT:ABORTSTEP.FOR.
>BS
! Prompt operator for optional step comment.
call Gut_Check (Gut_Currentim (time))
!TXT COMMENTFORABORTSTEP 'Enter comment for aborted step'
call Lot_AddCommnt_GetComments (actl,
&
Txt_Fetch(TX_COMMENTFORABORTSTEP),
& time)
>BE
>IS
!B-HS!
call aeqSsp_autoMan_abort ( lot_lotCom_userId )
!E-HS!
>IE
>ES
! Get the time stamp
call Gut_Check (Gut_Currentim (time) )
>EE
Although a full build could be submitted at this time, it is wise to check that the compile and link phases will proceed without and errors. Perform the following steps:
$ set def aeq_ssp:
$ set ver
$ @build_hs
If you saw no errors, then a full PROMIS build should work.
A full build is necessary to integrate all the HS and automation components.
The file aeq_ssp:config.com must be created from a template and then edited to setup the automation directories and logicals. The instructions are included in the file.
$ set def aeq_ssp
$ copy config_template.com config.com
$ edit config.com
...just follow the instructions in the file.
This procedure is simple in concept. Edit the file "/etc/services" and insert the line:
autorouter 7001/tcp& # autorouter`
In actuality, the "/etc/services" file is not apparent on a VMS system. Its existence and location depends on which TCP/IP stack service you have installed.
- Wollongong
Modify the file "SERVICES" in twg$common:[netdist.etc] - UCX
$ UCX set service autorouter -/port=7001/user=\*/proc=""/file=nl:
Start up your PROMIS system.
Initially, hyperScript is only available on the superuser account.
Type '##' to see if it was built into PROMIS.
For other PROMIS accounts, set the "hs" flag under PROMIS user authorization.
In the AEQ_SSP directory, copy the file CONFIG_TEMPLATE.COM to CONFIG.COM, then edit CONFIG.COM and customize it for your environment.
The CONFIG.COM file consists of parallel arrays of identifiers that you must set the environemnt variables. The default set of arrays are:
$ list_user = "/PROMISOPS/PROMISDEV/PROMISTST/"
$ list_node = "/*/*/*/"
$ list_where = "/PRIMARY/PRIMARY/PRIMARY/"
$ list_system = "/OPS/DEV/TST/"
$ list_run = "/AEQ_SSP:/AEQ_SSP:/AEQ_SSP:/"
$ list_log = "/AEQ_SSP:/AEQ_SSP:/AEQ_SSP:/"
$ list_det = "/tp_info:tp_semy/tp_info:tp_canon/tp_info:tp_semy/
$ list_auto = "/YES/NO/YES/"
$ list_fifo = "/mbx/mbx/mbx/"
$ list_router = "/router/router/router/"
These are the names of the PROMIS account that can run automation. Each entry represents one host, thus If there are more than one PROMIS account on a specific host, you must only choose one.
$ ! There can only be one AUTOROUTER per node.
$ ! This command procedure assumes two nodes, production and development
$ ! Add more nodes as needed.
$ !
$ ! 1\. Allowed run account
$ list\_user = "/PROMISOPS/PROMISDEV/PROMISTST/"
$
These are the hosts names in which automation is enabled. Put a * if the host name does not matter.
$ ! 2\. Allowed node name. Put "\*" if node name does not matter.
$ list\_node = "/\*/\*/\*/"
If automation is only allowed on PRIMARY or SECONDARY, then this should be specified, otherwise put a *..
$ ! 3\. Primary or Secondary. Put "\*" if doesn't matter.
$ list\_where = "/PRIMARY/PRIMARY/PRIMARY/"
The name of the PROMIS System in which automation is enabled, otherwise put a *..
$ ! 4\. Allowed promis system name. Put "\*" if promis name does not
matter.
$ list\_system = "/OPS/DEV/TST/"
The directory in which the HS programs (.HYP and .SCR) files will reside, as well as .COM procedures to start up TP HS processes. It should be GROUP read/execute.
It is recommened that you don't use AEQ_SSP for the AUTORUN directory. Also, separate production from development.
$ ! 5\. AutoRun directory, where services are found, including autorouter
$ defaultRun = "''f$trnlnm(""AEQ\_SSP"")'" - "\]" + ".RUN\]"
$ list\_run = "/AEQ\_SSP:/AEQ\_SSP:/AEQ\_SSP:/"
This directory is where the log files go. It should be GROUP write so that PROMIS users can write to it.
$ ! 6\. AutoLog directory.
$ defaultLog = "''f$trnlnm(""AEQ\_SSP"")'" - "\]" + ".LOG\]"
$ list\_log = "/AEQ\_SSP:/AEQ\_SSP:/AEQ\_SSP:/"
These are the TP HS programs that should startup when automation starts up. Separate each process with a ":". Each automation environement can have its own unique set of TP processes.
$ ! 7\. List of detached services to start up. Separate with ":"
$ defaultDet = "::"
$ list\_det = "/''defaultDet'/''defaultDet'/''defaultDet'/"
After automation starts up, is AutoMan enabled or disabled. This switch controls that initial state.
$ ! 8\. Whether OPTION\_AUTO should be set to YES or NO
$ default\_auto = "NO"
$ list\_auto = "/YES/NO/YES/"
The prefix of the VMS mailbox is often specified as "MBX", although something like "FA" would also be an acceptable choice. Don't make the prefix too large.
$ ! 9\. Fifo directory. In VMS, this is the prefix for mailbox names".
$ defaultFifo = "mbx"
$ list\_fifo = "/''defaultFifo'/''defaultFifo'/''defaultFifo'/"
This determines the name of the "root" HS. The name "router" is historically what has been used, but any name is acceptable.
$ ! 10\. Route node name. In VMS, this is the next part of the mailbox
name, the root node
$ defaultRouter = "router"
$ list\_router = "/''defaultRouter'/''defaultRouter'/''defaultRouter'/"
This directory is where the unsolicited SECS message files go. It should be GROUP write so that PROMIS users can write to it.
$ ! 6\. AutoSpool directory.
$ defaultLog = "''f$trnlnm(""AEQ\_SSP"")'" - "\]" + ".SPOOL\]"
$ list\_log = "/AEQ\_SSP:/AEQ\_SSP:/AEQ\_SSP:/"
The first files you will copy to AUTORUN is the command procedures and hs for the root hs process. If you named your root hs "fa", then copy aeq_ssp:router.com to AUTORUN:.COM and aeq_ssp:router.hyp to AUTORUN:fa.hyp.
After editing AUTORUN:FA.COM, it should look something like this:
$ ! AEQ_SSP:FA.COM
$ !
$ ! Usage: Runs the ROOT which routes AbInitio Protocol messages
$ !
$ set ver
$ set noon
$
$ if ( f$search ( "aeq_ssp:config.com" ) .nes. "" )
$ then
$ @aeq_ssp:config
$ else
$ @aeq_ssp:config_template
$ endif
$
$ if ( .not. allowAutoRouter ) then $ exit
$
$RESTART:
$ set proc/prio=6
$ hse :==$aeq_ssp:hss
$ sh time
$ hse -r -t fa -n autorouter -f autorun:fa.hyp -l autolog:router_start.log
$ show time
$ !!!goto RESTART
$
$ define/group/nolog OPTION_AUTO NO
$
$ exit
$ set def aeq_ssp
$ @autostart