Retrieve Journal Information (QjoRetrieveJournalInformation) API


  Required Parameter Group:

1 Receiver variable Output Char(*)
2 Length of receiver variable Input Binary(4)
3 Qualified journal name Input Char(20)
4 Format name Input Char(8)
5 Journal information to retrieve Input Char(*)

  Omissible Parameter:

6 Error Code I/O Char(*)

  Service Program Name: QJOURNAL

  Header File: QSYSINC/H.QJOURNAL

  Default Public Authority: *USE

  Threadsafe: Yes

The Retrieve Journal Information (QjoRetrieveJournalInformation) API provides access to journal-related information to help manage a journal environment, including a remote journal environment.

Various types of journal information are provided by the API. General information, similar to information reported by using the Work with Journal Attributes (WRKJRNA) CL command, and additional information are contained in the header section. If requested, information is provided for the journal receiver directory, journaled objects, and remote journals.


Authorities and Locks

Journal Authority
*OBJOPR and some data authority other than *EXECUTE
Journal Library Authority
*EXECUTE
Journal Lock
*SHRRD

Required Parameter Group

Receiver variable
OUTPUT; CHAR(*)

The receiver variable that is to receive the information requested. You can specify the size of the area smaller than the format requested as long as you specify the length of receiver variable parameter correctly. As a result, the API returns only the data the area can hold.

Length of receiver variable
INPUT; BINARY(4)

The length of the receiver variable provided. The length of receiver variable parameter may be specified up to the size of the receiver variable specified in the user program. If the length of receiver variable parameter specified is larger than the allocated size of the receiver variable specified in the user program, the results are not predictable. The minimum length is 8 bytes Start of change if format RJRN0100 is specified. The minimum length is 1 byte if format RJRN0200 is specified.

Note:The format name determines what units are used for the fields Length of receiver variable, Bytes returned, and Bytes available. If format RJRN0100 is specified, the information is in one byte units. If format RJRN0200 is specified, the information is in 4K (4096 bytes) units. End of change

Qualified journal name
INPUT; CHAR(20)

The name of the journal and its library from which the journal attributes and information are to be retrieved. The first 10 characters contain the journal name, and the second 10 characters contain the library name. The special values supported for the library name follow:

*LIBL Library list
*CURLIB Current library

Format name
INPUT; CHAR(8)

Format RJRN0100 Start of change and RJRN0200 are the only supported formats that are used by this API. For more information, see RJRN0100/RJRN0200 format.

End of change
Journal information to retrieve
INPUT; CHAR(*)

Information to be retrieved that is associated with the journal. The information must be in the following format:

Number of variable length records
BINARY(4)
The total number of all of the variable length records. If this field is zero, no variable length records are processed, and no key information will be retrieved.
Variable length records
CHAR(*)
The types of information that should be retrieved. For the specific format of the variable length record, see Format for Variable Length Record.

Omissible Parameter

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error Code Parameter. If this parameter is omitted, diagnostic and escape messages are issued to the application.


Format for Variable Length Record

The following table defines the format for the variable length records.

Offset Type Field
Dec Hex
0 0 BINARY(4) Length of variable length record
4 4 BINARY(4) Key
8 8 BINARY(4) Length of data
12 C CHAR(*) Data

If the length of the data is longer than the key field's data length, the data will be truncated at the right.

If the length of the data is shorter than the key field's data length and the key contains binary data, an error message is issued. If the key does not contain binary data, the field is padded with blanks.

It is not an error to specify a key more than once. If duplicate keys are specified, the last specified value for that key is used.

Each variable length record must be 4-byte aligned. If not, unpredictable results may occur.


Field Descriptions

Data. The data that is used to determine how the journal information should be retrieved. All values are validity checked.

Key. Identifies specific information to be retrieved about the journal. See Keys for the list of valid keys.

Length of data. The length of the key information.

Length of variable length record. The length of the variable length record. This field is used to get the addressability of the next variable length record.


Keys

The following table lists the valid keys for the key field area of the variable length record.

Key Input Type Field
1 N/A Journal receiver directory information
2 CHAR(10) Journaled object information
3 CHAR(38) Remote journal information

Start of changeNote:If you are only interested in summary information about journaled objects, this information is available with format RJRN0100 or format RJRN0200. Key 2 provides detailed information about journaled objects.

Note:The number of objects journaled to the journal can be significant. The time to return the journaled object information (key 2) can also be significant. The space needed to return this information can be more than 2 gigabytes (2,147,483,647).

To get an approximation of the space needed to return the journaled object information (key 2), specify a value of -1 in the input variable Length of receiver variable. By doing this, the API will return in the Bytes available field the calculated size of space that is needed to return the journaled object information without attempting on this request to get any journaled object information. Since only the calculations will be done, the API will be able to return the requested information quickly. The value of Bytes available returned will be in 4K units if format RJRN0200 was specified.

Note: At least 8 bytes must be available in the Receiver variable return area to return the Bytes available information. Only these 8 bytes of information will be returned when the Length of receiver variable is set to -1. End of change


Field Descriptions

Journaled object information. The list of objects that are journaled to the specified journal of specific object types. The input key value indicates what journaled object information to retrieve. The object types that are supported for retrieval are *FILE, *DTAARA, *DTAQ, *DIR, *STMF, and *SYMLNK. The possible values follow:

*ALL All objects that are journaled to the journal, of the object types supported for retrieval with this key, are returned.
*ALLIFS Only the following object types that are journaled to the journal are returned: *DIR, *STMF, and *SYMLNK.
Object type Only the objects of the specified object type that are journaled to the journal are returned.

