| Here is the new version of REMOVEISSUECMD.COM. It has been
tested very slightly. I have changed it to work for V5.4-3 and V5.5
of VMS only! No promisses on this procedure. One of the course developers
may wish to double check the procedure to make sure it works.
Todd
P.S. Next time you give out software, as a course file, that I wrote
let me know.
$ verify = f$verify(0)
$!
$! Command Procedure to Take out the ISSUE keyword from the
$! License Facility.
$!
$! Author: Todd Cohen @ACI
$! Version: VMS V5.4-3 or VMS V5.5
$!
$ SAY :== Write Sys$Output
$!
$ Type Sys$Input:
***************
** IMPORTANT **
***************
This command procedure will modify your DCLTABLES, to remove
the ISSUE keyword from the LICENSE command. If you decide after
running this procedure that you need the this functionality back.
You can restore the file from SYS$SHARE:DCLTABLES.OLD. But only
if you have not made any other changes to the DCLTABLES.EXE (i.e.
installing new software) since executing this command procedure.
$ Read/Prompt="Do you wish to continue [N]? " Sys$Command Answer -
/Time_Out=60/Error=Done
$ If ((.not. Answer) .or. (Answer .eqs. "")) Then Exit
$ Read/Prompt="Purge Old DCLTABLES.EXE after Applying Fix [Y]? " sys$command -
Answer /Time_Out=60/Error=Done
$!
$ version = f$extract(0,6,f$getsyi("VERSION"))
$ if version .eqs. "V5.5 " then goto v55
$ if version .eqs. "V5.4-3" then goto v543
$ Type Sys$Input
The command procedure has been tested under VMS V5.4-3 and V5.5.
It should not be run under any other version unless completely
tested. GOOD LUCK!
$ Goto Done
$v543:
$ CREATE LICENSE.CLD
$ DECK/DOLLAR="%%"
define verb LICENSE
image LMF
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
define type COMMAND_OPTIONS
keyword AMEND, syntax=AMEND_SYNTAX
keyword CANCEL, syntax=CANCEL_SYNTAX
keyword CREATE, syntax=CREATE_SYNTAX
keyword DISABLE, syntax=DISABLE_SYNTAX
keyword ENABLE, syntax=ENABLE_SYNTAX
keyword GENERATE, syntax=GENERATE_SYNTAX
keyword ISSUE, syntax=ISSUE_SYNTAX
keyword LOAD, syntax=LOAD_SYNTAX
keyword LIST, syntax=LIST_SYNTAX
keyword MODIFY, syntax=MODIFY_SYNTAX
keyword REGISTER, syntax=REGISTER_SYNTAX
keyword START, syntax=START_SYNTAX
keyword UNLOAD, syntax=UNLOAD_SYNTAX
define syntax UNLOAD_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
qualifier PRODUCER, default, value(default="DEC")
define syntax START_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier LOG, default
define syntax REGISTER_SYNTAX
!same
disallow DATE and VERSION
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
qualifier AUTHORIZATION, value(required)
qualifier ACTIVITY, value(required,type=TABLE_KEYWORDS)
qualifier AVAILABILITY, value(required,type=TABLE_KEYWORDS)
qualifier CHECKSUM, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, value(required)
qualifier PRODUCER, value(required)
qualifier TERMINATION, value(required,type=$datetime)
qualifier TOKEN, value(required)
qualifier UNITS, value(required,type=$number)
qualifier VERSION, value(required)
qualifier DATE, value(required,type=$datetime)
qualifier HARDWARE_ID, value(required)
qualifier OPTIONS, value(required,list,type=OPTIONS_KEYWORDS)
define syntax MODIFY_SYNTAX
!same
disallow INCLUDE and EXCLUDE
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
qualifier AUTHORIZATION, value(required)
qualifier COMMENT, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier EXCLUDE, value(required,list)
qualifier INCLUDE, value(required,list)
qualifier ISSUER, value(required)
qualifier PRODUCER, value(required)
qualifier UNITS, value(type=$number)
define syntax LIST_SYNTAX
!same
disallow FULL and BRIEF or HISTORY and BRIEF
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT"
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier OUTPUT, default, value(default="SYS$OUTPUT",type=$outfile)
qualifier HISTORY
qualifier DATE, value(type=$datetime)
qualifier BRIEF
qualifier FULL
qualifier AUTHORIZATION, value(required)
qualifier VERSION, value(required)
qualifier ISSUER, value(required)
qualifier PRODUCER, value(required)
define syntax LOAD_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT"
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier LOG, default
qualifier PRODUCER, value(required)
!***
define syntax ISSUE_SYNTAX
!same
!*** parameter P1, label=COMMAND, prompt="COMMAND", value(required,
!*** type=COMMAND_OPTIONS)
!*** parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
!*** qualifier AUTHORIZATION, value(required)
!*** qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
!*** qualifier ISSUER, value(required)
!*** qualifier OUTPUT, default, value(default="SYS$OUTPUT",type=$outfile)
!*** qualifier PRODUCER, value(required)
define syntax GENERATE_SYNTAX
image PAK$DIR:PAK$USER.EXE
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
define syntax ENABLE_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
qualifier AUTHORIZATION, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, value(required)
qualifier PRODUCER, value(required)
define syntax DISABLE_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
qualifier AUTHORIZATION, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, value(required)
qualifier PRODUCER, value(required)
define syntax CREATE_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
define syntax CANCEL_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
qualifier AUTHORIZATION, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, value(required)
qualifier PRODUCER, value(required)
qualifier TERMINATION, value(required,type=$datetime)
define syntax AMEND_SYNTAX
!same
disallow DATE and VERSION
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
qualifier ACTIVITY, value(required,type=TABLE_KEYWORDS)
qualifier AUTHORIZATION, value(required)
qualifier AVAILABILITY, value(required,type=TABLE_KEYWORDS)
qualifier CHECKSUM, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier HARDWARE_ID, value(required)
qualifier ISSUER, value(required)
qualifier OPTIONS, value(required,list,type=OPTIONS_KEYWORDS)
qualifier PRODUCER, value(required)
qualifier TERMINATION, value(required,type=$datetime)
qualifier TOKEN, value(required)
qualifier UNITS, value(required,type=$number)
qualifier VERSION, value(required)
qualifier DATE, value(required,type=$datetime)
define type OPTIONS_KEYWORDS
keyword NO_SHARE
keyword MOD_UNITS
define type TABLE_KEYWORDS
keyword A
keyword B
keyword C
keyword D
keyword E
keyword F
keyword G
keyword H
keyword I
keyword J
keyword K
keyword L
keyword M
keyword N
keyword O
keyword P
keyword Q
keyword R
keyword S
keyword T
keyword U
keyword V
keyword W
keyword X
keyword Y
keyword Z
keyword CONSTANT, value(type=$number)
%%
$ goto finish
$v55:
$ CREATE LICENSE.CLD
$ DECK/DOLLAR="%%"
define verb LICENSE
image LMF
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
define type COMMAND_OPTIONS
keyword AMEND, syntax=AMEND_SYNTAX
keyword CANCEL, syntax=CANCEL_SYNTAX
keyword COPY, syntax=COPY_SYNTAX
keyword CREATE, syntax=CREATE_SYNTAX
keyword DELETE, syntax=DELETE_SYNTAX
keyword DISABLE, syntax=DISABLE_SYNTAX
keyword ENABLE, syntax=ENABLE_SYNTAX
keyword ISSUE, syntax=ISSUE_SYNTAX
keyword GENERATE, syntax=GENERATE_SYNTAX
keyword LOAD, syntax=LOAD_SYNTAX
keyword LIST, syntax=LIST_SYNTAX
keyword MODIFY, syntax=MODIFY_SYNTAX
keyword MOVE, syntax=MOVE_SYNTAX
keyword REGISTER, syntax=REGISTER_SYNTAX
keyword START, syntax=START_SYNTAX
keyword UNLOAD, syntax=UNLOAD_SYNTAX
define syntax UNLOAD_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required,list)
qualifier PRODUCER, default, placement=positional, value(default="DEC")
qualifier LOG
define syntax START_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier LOG, default
define syntax REGISTER_SYNTAX
!same
disallow DATE and VERSION or RELEASE_DATE and VERSION or DATE and
RELEASE_DATE
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
qualifier AUTHORIZATION, value(required)
qualifier ACTIVITY, value(required,type=TABLE_KEYWORDS)
qualifier AVAILABILITY, value(required,type=TABLE_KEYWORDS)
qualifier CHECKSUM, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, value(required)
qualifier PRODUCER, value(required)
qualifier TERMINATION_DATE, value(required,type=$datetime)
qualifier TOKEN, value(required)
qualifier UNITS, value(required,type=$number)
qualifier VERSION, value(required)
qualifier DATE, value(required,type=$datetime)
qualifier RELEASE_DATE, value(required,type=$datetime)
qualifier HARDWARE_ID, value(required)
qualifier OPTIONS, value(required,list,type=OPTIONS_KEYWORDS)
define syntax MOVE_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required,list)
parameter P3, label=DESTINATION_LDB, prompt="To", value(required,
type=$outfile)
qualifier AUTHORIZATION, placement=positional, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, placement=positional, value(required)
qualifier PRODUCER, placement=positional, value(required)
qualifier ALL, placement=positional
qualifier LOG
define syntax MODIFY_SYNTAX
!same
disallow any2( INCLUDE, EXCLUDE, RESERVE) or ADD and REMOVE or ADD and
not( INCLUDE or EXCLUDE or RESERVE) or REMOVE and not( INCLUDE
or EXCLUDE or RESERVE)
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required,list)
qualifier AUTHORIZATION, placement=positional, value(required)
qualifier COMMENT, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier EXCLUDE, value(required,list)
qualifier INCLUDE, value(required,list)
qualifier RESERVE, value(required,list)
qualifier ISSUER, placement=positional, value(required)
qualifier ALL, placement=positional
qualifier PRODUCER, placement=positional, value(required)
qualifier UNITS, value(type=$number)
qualifier ADD
qualifier REMOVE
qualifier TERMINATION_DATE, value(required,type=$datetime)
qualifier LOG
define syntax LIST_SYNTAX
!same
disallow FULL and BRIEF or HISTORY and BRIEF or BEFORE and SINCE
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(list)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier OUTPUT, default, value(default="SYS$OUTPUT",type=$outfile)
qualifier HISTORY
qualifier DATE, value(type=$datetime)
qualifier RELEASE_DATE, value(default="TODAY",type=$datetime)
qualifier TERMINATION_DATE, value(default="TODAY",type=$datetime)
qualifier MODIFIED_DATE, value(default="TODAY",type=$datetime)
qualifier BEFORE
qualifier SINCE
qualifier BRIEF
qualifier FULL
qualifier AUTHORIZATION, placement=positional, value(required)
qualifier VERSION, value(required)
qualifier ISSUER, placement=positional, value(required)
qualifier PRODUCER, placement=positional, value(required)
qualifier WIDTH, value(required)
define syntax LOAD_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(list)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier LOG, default
qualifier ISSUER, placement=positional, value(required)
qualifier PRODUCER, placement=positional, value(required)
qualifier AUTHORIZATION, placement=positional, value(required)
define syntax GENERATE_SYNTAX
image PAK$DIR:PAK$USER.EXE
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
define syntax ISSUE_SYNTAX
!*** !same
!*** parameter P1, label=COMMAND, prompt="COMMAND", value(required,
!*** type=COMMAND_OPTIONS)
!*** parameter P2, label=PRODUCT, prompt="PRODUCT", value(required,list)
!*** qualifier AUTHORIZATION, placement=positional, value(required)
!*** qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
!*** qualifier ISSUER, placement=positional, value(required)
!*** qualifier OUTPUT, default, value(default="SYS$OUTPUT",type=$outfile)
!*** qualifier PRODUCER, placement=positional, value(required)
!*** qualifier PROCEDURE
!*** qualifier ALL, placement=positional
!*** qualifier LOG
define syntax ENABLE_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required,list)
qualifier AUTHORIZATION, placement=positional, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, placement=positional, value(required)
qualifier PRODUCER, placement=positional, value(required)
qualifier ALL, placement=positional
qualifier LOG
define syntax DISABLE_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required,list)
qualifier AUTHORIZATION, placement=positional, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, placement=positional, value(required)
qualifier PRODUCER, placement=positional, value(required)
qualifier ALL, placement=positional
qualifier LOG
define syntax DELETE_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required,list)
qualifier AUTHORIZATION, placement=positional, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, placement=positional, value(required)
qualifier PRODUCER, placement=positional, value(required)
qualifier ALL, placement=positional
qualifier STATUS, default, nonnegatable, placement=positional, value(
list,default="ALL",type=STATUS_KEYWORDS)
qualifier LOG
define syntax CREATE_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
define syntax COPY_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required,list)
parameter P3, label=DESTINATION_LDB, prompt="To", value(required,
type=$outfile)
qualifier AUTHORIZATION, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, value(required)
qualifier PRODUCER, placement=positional, value(required)
qualifier ALL, placement=positional
qualifier LOG
define syntax CANCEL_SYNTAX
!same
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required,list)
qualifier AUTHORIZATION, placement=positional, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier ISSUER, placement=positional, value(required)
qualifier PRODUCER, placement=positional, value(required)
qualifier TERMINATION_DATE, value(required,type=$datetime)
qualifier ALL, placement=positional
qualifier LOG
define syntax AMEND_SYNTAX
!same
disallow DATE and VERSION or RELEASE_DATE and VERSION
parameter P1, label=COMMAND, prompt="COMMAND", value(required,
type=COMMAND_OPTIONS)
parameter P2, label=PRODUCT, prompt="PRODUCT", value(required)
qualifier ACTIVITY, value(required,type=TABLE_KEYWORDS)
qualifier AUTHORIZATION, value(required)
qualifier AVAILABILITY, value(required,type=TABLE_KEYWORDS)
qualifier CHECKSUM, value(required)
qualifier DATABASE, default, value(default="LMF$LICENSE",type=$file)
qualifier HARDWARE_ID, value(required)
qualifier ISSUER, value(required)
qualifier OPTIONS, value(required,list,type=OPTIONS_KEYWORDS)
qualifier PRODUCER, value(required)
qualifier TERMINATION_DATE, value(required,type=$datetime)
qualifier TOKEN, value(required)
qualifier UNITS, value(required,type=$number)
qualifier VERSION, value(required)
qualifier DATE, value(required,type=$datetime)
qualifier RELEASE_DATE, value(required,type=$datetime)
define type STATUS_KEYWORDS
keyword ACTIVE
keyword CANCELED
keyword DISABLED
keyword ISSUED
keyword EXTINCT
keyword ALL
define type OPTIONS_KEYWORDS
keyword NO_SHARE
keyword MOD_UNITS
keyword RESERVE_UNITS
define type TABLE_KEYWORDS
keyword A
keyword B
keyword C
keyword D
keyword E
keyword F
keyword G
keyword H
keyword I
keyword J
keyword K
keyword L
keyword M
keyword N
keyword O
keyword P
keyword Q
keyword R
keyword S
keyword T
keyword U
keyword V
keyword W
keyword X
keyword Y
keyword Z
keyword CONSTANT, value(type=$number)
%%
$!
$finish:
$!
$ Copy/Nolog SYS$SHARE:DCLTABLES.EXE SYS$COMMON:[SYSLIB]DCLTABLES.OLD;0
$ On Error Then Goto Oy_A_Problem
$!
$ Set Command /Delete=License
$ Set Command /Replace LICENSE.CLD -
/Table=Sys$Share:DCLTABLES.EXE -
/Output=SYS$COMMON:[SYSLIB]DCLTABLES.EXE;0
$ Set File/Protection=(S:RWED,O:RWED,G:RWED,W:RE) SYS$SHARE:DCLTABLES.EXE;0
$! Set File/Owner=[1,4] SYS$SHARE:DCLTABLES.EXE;0
$!
$ Install Replace SYS$COMMON:[SYSLIB]DCLTABLES.EXE
$ Set Command /Table=SYS$COMMON:[SYSLIB]DCLTABLES.EXE
$!
$ Delete/Nolog LICENSE.CLD;*
$!
$ SAY "%LICFIX-S-YIPPY, License Fix/Removal Completed Successfully"
$!
$ If ((Answer) .or. (Answer .eqs. "")) Then Purge/NoLog Sys$Share:DCLTABLES.*
$ Goto Done
$!
$Oy_A_Problem:
$ SAY "%LICFIX-E-PROBLEM, A Problem Has occured. Restoring DCLTABLES.EXE "
$ Copy/Log Sys$Share:DCLTABLES.OLD Sys$Common:[SYSLIB]DCLTABLES.EXE;0
$ Install Replace Sys$Share:DCLTABLES.EXE
$ Set Command /Table=Sys$Share:DCLTABLES.EXE
$ Delete/Nolog LICENSE.CLD;*
$!
$Done:
$ verify = f$verify(verify)
$Exit
|