*DECK DB$ACCM 
USETEXT CDCSCTX 
      PROC DB$ACCM; 
      BEGIN 
 #
* *   DB$ACCM - ESTIMATE CM USAGE                PAGE  1
* *   BOB MCALLESTER                             DATE  09/20/83 
* 
* DC  PURPOSE 
* 
*     MAKE AN ESTIMATE OF THE BASIC CM USAGE OF THIS USER.
*     THE USAGE SIZE THAT IS COMPUTED BY DB$ACCM DOES NOT INCLUDE 
*     UFT OR BUFFER SPACE FOR FILES.  THOSE ARE ADDED BY DB$OPN$
*     FOR EACH FILE AS IT IS OPENED.
* 
*     THE INITIAL IMPLEMENTATION OF THE CM USAGE INTERFACE DOES NOT 
*     INCLUDE SPACE ALLOCATED FOR DATABASE PROCEDURES OR MAPPING
*     CAPSULES.  THE SPACE FOR THE CDCS INTERFACE OVCAPS FOR
*     LOADING AND ADMINISTRATING THE EXECUTION OF THE DATABASE
*     PROCEDURES AND MAPPING CAPSULES IS INCLUDED.
* 
* DC  ENTRY CONDITIONS
* 
* D   PARAMETERS
* 
*     NONE
* 
* D   ASSUMPTIONS 
* 
*     TQT POINTER IS SET
*     ASL POINTER IS SET
*     SAL POINTER IS SET
*     SALX IS SET 
* 
* DC  EXIT CONDITIONS 
* 
*     THE INITIAL CM USAGE NUMBER IS IN TQACCM. 
* 
* DC  CALLING ROUTINES
* 
*     DB$INV$                INVOKE SYMBIONT
* 
* DC  CALLED ROUTINES 
* 
*     NONE
* 
* DC  NON-LOCAL VARIABLES MODIFIED
* 
*     TQT (TQACCM)
* 
* DC  DESCRIPTION 
* 
*     SET THE BASIC CM USAGE AND ADJUST IT TO INCLUDE - 
*       ACL, CST AND RSB SIZE.
*       OFT FOR EACH AREA.
*     AND EACH OF THE FOLLOWING IF THE SCHEMA INDICATES THAT IT 
*     MAY BE USED.
*       CONVERSION CAPSULE IF MAPPING IS USED.
*       RELATIONS CAPSULES. 
*       CONSTRAINT CAPSULE. 
*       TRANSACTION CAPSULES. 
*       JOURNAL LOGGING CAPSULES. 
*       QUICK RECOVERY CAPSULE AND BUFFER.
*       DBP INTERFACE CAPSULE.
*       VERSION CAPSULE.
* 
*     EACH OF THESE SIZE INCREMENTS REPRESENTS THE SIZE OF THE
*     APPROPRIATE CAPSULES PLUS AN ADJUSTMENT FOR OTHER OVERHEAD. 
*     FOR THE LOGGING FEATURES, THE OVERHEAD INCLUDES AN ESTIMATED
*     SIZE OF THE REQUIRED BUFFERS. 
 #
  
  
  
#     B E G I N   D B $ A C C M   E X E C U T A B L E   C O D E .      #
  
  
      TQACCM[0] = O"76400";  # BASIC RESIDENT ROUTINES CDCS AND CRM    #
                             # INCLUDES IS, MIP AND ACCOUNTING CAPSULES#
  
      TQACCM[0] = TQACCM[0] + ASACLLEN[0] + ASCSTSIZ[0] + CSFRSBLN[0];
                             # PLUS ACL, CST AND RSB SIZE              #
  
      TQACCM[0] = TQACCM[0] + CSFARENO[0] * (DFOFTSIZE +2); 
                             # PLUS OFT TABLE SPACE                    #
  
      IF ASACLLOC[0] NQ 0 
      THEN
        BEGIN                # CD2CONV + 100                           #
        TQACCM[0] = TQACCM[0] + O"3357";
        END 
      IF RSFRELPT[0] NQ 0 
      THEN
        BEGIN                # CD2MFP + CD2RELN + CD2REL1 + 100        #
        TQACCM[0] = TQACCM[0] + O"3445";
        END 
      IF RSFCONPT[0] NQ 0 
      THEN
        BEGIN                # CD2CPRO + 100                           #
        TQACCM[0] = TQACCM[0] + O"1364";
        END 
      IF SASCARF[SALX]
      THEN
        BEGIN                # CD2TRAN + CD2TRJL + 2000                #
        TQACCM[0] = TQACCM[0] + O"3272";
        END 
      IF SASCJLF[SALX]
      THEN
        BEGIN                # CD2JLOG + CD2JORT + 500                 #
        TQACCM[0] = TQACCM[0] + O"3444";
        END 
      IF SASCQRF[SALX]
      THEN
        BEGIN                # CD2QRF + 3100                           #
        TQACCM[0] = TQACCM[0] + O"4216";
        END 
      IF SADBPPTR[SALX] NQ 0
      THEN
        BEGIN                # CD2DBPS + 100                           #
        TQACCM[0] = TQACCM[0] + O"1554";
        END 
      IF SASCNOVER[SALX] NQ 0 
      THEN
        BEGIN                # CD2VER + 200                            #
        TQACCM[0] = TQACCM[0] + O"0735";
        END 
  
      TQACCM[0] = (TQACCM[0] +63) /64;  # ROUND UP TO NEXT HUNDRED     #
  
      END 
      TERM