Note: The following object types cannot be specified individually in this field: *DIR, *STMF, and *SYMLNK. To retrieve these object types, specify *ALLIFS.

For output values, see Key 2 Output Section.

Journal receiver directory information. The journal receiver directory information that is returned for the journal. Journal receiver directory information can be retrieved for local and remote journals. There are no input values for this key. For output values, see Key 1 Output Section.

Remote journal information. The remote journal information that is returned. Remote journal information can be retrieved for local and remote journals. The input key value indicates what remote journal information to retrieve. The possible values follow:

Char(18) The relational database directory entry information as follows:
*ALL
All remote journal information is returned.
Relational database directory entry
Only the remote journal information for the specified relational database directory entry is to be returned.
Char(20) The remote journal name information as follows:
*ALL
All remote journals that are associated with the specified relational database directory entry are returned.
Qualified remote journal name Only the remote journal information for the specified journal that is associated with the specified relational database directory entry is to be returned. The first 10 characters contain the remote journal name, and the second 10 characters contain the library name.

For output values, see Key 3 Output Section.

Start of changeRJRN0100/RJRN0200 format

The structure of the information returned is determined by the specified format name. For detailed descriptions of the fields, see Field Descriptions.

Note:The format name determines what units are used for the fields Bytes returned and Bytes available. If format RJRN0100 is specified, the information is in one byte units. If format RJRN0200 is specified, the information is in 4K (4096 bytes) units. End of change

Offset Type Field
Dec Hex
0 0 BINARY(4) Bytes returned
4 4 BINARY(4) Bytes available
8 8 BINARY(4) Offset to key information
12 C CHAR(10) Journal name
22 16 CHAR(10) Journal library name
32 20 BINARY(4) Auxiliary storage pool (ASP)
36 24 CHAR(10) Message queue name
46 2E CHAR(10) Message queue library name
56 38 CHAR(1) Manage receiver option
57 39 CHAR(1) Delete receiver option
58 3A CHAR(1) Receiver size option *RMVINTENT
59 3B CHAR(1) Receiver size option *MINFIXLEN
60 3C CHAR(1) Receiver size option *MAXOPT1
61 3D CHAR(1) Receiver size option *MAXOPT2
62 3E CHAR(1) Receiver size option *MAXOPT3
63 3F CHAR(2) Reserved
65 41 CHAR(1) Journal type
66 42 CHAR(1) Remote journal type
67 43 CHAR(1) Journal state
68 44 CHAR(1) Journal delivery mode
69 45 CHAR(10) Local journal name
79 4F CHAR(10) Local journal library name
89 59 CHAR(8) Local journal system
97 61 CHAR(10) Source journal name
107 6B CHAR(10) Source journal library name
117 75 CHAR(8) Source journal system
125 7D CHAR(10) Redirected receiver library name
135 87 CHAR(50) Journal text
185 B9 CHAR(1) Minimize entry specific data for data areas
186 BA CHAR(1) Minimize entry specific data for files
187 BB CHAR(8) Reserved
195 C3 CHAR(1) Journal Cache
196 C4 BINARY(4) Number of attached journal receivers
200 C8 CHAR(10) Attached journal receiver name
210 D2 CHAR(10) Attached journal receiver library name
220 DC CHAR(8) Local journal system associated with the attached journal receiver
228 E4 CHAR(8) Source journal system associated with the attached journal receiver
236 EC CHAR(10) Attached dual journal receiver name
246 F6 CHAR(10) Attached dual journal receiver library name
256 100 BINARY(4) Manage receiver delay
260 104 BINARY(4) Delete receiver delay
264 108 CHAR(10) ASP device name
274 112 CHAR(10) Local journal ASP group name
284 11C CHAR(10) Source journal ASP group name
294 126 CHAR(1) Fixed length data JOB
295 127 CHAR(1) Fixed length data USR
296 128 CHAR(1) Fixed length data PGM
297 129 CHAR(1) Fixed length data PGMLIB
298 12A CHAR(1) Fixed length data SYSSEQ
299 12B CHAR(1) Fixed length data RMTADR
300 12C CHAR(1) Fixed length data THD
301 12D CHAR(1) Fixed length data LUW
302 12E CHAR(1) Fixed length data XID
Start of change303 12F CHAR(4) Reserved
307 133 CHAR(1) Journaled object limit
308 134 BINARY(4) UNSIGNED Total number of journaled objects
312 138 BINARY(4) UNSIGNED Total number of journaled files
316 13C BINARY(4) UNSIGNED Total number of journaled members
320 140 BINARY(4) UNSIGNED Total number of journaled data areas
324 144 BINARY(4) UNSIGNED Total number of journaled data queues
328 148 BINARY(4) UNSIGNED Total number of journaled integrated file system objects of type *DIR, *STMF, and *SYMLNK
332 14C BINARY(4) UNSIGNED Total number of journaled access paths
336 150 BINARY(4) UNSIGNED Total number of commitment definitions
340 154 BINARY(4) UNSIGNED Journal recovery count
344 158 CHAR(104) Reserved End of change
448 1C0 BINARY(4) Number of keys in key section
Note:These fields repeat for each key specified.


BINARY(4) Key


BINARY(4) Offset to start of key information


BINARY(4) Length of key information header section


BINARY(4) Number of entries


BINARY(4) Length of each entry in key information list section

Key 1 Output Section

