*DECK DB$JLIN 
USETEXT JLPCMTX 
USETEXT CDCSCTX 
      PROC DB$JLIN(SBNAME,JBID,USID,VERSION); 
  BEGIN 
 #
* *   DB$JLIN                                    PAGE  1
* *   FORMAT "INVOKE" 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
* 
*           SBNAME           SUBSCHEMA NAME 
*           JBID             JOB ID 
*           USID             USER ID
*           VERSION          REQUESTED DATABASE VERSION NAME
* 
*     NECESSARY PARAMETERS ARE PASSED IN JOURNAL LOG PROCESSOR COMMON,
*     "JLPCMDCLS", OBTAINED FROM CDCS COMMON, OR FROM CALLING ROUTINES
* 
*           SCHEMA NAME      SCHEMA ACCESS LIST 
*           SUBSCHEMA NAME   PARAMETER FROM CALLING SEQUENCE
*           JOB ID           PARAMETER PASSED FROM CALLING SEQUENCE 
*           USER ID          PARAMETER PASSED FROM CALLING SEQUENCE 
*           USER ID          PARAMETER PASSED FROM CALLING SEQUENCE 
*           VERSION          PARAMETER PASSED FROM CALLING SEQUENCE 
* 
* DC  EXIT CONDITIONS 
* 
*     NORMAL--AN "INVOKE" 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) 
*     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. SET UP THE SIZE OF THE "INVOKE" RECORD (130 CHARACTERS)
*     4. CALL DB$JLOG TO COMPLETE AND OUTPUT THE RECORD.
*     5. RETURN.
* 
 #
      CONTROL EJECT;
  
  
# EXTERNAL REFERENCES                                                  #
  
      XREF PROC DB$JLOG;                # COMPLETE AND OUTPUT RECORD   #
#     LOCAL VARIABLES                                                  #
  
      ITEM JBID         C(7);           # JOB IDENTIFIER               #
      ITEM USID         C(10);          # USER IDENTIFIER              #
      ITEM SBNAME       C(30);          # SUB SCHEMA NAME              #
      ITEM VERSION      C(07);          # VERSION NAME                 #
      CONTROL EJECT;
  
# START OF "DB$JLIN" 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] = DFJLRQIN;          # REQUEST TYPE = "INVOKE"      #
      JLHDDIRC [0] = DFJLDCZ;           # DIRECTIVE CODE = OTHER       #
      JLHDPAD  [0] = DFJLPAD0;          # PADDING = "0"                #
  
# FORMAT LOG RECORD TRAILER                                            #
  
      JLINSCNM [0] = SASCNAME[SALX];    # SCHEMA NAME                  #
      JLINSBNM [0] = SBNAME;            # SUBSCHEMA NAME               #
  
# COMPLETE AND OUTPUT LOG RECORD                                       #
  
      PARLEN = DFJLSZIN;                # SET SIZE OF "INVOKE" RECORD  #
      TRLRLEN = 0;
      DB$JLOG(0,JBID,USID,VERSION);     # CALL I/O INTERFACE           #
  
  END 
      TERM
