Retrieve Journal Entry (RTVJRNE)

The Retrieve Journal Entry (RTVJRNE) command allows you to get a particular journal entry and place the results in CL variables. The CL variables contain information, such as the sequence number of the retrieved entry, and are useful in automating certain types of recovery functions. The search for a journal entry can be restricted to an object, to a range of journal receivers, to a range of journal entries, to a journal code, to an entry type, to a job, to a program, to a user profile, or to a commit cycle identifier. Multiple limitation criteria can be specified. If more than one journal entry satisfies the search values specified, the first occurrence of a journal entry satisfying all of the specified search values is returned. If there is no journal entry satisfying the search values specified, the command ends with an escape message, and the return CL variables (RTNSEQNBRLRG, RTNSEQNBR, RTNJRNCDE, RTNENTTYP, RTNRCV, RTNRCVLIB and RTNJRNE) remain the same.

The order of the search through the journal entries can be ascending or descending. The search order is determined by the value specified in the SEARCH parameter. The value for the FROM parameter must come before the value specified for the TO parameter in the specified search order.

The CL prompt for this command lists the minimum length for retrieved variables next to the correct parameters. For character variables, a single number is shown. For decimal variables, two numbers are shown. The first number indicates the minimum variable length, and the second number indicates the minimum number of decimal positions.

Restrictions:

Parameters

Keyword Description Choices Notes
JRN Journal Qualified object name Required, Positional 1
Qualifier 1: Journal Name
Qualifier 2: Library Name, *LIBL, *CURLIB
FILE Journaled file Single values: *ALLFILE
Other values (up to 300 repetitions): Element list
Optional, Positional 2
Element 1: File Qualified object name
Qualifier 1: File Name, *ALL
Qualifier 2: Library Name, *LIBL, *CURLIB
Element 2: Member Name, *FIRST, *ALL, *NONE
OBJ Objects Values (up to 300 repetitions): Element list Optional
Element 1: Object Qualified object name
Qualifier 1: Object Name, *ALL
Qualifier 2: Library Name, *LIBL, *CURLIB
Element 2: Object type *FILE, *DTAARA, *DTAQ, *LIB
Element 3: Member, if data base file Name, *FIRST, *ALL, *NONE
OBJPATH Objects Values (up to 300 repetitions): Element list Optional
Element 1: Name Path name
Element 2: Include or omit *INCLUDE, *OMIT
SUBTREE Directory subtree *NONE, *ALL Optional
PATTERN Name pattern Values (up to 20 repetitions): Element list Optional
Element 1: Pattern Character value, *
Element 2: Include or omit *INCLUDE, *OMIT
RCVRNG Range of journal receivers Single values: *CURRENT, *CURCHAIN, *CURAVLCHN
Other values: Element list
Optional, Positional 3
Element 1: Starting journal receiver Qualified object name
Qualifier 1: Starting journal receiver Name
Qualifier 2: Library Name, *LIBL, *CURLIB
Element 2: Ending journal receiver Single values: *CURRENT
Other values: Qualified object name
Qualifier 1: Ending journal receiver Name
Qualifier 2: Library Name, *LIBL, *CURLIB
FROMENTLRG Starting large sequence number Character value, *FIRST, *LAST Optional
FROMTIME Starting date and time Element list Optional
Element 1: Starting date Date
Element 2: Starting time Time
TOENTLRG Ending large sequence number Character value, *LAST, *FIRST Optional
TOTIME Ending date and time Element list Optional
Element 1: Ending date Date
Element 2: Ending time Time
SEARCH Search *ASCEND, *DESCEND Optional
JRNCDE Journal codes Single values: *ALL, *CTL
Other values (up to 16 repetitions): Element list
Optional
Element 1: Journal code value A, B, C, D, E, F, J, L, M, P, Q, R, S, T, U, Y
Element 2: Journal code selection *ALLSLT, *IGNFILSLT, *IGNOBJSLT
ENTTYP Journal entry types Single values: *ALL, *RCD
Other values (up to 300 repetitions): Character value
Optional
JOB Job name Single values: *ALL, *
Other values: Qualified job name
Optional
Qualifier 1: Job name Name
Qualifier 2: User Name
Qualifier 3: Number 000000-999999
PGM Program Name, *ALL Optional
USRPRF User profile Name, *ALL Optional
CCIDLRG Commit cycle large identifier Character value, *ALL Optional
DEPENT Dependent entries *ALL, *NONE Optional
OBJFID File identifier Values (up to 300 repetitions): Hexadecimal value Optional
OBJJID Object journal identifier Values (up to 300 repetitions): Hexadecimal value Optional
ENTFMT Entry format *TYPE1, *TYPE2, *TYPE3, *TYPE4, *TYPE5 Optional
NULLINDLEN Null value indicators length 1-8000 Optional
FMTMINDTA Format minimized data *NO, *YES Optional
INCENT Include entries *CONFIRMED, *ALL Optional
FROMENT Starting sequence number 1-9999999999, *FIRST, *LAST Optional
TOENT Ending sequence number 1-9999999999, *LAST, *FIRST Optional
CMTCYCID Commit cycle identifier 1-9999999999, *ALL Optional
RTNSEQLRG CL var for RTNSEQLRG (20) Character value Optional
RTNJRNCDE CL var for RTNJRNCDE (1) Character value Optional
RTNENTTYP CL var for RTNENTTYP (2) Character value Optional
RTNRCV CL var for RTNRCV (10) Character value Optional
RTNRCVLIB CL var for RTNRCVLIB (10) Character value Optional
RTNJRNE CL var for RTNJRNE (1) Character value Optional
RTNSEQNBR CL var for RTNSEQNBR (10 0) Decimal number Optional

