7. The Code Management System (CMS)
DEC’s Code Management System (CMS) is a library system that stores source files, keeps track of changes made to the files, and records user access to the files. The primary purpose of CMS is to prevent multiple users from altering the same file at the same time.
Many files mentioned in this document are “protected” by CMS, for example panels, help files, access files, display files, SLCCOM COM files, database files, and software source code. For many of these a COM file exists to enter all the CMS commands for you, but even in those instances, it’s nice to know what’s going on--it might come in handy if Something Bad happens, or merely just help you appreciate that a COM file exists so you don’t have to type all this nonsense every time.
A concise table can be found in Appendix A which gives all the easy-to-forget information about CMS protected files (library name, reference directory, and edit com file). Not all the necessary privileges to modify files within all these libraries are granted to operators’ accounts when they are created. If you’re trying to reserve or replace files and it tells you that you don’t have privilege, talk to your supervisor or Nancy Spencer to get the privilege granted to you.
7.1 The SLCCMS
Note to the reader: this section contains advanced background information for many previous sections of this document and is an excellent reference in case “Something Bad Happens” and you need to give CMS commands directly to SLCCMS. It will be expanded in the future. If you only plan to edit a file (panel, access, database, display, or other CMS protected entity which has its own EDIT COM file), you don’t need the information in this section. The next revision of this document will contain a vast expansion of this CMS information.
7.1.1 What is SLCCMS?
SLCCMS is our interface to the VAX Code Management System (CMS) and can only be accessed from MCCDEV.
7.1.2 Starting CMS
To start CMS, from MCCDEV type slccms. This will give you a CMS prompt. Also all of the following commands can be typed at the DCL prompt without running SLCCMS by typing:
>slccms command
If you have lots of CMS commands to type, it’s easier to run SLCCMS and exit or CTRL-Z when you’re done.
Within CMS help works and gives you the standard list of choices and specifies the commands qualifiers and parameters. You can also get this outside of CMS at any DCL prompt by typing help cms.
The first thing you need to do is to select the library you’re going to be working in:
SlcCMS>set library CMS_lib_name
The libraries for the examples above are:
CMS_ACCESS | Access Files |
CMS_COM_GEN | General SLCCOM COM Files |
CMS_COM_SCP | SLCCOM COM files for the SCP |
CMS_DBSFILE | Database (DBS) Files |
CMS_DSP | Display (DSP) Files |
CMS_HELP_DISPHELP | SCP Help Files |
CMS_SLCPNL | SCP Panel Files |
REF_ACCESS | Access Files |
SLCCOM | Both GEN and SCP COM files |
REF_DBSFILE | DBS Files |
REF_DSP | DSP Files |
REF_HELP_DISPHELP | SCP Help Files |
REF_SLCPNL or SLCPNL | Panel Files |
7.1.3 Showing a CMS Protected File's history
Within SLCCMS, once you’ve set the appropriate library just type:
SLCCMS> show history file_name
This will list for you all the versions of the file, who acted on it, and what action (reservation, creation, replacement, etc.) was taken. This is useful if your desired file is already reserved by someone, and you want to get in touch with them.
7.2 CMS Files Summary Table
The following table summarizes the vital information about commonly modified files protected by CMS.
CMS Library | Source Code Directory | Edit COM File | Type of File |
---|---|---|---|
CMS_ACCESS | REF_ACCESS | EDITACCESS | Access Files |
CMS_COM_GEN | SLCCOM | EDITCOM_GEN | General COM Files |
CMS_COM_SCP | SLCCOM | EDITCOM_SCP | SCP COM Files |
CMS_DBSFILE | REF_DBSFILE | EDITDBS | Database (DBS) Files |
CMS_DSP | REF_DSP | EDITDSP | Display (DSP) Files |
CMS_HELP_DISPHELP | REF_HELP_DISPHELP | EDITHELP | SCP Help (HLP) Files |
CMS_MPG_BGRP | REF_MPG_BGRP | EDITBGRP | BGRP Files |
CMS_MPS_ALG_MPSL | REF_MPS_ALG_MPSL | EDITMPS | New MPS Algorithm (MPSL) files |
CMS_SLCPNL | REF_SLCPNL or SLCPNL | EDITP or EDITPNL | SCP Panel (PNL) files |
CMS_SLCTXT | SLCTXT | none | SCP Software |