*DECK DB$JLOP 
USETEXT JLPCMTX 
USETEXT CDCSCTX 
      PROC DB$JLOP(ARID,ARNAME,FC,JBID,USID,VERSION); 
  BEGIN 
 #
* *   DB$JLOP                                    PAGE  1
* *   FORMAT "OPEN" 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
* 
*           ARID             AREA ID
*           ARNAME           AREA NAME
*           FC               FUNCTION BEING EXECUTED
*           JBID             JOB ID 
*           USID             USER ID
*           VERSION          REQUESTED DATABASE VERSION NAME
* 
*     SUMMARY OF SOURCE OF PARAMETERS 
* 
*           AREA IDENTIFIER  PARAMETER PASSED FROM CALLING SEQUENCE 
*           AREA NAME        PARAMETER PASSED FROM CALLING SEQUENCE 
*           JOB IDENTIFIER   PARAMETER PASSED FROM CALLING SEQUENCE 
*           USER IDENTIFIER  PARAMETER PASSED FROM CALLING SEQUENCE 
*           VERSION          PARAMETER PASSED FROM CALLING SEQUENCE 
*           FUNCTN EXEC      PARAMETER PASSED FROM CALLING SEQUENCE 
* 
* DC  EXIT CONDITIONS 
* 
*     NORMAL--AN "OPEN" 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
* 
* DC  NON-LOCAL VARIABLES 
* 
*     CDCS COMMON (CDCSCOMMN) 
* 
* DC  DESCRIPTION 
* 
*     1. COMPLETE THE REQUEST TYPE AND DIRECTIVE CODE ENTRIES IN THE
*        HEADER. SET THE NUMBER OF CHARACTERS OF PADDING TO ZERO. 
*     2. STORE AREA NAME IN RECORD TRAILER. 
*     3. SET UP THE SIZE OF THE "OPEN" RECORD (100 CHARACTERS)
*     4. CALL DB$JLOG TO COMPLETE AND OUTPUT THE RECORD.
*     5. RETURN.
 #
      CONTROL EJECT;
  
  
# PARAMETERS FROM THE CALLING SEQUENCE                                 #
      ITEM ARID ;                       # AREA ID                      #
      ITEM ARNAME       C(30);          # AREA NAME                    #
      ITEM FC C(1);                     # FUNCTION BEING EXECUTED      #
      ITEM JBID         C(7);           # JOB IDENTIFIER               #
      ITEM USID         C(10);          # USER IDENTIFIER              #
      ITEM VERSION      C(07);          # VERSION NAME                 #
  
# LOCAL ITEMS                                                          #
  
      ITEM I;                           # SCRATCH                      #
  
# EXTERNAL REFERENCES                                                  #
  
      XREF PROC DB$JLOG;                # OUTPUT JOURNAL LOG RECORD    #
      CONTROL EJECT;
  
  
# START OF "DB$JLOP" 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] = DFJLRQOP;
      JLHDDIRC [0] = FC;
      JLHDPAD  [0] = DFJLPAD0;          # PADDING = "0"                #
  
# FORMAT LOG RECORD TRAILER                                            #
  
      JLOPARNM [0] = ARNAME ;           # STORE AREA NAME IN LOG RECORD#
  
# COMPLETE AND OUTPUT LOG RECORD                                       #
  
      PARLEN = DFJLSZOP;                # SET SIZE OF "OPEN" RECORD    #
      TRLRLEN = 0;
      DB$JLOG(ARID,JBID,USID,VERSION);
  END 
      TERM
