# Compaq ACMS for OpenVMS
Getting Started

Previous | Contents | Index

# 13.4 Stopping the Application and the ACMS System

You can stop your application and the ACMS system with the ACMS/STOP command. Before you stop the system, however, issue the SHOW SYSTEM command to see if another person is using the ACMS system:

    $ ACMS/SHOW SYSTEM

The system displays the names of any active applications and any active users. If no other applications or users are active, issue both ACMS/STOP commands. Otherwise, issue only the STOP APPLICATION command, specifying the name of your application:

    $ ACMS/STOP APPLICATION EMPLOYEE_INFO_APPL_xxx
    $ ACMS/STOP SYSTEM
    $

ACMS waits until all active tasks have finished executing before it stops the application and the system.

Other ACMS operator commands allow you to display information about your ACMS system and perform application management functions. Compaq ACMS for OpenVMS Managing Applications contains a detailed discussion of ACMS operator commands.

# Part 3
AVERTZ Sample Application

This part provides an overview of the AVERTZ car rental sample application that ships with the Compaq ACMS for OpenVMS software kit.

# Chapter 14
Before You Begin

The AVERTZ car company is a fictional car rental company created to illustrate how transaction processing (TP) can solve a business problem. With AVERTZ, the business problem is how data entry personnel can quickly and efficiently create, access, and update car rental information.

As you walk through Part 3 and through the AVERTZ application, you can see different perspectives of a single TP system. This document contains the following three chapters, and is organized so that you can get AVERTZ up and running quickly:

- System Manager's View
  The system manager is concerned with the implementation and management of a TP application in a production environment (real use, as opposed to testing). For AVERTZ, the system manager must build the database and application, set up the AVERTZ environment, and manage users and devices.
- User's View
  The user is concerned with the business transaction that is taking place: namely, the rental of cars. The user could be a clerk who is taking a reservation from a customer, or tallying up the bill for a customer returning a rental; the user could also be a site manager who is responsible for the operations of a particular field unit.
- Behind the Scenes
  Application designers and developers work behind the scenes to create and modify running transaction processing applications. The designer is concerned with computerizing manual business transactions, or upgrading existing transaction processing systems. The developer is concerned with developing and testing the transaction processing application outlined by the designer.

# Chapter 15
System Manager's View

Since the AVERTZ application is already designed and developed, the first step you should take is to set up the application so that you can try it out. This chapter helps you build, install, and set up AVERTZ.

Note You cannot build the AVERTZ application under multiversion Rdb.

Before you follow the instructions in this chapter, check to make sure that the ACMS$DIRECTORY logical name is defined. Check this by typing the following command at your DCL prompt:

    $ SHOW LOGICAL ACMS$DIRECTORY

If the logical name is defined, you can proceed with the instructions in this chapter. If the logical name is not defined, you receive the following error message:

    %SHOW-S-NOTRAN, no translation for logical name ACMS$DIRECTORY

If you receive this error message, then before proceeding with the instructions in this document, you must follow the postinstallation instructions in Compaq ACMS for OpenVMS Version 4.4 Installation Guide.

Before you try to run the AVERTZ application, you must create a transaction log for DECdtm services. See Compaq ACMS for OpenVMS Version 4.4 Installation Guide for a description of how to do this.

# 15.1 Building the AVERTZ Application and Databases

The AVERTZ environment consists of the following directories:

- Source code
- Data dictionary
- AVERTZ databases (VEHICLE_RENTALS and VEHICLE_HISTORY)
- AVERTZ images

Before you can run the AVERTZ application, you must build the databases and application. To build the databases and application, log in to an OpenVMS account that has SYSPRV privileges, and enter the following command:

    $ SET PROCESS/PRIVILEGE=SYSPRV

If SYSPRV is not enabled for the account you use, ask your system manager to enable that privilege using the OpenVMS Authorize Utility.

Once your account has SYSPRV enabled, enter the following command to use the directory that contains the AVERTZ sources:

    $ SET DEFAULT ACMS$EXAMPLES

To build the AVERTZ application, use the AVERTZ_BLD.COM command procedure, which is in the ACMS$EXAMPLES directory. The AVERTZ_BLD.COM procedure:

- Creates the data dictionary and database directories
- Defines the fields and records in the data dictionary
- Compiles the tasks, form, server procedures, message file, menu, and application definition
- Builds the application (task group, application, servers, message file, and form)
- Installs the AVERTZ application (named VR_APPL) in the ACMS$DIRECTORY directory
- Builds the VEHICLE_RENTALS and VEHICLE_HISTORY databases

The AVERTZ_BLD.COM procedure requires additional files for successful execution. These files ship with the AVERTZ application, and are located in the ACMS$EXAMPLES directory:

- BUILD_APPLICATION.COM
- BUILD_FORM.COM
- BUILD_MENU.COM
- BUILD_MESSAGE_FILE.COM
- BUILD_TASK_GROUP.COM
- COMPILE_SERVER_PROC.COM
- COMPILE_TASKS.COM
- DEFINE_CDD_ENTITIES.COM
- LINK_SERVERS.COM
- COMPILE_SERVER_PROC.COM

When you run AVERTZ_BLD.COM, you are prompted to enter a directory location for the source code, the data dictionary, the databases, and the images.

The following example shows a sample walkthrough of AVERTZ_BLD.COM. You can follow the instructions by entering the commands and responses that are printed in red.

1. To start the build procedure, enter the following at the DCL prompt:

       $ @AVERTZ_BLD.COM

   AVERTZ_BLD.COM displays the default directory and then prompts you for the source directory:

       Enter name of the source directory for AVERTZ - e.g. disk1:[x.y]:

2. Enter the following:

       SYS$COMMON:[SYSHLP.EXAMPLES.ACMS]

   AVERTZ_BLD.COM prompts you for the data dictionary directory:

       Enter name of the directory for AVERTZ CDD dictionary - e.g. disk1:[x.y]:

3. Enter the following:

       SYS$COMMON:[SYSHLP.EXAMPLES.ACMS.DICTIONARY]

   AVERTZ_BLD.COM prompts you for the database directory:

       Enter name of the database directory for AVERTZ - e.g. disk1:[x.y]:

4. Enter the following:

       SYS$COMMON:[SYSHLP.EXAMPLES.ACMS.DATABASE]

   AVERTZ_BLD.COM asks you if you want the object and image files in the source directory.

       Place object and image files  in the source directory? [Y]/N:

5. Enter the following if you want the object and image files in the same directory as the source files:

       Y

   AVERTZ_BLD.COM then displays the directory specifications and asks you if they are correct.

       Are these directory names correct? - Y/[N]:

6. If the names are correct, enter Y:

       Y

   You are then asked if the CDD dictionary has been created. If this is your first time building the AVERTZ application, enter N.

       Have the CDD dictionary and its sub-directories been created?:

7. Enter the following if this is your first time running AVERTZ_BLD.COM:

       N

   AVERTZ_BLD.COM proceeds to create the directory structure for the data dictionary. Some informational messages are displayed and you are asked if you want to define the fields and records in the data dictionary.

       Define fields and records in CDD? - Y/[N]:

8. Enter the following:

       Y

   After you enter Y, AVERTZ_BLD.COM defines the fields and records and then asks you if you want to build the message file.

       Build message file? - Y/[N]:

9. Enter the following:

       Y

   AVERTZ_BLD.COM builds the message file and then asks you if you want to compile the tasks.

       Compile tasks? - Y/[N]:

10. Enter the following:

        Y

    AVERTZ_BLD.COM compiles the tasks, displaying informational messages, and then asks you if you want to build the task group.

        Build task group? - Y/[N]:

11. Enter the following:

        Y

    AVERTZ_BLD.COM builds the task group, displaying informational messages, and then asks if you want to build the menu.

        Build menu? - Y/[N]:

12. Enter the following:

        Y

    AVERTZ_BLD.COM builds the menu, displaying informational messages, and then asks you if want to build the application.

        Build application? - Y/[N]:

13. Enter the following:

        Y

    AVERTZ_BLD.COM builds the application and installs it in the ACMS$DIRECTORY directory. The procedure then asks if you want to build the form.

        Build form? - Y/[N]:

14. Enter the following:

        Y

    AVERTZ_BLD.COM compiles the form and then asks if you want to compile the server procedures.

        Compile server procedures? - Y/[N]:

15. Enter the following:

        Y

    AVERTZ_BLD.COM then displays a message stating that in order for the server procedures to compile successfully, the VEHICLE_RENTALS and VEHICLE_HISTORY databases have to be built. You are asked if they have been built.

        Have the VEHICLE_RENTALS and VEHICLE_HISTORY databases been built?:

16. Enter the following if this is your first time building the AVERTZ application:

        N

    AVERTZ_BLD.COM builds the two databases, and loads data into the VEHICLE_RENTALS database and compiles the server procedures. You are asked if you want to link the server procedures.

        Link servers? - Y/[N]:

17. Enter the following:

        Y

    AVERTZ_BLD.COM links the server procedures.

## 15.1.1 Build Options

This section is mainly for future reference, after you install and run AVERTZ. The information in this section allows you to change components of AVERTZ and incorporate those new components into AVERTZ.

Once you become familiar with the AVERTZ application, you might want to modify some of the source files for learning purposes. When you modify a source file, you must run the AVERTZ_BLD.COM procedure again to include the modified sources into the running application.

The AVERTZ_BLD.COM procedure takes either one parameter or no parameter. The parameters that the AVERTZ_BLD.COM accepts are listed in Table 15-1.

Table 15-1 Parameters for the AVERTZ Build Procedure
Parameter | Effect
--- | ---
COMPLETE | Executes the entire command procedure
CDD | Defines the fields and records in the data dictionary
MSG | Compiles and builds the message file
TASK | Compiles the task definitions
GROUP | Compiles and builds the task group
MENU | Builds the AVERTZ menu
APPL | Compiles and builds the application definition
FORM | Compiles and builds the form
PROC | Compiles the server procedures
LINK | Links the server procedures

If you specify COMPLETE as a parameter, AVERTZ recompiles the entire application. The other parameters allow you to selectively choose the components of the application that are recompiled and built into the running application. If you change a task definition, for example, you can run AVERTZ_BLD.COM with the TASK parameter by entering the following command:

    $ @AVERTZ_BLD.COM TASK

The command procedure compiles only the task definitions, and includes the new task definitions with the running application.

# 15.2 Setting Up the AVERTZ Environment

Before you can begin running the AVERTZ application, there is some "one time only" work that needs to be done. You must:

- Create AVERTZ accounts
- Define AVERTZ logical names

The next two sections describe how to do this work.

## 15.2.1 Creating AVERTZ Accounts

The system manager typically creates user accounts for the Application Execution Controller (a component of ACMS that coordinates task execution), and each of the servers (accounts that handle processing work). These accounts are created using the Authorize utility. The name of the Application Execution Controller for AVERTZ is AVERTZ_EXC; the names of the servers for AVERTZ are AVERTZ_LOG, AVERTZ_READ, and AVERTZ_UPD.

Your system manager should create the AVERTZ_EXC account with the following quotas and privileges:

    Maxjobs:         0  Fillm:       200  Bytlm:        50000
    Maxacctjobs:     0  Shrfillm:      0  Pbytlm:           0
    Maxdetach:       0  BIOlm:       190  JTquota:       1024
    Prclm:           2  DIOlm:        45  WSdef:          756
    Prio:            4  ASTlm:       392  WSquo:         1024
    Queprio:         0  TQElm:       221  WSextent:      4096
    CPU:        (none)  Enqlm:      2000  Pgflquo:      50000
    Authorized Privileges:
      GROUP GRPNAM NETMBX SETPRV TMPMBX
    Default Privileges:
      GROUP GRPNAM NETMBX TMPMBX

Your system manager should create the AVERTZ_LOG account with the following quotas and privileges:

    Maxjobs:         0  Fillm:       200  Bytlm:        50000
    Maxacctjobs:     0  Shrfillm:      0  Pbytlm:           0
    Maxdetach:       0  BIOlm:       190  JTquota:       1024
    Prclm:           4  DIOlm:        45  WSdef:          756
    Prio:            4  ASTlm:      1000  WSquo:         1024
    Queprio:         0  TQElm:       221  WSextent:      4096
    CPU:        (none)  Enqlm:      2000  Pgflquo:      60000
    Authorized Privileges:
      GROUP GRPNAM NETMBX SETPRV TMPMBX
    Default Privileges:
      GROUP GRPNAM NETMBX TMPMBX