Offset Type Field
Dec Hex
Note: The following fields are returned when the journal receiver directory key information is specified. Otherwise, they will not be used.
0 0 BINARY(4) Total number of journal receivers
4 4 BINARY(4) Total size of journal receivers
8 8 BINARY(4) Total size of journal receivers multiplier
12 C CHAR(8) Reserved
Note: The following fields repeat for each journal receiver that is returned.


CHAR(10) Journal receiver name


CHAR(10) Journal receiver library name


CHAR(5) Journal receiver number


CHAR(13) Journal receiver attached date and time


CHAR(1) Journal receiver status


CHAR(13) Journal receiver saved date and time


CHAR(8) Local journal system associated with the journal receiver


CHAR(8) Source journal system associated with the journal receiver


BINARY(4) Journal receiver size


CHAR(56) Reserved

Key 2 Output Section

Offset Type Field
Dec Hex
Note: The following fields are returned when the journaled object information key is specified. Otherwise, they will not be used.
0 0 BINARY(4) Total number of journaled files
4 4 BINARY(4) Total number of journaled members
8 8 BINARY(4) Total number of journaled data areas
12 C BINARY(4) Total number of journaled data queues
16 10 BINARY(4) Total number of journaled integrated file system objects of type *DIR, *STMF, and *SYMLNK
20 14 CHAR(16) Reserved
Note: The following fields repeat for each journaled object that is returned.
    CHAR(10) Object type
    CHAR(10) Object name
    CHAR(10) Object library name
    CHAR(16) Object file identifier
    CHAR(2) Reserved

Key 3 Output Section

Offset Type Field
Dec Hex
Note: The following fields are returned when the remote journal information key is specified. Otherwise, they will not be used.
0 0 BINARY(4) Total number of remote journals
4 4 CHAR(16) Reserved
Note: The following fields repeat for each remote journal that is returned.
    CHAR(18) Relational database directory entry
    CHAR(10) Remote journal name
    CHAR(10) Remote journal library name
    CHAR(10) Remote journal receiver library name
    CHAR(10) Controlled-inactivate journal information journal receiver
    CHAR(10) Controlled-inactivate journal information journal receiver library
    BINARY(4) Controlled-inactivate journal information sequence number
    BINARY(4) Reserved
    CHAR(1) Remote journal type
    CHAR(1) Remote journal state
    CHAR(1) Remote journal delivery mode
    CHAR(1) Reserved
    BINARY(4) Sending task priority
    CHAR(20) Controlled-inactivate journal information sequence number - long
    CHAR(60) Reserved
    CHAR(512) Relational database directory entry details
    CHAR(348) Reserved

Field Descriptions

Attached dual journal receiver library name. The name of the library that contains the dual journal receiver.

This field is blank if there is no dual receiver.

Attached dual journal receiver name. The journal receiver that was attached at the same time as the attached journal receiver.

This field is blank if there is no dual receiver.

Attached journal receiver library name. The name of the library that contains the attached journal receiver. This field will be blank if no journal receivers are attached.

Attached journal receiver name. The name of the journal receiver that is currently attached to this journal. This field will be blank if no journal receivers are attached.

Auxiliary storage pool (ASP). The number of the auxiliary storage pool to which storage for the object is allocated.

ASP device name. The name of the independent auxiliary storage pool (ASP) to which storage for the object is allocated. *SYSBAS is used to indicate the system ASP and all basic user ASPs.

Bytes available. The number of bytes of data available to be returned. All available data is returned if enough space is provided.

Start of change Note:The format name determines what units are used for this field. If format RJRN0100 is specified, the information is in one byte units. If format RJRN0200 is specified, the information is in 4K (4096 bytes) units. End of change

Bytes returned. The number of bytes of data returned.

Start of change Note:The format name determines what units are used for this field. If format RJRN0100 is specified, the information is in one byte units. If format RJRN0200 is specified, the information is in 4K (4096 bytes) units. End of change

Controlled-inactivate journal information journal receiver. The name of the journal receiver that contains the controlled inactivate journal information sequence number.

This field will be blank unless the remote journal state is *CTLINACT.

Controlled-inactivate journal information journal receiver library. The library of the journal receiver that contains the controlled inactivate journal information sequence number.

This field will be blank unless the remote journal state is *CTLINACT.

Controlled-inactivate journal information sequence number. The sequence number of the last journal entry that was queued for replication before the Change Remote Journal (CHGRMTJRN) command or the Change Journal State (QjoChangeJournalState) API was called to start a controlled inactivate of the remote journal.

This field will be 0 unless the remote journal state is *CTLINACT.

This field will be -1 if the value could not fit in the specified Binary(4) field. The complete value will be in the Controlled-inactivate journal information sequence number - long field.

Controlled-inactivate journal information sequence number - long. This is the same field as Controlled-inactivate journal information sequence number except the information is in a Char(20) field which is treated as Zoned(20,0).

Delete receiver delay. The delay time (in minutes) between attempts to delete journal receivers associated with this journal if the delete receiver option is a 1. The default is 10 minutes.

Delete receiver option. Whether the system deletes detached journal receivers that are associated with this journal when they are no longer needed for IPL recovery.

0 The system does not delete detached journal receivers that are associated with this journal.
1 The system deletes detached journal receivers that are associated with this journal.

Fixed length data *JOB. Indicates whether the job name will be stored when journal entries are deposited.

blank Blank is returned when the journal is a remote journal.
0 Journal entries deposited to the journal will not include the job name.
1 Journal entries deposited to the journal will include the job name.

Fixed length data *LUW. Indicates whether the logical unit of work identifier will be stored when journal entries are deposited.

