FCLGC - File Control Log Record Format

      CONTROL BLOCK NAME = DFHFCLGC
      DESCRIPTIVE NAME = CICS TS (FC) File Control Part of Log Record
           Licensed Materials - Property of IBM
            Restricted Materials of IBM 
           5655-Y04
           (C) Copyright IBM Corp. 1994, 2012 
      FUNCTION =
           This describes the format of File Control's part of log
           records written to the system log for backout, log records
           written to forward recovery logs and autojournal records
           written to autojournals.
      LIFETIME =
           This just describes the layout of log and journal records
           so does not have any particular lifetime.
      LOCATION =
           Log and journal records are built in LIFO storage by
           module DFHFCLJ.
      STORAGE CLASS =
           Since log and journal records are built in DFHFCLJ's LIFO
           this is CICS storage class.
      INNER CONTROL BLOCKS =
           None
      NOTES :
       DEPENDENCIES = S/390
       RESTRICTIONS = None
       MODULE TYPE = Control block definition
       All fields contained in this DSECT may be used to interpret
       CICS log and journal records and as such form part of the
       General-Use Programming Interface.
    --------------------------------------------------------------------
      EXTERNAL REFERENCES =
            None.
        DATA AREAS =
            None.
        CONTROL BLOCKS =
            None.
        GLOBAL VARIABLES (Macro pass) =
            None.
    --------------------------------------------------------------------
     FLJB - File Log and Journal Block
     The FLJB forms the basis of the data that File Control writes as
     part of its log and journal records. The FLJB is, in general,
     built from two parts, one part which contains data that mostly
     applies to all log and journal records, and a second part which
     contains data specific to the type of record. All log and journal
     records have data specific to the type of record.
     The FLJB is always written to the log or journal (as appropriate),
     but there may also be some variable length data written
     immediately after the fixed length parts of the FLJB. Precisely
     what variable length data is written depends on the record type.
     The resulting log and journal records for each record type are
     described below.
     Note that what follows is a description of only what File Control
     writes to the log or journal. In practice these records themselves
     also have a header prepended to them, either by the CICS Logger
     (in the case of autojournal and forward recovery records) or by
     the Recovery Manager (for all system log records).
     The format of File Control's part of log and journal records
     written for read only, read update, write update, and write add,
     and journal records written for the write add complete record
     type, is as shown below. The respective length of each block is
     also indicated.
     o fljb_general_data of length length(fljb_general_data),
       followed by:
     o fljb_common_data of length length(fljb_common_data),
       followed by:
     o fljb_cd_key of length fljb_cd_key_length,
       followed by:
     o fljb_cd_data of length fljb_cd_data_length.
     The format of File Control's part of log records written for the
     write add complete record type, is as shown below. The respective
     length of each block is also indicated.
     o fljb_general_data of length length(fljb_general_data),
       followed by:
     o fljb_common_data of length length(fljb_common_data).
     The format of File Control's part of log and journal records
     written for write delete is shown below. The respective length of
     each block is also indicated.
     o fljb_general_data of length length(fljb_general_data),
       followed by:
     o fljb_write_delete_data of length length(fljb_write_delete_data),
       followed by:
     o fljb_wdd_base_key of length fljb_wdd_base_key_length,
       followed by:
     o fljb_wdd_path_key of length fljb_wdd_path_key_length.
  The format of File Control's part of log and journal
  records written for unlock is shown below. The respective
  length of each block is also indicated.
  
  o fljb_general_data of length length(fljb_general_data),
  followed by:
  o fljb_unlock_data of length length(fljb_unlock_data),
  followed by:
  o fljb_und_base_key of length fljb_und_base_key_length,
  followed by:
  o fljb_und_path_key of length fljb_und_path_key_length.
     The format of File Control's part of log and journal records
     written for file close is shown below. This record is one of the
     simplest of all the log and journal records. It just contains the
     general data block followed by data specific to file close. The
     respective length of each block is indicated alongside. There are
     no variable length records in the file close record.
     o fljb_general_data of length length(fljb_general_data),
       followed by:
     o fljb_file_close_data of length length(fljb_file_close_data).
     The format of File Control's part of tie up records is shown
     below. The respective length of each block is indicated alongside.
     There are no variable length records in the tie up record.
     o fljb_general_data of length length(fljb_general_data),
       followed by:
     o fljb_tie_up_record of length length(fljb_tie_up_record)
     The format of File Control's part of commit and backout records
     for replication is shown below. The respective length of each
     block is indicated alongside.
     There are no variable length records in the commit and backout
     records.
     o fljb_general_data of length length(fljb_general_data),
     Notes on Extended Addressing ESDS records (EA ESDS)
     The XRBA field for addressing EA ESDS records is 8 bytes,
     therefore the key is specified in the same way as it is in the
     case of KSDS keys.
     In the common data record
     fljb_cd_key is set to the 8 byte XRBA
     fljb_cd_key_length is set to 8
     fljb_cd_key_esds_rba is 0
     In the write delete record
     fljb_wdd_key is set to the 8 byte XRBA
     fljb_wdd_key_length is set to 8
     fljb_wdd_key_esds_rba is 0
     In the tie up record
     fljb_tur_base_key_length is set to 8
     fljb_tur_dataset_type is set to 'X'
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 12 FLJB_GENERAL_DATA
(0) CHARACTER 1 FLJB_RECORD_TYPE 80: read only 81: read update record 82: write update record 83: write add record 84: write add complete 86: write delete record 87: commit record 88: backout record 89: unlock record record 8F: tie up record
(1) BIT(8) 1 FLJB_BITS general flag byte
(1) 1... ....   FLJB_AUTOJOURNAL ON: autojournal record OFF: otherwise
(1) .1.. ....   FLJB_FWD_RECOVERY ON: forward recovery log record OFF: otherwise
(1) ..1. ....   FLJB_SYSTEM_LOG ON: system log record OFF: otherwise
(1) ...1 ....   FLJB_LOG_OF_LOGS ON: log of logs record OFF: otherwise
(1) .... 1...   FLJB_BACKOUT ON: written in backout OFF: otherwise
(1) .... .1..   FLJB_GENERAL_ EXTENDED_ESDS ON: extended addressing ESDS OFF everything else
(1) .... ..1.   FLJB_REPLICATION ON: Replication log record OFF otherwise
(1) .... ...1   * reserved
(2) CHARACTER 8 FLJB_FILE_NAME name of the file which this record applies to
(A) CHARACTER 2 * reserved
     Common data for read only, read update, write update, write add
     and write add complete.