Journal (JRN)

Specifies the journal from which the journal entry is retrieved.

This is a required parameter.

Qualifier 1: Journal

journal-name
Specify the name of the journal.

Qualifier 2: Library

*LIBL
All libraries in the library list for the current thread are searched until the first match is found.
*CURLIB
The current library for the job is searched. If no library is specified as the current library for the job, QGPL is used.
library-name
Specify the name of the library to be searched.

Journaled physical file (FILE)

Specifies a maximum of 300 files whose journal entries are retrieved. This parameter also specifies the physical file members whose journal entries are to be retrieved.

Either the FILE parameter may be specified, or one or more of the object parameters (OBJ, OBJPATH, OBJFID, or OBJJID) may be specified, but not both.

To determine which journal entries are to be retrieved, based on the specified file or physical file member name, the following is done:

Notes:

  1. The journal identifier is the unique identifier associated with the object when journaling is started for that object. The journal identifier stays constant, even if the object is renamed, moved, or restored. See the Journal management topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for more information.
  2. When specifying a database file on this parameter, journal entries with the following journal code values are retrieved only if they satisfy the values specified on the other parameters:
    • Journal code D (database file-level information entries).
    • Journal code F (file member-level information entries).
    • Journal code R (record-level information entries).
    • Journal code U (user-generated entries).
    • Other journal codes, if *IGNFILSLT is specified on that journal code. If *ALLSLT is specified on that journal code, no journal entries with that code are retrieved.

Single values

*ALLFILE
The search for the entry being retrieved is not limited to a specified file name. All journal entries are retrieved, regardless of which objects, if any, the entries are associated with.

Element 1: File

Qualifier 1: File

*ALL
Journal entries for all physical or logical files in the specified library (the library name must be specified) whose journaled changes are currently in the journal receiver are retrieved. If *ALL is specified and the user does not have the required authority to all of the files, an error occurs, and the command ends.
file-name
Specify the name of the database physical or logical file for which a journal entry is retrieved.

Qualifier 2: Library

*LIBL
All libraries in the library list for the current thread are searched until the first match is found.
*CURLIB
The current library for the job is searched. If no library is specified as the current library for the job, QGPL is used.
library-name
Specify the name of the library to be searched.

Element 2: Member

*FIRST
Journal entries for the database physical file and the first member in the file are retrieved. This value is not valid for remote journals.
*ALL
Journal entries for the database physical file and all the currently existing members in the file are retrieved.
*NONE
Only entries for the database file are retrieved. Entries for members of the file are not retrieved.
member-name
Specify the name of the member for which an entries are retrieved.