blank Blank is returned when the journal is a remote journal.
0 Journal entries deposited to the journal will not include the logical unit of work identifier.
1 Journal entries deposited to the journal may include the logical unit of work identifier.

Fixed length data *PGM. Indicates whether the program name will be stored when journal entries are deposited.

blank Blank is returned when the journal is a remote journal.
0 Journal entries deposited to the journal will not include the program name.
1 Journal entries deposited to the journal will include the program name.

Fixed length data *PGMLIB. Indicates whether the program library name will be stored when journal entries are deposited.

blank Blank is returned when the journal is a remote journal.
0 Journal entries deposited to the journal will not include the program library name and library ASP information.
1 Journal entries deposited to the journal will include the program library name and library ASP information.

Fixed length data *RMTADR. Indicates whether the remote address will be stored when journal entries are deposited.

blank Blank is returned when the journal is a remote journal.
0 Journal entries deposited to the journal will not include the remote address.
1 Journal entries deposited to the journal may include the remote address.

Fixed length data *SYSSEQ. Indicates whether the system sequence number will be stored when journal entries are deposited.

blank Blank is returned when the journal is a remote journal.
0 Journal entries deposited to the journal will not include the system sequence number.
1 Journal entries deposited to the journal will include the system sequence number.

Fixed length data *THD. Indicates whether the thread identifier will be stored when journal entries are deposited.

blank Blank is returned when the journal is a remote journal.
0 Journal entries deposited to the journal will not include the thread identifier.
1 Journal entries deposited to the journal will include the thread identifier.

Fixed length data *USR. Indicates whether the user name will be stored when journal entries are deposited.

blank Blank is returned when the journal is a remote journal.
0 Journal entries deposited to the journal will not include the user name.
1 Journal entries deposited to the journal will include the user name.

Fixed length data *XID. Indicates whether the transaction identifier will be stored when journal entries are deposited.

blank Blank is returned when the journal is a remote journal.
0 Journal entries deposited to the journal will not include the transaction identifier.
1 Journal entries deposited to the journal may include the transaction identifier.

Journal cache. Specifies whether journal entries were cached before being written out to disk.

blank Blank is returned when the journal is a remote journal.
0 Journal entries are written to disk immediately if needed to assure single-system recovery.
1 Journal entries are written to main memory. When there are several journal entries in main memory then the journal entries are written from main memory to disk. If the application performs large numbers of changes, this may result in fewer synchronous disk writes resulting in improved performance. However, is is not recommended to use this option if it is unacceptable to lose even one recent change in the event of a system failure where the contents of main memory are not preserved. This type of journaling is directed primarily toward batch jobs and may not be suitable for interactive applications where single system recovery is the primary reason for using journaling.

Note:Applications using commitment control will likely see less performance improvement because commitment control already performs some journal caching.

Journal delivery mode. The journal delivery mode that is being used to replicate journal entries to this journal.

0 Not applicable. This is a local journal or this remote journal is not *ACTIVE or not *CTLINACT.
1 *ASYNC. Journal entries are being delivered or replicated asynchronously.
2 *SYNC. Journal entries are being delivered or replicated synchronously.
3 *ASYNCPEND. Journal entries are to be delivered or replicated asynchronously, but the journal is currently in catch-up mode.
4 *SYNCPEND. Journal entries are to be delivered or replicated synchronously, but the journal is currently in catch-up mode.

Journal library name. The name of the library that contains the journal.

Journal name. The name of the journal.

Journal receiver attached date and time. The date and time that this journal receiver was attached to the journal. For a journal receiver attached to a *REMOTE journal, this is the date and time that the journal receiver was attached on the local system. This field is in the CYYMMDDHHMMSS format as follows:

C Century, where 0 indicates years 19xx and 1 indicates years 20xx.
YY Year
MM Month
DD Day
HH Hour
MM Minute
SS Second

Journal receiver library name. The name of the library that contains the journal receiver.

Journal receiver name. The name of the journal receiver.

Journal receiver number. A number that is associated with a journal receiver and assigned by the system, which is relative to all other journal receivers in the journal receiver directory at this time. For a given journal receiver, this number will change as journal receivers are added and deleted from the directory. The first 2 digits identify the journal chain number and the last 3 digits identify the journal receiver number within the chain.

A chain identifies a group of journal receivers that are contiguous, which allows the system to process entries across journal receivers within the same chain.

The chain number starts with zero and is incremented sequentially each time a new chain is needed. For example, new chains are started when a damaged journal receiver is recovered by restoring a partial version.

Within a chain, each newly attached journal receiver is given a journal receiver number starting with one and incrementing sequentially to 999.

When you journal to dual journal receivers, both journal receivers are assigned the same number.

Journal receiver saved date and time. The date and time that the journal receiver was last saved. This field is in the CYYMMDDHHMMSS format, which is described in the journal receiver attached date and time field description.

Journal receiver size. The number of kilobytes of auxiliary disk storage used by this journal receiver.

This field will be zero if the journal receiver is damaged.

Journal receiver status. The status of the journal receiver. The status can be one of the following:

1 The journal receiver is currently attached to the journal.
2 The journal receiver is online. The journal receiver has not been saved, and it has been detached from the journal.
3 The journal receiver was saved after it was detached. The journal receiver storage was not freed when it was saved.
4 The journal receiver was saved after it was detached. The journal receiver storage was freed when it was saved.
5 The journal receiver status is partial for one of the following reasons:
  • It was restored from a version that was saved while it was attached to the journal. Additional journal entries may have been written that were not restored.
  • It was one of a pair of dual journal receivers, and it was found damaged while attached to the journal. The journal receiver has since been detached. This journal receiver is considered partial because additional journal entries may have been written to the dual journal receiver.
  • It is associated with a remote journal and it does not contain all the journal entries that are in the corresponding journal receiver associated with the source journal.

