*DECK DB$MFO
USETEXT CDCSCTX 
      PROC DB$MFO7; 
      BEGIN 
 #
* *   DB$MFO7 - MEMORY OVERFLOW OPTION 7         PAGE  1
* *   BOB MCALLESTER                             DATE  03/07/86 
* 
* DC  PURPOSE 
* 
*     ON MEMORY OVERFLOW DURING CRM EXECUTION, DOWN THE AREA. 
* 
* DC  ENTRY CONDITIONS
* 
*     P<TQT> IS POINTING TO THE TQT OF THE CURRENT USER OR TQTMTR IF
*     THERE IS NO CURRENT USER. 
* 
*     P<RSARBLK> IS SET.
* 
* DC  EXIT CONDITIONS 
* 
*     DB$TARE IS CALLED TO DOWN THE AREA. 
*     DB$ERR IS CALLED.  CONTROL WILL NOT RETURN TO THIS ROUTINE. 
* 
* DC  CALLING ROUTINES
* 
*     DB$DEL$ - DELETE SYMBIONT 
*     DB$REW$ - REWRITE SYMBIONT
*     DB$WR2$ - WRITE SYMBIONT
*     DB$WR2K - WRITE AK RECORD 
* 
* DC  CALLED ROUTINES 
# 
      XREF PROC DB$ERR;            # CDCS ERROR HANDLER                #
      XREF PROC DB$FLOP;           # GENERATE A FLOW POINT             #
      XREF PROC DB$TARE;           # TERMINATE AREA USERS              #
# 
*     EXTERNAL VARIABLES
# 
      XREF ITEM TAKEDMP B;         # FLAG FOR DB$TARE TO TAKE DUMP     #
# 
 #
      CONTROL IFGR DFFLOP,0;
        DB$FLOP("MFO7   ");        # GENERATE FLOW POINT - ENTRY       #
      CONTROL ENDIF;
  
      TAKEDMP = FALSE;
      DB$TARE(RSAROFIT[0],LOC(MFO7CON));
  
 MFO7CON: 
      DB$ERR(48);            # FATAL ERROR - NO RETURN                 #
  
  
  
#**********************************************************************#
#                                                                      #
#     E M B E D D E D   P R O C E D U R E   -   D B $ M F O 8 .        #
#                                                                      #
#**********************************************************************#
  
      XDEF PROC DB$MFO8;
      PROC DB$MFO8; 
      BEGIN 
 #
* *   DB$MFO8 - MEMORY OVERFLOW OPTION 8         PAGE  1
* *   P A MURRAY                                 DATE  9/13/79
* 
* DC  PURPOSE 
* 
*     CALL DB$ERR TO ABORT THE USER 
* 
* DC  ENTRY CONDITIONS
* 
*     P<TQT> IS POINTING TO THE TQT OF THE CURRENT USER OR TQTMTR IF
*     THERE IS NO CURRENT USER. 
* 
* DC  EXIT CONDITIONS 
* 
*     DB$ERR IS CALLED.  CONTROL WILL NOT RETURN TO THIS ROUTINE. 
* 
* DC  CALLING ROUTINES
* 
*     DB$MFI - INITIALIZE CMM.OWN EXIT
* 
* DC  CALLED ROUTINES 
# 
      XREF PROC DB$ERR;            #CDCS ERROR HANDLER# 
      XREF PROC DB$FLOP;           #GENERATE A FLOW POINT#
# 
 #
      CONTROL IFGR DFFLOP,0;
        DB$FLOP("MFO8   ");        # GENERATE FLOW POINT - ENTRY       #
      CONTROL ENDIF;
  
      IF P<TQT> EQ TQTMTR          # IF THERE IS NO CURRENT USER,      #
      THEN
        BEGIN 
        DB$MFO9;                   # ABORT CDCS                        #
        END 
      DB$ERR(48); 
      END 
  
  
  
#**********************************************************************#
#                                                                      #
#     E M B E D D E D   P R O C E D U R E   -   D B $ M F O 9 .        #
#                                                                      #
#**********************************************************************#
  
      XDEF PROC DB$MFO9;
      PROC DB$MFO9; 
      BEGIN 
 #
* *   DB$MFO9 - MEMORY OVERFLOW OPTION 9         PAGE  1
* *   P A MURRAY                                 DATE  9/13/79
* 
* DC  PURPOSE 
* 
*     CALL DB$PUNT TO ABORT CDCS
* 
* DC  ENTRY CONDITIONS
* 
*     NONE
* 
* DC  EXIT CONDITIONS 
* 
*     DB$PUNT IS CALLED.  CONTROL WILL NOT RETURN TO THIS ROUTINE.
* 
* DC  CALLING ROUTINES
* 
*     DB$MFI - INITIALIZE CMM.OWN EXIT
* 
* DC  CALLED ROUTINES 
# 
      XREF PROC DB$PUNT;            #FATAL INTERNAL ERROR PROCESSOR#
# 
 #
      DB$PUNT("DB$MFO9"); 
      END 
      END 
      TERM
