LICENSES.COM submittet by: Eddi Blenkers, WestLB Düsseldorf Bugreports, suggestions, cheers, fool tomatoes and flames to: PSI%45505018005::BLENKERS (german DECUS-VAX). Abstract: --------- Digital "enhanced" VMS with a License Management Facility (LMF) since VMS 5.0. Large sites can easily collect hundreds of PAKs, especially for dozens of workstations. The $LICENSE-command supports only limited queries on the database. Especially it is not possible to extract a certain license to re- register it in another license database, e. g. in case a station is switched from a test- to production-cluster. Licenses, that are no longer needed, can only be disabled, but not deleted. So, a reorganization of the license database is only possi- ble by reentering all PAKs into an empty database. Description: ------------ This commandfiles creates a RdB-Database and allows to register PAKs in the database. Database and storage area will reside in one directory with the commandfile, independed from your default-directory. To manage multiple databases, create a directory for each database and copy the commandfile according to your needs. The commandfile itself is menudriven and should be selfexplanatory. You have to create a storage area first and the table LICENSES second. Both actions can be done via the menu. Pressing EOF (^Z or F14) will bring you back to the menu or DCL. While registering a PAK you can take the default-value from the last PAK with a , enter a new value or override the default to a null-string, according to VMSLICENSE.COM, by entering a backslash: \ The commandfile recognises the keywords REGISTER and EXTRACT as P1 and will GOTO the appropriate routines and return to DCL, when an EOF is encountered. The REGISTER-option will register a PAK only to the RdB-Table. EXTRACT will only produce a commandfile to register the license in a .LDB-database. Copy the commandfile to the desired node and run it. If necessary, the license will be restricted to certain nodes. Extract accesses the LICENSES-table using a view with somewhat tricky Edit- and Header-Strings. The database can be accessed through interactive SQL, so there is no other program provided to access the database. Examples to access the database: 1. Find all SUPs and Temps: SQL> SELECT AUTH_NUMBER, PRODUCT_NAME FROM LICENSES cont> WHERE UNITS = 0; 2. Find all disk-server licenses: SQL> SELECT AUTH_NUMBER, NODELIST FROM LICENSES cont> WHERE PRODUCT_NAME = "VAX-VMS" AND ACTIVITY = "B"; 3. Modify a licenses to include another node: SQL> UPDATE LICENSES SET NODELIST = "NODE01, NODE02, NODE03" cont> WHERE PRODUCT_NAME = "VPA" AND AUTH_NUMBER = "AWS-ZK-88326-90"; (of course, the authorization number is unique and therefor enough to identify the license) Apollogises & Restrictions: --------------------------- The program requires SQL, that seems to be part of RdB-Developer, but not RdB-Runtime license. The commandfile has been tested under VMS 5.3-2 with RdB 3.1B, mana- ging more than 200 PAKs. By now, there are no errors found. The creation of the storage area and the table-setup (constraints ...) might be somewhat strange, but I have no experiences with RdB at all, so I took the examples from the book and modified them to my needs. Don't hesistate to change the commandfile to your needs or for a better performance. The query on the view PAKS will cause an access violation in SQL, if the output is directed to a terminal set to 80 columns width (RdB 3.1B). If you run the commandfile SQL$DATABASE will be defined to LICENSES.RDB. Any previous value of SQL$DATABASE will be superseded. PAK-registration has been done via READ SYS$COMMAND to allow Oracle- or Ingres- or Whatever-Users to setup their own syntax. Any checks will be done by SQL during the INSERT-statement. This was a) quick and b) can be requires no compilers, multiple files and other restrictions. Feel free to write a high-level program to check, if the PAK exists, after the authorization number was provided by the operator, enter an editmode, if the PAK exists ... The commandfile supports only PAKs, but no ammandment keys. I haven't seen one before, but you should be able to include product ammandments e. g. by adding a coloumns to hold a keyword for the DCL-LICENSE command. Related Documentation: ---------------------- - VMS License Management Utility Manual (part of VMS-documentation) - SQL-Reference Manual (part of RdB-documentation) Have fun !