Start of change Journal recovery count. The journal recovery count allows a user to choose between faster abnormal IPL or independent ASP vary on recovery and decreased run time processing. The value specified influences the frequency with which journaled objects are forced to auxiliary storage as those objects are changed. The specified journal recovery count indicates the approximate number of journaled changes that would need to be recovered during journal synchronization for this journal in the event of an abnormal IPL or vary on. Specifying a smaller value decreases the number of changes that would need to be recovered from this journal in the event of an abnormal IPL or vary on by increasing the frequency with which changed objects are forced. Specifying a larger value increases the number of changes that would need to be recovered for this journal during an abnormal IPL or vary on by decreasing the frequency with which changed objects are forced. Changing this value may affect overall system performance as it affects the utilization of auxiliary storage devices.

All journals are created with the system default journal recovery count. If a value other than the system default is specified, the system default journal recovery count will no longer be in effect for this journal.

The operating system is shipped with a system default journal recovery count of 250,000. If there is a need to change the system default journal recovery count for all newly created journals and all existing journals that have the system default (*SYSDFT) specified for their journal recovery count, please refer to the Change Journal Recovery Count (QJOCHRVC) API.

0 The value is set to the system default journal recovery count.
10000-2000000000 Specifies the approximate number of journal entries that may need to be recovered from this journal during an abnormal IPL or vary on. End of change

Journal state. An indication as to whether journal entries are currently being sent to a journal. For a remote journal, this is whether the journal is actively receiving journal entries from the source system journal.

0 *INACTIVE. If this is a remote journal, this means journal entries cannot be received from a source journal.
1 *ACTIVE. If this is a local journal, this means journal entries can be deposited to this journal. If this is a remote journal, this means journal entries can be received from a source journal.
2 *FAILED. If this is a remote journal, this means journal entries cannot be received from a source journal due to a remote journal function failure, for example, a communications failure. Before inactivating the remote journal by using the Change Remote Journal (CHGRMTJRN) command or by calling the Change Journal State (QjoChangeJournalState) API, you may want to receive, retrieve, or display any unconfirmed entries from this journal.

This value does not apply to local journals.

4 *INACTPEND. If this is a remote journal, this means a request is being processed to set the journal state to *INACTIVE. Start of change Or, the remote journal was a target in a synchronous environment and the environment has gone down, leaving unconfirmed entries in the journal. End of change

This value does not apply to local journals.

5 *STANDBY. If this is a local journal, this means that most journal entries are not deposited into the journal and there will be no errors indicating that the entry was not deposited. While in standby state, journaling can be started or stopped, however using explicit commitment control is not allowed. Also, databases files that have referential integrity constraints or data links defined cannot be used when a journal is in standby state. The operating system needs to use commitment control for these functions. However, referential integrity constraints can be used in standby state if RESTRICT is specified on the ON UPDATE or ON DELETE attribute for the constraint.

This value applies only to local journals.

Journal text. The text description of the journal.

Journal type. The journal type defines the scope of the journal and some of its characteristics. The valid journal types follow:

0 *LOCAL
1 *REMOTE

Start of change Journaled object limit. The journaled object limit defines how many objects can be journaled to the journal. The valid journaled object limits follow:

blank Blank is returned when the journal is a remote journal.
0 up to 250,000 objects
1 up to 10,000,000 objectsEnd of change

Key. Specific information retrieved about the journal.

Length of key information header section. The length of the header information in the given keys information section. The header is followed by the list information section, which is a repeating list of entries for the given key.

Length of each entry in key information list section. The length of an entry within a specific list that is returned for a given key.

Local journal ASP group name. The name of the independent auxiliary storage pool (ASP) group of the local journal. *SYSBAS is used to indicate the system ASP and all basic user ASPs. The local journal is the journal that is the initiator of the original journal deposit that has been replicated downstream to this journal.

This field is blank if there is no local journal.

Local journal library name. The library name of the local journal. The local journal is the journal that is the initiator of the original journal deposit that has been replicated downstream to this journal.

This field is blank if there is no local journal.

Local journal name. The journal name of the local journal. The local journal is the journal that is the initiator of the original journal deposit that has been replicated downstream to this journal.

This field is blank if there is no local journal.

Local journal system. The system name of the local journal. The local journal is the journal that is the initiator of the original journal deposit that has been replicated downstream to this journal.

This system name is determined when the remote journal is activated by using the Change Remote Journal (CHGRMTJRN) command or by calling the Change Journal State (QjoChangeJournalState) API. The name is based on the current system name at that time as seen by using the Display Network Attributes (DSPNETA) command.

This field is blank if there is no local journal.

This field is *UNKNOWN if no journal receiver is currently attached or if the journal receiver is damaged or destroyed.

Local journal system associated with the attached journal receiver. If this attached journal receiver is associated with a remote journal, this field is the system name of the local journal. See the local journal system field for more information.

Local journal system associated with the journal receiver. If this journal receiver was associated with a remote journal, this field is the system name of the local journal. See the local journal system field for more information.

Manage receiver delay. The delay time (in minutes) between attempts to attach new journal receivers to this journal if the manage receiver option is a value of 1. The default is 10 minutes.

Zero is returned when the journal is a remote journal.

