HP OpenVMS Systems Documentation

Content starts here

Compaq ACMS for OpenVMS
ADU Reference Manual


Previous Contents Index


APPLICATION LOGICALS Clause (Application)

Defines one or more process logical names for the process in which an application execution controller runs.

Format



Parameters

logical-name

A 1- to 255-character logical name. If the logical name contains nonalphabetic characters or more than 31 characters, enclose the string in quotation marks (" "). You can substitute a logical name for all or part of a file specification.

equivalence-name

The 1- to 255-character equivalence name for the logical name in the logical name table.

If the name contains nonalphabetic characters or more than 31 characters, enclose it in quotation marks (" ").

logical-string

A 1- to 255-character logical string.

equivalence-string

The 1- to 255-character equivalence string for the logical name in the logical name table.

Clause Default

ACMS defines SYS$DISK, SYS$LOGIN, SYS$SCRATCH from the default directory. This clause is optional.

Notes

Setting up logical names for an application execution controller keeps the device and directory assignments for an application execution controller independent of physical file specifications.

ACMS sets up process logical names when the application execution controller is started.

You can include more than one APPLICATION LOGICALS clause in an application definition. You can also include more than one logical name assignment in a single APPLICATION LOGICALS clause.

If a logical name is defined as a system logical, or as a group logical for the user name under which the application execution controller runs, you do not need to define the name in an APPLICATION LOGICALS clause.

The logical names you assign with the APPLICATION LOGICALS clause are available only to the application execution controller, not to any server processes.

ACMS uses the APPLICATION LOGICALS clause to find task group database files (.TDB) named in the application definition, request libraries (.RLB), DECforms form files (.FORM and.EXE), and message files (.EXE) named in the task group definitions for that application.

The APPLICATION LOGICALS clause does not support logical search lists.


Example


APPLICATION LOGICAL NAMES ARE
   EMPLOYEE = "ACMS$SAMPLE:EMPLOYEE.ADF"
   ACMS$EXC_WSC_POOLSIZE  = 50
   ACMS$EXC_WS_POOLSIZE   = 500
   ACMS$EXC_TWSC_POOLSIZE = "ACMS$EXC_<appl_name>_TWSC_SIZE"
   ACMS$EXC_TSC_POOLSIZE  = "ACMS$EXC_<appl_name>_TWS_SIZE";

APPLICATION LOGICAL NAME IS EMPLOYEE = "ACMS$SAMPLE:EMPLOYEE.ADF";
APPLICATION USERNAME IS DIAL;
TASK GROUPS ARE
  TERMINAL_GROUP  : TASK GROUP IS "SYS$ACMS:TERM.TDB";
  DATAENTRY_GROUP : TASK GROUP IS "SYS$ACMS:DATA.TDB";
END TASK GROUPS;
END DEFINITION;
      

This example redefines ACMS$SAMPLE:EMPLOYEE.ADF, so you can use the logical name EMPLOYEE in its place, and defines workspace pool size logical names. In this example, <appl_name> is the name of the application. See Compaq ACMS for OpenVMS Managing Applications for information about defining the logical names for sizing workspace pools.


APPLICATION NAME TABLES Clause (Application)

Specifies one or more logical name tables the application execution controller can use.

Format



Parameters

logical-name-table

An identifier that is a valid OpenVMS logical name table.

quoted-string

