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 |
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 |