It is possible to initiate DCMT or DCUF commands as part of the process of signing on to an IDMS system.
This is accomplished using profiles with keywords and/or Clists.
It is possible to execute DCMT or DCUF commands when a user signs on to a CV. As part of signon processing, the security system will attempt to locate a system profile and a user profile for the user unless directed not to by a USRPROF=OFF or SYSPROF=OFF specification in the system #SECRTT. Within a system or user profile, the effect of some DCUF commands can be achieved by using keywords; actual DCMT or DCUF commands can be executed by invoking a CList.
Keywords can be embedded directly into a system or user profile; section 10.1 of the CA IDMS r16 System Tasks and Operator Commands manual contains a list of the available keywords. These include DICTNAME, DBNAME, LOADLIST, PROFILE, etc. Specifying these keywords will perform the same function as the similar DCUF commands:
DCUF SET DICTNAME, DCUF SET DBNAME, DCUF SET LOADLIST, DCUF SET PROFILE,etc. The syntax for specifying keywords within a profile is shown in this example:
CREATE USER PROFILE SAMPPROF
ATTRIBUTES DICTNAME= SYSDIRL DBNAME=SYSTEM....
If you specifically need to execute DCMT or DCUF commands, or need to perform a function for which there is no keyword, then you can include the keyword CLIST in the profile, which will cause the named CList to be executed at signon. Within a CList, you can embed DCMT commands to be executed; the syntax to do so is shown in this example:
ADD MODULE SAMP_CLIST
LANGUAGE IS DC
MODULE SOURCE FOLLOWS
DCMT VARY PRINTER <printer-id> DESTINATION <dest-id> ONLINE
DCMT VARY SYSTRACE ON ENTRIES 99
DCUF SET TABLE <keys-table>
A CList is created by adding a module in IDD with LANGUAGE IS DC, as in the example above. It is this LANGUAGE clause which identifies the module as a Clist. Nothing additional needs to be done to make it functional; no compile is required. Once the ADD MODULE ... LANGUAGE IS DC is added to the dictionary, then define or alter the PROFILE associated with the userid in OCF to include the clause CLIST='clist name'. Make certain that to define the CLIST in the system default dictionary, so that it can be found before the signon is complete. A single Clist can be added to any number of profiles, and a single profile can be associated with any number of userids.