Table 2.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 16 FLJB_COMMON_DATA
(0) UNSIGNED 4 FLJB_CD_BASE_ESDS_RBA base RBA of ESDS, or 0 if not an ESDS Also 0 for EA ESDS
(4) HALFWORD 2 FLJB_CD_KEY_LENGTH length of the key for the users data
(6) CHARACTER 2 * reserved
(8) FULLWORD 4 FLJB_CD_DATA_LENGTH length of the users data (This could be fixed(15) but allow for future expansion plans.)
(C) BIT(8) 1 FLJB_CD_BITS common flag byte
(C) 1... ....   FLJB_CD_SHUNTED ON: uow has been shunted OFF: otherwise
(C) .1.. ....   FLJB_CD_MASS_INSERT ON: write mass insert when write add or write add complete OFF: otherwise
(C) ..1. ....   FLJB_CD_MI_FIRST ON: first write add complete in mass insert sequence
(C) ...1 ....   FLJB_CD_MI_LAST ON: end of mi sequence WRTBFR/ENDREQ was successful.
(C) .... 1...   FLJB_CD_FIXED_RECFM ON: Fixed length record OFF: Variable length record.
(C) .... .1..   FLJB_CD_AUTO_COMMIT ON: Replication can commit
(C) .... ..1.   FLJB_CD_TOKEN_REQUEST ON: token used on read update request rep log only
(C) .... ...1   * reserved
(D) CHARACTER 3 * reserved
     Write delete data
Table 3.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 12 FLJB_WRITE_DELETE_ DATA
(0) UNSIGNED 4 FLJB_WDD_BASE_ESDS_ RBA base RBA of ESDS, or 0 if not an ESDS Also 0 for EA ESDS
(4) HALFWORD 2 FLJB_WDD_BASE_KEY_ LENGTH length of base key
(6) HALFWORD 2 FLJB_WDD_PATH_KEY_ LENGTH length of path key, or 0 if not a path
(8) BIT(8) 1 FLJB_WDD_BITS write delete flag byte
(8) 1... ....   FLJB_WDD_SHUNTED ON: uow has been shunted OFF: otherwise
(8) .1.. ....   FLJB_WDD_FIXED_RECFM ON: Fixed length record OFF: Variable length record.
(8) ..1. ....   FLJB_WDD_AUTO_COMMIT ON: Replication can commit
(8) ...1 1111   * reserved
(9) CHARACTER 3 * reserved
  Unlock data