Manage receiver option. Whether the system or user manages the changing of journal receivers; that is, detaching the currently attached journal receivers and attaching new journal receivers. This option is applicable only for local journals and is blank for remote journals. Possible values follow:

blank Blank is returned when the journal is a remote journal.
0 The user manages the changing of journal receivers by issuing the Change Journal (CHGJRN) command to attach new journal receivers and detach old journal receivers.
1 The system manages the changing of journal receivers. When an attached journal receiver reaches its size threshold, the system creates and attaches new journal receivers, and detaches the currently attached journal receivers. Additionally, during an initial program load (IPL), the system performs a Change Journal (CHGJRN) command to change journal receivers and reset the journal sequence number if the journal is not needed to complete commitment-control IPL recovery.

Message queue library name. The name of the library that contains the message queue.

Message queue name. The name of the message queue that is associated with this journal. This message queue will receive various messages that describe the operations on the journal. For example, if the threshold value of the attached journal receiver is exceeded during journaling and the journal currently is being managed by the user, a CPF7099 message is sent to this message queue. If the journal is being managed by the system, then CPF7020 is sent to this message queue when the change journal has successfully completed. Messages issued by the remote journal support will also be sent to this message queue. The MNGRCV parameter on the Create Journal (CRTJRN) command or on the Change Journal (CHGJRN) command) specifies whether the journal is being managed by the user or by the system.

Minimize entry specific data for data areas. Whether journal entries for data areas may have minimized entry specific data. The possible values are:

blank Blank is returned when the journal is a remote journal.
0 Journal entries for data areas will have complete entry specific data.
1 Journal entries for data areas may have minimized entry specific data.

Minimize entry specific data for files. Whether journal entries for files may have minimized entry specific data. The possible values are:

blank Blank is returned when the journal is a remote journal.
0 Journal entries for files will have complete entry specific data.
1 Journal entries for files may have minimized entry specific data. Start of change The minimizing does not occur on field boundaries. Therefore, the entry specific data may not be viewable and may not be used for auditing purposes.
2 Journal entries for files may have minimized entry specific data. The minimizing occurs on field boundaries. Therefore, the entry specific data will be viewable and may be used for auditing purposes. End of change

Number of attached journal receivers. The number of journal receivers that are currently attached to the journal. If this number is two, the dual journal receiver information is returned. If this number is one or zero, the dual journal receiver information is returned as blanks. If this number is zero, the journal receiver information is returned as blanks, and if the journal receiver directory key is specified, there will be no entries returned.

Number of entries. The number of entries that are contained within the specific list of information returned for a given key.

Number of keys in key section. The number of keys that are listed in the key section with specific information returned.

Object file identifier. The file identifier (FID) of the integrated file system object that is journaled to the specified journal.

This field will be blank if the object type field is not the special value *IFS.

Object library name. The name of the library that contains the object that is journaled to the specified journal.

Start of change This field will be contain *DIR, *SYMLNK, or *STMF if the object type field is the special value *IFS. End of change

Object name. The name of the object that is journaled to the specified journal.

This field will be blank if the object type field is the special value *IFS.

Object type. The type of the object that is journaled to the specified journal.

Note: If the object is of type *DIR, *SYMLNK, or *STMF, the object type listed will be the special value *IFS.

Offset to key information. The offset from the start of the format to the key information section. Specifically, this offset points to the Number of keys in key section field.

Offset to start of key information. The offset from the start of the key section, which starts immediately after the Number of keys in key section field, to the specific information returned for a given key.

Receiver size option *MAXOPT1. Whether the journal receiver attached to the journal can have a maximum receiver size of approximately one terabyte (1,099,511,627,776 bytes) and a maximum sequence number of 9,999,999,999. Additionally, the maximum size of the journal entry that can be deposited is 15,761,440 bytes. Journal receivers attached to a journal while this option is in effect cannot be saved and restored to any releases prior to V4R5M0, nor can they be replicated to any remote journals on any systems at releases prior to V4R5M0. This option is applicable only for local journals and is blank for remote journals.

blank Blank is returned when the journal is a remote journal.
0 The journal receivers attached to the journal will have a maximum journal receiver size of approximately 1.9 gigabytes and a maximum sequence number of 2,147,483,136, if neither *MAXOPT2 nor *MAXOPT3 is specified.
1 The journal receivers attached to the journal will have a maximum journal receiver size of approximately one terabyte (1,099,511,627,776 bytes) and a maximum sequence number of 9,999,999,999. Additionally, the maximum size of the journal entry that can be deposited is 15,761,440 bytes.

Receiver size option *MAXOPT2. Whether the journal receiver attached to the journal can have a maximum receiver size of approximately one terabyte (1,099,511,627,776 bytes) and a maximum sequence number of 9,999,999,999. Additionally, the maximum size of the journal entry which can be deposited is 4,000,000,000 bytes. Journal receivers attached to a journal while this option is in effect cannot be saved and restored to any releases prior to V5R1M0, nor can they be replicated to any remote journals on any systems at releases prior to V5R1M0. This option is applicable only for local journals and is blank for remote journals.

blank Blank is returned when the journal is a remote journal.
0 The journal receivers attached to the journal will have a maximum journal receiver size of approximately 1.9 gigabytes and a maximum sequence number of 2,147,483,136, if neither *MAXOPT1 nor *MAXOPT3 is specified.
1 The journal receivers attached to the journal will have a maximum journal receiver size of approximately one terabyte (1,099,511,627,776 bytes) and a maximum sequence number of 9,999,999,999. Additionally, the maximum size of the journal entry that can be deposited is 4,000,000,000 bytes.

