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
IDMS - All supported Releases
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. 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> MSEND.
A CLIST is created by adding a module in IDD in the DEFAULT DICTIONARY 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 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.