Table 4.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 12 FLJB_UNLOCK_DATA
(0) UNSIGNED 4 FLJB_UND_BASE_ESDS_ RBA base RBA of ESDS, or 0 if not an ESDS Also 0 for EA ESDS
(4) HALFWORD 2 FLJB_UND_BASE_KEY_ LENGTH length of base key
(6) HALFWORD 2 FLJB_UND_PATH_KEY_ LENGTH length of path key, or 0 if not a path
(8) BIT(8) 1 FLJB_UND_BITS unlock flag byte
(8) 1... ....   FLJB_UND_SHUNTED ON: uow has been shunted OFF: otherwise
(8) .1.. ....   FLJB_UND_FIXED_RECFM ON: Fixed length record OFF: Variable length record.
(8) ..1. ....   FLJB_UND_AUTO_COMMIT ON: Replication can commit
(8) ...1 ....   FLJB_UND_READ_UPDATE ON: Unlock following read update
(8) .... 1...   FLJB_UND_WRITE_MASS ON: Unlock following write massinsert
(8) .... .111   * reserved
(9) CHARACTER 3 * reserved
     File close data
Table 5.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 28 FLJB_FILE_CLOSE_DATA
(0) CHARACTER 26 FLJB_FCD_ FWDRECOVLOG_NAME forward recovery log stream name
(1A) BIT(8) 1 FLJB_FCD_BITS file close flag byte
(1A) 1... ....   FLJB_FCD_FWD_RECOVERY ON: forward recovery was specified for this file OFF: otherwise
(1A) .1.. ....   FLJB_FCD_AUTOJOURNAL ON: autojounalling was specified for this file OFF: otherwise
(1A) ..1. ....   FLJB_FCD_REPLICATION ON: Replication log for this file OFF otherwise
(1A) ...1 1111   * reserved
(1B) CHARACTER 1 * reserved
     Tie up record data
Table 6.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 136 FLJB_TIE_UP_RECORD
(0) FULLWORD 4 FLJB_TUR_BASE_CI_SIZE CI size of base dataset
(4) FULLWORD 4 FLJB_TUR_MAXIMUM_ LRECL maximum record length
(8) FULLWORD 4 FLJB_TUR_BASE_KEY_ POSITION position of base key within the record
(C) HALFWORD 2 FLJB_TUR_BASE_KEY_ LENGTH length of base key
(E) CHARACTER 1 FLJB_TUR_DATASET_TYPE type of dataset: K=KSDS, E=ESDS, P=path, R=RRDS or V=VRRDS
(F) CHARACTER 1 FLJB_TUR_RECORD_ FORMAT format of records: V=variable, F=fixed
(10) HALFWORD 2 FLJB_TUR_BASE_ DSNAME_LENGTH length of base dataset name
(12) CHARACTER 44 FLJB_TUR_BASE_DSNAME base dataset name
(3E) HALFWORD 2 FLJB_TUR_PATH_ DSNAME_LENGTH length of path dataset name
(40) CHARACTER 44 FLJB_TUR_PATH_DSNAME path dataset name
(6C) CHARACTER 26 FLJB_TUR_ FWDRECOVLOG_NAME forward recovery log stream name
(86) BIT(8) 1 FLJB_TUR_BITS tie up flag byte
(86) 1... ....   FLJB_TUR_RLS ON: this was an RLS file OFF: otherwise
(86) .1.. ....   FLJB_TUR_OPEN ON: tie up record written on open OFF: otherwise
(86) ..1. ....   FLJB_TUR_TAKE_ KEYPOINT ON: tie up record written for take keypoint request (non-RLS only) OFF: otherwise
(86) ...1 ....   FLJB_TUR_DATASET_COPY ON: tie up record written for DSS copy of dataset (RLS only) OFF: otherwise
(86) .... 1...   FLJB_TUR_FWD_RECOVERY ON: forward recovery was specified for this file OFF: otherwise
(86) .... .1..   FLJB_TUR_AUTOJOURNAL ON: autojounalling was specified for this file OFF: otherwise
(86) .... ..1.   FLJB_TUR_REPLICATION ON: Replication log for this file OFF otherwise
(86) .... ...1   * reserved
(87) CHARACTER 1 * reserved

Constants

Table 7.
Len Type Value Name Description
   Values for record types
1 HEX 80 FLJB_READ_ONLY
1 HEX 81 FLJB_READ_UPDATE
1 HEX 82 FLJB_WRITE_UPDATE
1 HEX 83 FLJB_WRITE_ADD
1 HEX 84 FLJB_WRITE_ADD_ COMPLETE
1 HEX 86 FLJB_WRITE_DELETE
1 HEX 87 FLJB_REPLICATE_COMMIT
1 HEX 88 FLJB_REPLICATE_BACKOUT
1 HEX 89 FLJB_REPLICATE_UNLOCK
       
1 HEX 8E FLJB_FILE_CLOSE
1 HEX 8F FLJB_TIE_UP