Receiver size option *MAXOPT3. Whether the journal receiver attached to the journal can have a maximum receiver size of approximately one terabyte (1,099,511,627,776 bytes) and a maximum sequence number of 18,446,744,073,709,551,600. Additionally, the maximum size of the journal entry which can be deposited is 4,000,000,000 bytes. Journal receivers attached to a journal while this option is in effect cannot be saved and restored to any releases prior to V5R3M0, nor can they be replicated to any remote journals on any systems at releases prior to V5R3M0. This option is applicable only for local journals and is blank for remote journals.

blank Blank is returned when the journal is a remote journal.
0 The journal receivers attached to the journal will have a maximum journal receiver size of approximately 1.9 gigabytes and a maximum sequence number of 2,147,483,136, if neither *MAXOPT1 nor *MAXOPT2 is specified.
1 The journal receivers attached to the journal will have a maximum journal receiver size of approximately one terabyte (1,099,511,627,776 bytes) and a maximum sequence number of 18,446,744,073,709,551,600. Additionally, the maximum size of the journal entry that can be deposited is 4,000,000,000 bytes.

Receiver size option *MINFIXLEN. The size of the journal entries that are deposited into the attached journal receivers is reduced by the automatic removal of all fixed length data such as job name, machine sequence number, and so on. This option is applicable only for local journals and is blank for remote journals.

blank Blank is returned when the journal is a remote journal.
0 The journal entries that are deposited include all of the fixed length data such as job name, system sequence number, and so on.
1 The journal entries that are deposited do not include any of the fixed length data such as job name, system sequence number, and so on.

Receiver size option *RMVINTENT. Whether the size of the receivers that are attached to the journal are reduced by automatic removal of the internal system entries. Removal occurs only for entries that are required for initial program load (IPL) recovery when those entries are no longer required. This option is applicable only for local journals and is blank for remote journals.

blank Blank is returned when the journal is a remote journal.
0 The internal system entries are not automatically removed when they are no longer needed for recovery.
1 The internal system entries are automatically removed when they are no longer needed for recovery.

Redirected receiver library name. For a local or *TYPE1 remote journal, this field gives the redirected receiver library name that is currently in place on this journal's local journal for any downstream journal receivers associated with *TYPE1 remote journals.

This field is set to *NONE if no receiver library redirection was specified when *TYPE1 remote journals were added.

This field is set to the redirected receiver library name that is currently in place on this remote journal if the specified journal is a *TYPE2 remote journal.

Relational database directory entry. The name of the relational database directory entry that is associated with the remote journal.

Relational database directory entry details. The details that are associated with the relational database directory entry. To view the format of this information, which is a copy of a record in the relational database directory file, use the Display File Field Description (DSPFFD) command on the RDB directory logical file, QADBXRMTNM, in library QSYS.

Remote journal delivery mode. The remote journal delivery mode that is being used to replicate journal entries to the remote journal.

0 Not applicable. The remote journal is not *ACTIVE or not *CTLINACT.
1 *ASYNC. Journal entries are being delivered or replicated asynchronously.
2 *SYNC. Journal entries are being delivered or replicated synchronously.
3 *ASYNCPEND. Journal entries are to be delivered or replicated asynchronously, but the remote journal is currently in catch-up mode.
4 *SYNCPEND. Journal entries are to be delivered or replicated synchronously, but the remote journal is currently in catch-up mode.

Remote journal library name. The library name of the remote journal that is directly downstream of this journal.

This field is blank if there is no remote journal.

Remote journal name. The name of the remote journal that is directly downstream of this journal.

This field is blank if there is no remote journal.

Remote journal receiver library name. The library name of the remote journal receiver that is directly downstream of this journal.

This field is blank if there is no remote journal or if one was not specified on the Add Remote Journal (ADDRMTJRN) command or the Add Remote Journal (QjoAddRemoteJournal) API.

Remote journal state. An indication as to whether the remote journal is actively receiving journal entries from the source system journal.

0 *INACTIVE. The remote journal is not ready to receive any journal entries from its source journal.
1 *ACTIVE. The remote journal is ready to receive any journal entries from its source journal.
2 *FAILED. The remote journal is not ready to receive any journal entries from its source journal due to a remote journal function failure, for example, a communications failure. You will need to inactivate the remote journal by using the Change Remote Journal (CHGRMTJRN) command or by calling the Change Journal State (QjoChangeJournalState) API.
3 *CTLINACT. The remote journal is in the process of a controlled inactivate. Therefore, the remote journal will be receiving those journal entries that were already queued for replication when the Change Remote Journal (CHGRMTJRN) command or the Change Journal State (QjoChangeJournalState) API requested to inactivate the remote journal. However, no entries deposited after that request will be replicated to the remote journal.

Remote journal type. The type of remote journal that was created, and that influences characteristics of the remote journal such as journal receiver restore options, redirection capabilities, and remote journal association support. The possible values are:

0 Local journal
1 *TYPE1 remote journal
2 *TYPE2 remote journal

Reserved. The bytes reserved to align binary fields or for future use.

Sending task priority. If the remote journal delivery mode is *ASYNC, this is the priority of the sending task on the source system.

If the remote journal delivery mode is not *ASYNC, or the remote journal state is *INACTIVE, this field is -1.

Source journal ASP group name. The name of the independent auxiliary storage pool (ASP) group of the source journal. *SYSBAS is used to indicate the system ASP and all basic user ASPs. The source journal is the journal that is directly upstream from this journal.

