*DECK DB$JLTM 
USETEXT JLPCMTX 
USETEXT CDCSCTX 
       PROC DB$JLTM(RDCNT,WRCNT,RWCNT,DLCNT,SBNAME,JBID,USID,VERSION);
  BEGIN 
 #
* *   DB$JLTM                                    PAGE  1
* *   FORMAT "TERMINATE" JOURNAL LOG RECORD 
* *   W P CEAGLIO                                DATE  1/12/76
* *   A W LO (REVISION)                          DATE 10/ 1/76
* * 
* DC  PURPOSE 
*     FORMAT THE PERTINENT PORTION OF THE JOURNAL LOG RECORD
* 
* DC  ENTRY CONDITIONS
* 
*     PARAMETERS
# 
      ITEM RDCNT;                  # NO. OF READ OPERATIONS            #
      ITEM WRCNT;                  # NO. OF WRITE OPERATIONS           #
      ITEM RWCNT;                  # NO. OF REWRITE OPERATIONS         #
      ITEM DLCNT;                  # NO. OF DELETE OPERATIONS          #
      ITEM SBNAME  C(30);          # SUBSCHEMA NAME                    #
      ITEM JBID    C(07);          # JOB ID                            #
      ITEM USID    C(10);          # USER ID                           #
      ITEM VERSION C(07);          # REQUESTED DATABASE VERSION NAME   #
# 
* 
*     NECESSARY PARAMETERS ARE PASSED IN JOURNAL LOG PROCESSOR COMMON,
*     "JLPCMDCLS" OR ELSE OBTAINED FROM CDCS COMMON.
* 
*           SCHEMA NAME      SCHEMA ACCESS LIST 
*           SUBSCHEMA NAME   ACTIVE SUBSCHEMA LIST
*           NUMBER READS     PARAMETER PASSED FROM CALLING SEQUENCE 
*           NUMBER WRITES    PARAMETER PASSED FROM CALLING SEQUENCE 
*           NUMBER REWRITES  PARAMETER PASSED FROM CALLING SEQUENCE 
*           NUMBER DELETES   PARAMETER PASSED FROM CALLING SEQUENCE 
*           RECOVERY PT NBR  PARAMETER PASSED FROM CALLING SEQUENCE 
*           JOB ID           PARAMETER PASSED FROM CALLING SEQUENCE 
*           USER ID          PARAMETER PASSED FROM CALLING SEQUENCE 
*           VERSION          PARAMETER PASSED FROM CALLING SEQUENCE 
* 
* DC  EXIT CONDITIONS 
* 
*     NORMAL--A "TERMINATE" RECORD HAS BEEN LOGGED. 
* 
*     ABNORMAL--A CRM ERROR OCCURRED IN WRITING TO THE LOG FILE 
* 
* DC  CALLING ROUTINES
* 
*     DB$RUPD    RECOVERY RESTORE UPDATE ROUTINE
* 
* DC  CALLED ROUTINES 
* 
*     DB$JLOG    JOURNAL LOG I/O INTERFACE
*     DB$CDIS    CONVERT BINARY TO DISPLAY
* 
* DC  NON-LOCAL VARIABLES 
* 
*     CDCS COMMON (CDCSCOMMN) 
*     JOURNAL LOG PROCESSOR COMMON (JLPCMDCLS)
* 
* DC  DESCRIPTION 
* 
*     1. COMPLETE THE REQUEST TYPE AND DIRECTIVE CODE ENTRIES IN THE
*        HEADER. SET THE NUMBER OF CHARACTERS OF PADDING TO ZERO. 
*     2. COMPLETE THE SCHEMA AND SUBSCHEMA NAME ENTRIES IN THE RECORD 
*       TRAILER.
*     3. STORE THE NUMBER OF READ,WRITE,REWRITE, AND DELETE I/O 
*        OPERATIONS IN THEIR CORRESPONDING SLOTS IN THE LOG RECORD
*        TRAILER. 
*     4. SET UP TE SIZE OF THE "TERMINATE" RECORD (180 CHARACTERS). 
*     5. CALL DB$JLOG TO COMPLETE AND OUTPUT THE RECORD.
*     6. RETURN.
* 
 #
  
# EXTERNAL REFERENCES                                                  #
  
      XREF PROC DB$JLOG;                # OUTPUT JOURNAL LOG RECORD    #
      XREF FUNC DB$CDIS C(10);          # CONVERT BINARY TO DISPLAY    #
      CONTROL EJECT;
  
# START OF "DB$JLTM" EXECUTABLE CODE                                   #
  
      IF NOT SASCJAFG [SALX]  THEN      # RETURN IF NO JOURNAL LOGGING #
        BEGIN 
        RETURN; 
        END 
  
# FORMAT PERTINENT ENTRIES IN THE LOG RECORD HEADER                    #
  
      JLHDTYPE [0] = DFJLRQTM;          # REQUEST TYPE = "TERMINATE"   #
      JLHDDIRC [0] = DFJLDCZ;           # DIRECTIVE CODE = OTHER       #
      JLHDPAD  [0] = DFJLPAD0;          # PADDING = "0"                #
  
# FORMAT LOG RECORD TRAILER                                            #
  
      JLTMSCNM [0] = SASCNAME[SALX];    # SCHEMA NAME                  #
      JLTMSBNM [0] = SBNAME;            # SUB-SCHEMA NAME              #
      JLTMNRDS [0] = DB$CDIS(RDCNT,10,10,"0");
                                        # NUMBER OF READS              #
      JLTMNWRS [0] = DB$CDIS(WRCNT,10,10,"0");
                                        # NUMBER OF WRITES             #
      JLTMNRWS[0] = DB$CDIS(RWCNT,10,10,"0"); 
                                        # NUMBER OF REWRITES           #
      JLTMNDLS [0] = DB$CDIS(DLCNT,10,10,"0");
                                        # NUMBER OF DELETES            #
      JLTMRCPT [0] = DB$CDIS(RPNUM,10,10,"0");
                                        # CONVERTED RECOVERY PT NUMBER #
  
# COMPLETE AND OUTPUT LOG RECORD                                       #
  
      PARLEN = DFJLSZTM;                # SET SIZE OF "TERMINATE" REC  #
      TRLRLEN = 0;
      DB$JLOG(0,JBID,USID,VERSION); 
  
  END 
      TERM
