*DECK DB$ROER 
      PROC DB$ROER( FET );
      BEGIN 
 #
* *   DB$ROER - ROLLOUT ERROR HANDLER            PAGE  1
* *   DON TRIGLIA                                DATE  12/16/80 
* 
* DC  PURPOSE 
* 
*     DAYFILE AN ERROR MESSAGE WHEN A CIO ERROR OCCURS DURING ROLLOUT.
* 
* DC  ENTRY CONDITIONS
* 
* D   PARAMETERS
* 
*     FET                      ROLLOUT FILE FET 
* 
* D   ASSUMPTIONS 
# 
      XREF ITEM DB$NOS B;    # TRUE IF NOS, FALSE IF NOS/BE            #
# 
* DC  EXIT CONDITIONS 
* 
*     THE ERROR MESSAGE IS OUT ON THE DAYFILE.
* 
* DC  CALLING ROUTINES
* 
*     DB$ROLL                  ERROR DETECTED DURING ROLLOUT
* 
* DC  CALLED ROUTINES 
# 
      XREF FUNC DB$COCT C(10);  # INTEGER TO OCTAL CONVERSION          #
      XREF PROC DB$MSG;      # PUT AN ERROR MESSAGE ON THE DAYFILE     #
# 
* DC  NON-LOCAL VARIABLES 
* 
*     NONE
* 
* DC  DESCRIPTION 
* 
*     PUT THE CIO ERROR NUMBER IN THE ERROR MESSAGE.
* 
*     SEND THE ERROR MESSAGE TO THE DAYFILE.
 #
  
#     LOCAL VARIABLES                                                  #
  
      ARRAY FET;             # ROLLOUT FILE FET                        #
*CALL FETDCLS 
  
      ITEM ERRORMSG C(31) =  # ERROR MESSAGE                           #
        "  CIO ERROR XX DURING ROLLOUT.:";
  
      ITEM ERRORNUM I;       #  ERROR NUMBER FROM FET                  #
      CONTROL EJECT;
  
# S T A R T   O F   D B $ R O E R   E X E C U T A B L E   C O D E      #
  
#     PUT THE CIO ERROR NUMBER IN THE ERROR MESSAGE.                   #
  
      IF DB$NOS              # ERROR NUMBER APPEARS IN DIFFERENT FET   #
      THEN                   # FIELDS ON NOS AND NOS/BE                #
        BEGIN 
        ERRORNUM = FETNOSAT;
        END 
      ELSE
        BEGIN 
        ERRORNUM = FETNBAT; 
        END 
      C<12,2>ERRORMSG = DB$COCT(ERRORNUM,2);
  
#     PUT THE MESSAGE ON THE DAYFILE.                                  #
  
      DB$MSG( ERRORMSG ); 
      RETURN; 
      END 
      TERM