Your system manager should create the AVERTZ_READ account with the following quotas and privileges:

    Maxjobs:         0  Fillm:       200  Bytlm:        50000
    Maxacctjobs:     0  Shrfillm:      0  Pbytlm:           0
    Maxdetach:       0  BIOlm:       190  JTquota:       1024
    Prclm:           2  DIOlm:        45  WSdef:          756
    Prio:            4  ASTlm:       392  WSquo:         1024
    Queprio:         0  TQElm:       221  WSextent:      4096
    CPU:        (none)  Enqlm:      2000  Pgflquo:      50000
    Authorized Privileges:
      GROUP GRPNAM NETMBX SETPRV TMPMBX
    Default Privileges:
      GROUP GRPNAM NETMBX TMPMBX

Your system manager should create the AVERTZ_UPD account with the following quotas and privileges:

    Maxjobs:         0  Fillm:       200  Bytlm:        50000
    Maxacctjobs:     0  Shrfillm:      0  Pbytlm:           0
    Maxdetach:       0  BIOlm:       190  JTquota:       1024
    Prclm:           7  DIOlm:        45  WSdef:          756
    Prio:            4  ASTlm:       392  WSquo:         1024
    Queprio:         0  TQElm:       221  WSextent:      4096
    CPU:        (none)  Enqlm:      2000  Pgflquo:      50000
    Authorized Privileges:
      GROUP GRPNAM NETMBX SETPRV TMPMBX
    Default Privileges:
      GROUP GRPNAM NETMBX TMPMBX

For the AVERTZ_EXC, AVERTZ_LOG, AVERTZ_READ, and AVERTZ_UPD user accounts, your system manager might need to increase some of the SYSGEN parameters. Your system manager should check the values of the following parameters whose names have the PQL_ prefix --- in particular, the PQL_MENQLM parameter:

PQL_DASTLM | PQL_DBIOLM | PQL_DBYTLM | PQL_DCPULM
PQL_DDIOLM | PQL_DENQLM | PQL_DFILLM | PQL_DJTQUOTA
PQL_DPGFLQUOTA | PQL_DPRCLM | PQL_DTQELM | PQL_DWSDEFAULT
PQL_DWSEXTENT | PQL_DWSQUOTA | PQL_MASTLM | PQL_MBIOLM
PQL_MBYTLM | PQL_MCPULM | PQL_MDIOLM | PQL_MENQLM
PQL_MFILLM | PQL_MJTQUOTA | PQL_MPGFLQUOTA | PQL_MPRCLM
PQL_MTQELM | PQL_MWSDEFAULT | PQL_MWSEXTENT | PQL_MWSQUOTA

## 15.2.2 Defining System Logical Names

The AVERTZ_DEFAULT and AVERTZ_DATABASE logical names are required in order for you to run the AVERTZ application.

The AVERTZ_DEFAULT logical name must point to the directory that contains the AVERTZ source files. Since the ACMS installation places the source files in SYS$COMMON:[SYSHLP.EXAMPLES.ACMS], enter the following command:

    $ DEFINE/SYSTEM AVERTZ_DEFAULT SYS$COMMON:[SYSHLP.EXAMPLES.ACMS]

The AVERTZ_DATABASE logical name must point to the directory that contains the databases. Since the ACMS installation places the databases in SYS$COMMON:[SYSHLP.EXAMPLES.ACMS.DATABASE], enter the following command:

    $ DEFINE/SYSTEM AVERTZ_DATABASE SYS$COMMON:[SYSHLP.EXAMPLES.ACMS.DATABASE]

To ensure that these logical names are defined when your system reboots, you can also add these lines to your system startup command procedure. The default startup command procedure for OpenVMS VAX Version 5.x is SYS$MANAGER:SYSTARTUP_V5.COM. The default startup command procedure for OpenVMS VAX starting with Version 6.x and for OpenVMS Alpha systems is SYS$MANAGER:SYSTARTUP_VMS.COM.

# 15.3 Managing the AVERTZ Environment

Once the AVERTZ accounts and logical names are set up, you can begin to authorize specific users and devices for AVERTZ. You must:

- Authorize users for ACMS
- Authorize terminals for ACMS

The next two sections describe how to do this work. You can refer to these instructions as you continue to add authorized users and terminals for AVERTZ.

Previous | Next | Contents | Index