If *ALL is specified for the file-name element, this member name is used for all applicable physical files in the library. For example, if library-name/*ALL *FIRST is specified on the FILE parameter, the journal entries of the first members of all applicable physical files in the specified library are retrieved.

Objects (OBJ)

Specifies a maximum of 300 qualified object names whose journal entries are to be retreived The possible object types are *FILE, *DTAARA, *DTAQ, and *LIB. If *FILE is specified, this parameter also specifies the name of the physical file member whose journal entries are to be retrieved.

Either the FILE parameter may be specified, or one or more of the object parameters (OBJ, OBJPATH, OBJFID, or OBJJID) may be specified, but not both.

To determine which journal entries are to be retrieved, based on the specified object name, the following is done:

Notes:

  1. The journal identifier is the unique identifier associated with the object when journaling is started for that object. The journal identifier stays constant, even if the object is renamed, moved or restored. See the Journal management topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for more information.
  2. When specifying an object on this parameter, journal entries with the following journal code values are retrieved only if they satisfy the values specified on the other parameters in addition to the object name specification:
    • Journal code D (database file-level information entries).
    • Journal code E (data area information entries).
    • Journal code F (file member-level information entries).
    • Journal code Q (data queue information entries).
    • Journal code R (record-level information entries).
    • Journal code U (user-generated entries).
    • Journal code Y (library information entries).
    • Other journal codes, if *IGNOBJSLT is the second element of the journal code. If *ALLSLT is the second element of the journal code, no journal entries with that code are retrieved.

Element 1: Object

Qualifier 1: Object

*ALL
Journal entries for all objects of the specified object type in the specified library (the library name must be specified) whose journaled changes are currently in the journal receiver are retrieved. The library name must be specified. If *ALL is specified and the user does not have the required authority for all objects in the library, a message is sent and the command ends.
object-name
Specify the name of the object whose journaled changes are to be retrieved.

Qualifier 2: Library

*LIBL
All libraries in the library list for the current thread are searched until the first match is found.
*CURLIB
The current library for the job is searched. If no library is specified as the current library for the job, QGPL is used.
library-name
Specify the name of the library to be searched.

Element 2: Object type

Specify the object type of the object whose journaled changes are to be retrieved.

*FILE
Entries for database files and database physical file members are retrieved.
*DTAARA
Entries for data areas are retrieved.
*DTAQ
Entries for data queues are retrieved.
*LIB
Entries for libraries are retrieved.

Element 3: Member, if data base file

Specify the name of the member in the physical file whose journal entries are to be retrieved.

Note: If the specified object type is not *FILE, the member name element value is ignored.

*FIRST
Journal entries for the database physical file and the first member in the file are retrieved. This value is not valid for remote journals.
*ALL
Journal entries for the database physical file and all the currently existing members in the file are retrieved.
*NONE
Only entries for the database file are retrieved. Entries for members of the file are not retrieved.
member-name
Specify the name of the member for which an entries are retrieved.

If *ALL is specified for the object-name element, this member name is used for all applicable physical files in the library. For example, if library-name/*ALL *FILE *FIRST is specified on the OBJ parameter, the journal entries of the first members of all applicable physical files in the specified library are retrieved.

Objects (OBJPATH)

Specifies a maximum of 300 objects whose journal entries are to be retrieved. Only objects whose path name identifies an object of type *STMF, *DIR or *SYMLNK that are in the "root" (/), QOpenSys, and user-defined file systems are supported. All other objects are ignored.

This parameter is not valid for remote journals.

Either the FILE parameter may be specified, or one or more of the object parameters (OBJ, OBJPATH, OBJFID, or OBJJID) may be specified, but not both.

Only objects that are currently linked with the specified path name and have a journal identifier associated with them are used in journal entry selection. If the specified object does exist, the journal identifier associated with that link is used for journal entry selection. If a specified object does not exist or does not have a journal identifier associated with it, that link is not used in selecting journal entries and no error is sent.

Notes:

  1. The journal identifier is the unique identifier associated with the object when journaling is started for that object. The journal identifier stays constant, even if the object is renamed, moved or restored. See the Journal management topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for more information.
  2. When specifying an object on this parameter, journal entries with the following journal code values are retrieved only if they satisfy the values specified on the other parameters in addition to the object name specification:
    • Journal code B (integrated file system information entries).
    • Journal code U (user-generated entries).
    • Other journal codes, if *IGNOBJSLT is the second element of the journal code. If *ALLSLT is the second element of the journal code, no journal entries with that code are retrieved.

Element 1: Name

path-name
Entries for objects identified by the path name are retrieved.

A pattern can be specified in the last part of the path name. An asterisk (*) matches any number of characters and a question mark (?) matches a single character. If the path name is qualified or contains a pattern, it must be enclosed in apostrophes. Symbolic links within the path name will not be followed. If the path name begins with the tilde character, then the path is assumed to be relative to the appropriate home directory.

Additional information about path name patterns is in the Integrated file system topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/.

Note: This parameter is Unicode-enabled. See "Unicode support in CL" in the CL topic collection in the Programming category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for additional information.

Element 2: Include or omit

The second element specifies whether names that match the path name should be included or omitted from the operation. Note that in determining whether a name matches a pattern, relative name patterns are always treated as relative to the current working directory.

*INCLUDE
The objects that match the object name pattern are to be included in determining what journal entries are retrieved, unless overridden by an *OMIT specification.
*OMIT
The objects that match the object name pattern are not to be included in determining what journal entries are retrieved. This overrides an *INCLUDE specification and is intended to be used to omit a subset of a previously selected pattern.

Directory subtree (SUBTREE)

Specifies whether the directory subtrees are included in determining the objects for which journal entries are to be retrieved.

Note: This parameter is only valid if one or more path names were specified on the OBJPATH parameter.

*NONE
Only the objects that match the selection criteria are processed. The objects within selected directories are not implicitly processed.
*ALL
All objects that meet the selection criteria are processed in addition to the entire subtree of each directory that matches the selection criteria. The subtree includes all subdirectories and the objects within those subdirectories.

Once the command has begun processing a specific directory subtree, the objects which will be found and processed may be affected by operations that update the organization of objects within the specified directory tree. This includes, but is not limited to, the following:

  • Adding, removing, or renaming object links
  • Mounting or unmounting file systems
  • Updating the effective root directory for the process calling the command
  • Updating the contents of a symbolic link

In order to process the directory subtree, the system code may increase the process-scoped maximum number of file descriptors that can be opened during processing. This is done so that the command is not likely to fail due to a lack of descriptors. This process-scoped maximum value is not reset when the command completes.

Name pattern (PATTERN)

Specifies a maximum of 20 patterns to be used to include or omit objects for which journal entries are to be retrieved.

Only the last part of the path name will be considered for the name pattern match. Path name delimiters are not allowed in the name pattern. An asterisk (*) matches any number of characters and a question mark (?) matches a single character. If the path name is qualified or contains a pattern, it must be enclosed in apostrophes.

If the Name Pattern parameter is not specified the default will be to match all patterns.

Note: This parameter is only valid if one or more path names were specified on the OBJPATH parameter.

Element 1: Pattern

'*'
All objects that match the input OBJPATH parameter are to be included.
name-pattern
Specify the pattern to be used to include or omit objects for which journal entries are retrieved. Only the last part of the path name will be considered for the name pattern match. Path name delimiters are not allowed in the name pattern.

If the Name Pattern parameter is not specified the default will be to match all patterns.

Additional information about path name patterns is in the Integrated file system topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/.

Note: This parameter is Unicode-enabled. See "Unicode support in CL" in the CL topic collection in the Programming category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for additional information.

Element 2: Include or omit

The second element specifies whether names that match the pattern should be included or omitted from the operation. Note that in determining whether a name matches a pattern, relative name patterns are always treated as relative to the current working directory.

*INCLUDE
The objects that match the object name pattern are included in the operation, unless overridden by an *OMIT specification.
*OMIT
The objects that match the object name pattern are not to be included in the operation. This overrides an *INCLUDE specification and is intended to be used to omit a subset of a previously selected pattern.

Range of journal receivers (RCVRNG)

Specifies the starting (first) and ending (last) journal receivers used in the search for a journal entry to be retrieved. The system starts the search with the starting journal receiver (as specified by the first value) and proceeds through the receiver chain until the ending journal receiver (as specified by the second value) is processed.

If *ASCEND is specified for the Search prompt (SEARCH parameter), journal receivers must be specified in the order of oldest to newest. If *DESCEND is specified for the Search (SEARCH) parameter, journal receivers must be specified in the order of newest to oldest.

Note: If the maximum number of receivers (2045) in the range is surpassed, an error occurs and no journal entries are retrieved.

Single values

*CURRENT
The journal receiver that is currently attached when starting to retrieve journal entries is used.
*CURCHAIN
The journal receiver chain that includes the journal receiver that is currently attached when starting to retrieve journal entries is used. This receiver chain does not cross a break in the chain. If there is a break in the chain, the receiver range is from the most recent break in the chain through the receiver that is attached when starting to retrieve journal entries.
*CURAVLCHN
The journal receiver chain that includes the journal receiver that is attached when starting to retrieve journal entries is used. This receiver chain does not cross a break in the chain. If there is a break in the chain, the receiver range is from the most recent break in the chain through the receiver that is attached when starting to retrieve journal entries. If journal receivers exist in the receiver chain that are not available because they were saved with the storage freed option, those journal receivers will be ignored and entries will be retrieved starting with the first available journal receiver in the chain.

Element 1: Starting journal receiver

Qualifier 1: Starting journal receiver

starting-journal-receiver-name
Specify the name of the first journal receiver that contains journal entries to be retrieved.

Qualifier 2: Library

*LIBL
All libraries in the library list for the current thread are searched until the first match is found.
*CURLIB
The current library for the job is used to locate the journal receiver. If no library is specified as the current library for the job, QGPL is used.
library-name
Specify the library where the journal receiver is located.

Element 2: Ending journal receiver

Qualifier 1: Ending journal receiver

*CURRENT
The journal receiver that is currently attached when starting to retrieve journal entries is used.
ending-journal-receiver
Specify the name of the last journal receiver containing journal entries to be searched. If the end of the receiver chain is reached before a receiver of this name is found, an error message is sent and no journal entry is retrieved.

Qualifier 2: Library

*LIBL
All libraries in the library list for the current thread are searched until the first match is found.
*CURLIB
The current library for the job is used to locate the journal receiver. If no library is specified as the current library for the job, QGPL is used.
library-name
Specify the library where the journal receiver is located.

Starting large sequence number (FROMENTLRG)

Specifies the first journal entry considered for retrieval.

Note: You can specify a value for either the Starting sequence number (FROMENT) parameter or the Starting large sequence number (FROMENTLRG) parameter, but not for both.

*FIRST
The first journal entry in the specified journal receiver range is the first entry considered for retrieval. If SEARCH(*DESCEND) is specified, FROMENT(*FIRST) is valid only if TOENTLRG(*FIRST) or TOENT(*FIRST) is also specified.
*LAST
The last journal entry in the specified journal receiver range is the first entry considered for retrieval. If SEARCH(*ASCEND) is specified, FROMENT(*LAST) is valid only if TOENTLRG(*LAST) or TOENT(*LAST) is also specified.
starting-sequence-number
The journal entry with the assigned sequence number is the first entry considered for retrieval. The possible range is 1 to 18,446,744,073,709,551,600.

Starting date and time (FROMTIME)

Specifies the date and time of the first journal entry considered for retrieval. The first journal entry found with the specified date and time or the next later journal entry is the starting point for the search.

Element 1: Starting date

starting-date
Specify the date. The starting date and time of the first journal entry occurring at or after the specified date and time becomes the starting point for the search.

Element 2: Starting time

starting-time
Specify the time. The starting date and time of the first journal entry occurring at or after the specified date and time becomes the starting point for the search.

The time can be specified in 24-hour format with or without a time separator:

  • With a time separator, specify a string of 5 or 8 digits where the time separator specified for your job is used to separate the hours, minutes, and seconds. If you enter this command from the command line, the string must be enclosed in apostrophes. If a time separator other than the separator specified for your job is used, this command will fail.
  • Without a time separator, specify a string of 4 or 6 digits (hhmm or hhmmss) where hh = hours, mm = minutes, and ss = seconds.

Ending large sequence number (TOENTLRG)

Specifies the last journal entry considered for retrieval.

Note: You can specify a value for either the Ending sequence number (TOENT) parameter or the Ending large sequence number (TOENTLRG) parameter, but not for both.

*LAST
The search continues until the last journal entry in the journal receiver range specified is processed. If SEARCH(*DESCEND) is specified, TOENT(*LAST) is valid only if FROMENTLRG(*LAST) or FROMENT(*LAST) is also specified.
*FIRST
The search continues until the first journal entry in the journal receiver range specified is processed. If SEARCH(*ASCEND) is specified, TOENT(*FIRST) is only valid if FROMENTLRG(*LAST) or FROMENT(*FIRST) is also specified.
ending-sequence-number
Specify the sequence number of the final journal entry considered for retrieval. The possible range is 1 to 18,446,744,073,709,551,600.

Note: The values specified for the FROMENT and TOENT parameter can be the same. For example, FROMENT(234) and TOENT(234) can be specified.

Ending date and time (TOTIME)

Specifies the date and time of the last entry considered for retrieval. The first journal entry found with the specified date and time, or the latest earlier journal entry is the ending point for the search.

Element 1: Ending date

ending-date
Specify the ending date. The ending date and time of the journal entry occurring at or before the specified date and time becomes the ending point for the search.

Element 2: Ending time

ending-time
Specify the time. The ending date and time of the journal entry occurring at or before the specified date and time becomes the ending point for the search.

The time can be specified in 24-hour format with or without a time separator:

  • Without a time separator, specify a string of 4 or 6 digits (hhmm or hhmmss) where hh = hours, mm = minutes, and ss = seconds.
  • With a time separator, specify a string of 5 or 8 digits where the time separator specified for your job is used to separate the hours, minutes, and seconds. If you enter this command from the command line, the string must be enclosed in apostrophes. If a time separator other than the separator specified for your job is used, this command will fail.

Search (SEARCH)

Specifies the order in which the journal entries are searched to retrieve an entry.

*ASCEND
The journal entries are searched in ascending order (from the oldest entry to the newest entry).
*DESCEND
The journal entries are searched in descending order (from the newest entry to the oldest entry).

Journal codes (JRNCDE)

Specifies the journal codes of the journal entries being considered for retrieval.

Single values

*ALL
The search for the entry is not limited to a specified journal code.
*CTL
The journal entries considered for retrieval are those used to control the journal functions. The journal codes are J and F.

Element 1: Journal code value

journal-code
Specify the journal code to which journal entries are limited. Only journal entries with the specified journal code are retrieved.

An explanation of the journal codes that can be specified is in the Journal management topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/. Search for "journal entry finder".

Element 2: Journal code selection

*ALLSLT
The journal entries with the specified journal code are retrieved only if all other selection parameters are satisfied.
*IGNFILSLT
Journal entries having the specified journal code are retrieved only if all selection parameters, except the FILE parameter, are satisfied.

Note: This value is not valid for journal codes D, F, and R. This value is not valid if the OBJ, OBJPATH, OBJFID, or OBJJID parameters are specified.

*IGNOBJSLT
Journal entries having the specified journal code are retrieved only if all selection parameters are satisfied except OBJ, OBJPATH, OBJFID, SUBTREE, PATTERN, and OBJJID.

Note: This value is not valid for journal codes B, D, E, F, Q, R, and Y. This value is not valid if the FILE parameter is specified.

Journal entry types (ENTTYP)

Specifies whether to limit the journal entries retrieved to those of a specified journal entry type.

Single values

*ALL
The search for the entry is not limited to a particular entry type.
*RCD
Only entries that have an entry type for record-level operations are retrieved. The following entry types are valid: BR, DL, DR, IL, PT, PX, UB, UP, and UR.

Other values

entry-type
Specify the entry type that limits the search for the entry. Only journal entries that contain the specified entry type are considered for retrieval. Up to 300 valid entry types can be specified. More information on entry types is in the Journal management topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/. Search for "journal entry finder".

Job name (JOB)

Specifies that the journal entries searched for retrieval are limited to the journal entries for the specified job.

Single values

*ALL
The search is not limited to entries for a specified job.
*
The search is limited to entries for the current job.

Other values

job-identifier
Specify the job name, the user name, and the job number of the job to use. You can also specify that the job name only, or that the job name and the user name be used.
job-name
Specify the job name of the job.
user-name
Specify the user name of the job.
job-number
Specify the system-assigned job number.

Program (PGM)

Specifies that the journal entries considered for retrieval are limited to the journal entries created by the specified program.

*ALL
The search is not limited to entries for a specified program.
program-name
Specify the name of the program whose journal entries are considered for retrieval.

User profile (USRPRF)

Specifies that the journal entries considered for retrieval are limited to the journal entries for a specified user profile.

*ALL
The retrieval of journal entries is not limited to entries for a specified user profile.
user-profile-name
Specify the name of the user profile whose journal entries are considered for retrieval.

Commit cycle large identifier (CCIDLRG)

Specifies that the journal entries considered for retrieval are limited to the journal entries containing the specified commit cycle identifier. A commit cycle consists of all journal entries sharing the same commit cycle identifier. A journal entry's commit cycle identifier can be displayed by using the Display Journal (DSPJRN) command and entering option five.

Note: You can input a value for either the Commit cycle identifier field (CMTCYCID) or the Commit cycle large identifier field (CCIDLRG) but not for both.

*ALL
The search is not limited to entries for a specified commit cycle identifier.
commit-cycle-identifier
Specify the commit cycle identifier of the journal entries to be retrieved. The possible range is 1 to 18,446,744,073,709,551,600.

Dependent entries (DEPENT)

Specifies whether to retrieve the journal entries recording actions

*ALL
The journal entries relating to trigger programs, referential constraints and the entries which will be ignored by an Apply or Remove Journaled Changes operations are retrieved.
*NONE
The journal entries relating to trigger programs, referential constraints and the entries which will be ignored by an Apply or Remove Journaled Changes operations are not retrieved.

File identifier (OBJFID)

Specifies a maximum of 300 file identifiers (FID) for which journal entries are to be retrieved. FIDs are a unique identifier associated with integrated file system related objects. This field is input in hexadecimal format. Only objects whose FID identifies an object of type *STMF, *DIR or *SYMLNK that are in the "root" (/), QOpenSys, and user-defined file systems are supported. All other objects are ignored.

Either the FILE parameter may be specified, or one or more of the object parameters (OBJ, OBJPATH, OBJFID, or OBJJID) may be specified, but not both.

To determine which journal entries are to be received, based on the specified file identifier, the following is done:

Notes:

  1. The journal identifier is the unique identifier associated with the object when journaling is started for that object. The journal identifier stays constant, even if the object is renamed, moved or restored. See the Journal management topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for more information.
  2. When specifying an object on this parameter, journal entries with the following journal code values are retrieved only if they satisfy the values specified on the other parameters in addition to the FID specification:
    • Journal code B (integrated file system information entries).
    • Journal code U (user-generated entries).
    • Other journal codes, if *IGNOBJSLT is the second element of the journal code. If *ALLSLT is the second element of the journal code, no journal entries with that code are retrieved.
file-identifier
Entries for objects identified with the FID are retrieved.

Object journal identifier (OBJJID)

Specifies a maximum of 300 journal identifiers for which journal entries are to be retrieved. This field is input in hexadecimal format. Hexadecimal zero is not valid.

Either the FILE parameter may be specified, or one or more of the object parameters (OBJ, OBJPATH, OBJFID, or OBJJID) may be specified, but not both.

Notes:

  1. The journal identifier is the unique identifier associated with the object when journaling is started for that object. The journal identifier stays constant, even if the object is renamed, moved or restored. See the Journal management topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for more information.
  2. When specifying a journal identifier on this parameter, journal entries with the following journal code values are converted for output only if they satisfy the values specified on the other parameters in addition to the journal identifier specification:
    • Journal code B (integrated file system information entries).
    • Journal code D (database file-level information entries).
    • Journal code E (data area information entries).
    • Journal code F (file member-level information entries).
    • Journal code J (journal receiver information entries).
    • Journal code Q (data queue information entries).
    • Journal code R (record-level information entries).
    • Journal code U (user-generated entries).
    • Journal code Y (library information entries).
    • Other journal codes, if *IGNOBJSLT is the second element of the journal code. If *ALLSLT is the second element of the journal code, no journal entries with that code are converted for output.
journal-identifier
Entries for objects associated with the specified journal identifier are retrieved.

Entry format (ENTFMT)

Specifies the format of the retrieved journal entry. For a description of what is represented by each of the fields in the journal entry, see the Journal management topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/. Search for "journal entry finder".

Lists showing detailed information on the format of the retrieved journal entries are in the RTNJRNE parameter description.

Note: If ENTFMT(*TYPE1) or ENTFMT(*TYPE2) is not specified, the NULLINDLEN parameter must be specified.

Note: If the Receiver size options field (RCVSIZOPT) for the journal was specified as *MAXOPT3, the sequence number, commit cycle identifier, the count of entries applied or removed or relative record number fields can reach a maximum value of 18,446,744,073,709,551,600. The length of these fields for the ENTFMT(*TYPE1), ENTFMT(*TYPE2), ENTFMT(*TYPE3), and ENTFMT(*TYPE4) formats is defined to hold a 10 digit number. Only the *TYPE5 format has fields large enough to hold this maximum value. When returning these fields for a format other than *TYPE5, if a sequence number, commit cycle identifier, or count of entries applied or removed or relative record number larger than 10 digits is found, the field is set to -1 for that entry.

*TYPE1
The retrieved journal entries are formatted to include the minimum information that can be specified.
*TYPE2
The retrieved journal entries include the information returned when ENTFMT(*TYPE1) is specified, and the user profile field, which gives the name of the user who logged the retrieved journal entries, and the name of the system on which the entry was sent.
*TYPE3
The retrieved journal entries include the information returned when ENTFMT(*TYPE2) is specified, and the null value indicators.
*TYPE4
The retrieved journal entries include the information returned when ENTFMT(*TYPE3) is specified, the journal identifier, the physical file trigger indicator, and the referential constraint indicator.
*TYPE5
The retrieved journal entries include the information returned when OUTFILFMT(*TYPE4) is specified, in addition to the program library name, the program library ASP device name, the program library ASP number, the system sequence number, the logical unit of work, the transaction identifier, the thread identifier, the remote address, the address family, the remote port, the arm number, the receiver name, the receiver library name, the receiver library ASP device name and the receiver library ASP number.

Null value indicators length (NULLINDLEN)

Specify the length used for the null value indicators portion of the retrieved entry. This parameter is not valid if ENTFMT(*TYPE1) or ENTFMT(*TYPE2) is specified. Valid values range from 1 to 8000 bytes. If the retrieved journal entry has fewer null value indicators than the specified field length, the trailing bytes in the null value indicators field is set to 'F0'X.

Null value indicators are present in journal entries for record level operations as follows:

  1. The corresponding physical file has null capable fields.
  2. The record image has been minimized in the entry specific data.

If the record image has not been minimized in the entry specific data, then there is one null value indicator per field in the physical file. Each indicator is one character long and can be either:

If the record image has been minimized on file field boundaries in the entry specific data and FMTMINDTA(*YES) was specified on the RCVJRNE command, then there is one null value indicator per field in the physical file. Each indicator is one character long and can be either:

If the record image has been minimized on file field boundaries in the entry specific data and FMTMINDTA(*NO) was specified on the RTVJRNE command, then an internal value is returned for the null value indicator.

Format minimized data (FMTMINDTA)

Specifies whether entry specific data which has been minimized on field boundaries will be returned in a readable format.

*NO
The journal entries which have entry specific data that has been minimized on field boundaries will not be returned in a readable format. Therefore, the entry specific data may not be viewable.
*YES
The journal entries which have entry specific data that has been minimized on field boundaries will be returned in a readable format. Therefore, the entry specific data is viewable and may be used for auditing purposes. The fields that were changed are accurately reflected. The fields that were not changed and were not recorded display default data and are indicated by a value of 'F9'X in the null value indicators field.

Include entries (INCENT)

Specifies whether only the confirmed, or both the confirmed and unconfirmed, journal entries are retrieved. This parameter only applies when converting journal entries for output from a remote journal.

Confirmed entries are those journal entries which have been sent to this remote journal and the state of the Input/Output (I/O) to auxiliary storage for the same journal entries on the local journal is known.

Unconfirmed entries are those journal entries which have been sent to this remote journal, but the state of the Input/Output (I/O) to auxiliary storage for the same journal entries on the local journal is not known, or the object name information for those journal entries is not yet known to the remote journal. Unconfirmed journal entries can only exist within the attached receiver of a remote journal. This only applies if synchronous delivery mode is being used for a particular remote journal.

*CONFIRMED
Only those journal entries which have been confirmed are retrieved.
*ALL
All confirmed and unconfirmed journal entries are retrieved.

Starting sequence number (FROMENT)

Specifies the first journal entry considered for retrieval.

Note: You can specify a value for either the Starting sequence number (FROMENT) parameter or the Starting large sequence number (FROMENTLRG) parameter, but not for both.

*FIRST
The first journal entry in the specified journal receiver range is the first entry considered for retrieval. If SEARCH(*DESCEND) is specified, FROMENT(*FIRST) is valid only if TOENTLRG(*FIRST) or TOENT(*FIRST) is also specified.
*LAST
The last journal entry in the specified journal receiver range is the first entry considered for retrieval. If SEARCH(*ASCEND) is specified, FROMENT(*LAST) is valid only if TOENTLRG(*LAST) or TOENT(*LAST) is also specified.
starting-sequence-number
The journal entry with the assigned sequence number is the first entry considered for retrieval. The possible range is 1 to 9,999,999,999.

Ending sequence number (TOENT)

Specifies the last journal entry considered for retrieval.

Note: You can specify a value for either the Ending sequence number (TOENT) parameter or the Ending large sequence number (TOENTLRG) parameter, but not for both.

*LAST
The search continues until the last journal entry in the journal receiver range specified is processed. If SEARCH(*DESCEND) is specified, TOENT(*LAST) is valid only if FROMENTLRG(*LAST) or FROMENT(*LAST) is also specified.
*FIRST
The search continues until the first journal entry in the journal receiver range specified is processed. If SEARCH(*ASCEND) is specified, TOENT(*FIRST) is only valid if FROMENTLRG(*LAST) or FROMENT(*FIRST) is also specified.
ending-sequence-number
Specify the sequence number of the final journal entry considered for retrieval. The possible range is 1 to 9,999,999,999.

Note: The values specified for the FROMENT and TOENT parameter can be the same. For example, FROMENT(234) and TOENT(234) can be specified.

Commit cycle identifier (CMTCYCID)

Specifies that the journal entries considered for retrieval are limited to the journal entries containing the specified commit cycle identifier. A commit cycle consists of all journal entries sharing the same commit cycle identifier. A journal entry's commit cycle identifier can be displayed by using the Display Journal (DSPJRN) command and entering option five.

Note: You can input a value for either the Commit cycle identifier field (CMTCYCID) or the Commit cycle large identifier field (CCIDLRG) but not for both.

*ALL
The search is not limited to entries for a specified commit cycle identifier.
commit-cycle-identifier
Specify the commit cycle identifier of the journal entries to be retrieved. The possible range is 1 to 9,999,999,999.

CL var for RTNSEQLRG (20) (RTNSEQLRG)

Specifies the name of the program CL character variable into which the journal entry sequence number of the retrieved journal entry is copied. If a CL variable name is not specified, the journal entry sequence number is not copied into the program. The specified variable must be a character variable that has a length of twenty positions. If the retrieved sequence number is shorter than the length of the field, the number is padded on the right with blanks.

CL var for RTNJRNCDE (1) (RTNJRNCDE)

Specifies the name of the program CL character variable into which the journal code of the retrieved journal entry is copied. If a CL variable name is not specified, the journal code of the retrieved journal entry is not copied into the program. The specified variable must be a character variable with a minimum length of 1 character. If the length of the variable is longer than 1 character, it is padded on the right with blanks.

CL var for RTNENTTYP (2) (RTNENTTYP)

Specifies the name of the program CL character variable into which the entry type of the retrieved journal entry is copied. If a CL variable name is not specified, the entry type of the retrieved journal entry is not copied into the program. The specified variable must be a character variable with a minimum length of 2 characters. If the length of the variable is longer than 2 characters, it is padded on the right with blanks.

CL var for RTNRCV (10) (RTNRCV)

Specifies the name of the program CL character variable into which the journal receiver name from which the returned journal entry was retrieved is copied. If the CL variable name is not specified, the journal receiver name is not copied into the program. The specified variable must be a character variable with a minimum length of 10 characters. If the length of the variable is longer than 10 characters, it is padded on the right with blanks.

CL var for RTNRCVLIB (10) (RTNRCVLIB)

Specifies the name of the CL character variable into which the name of the library containing the receiver of the retrieved journal entry is copied. If the CL variable name is not specified, the journal receiver library name is not copied into the program. The specified variable must be a character variable with a minimum length of 10 characters. If the length of the variable is longer than 10 characters, it is padded on the right with blanks.

CL var for RTNJRNE (1) (RTNJRNE)

Specifies the name of the program CL character variable into which the retrieved journal entry is copied. If a CL variable name is not specified, the retrieved journal entry is not copied into the program. The specified variable must be a character variable. If the retrieved journal entry is longer than the variable's field length, the entry is truncated. If the entry is shorter, it is padded on the right with blanks.

The following lists show detailed information on the format of the retrieved journal entries.

The journal entry can be retrieved in one of the following possible formats:

If ENTFMT(*TYPE1) is specified, then the format of the fields in the retrieved entry is as follows:

If ENTFMT(*TYPE2) is specified, then the format of the fields in the retrieved entry is as follows:

Note: If ENTFMT(*TYPE3) is specified, the following information is not available in this format:

See the Journal management topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for more information on the incomplete data indicator, the minimized entry specific data indicator, and these journal entries.

If ENTFMT(*TYPE3) is specified and a value is specified on the NULLINDLEN parameter, the format of the retrieved journal entry is as follows:

If ENTFMT(*TYPE4) is specified and a value is specified on the NULLINDLEN parameter, the format of the retrieved journal entry is as follows:

If ENTFMT(*TYPE5) is specified and a value is specified on the NULLINDLEN parameter, the format of the retrieved journal entry is as follows:

CL var for RTNSEQNBR (10 0) (RTNSEQNBR)

Specifies the name of the program CL decimal variable into which the journal entry sequence number of the retrieved journal entry is copied. If a CL variable name is not specified, the journal entry sequence number is not copied into the program. The specified variable must be a decimal variable that has a length of ten positions with no decimal positions. If the sequence number is larger than 9,999,999,999, this value is set to -1, left-aligned and padded on the right with blanks. Use the CL var for RTNSEQLRG (20) (RTNSEQLRG) parameter to retrieve a value larger than 9,999,999,999.

Examples

Example 1

Assume the following variables are specified:

DCL  &SEQ      TYPE(*DEC)  LEN(10 0)
DCL  &JRNENT   TYPE(*CHAR) LEN(200)
DCL  &RCVNAME  TYPE(*CHAR) LEN(10)
DCL  &RCVLIB   TYPE(*CHAR) LEN(10)

and this command is run:

RTVJRNE   JRN(MYLIB/JRNA)  ENTTYP(PR)
          RTNSEQNBR(&SEQ)  RTNJRNE(&JRNENT)

Since no starting journal entry is specified in this command, the first entry from the journal receiver that is currently attached to the journal JRNA in the library MYLIB, when starting to retrieve entries, is considered for retrieval. The first entry in any receiver is always an identifier for the previously-attached receiver. This first receiver entry is known as a type PR entry, and it contains the name of the previously attached receiver in its entry-specific data. The PR entry is the first entry in ascending order in the currently attached receiver; when it is found, the entry is placed into a CL variable named &JRNENT.

Change Variable (CHGVAR) can then be used to separate the name and library of the previous journal receiver, found in the entry specific data, as follows:

CHGVAR   &RCVNAME  (%SST(&JRNENT 126 10))
CHGVAR   &RCVLIB   (%SST(&JRNENT 136 10))

Example 2

Assume the following variables are specified:

DCL   &ENTNO    TYPE(*DEC)  LEN(10 0)
DCL   &JCODE    TYPE(*CHAR) LEN(1)
DCL   &ETYPE    TYPE(*CHAR) LEN(2)
DCL   &RCVNAME  TYPE(*CHAR) LEN(10)
DCL   &RCVLIB   TYPE(*CHAR) LEN(10)
DCL   &JENTRY   TYPE(*CHAR) LEN(205)

and this command is run:

RTVJRNE   JRN(MYLIB/JRNLA)  OBJ(LIB1/A *FILE MBR3)
          RCVRNG(RCVLIB/RCV30 RCVLIB/RCV27)  ORDER(*DESCEND)
          JRNCDE(R)  ENTTYP(UP DL)  JOB(000666/QPGMR/PRESTRT)
          PGM(WAKEUP)  USRPRF(MAC7)  ENTFMT(*TYPE2)
          RTNSEQNBR(&ENTNO)  RTNJRNCDE(&JCODE)
          RTNENTTYP(&ETYPE)  RTNRCV(&RCVNAME)
          RTNRCVLIB(&RCVLIB)  RTNJRNE(&JENTRY)

This command gets a journal entry, searching in descending order the journal receiver chain from receiver RCV30 in library RCVLIB to receiver RCV27 in library RCVLIB, journaled through journal JRNLA in library MYLIB, and copies the entry into the specified CL variables. The retrieved entry is an UPDATE or DELETE entry with journal code R from member MBR3 in file A in library LIB1, created in job 000666/QPGMR/PRESTRT in program WAKEUP by user profile MAC7. The retrieved journal entry includes the user profile field. The sequence number of the retrieved entry is copied into CL variable &ENTNO. The journal code of the retrieved entry is copied into CL variable &JCODE. The entry type of the retrieved entry is copied into CL variable &ETYPE. The name of the journal receiver from which the returned entry was retrieved is copied into &RCVNAME. The library name of the journal receiver from which the returned entry was retrieved is copied into &RCVLIB.

Error messages

*ESCAPE Messages

CPF70A9
OBJPATH parameter not valid for a remote journal.
CPF70AC
Object for file identifier &1 not found.
CPF70AE
Member *FIRST not allowed for a remote journal.
CPF70C3
File &1 in library &2 not a database file.
CPF7002
File &1 in library &2 not a physical file.
CPF7006
Member &3 not found in file &1 in &2.
CPF7007
Cannot allocate member &3 file &1 in &2.
CPF701B
Journal recovery of an interrupted operation failed.
CPF705C
INCENT(*ALL) not allowed for a local journal.
CPF7053
Values for RCVRNG parameter not correct; reason code &1.
CPF7054
FROM and TO values not valid.
CPF7055
Maximum number of objects exceeded.
CPF7057
*LIBL not allowed with *ALL or *ALLLIB or a generic name.
CPF7060
Object not journaled in specified receiver range.
CPF7061
Conversion of journal entries failed.
CPF7062
No entries converted or received from journal &1.
CPF7065
Entry type (ENTTYP) not valid for journal code (JRNCDE).
CPF7072
Retrieval of journal entry failed.
CPF7073
No entry retrieved from journal &1 in &2.
CPF7074
RCVRNG for specified SEARCH not valid.
CPF708D
Journal receiver found logically damaged.
CPF709C
JOB, PGM, and USRPRF not valid for receiver range.
CPF9801
Object &2 in library &3 not found.
CPF9802
Not authorized to object &2 in &3.
CPF9803
Cannot allocate object &2 in library &3.
CPF9809
Library &1 cannot be accessed.
CPF9810
Library &1 not found.
CPF9820
Not authorized to use library &1.
CPF9822
Not authorized to file &1 in library &2.
CPF9825
Not authorized to device &1.