A character sequence that begins and ends with a double quote (") and contains a string of 1 to 255 characters.

Clause Default

If the APPLICATION NAME TABLES clause is not specified, the default is the definition of LNM$FILE_DEV in the system logical name directory table. This clause is optional.

Notes

ACMS uses the APPLICATION NAME TABLES clause to define the process logical name LNM$FILE_DEV, the logical name which translates to a search list of logical name tables used whenever file specifications or device names are translated by RMS or the I/O services. This name must translate to a search list of one or more logical name tables. You must specify the order in which they are to be searched when files specifications are translated. The application execution controller defines LNM$FILE_DEV in its process logical name directory table.

The application execution controller searches these tables at run time for logicals in the order specified, and returns the first match found, if any.

The order in which you specify the logical name tables is used to define a search list. If you specify this clause, you must also specify the LNM$PROCESS, LNM$JOB, and LNM$SYSTEM logical name tables that the application execution controller can use. Logical names within these tables can be dynamically changed.

See Compaq ACMS for OpenVMS Managing Applications for further information about translating and retranslating logical name tables on a distributed ACMS system, and OpenVMS documentation for more information on logical names and logical name tables.


Example


REPLACE APPL UPDATE_APPL
    USERNAME IS JONES;
    APPLICATION NAME TABLES ARE
        LNM$PROCESS,
        LNM$GROUP,
        APPL$LOG_TABLE,
        LNM$SYSTEM;
      

The APPLICATION NAME TABLES clause in this example specifies that the application execution controller for the application UPDATE_APPL can use the logical name tables LNM$PROCESS, LNM$GROUP, APPL$LOG_TABLE, and LNM$SYSTEM.


APPLICATION USERNAME Clause (Application)

Assigns an OpenVMS user name under which the application execution controller runs.

Format

APPLICATION USERNAME IS user-name ;


Parameter

user-name

A valid OpenVMS user name that ACMS assigns to the process in which the application execution controller runs. The user name can have up to 12 alphanumeric characters, including underscores (_).

Clause Default

This clause is required.

Notes

The user whose user name you include with USERNAME must also be an authorized OpenVMS user.

Special privileges or quotas are required for an application execution controller. Assign them to the user name under which the application is running. See Compaq ACMS for OpenVMS Managing Applications for information on these privileges and quotas.

If the ACMS/INSTALL command is used to move an application database file to ACMS$DIRECTORY, the application user name in that application database must match the one defined in the application authorization file, ACMSAAF.DAT. For information on the Application Authorization Utility, see Compaq ACMS for OpenVMS Managing Applications.


Examples

#1

APPLICATION USERNAME IS ACMS_MANAGER;
TASK GROUPS ARE
  ADD_GROUP    : TASK GROUP IS "SYS$ACMS:ADD.TDB";
  DELETE_GROUP : TASK GROUP IS "SYS$ACMS:DELETE.TDB";
END TASK GROUPS;
END DEFINITION;
      

This application definition assigns the OpenVMS user name ACMS_MANAGER to the process in which the application execution controller runs. The user name contains 12 characters, including an underscore. Include the APPLICATION USERNAME clause in each application definition.

#2

USERNAME RESOURCES_21;
TASK GROUPS ARE
  TERMINAL_GROUP  : TASK GROUP IS "SYS$ACMS:TERM.TDB";
  DATAENTRY_GROUP : TASK GROUP IS "SYS$ACMS:DATA.TDB";
END TASK GROUPS;
END DEFINITION;
      

An application user name you assign to the application execution controller can contain numbers, letters, and underscore characters. This example assigns the OpenVMS user name RESOURCES_21 to the process under which the applications execution controller runs. The clause omits the optional keywords APPLICATION IS.


AUDIT Clause (Application, Server, Task)

Writes application, server, and task events to the ACMS Audit Trail Log.

Format

[NO ] AUDIT ;


Clause Default

The NO AUDIT clause is the default. This clause is optional.

Notes

You can audit application, server, and task events in any combination. You can audit task events without auditing either application or server events. Similarly, you can audit server or application events without auditing task events.

Because auditing can take up large amounts of disk space, you may want to restrict use of the Audit Trail Log by auditing individual servers or tasks.

For more information about the Audit Trail, read Compaq ACMS for OpenVMS Managing Applications.


Application Clause Example

#1

AUDIT;
APPLICATION USERNAME IS PERSONNEL;
TASK GROUPS ARE
  PERSONNEL_GROUP  : TASK GROUP FILE IS "SYS$SAMPLE:PERSONNEL.TDB";
  DEPARTMENT_GROUP : TASK GROUP FILE IS "SYS$SAMPLE:DEPART.TDB";
END TASK GROUPS;
END DEFINITION;
      

By default, ACMS does not audit the events of an application. You must include the AUDIT clause in the application definition for the Audit Trail to audit information about application events.

In this example, ACMS audits application events but does not audit task or server events unless auditing is explicitly specified at the task and server levels, as in the following examples.


Server Subclause Examples

#1

USERNAME IS DEPARTMENT;
SERVER DEFAULT IS
  AUDIT;
END SERVER DEFAULT;
TASK GROUP IS
  DEPARTMENT_GROUP : TASK GROUP IS "SYS$SAMPLE:DEPART.TDB";
END TASK GROUP;
END DEFINITION;
      

By default, ACMS does not audit the activities of servers. To audit all servers defined in a task group, include the AUDIT subclause in a SERVER DEFAULTS clause as in this example. Use of the AUDIT subclause in a SERVER DEFAULTS clause changes the ACMS default from NO AUDIT to AUDIT. When you use the SERVER DEFAULTS clause, put the clause before the TASK GROUPS clause with which you want the new defaults associated.

#2

USERNAME IS DEPARTMENT;
SERVER DEFAULT IS
  AUDIT;
END SERVER DEFAULT;
TASK GROUP IS
  DEPARTMENT_GROUP : TASK GROUP IS "SYS$SAMPLE:DEPART.TDB";
END TASK GROUP;
SERVER ATTRIBUTE IS
  DEPART_SERVER : SERVER DEPART_SERVER IN DEPARTMENT_GROUP;
                  NO AUDIT;
END SERVER ATTRIBUTE;
END DEFINITION;
      

You can use the AUDIT and NO AUDIT clauses in the SERVER DEFAULTS clause to change defaults for all servers defined in a task group. You can also define AUDIT and NO AUDIT with the SERVER ATTRIBUTES clause to change defaults on a server-by-server basis. This example first uses the SERVER DEFAULTS clause to change the ACMS default from NO AUDIT to AUDIT for all of the servers in the DEPARTMENT_GROUP task group. Second, because you do not want to audit one of the servers, namely DEPART_SERVER, in the DEPARTMENT_GROUP task group, define the NO AUDIT subclause for that server in the SERVER ATTRIBUTES clause.


Task Subclause Example

#1

APPLICATION USERNAME IS PERSONNEL;
TASK DEFAULT IS
  AUDIT;
END TASK DEFAULT;
TASK GROUPS ARE
  PERSONNEL_GROUP  : TASK GROUP FILE IS "SYS$SAMPLE:PERSONNEL.TDB";
  DEPARTMENT_GROUP : TASK GROUP FILE IS "SYS$SAMPLE:DEPART.TDB";
END TASK GROUPS;
END DEFINITION;
      

By default, ACMS does not audit the events of tasks. In this example, you change the default from NO AUDIT to AUDIT for all tasks in both the task groups, PERSONNEL_GROUP and DEPARTMENT_GROUP.


CANCELABLE Subclause (Task)

Specifies whether or not a task can be canceled by a terminal user or task submitter while the task is executing. Use a CANCELABLE subclause to control how a terminal user or task submitter can exit a task. If a task is defined as NOT CANCELABLE, it cannot be canceled with a [Ctrl/Y] or [Ctrl/C] while it is executing.

Format



Clause Default

The CANCELABLE subclause is optional.

All tasks can be canceled by default. If you do not specify a cancelable attribute or default in either the task or the application definition, a task can be canceled by a task submitter.


Notes

When a task calls another task using the task-call-task feature, the cancelable attribute of the currently executing task determines whether the tasks can be canceled.

If a task that cannot be canceled calls a task that can be canceled, both tasks are canceled if you press [Ctrl/Y] or [Ctrl/C] while the cancelable task is executing. If a cancelable task calls a task that cannot be canceled, neither task is canceled if you press [Ctrl/Y] or [Ctrl/C] while the task that cannot be canceled is executing.


Example


TASK DEFAULTS ARE
    CANCELABLE;
    LOCAL;
END DEFAULTS;
      

This TASK DEFAULTS clause specifies that tasks in the application can be canceled unless they are explicitly specified as not cancelable in their task definitions or in a TASK ATTRIBUTES clause.


CREATION DELAY Subclause (Server)

Controls how long ACMS waits before beginning to create new server processes when tasks are waiting for a server process.

Format

CREATION DELAY IS seconds ;


Parameter

seconds

The number of seconds ACMS waits before beginning to create new server processes. The minimum value is 0 seconds.

Clause Default

If the CREATION DELAY clause is not specified, ACMS uses the default creation delay value of 10 seconds.

Notes

If there are tasks waiting for server processes and fewer than the maximum number of server processes are running, ACMS waits a certain time and then begins to create server processes to satisfy the need.

ACMS does not monitor the queue of waiting tasks continuously; there is a monitoring interval that is set with the SERVER MONITORING INTERVAL application clause. The actual range of the creation delay at run time includes the monitoring interval. For example, if the definition specifies a creation delay of 10 seconds, and the monitoring interval is 5 seconds, the actual delay is between 10 and 15 seconds.

If you use a CREATION DELAY parameter of 0 seconds, ACMS creates a server process whenever it detects a waiting task.


Example


SERVER DEFAULTS ARE
  NO AUDIT;
  MAXIMUM SERVER PROCESSES ARE 5;
  MINIMUM SERVER PROCESS IS 5;
  CREATION DELAY IS 15;
  CREATION INTERVAL IS 0;
END SERVER DEFAULTS;
      

In this example, the CREATION DELAY subclause is used in the SERVER DEFAULTS clause; all servers defined in the task use the CREATION DELAY value of 15 seconds. ACMS waits 15 seconds before beginning to create new server processes.


CREATION INTERVAL Subclause (Server)

Controls the intervals at which ACMS creates new server processes.

Format

CREATION INTERVAL IS seconds ;


Parameter

seconds

The number of seconds ACMS waits between new server process creations. The minimum value is 0 seconds.

Clause Default

If the CREATION INTERVAL clause is not specified, ACMS uses the default creation interval value of 10 seconds.

Notes

If tasks are waiting for server processes and fewer than the maximum number of server processes are running, ACMS creates server processes one by one until either of the following occurs:
  • No tasks are waiting
  • The maximum number of server processes is reached

ACMS does not monitor the queue of waiting tasks continuously; a monitoring interval is set with the SERVER MONITORING INTERVAL application clause. The actual range of the time between server process creations at run time includes the monitoring interval. For example, if the definition specifies a creation interval of 10 seconds, and the monitoring interval is 5 seconds, the actual interval is between 10 and 15 seconds.

If you specify a creation interval of 0 seconds, ACMS creates as many servers as are needed to serve all tasks waiting, up to the maximum, at the instant it discovers servers are needed.


Example


SERVER ATTRIBUTES ARE
  PERSONNEL_SERVER:  CREATION DELAY IS 15;
                     CREATION INTERVAL IS 5;
                     MAXIMUM SERVER PROCESSES IS 4;
END SERVER ATTRIBUTES;
      

In this example, the CREATION INTERVAL subclause is used in the SERVER ATTRIBUTES clause; PERSONNEL_SERVER uses the CREATION INTERVAL value of 5 seconds. ACMS creates new instances of PERSONNEL_SERVER every 5 seconds until either no tasks are waiting for server processes, or the number of instances of PERSONNEL_SERVER reaches the maximum server processes value.


DEFAULT APPLICATION FILE Clause (Application)

Defines the application database file (.ADB) that ACMS uses when you do not name an application database file with the BUILD command.

Format

DEFAULT APPLICATION FILE IS application-database-file;


Parameter

application-database-file

The file specification of the file that the BUILD command uses for the application database. You can define a full file specification, an identifier, or a logical name. Enclose a full file specification or a logical name that exceeds 31 characters in quotation marks (" "). The default file type is .ADB. If you do not include a device or directory, ADU uses your default device and directory when you build the application.

Clause Default

If you name an application database file on the BUILD command when you build an application, ACMS uses that name instead of an application database file you name with the DEFAULT APPLICATION FILE clause. This clause is optional.

If you do not name an application database file on the BUILD command when you build an application, and you do not name a database file with the DEFAULT APPLICATION FILE clause, ACMS uses the full given name, including dollar signs ($) and underscores (_), for the default database file name.


Note

Do not include more than one DEFAULT APPLICATION FILE clause in an application definition.

Examples

#1

DEFAULT APPLICATION FILE IS "EMPLOYEE.ADB";
USERNAME IS EMPLOYEE;
TASK GROUP IS
  PERSONNEL_GROUP : TASK GROUP FILE IS "SYS$SAMPLE:PERSONNEL.TDB";
END TASK GROUP;
END DEFINITION;
      

By naming the application database file EMPLOYEE.ADB, you do not have to include the output file specification for the application database file when you build the application. If you include the file type, you must enclose the file specification in quotation marks (" ").

#2

APPLICATION FILE DEPART;
USERNAME IS DEPART;
TASK GROUP IS
  DEPARTMENT_GROUP : TASK GROUP FILE IS "SYS$SAMPLE:DEPART.TDB";
END TASK GROUP;
END DEFINITION;
      

This example is similar to the first example, except here you shorten the DEFAULT APPLICATION FILE clause by leaving out the keywords DEFAULT IS. They are optional keywords. Also, DEPART is a valid identifier, which means you do not need to enclose it in quotation marks.


Previous Next Contents Index