This field is blank if there is no source journal.

Source journal library name. The library name of the source journal. The source journal is the journal that is directly upstream of this journal.

This field is blank if there is no source journal, if no journal receiver is currently attached, or if the journal receiver is damaged or destroyed.

Source journal name. The journal name of the source journal. The source journal is the journal that is directly upstream of this journal.

This field is blank if there is no source journal.

This field is *UNKNOWN if no journal receiver is currently attached, or if the journal receiver is damaged.

Source journal system. The system name of the source journal. The source journal is the journal that is directly upstream of this journal.

This system name is determined when the remote journal is activated by using the Change Remote Journal (CHGRMTJRN) command or by calling the Change Journal State (QjoChangeJournalState) API. The name is based on the current system name at that time as seen by using the Display Network Attributes (DSPNETA) command.

This field is blank if there is no source journal, if no journal receiver is currently attached, or if the journal receiver is damaged.

Source journal system associated with the attached journal receiver. If this attached journal receiver is associated with a remote journal, this field is the system name of the source journal. See the source journal system field for more information.

Source journal system associated with the journal receiver. If this journal receiver was associated with a remote journal, this field is the system name of the source journal. See the source journal system field for more information.

Start of change Total number of journaled access paths. The total number of access paths that are currently being journaled to this journal.

Total number of journaled commitment definitions. The total number of commitment definitions that are currently being implicitly journaled to this journal. End of change

Total number of journaled data areas. The total number of data areas that are currently being journaled to this journal.

Note: This field will be set Start of change in the key 2 return structure End of change only if data areas were requested to be returned by the journaled object information key. Otherwise it will be 0 Start of change in the key 2 return structure. This value will always be returned in the base format structure. End of change

Total number of journaled data queues. The total number of data queues that are currently being journaled to this journal.

Note: This field will be set Start of change in the key 2 return structure End of change only if data queues were requested to be returned by the journaled object information key. Otherwise it will be 0 Start of change in the key 2 return structure. This value will always be returned in the base format structure. End of change

Total number of journaled files. The total number of files that are currently being journaled to this journal.

Note: This field will be set Start of change in the key 2 return structure End of change only if files were requested to be returned by the journaled object information key. Otherwise it will be 0 Start of change in the key 2 return structure. This value will always be returned in the base format structure. End of change

Total number of journaled Start of change integrated file system objects End of change of type *DIR, *STMF, and *SYMLNK. The total number of integrated file system objects of type *DIR, *STMF, and *SYMLNK that are currently being journaled to this journal.

Note:This field will be set Start of change in the key 2 return structure only if integrated file system objects End of change were requested to be returned by the journaled object information key. Otherwise it will be 0 Start of change in the key 2 return structure. This value will always be returned in the base format structure. End of change

Total number of journaled members. The total number of file members that are currently being journaled to this journal.

Note:This field will be set Start of change in the key 2 return structure End of change only if files were requested to be returned by the journaled object information key. Otherwise it will be 0 Start of change in the key 2 return structure. This value will always be returned in the base format structure.

Total number of journaled objects. This is the total of all objects journaled to the journal. This count includes explicitly journaled objects such as files, file members, access paths, data areas, data queues and integrated file system objects. This count also includes implicitly journaled objects such as journal receivers, commitment definitions, and objects journaled for system recovery purposes.

Note: The summation of these total number of object fields may give a number that is higher or lower than the value returned in the total number of journaled objects field. This is possible because the total number of objects includes some objects journaled by the system for system recovery purposes. Also, all of the total fields can be actively changing while retrieving the values.End of change

Total number of journal receivers. The total number of journal receivers that are associated with the journal.

Total number of remote journals. The total number of remote journals that are directly downstream of this journal.

Total size of journal receivers. The total size of the journal receivers in number of kilobytes of auxiliary disk storage that are associated with the journal. The size is in units of the total size of journal receivers multiplier. The total size is equal to or smaller than the total size multiplied by the total size of journal receivers multiplier.

Total size of journal receivers multiplier. The value to multiply the total size of journal receivers by to get the true total size. The value is 1 if the total size of journal receivers is smaller than 2,147,483,647 kilobytes and 1024 if it is larger.


Error Messages

Message ID Error Message Text
CPF24B4 E Severe error while addressing parameter list.
CPF3CF1 E Error code parameter not valid.
CPF3C21 E Format name &1 is not valid.
CPF3C24 E Length of the receiver variable is not valid.
CPF3C4D E Length &1 for key &2 not valid.
CPF3C82 E Key &1 not valid for API &2.
CPF3C88 E Number of variable length records &1 is not valid.
CPF3C90 E Literal value cannot be changed.
CPF694B E Length &1 of variable record for key &2 not valid.
CPF694C E Variable length record data for key &1 not valid.
CPF6948 E Length of the receiver variable &1 is not valid.
Start of change CPF69A9 E Internal error detected, error code &2. End of change
CPF701B E Journal recovery of interrupted operation failed.
CPF702C E An attached receiver has previously been destroyed.
CPF708D E Journal receiver found logically damaged.
CPF8100 E All CPF81xx messages could be returned. xx is from 01 to FF.
CPF9801 E Object &2 in library &3 not found.
CPF9802 E Not authorized to object &2 in &3.
CPF9803 E Cannot allocate object &2 in library &3.
CPF9810 E Library &1 not found.
CPF9820 E Not authorized to use library &1.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.


API introduced: V4R2
Top | Journal and Commit APIs | APIs by category