DSPJRN (Display Journal) Command Description
Purpose
The Display Journal (DSPJRN) command allows the user to convert journal entries (contained in one or more receivers) into a suitable form for output. Output can be shown, printed with the job's spooled printer output, or written to a database output file. If the database output file exists, records may either replace or be added to the current data in the indicated file member. The system creates the specified database file and member if they do not exist. Database files created by the system have a standard format. A warning message is sent and the records are truncated if any of the entries are longer than the specified maximum record length of the output files.
The contents of selected entries in the journal receivers may be converted for output. It is also possible to selectively limit the entries that are displayed. If no journal entries satisfy the selection or limitation criteria, an escape message is sent indicating that fact.
Gaps may exist in the sequence numbers of the entries converted. These occur because some of the journal entries represent internal system information. These entries are not converted. These internal entries can now be shown by specifying INCHIDENT(*YES).>
It is possible to show journal entries whose journal sequence numbers are reset in the chain of receivers being specified.
Restrictions:
- The file specified for the database output file must not be journaled to the same journal. More information on database output file record formats is in the Database Programming topic in Information Center.
- If the sequence number is reset in the range of the receivers specified, the first occurrence of FROMENT or TOENT is used, if they are specified.
- The JOB, PGM, and USRPRF parameters cannot be used to specify selection criteria if one or more journal receivers in the specified receiver range was attached to the journal when a RCVSIZOPT or FIXLENDTA option specified that omitted the collection of that data.
- The FILE, JRNCDE, ENTTYP, JOB, PGM, USRPRF, CMTCYCID, and DEPENT parameters can be used to specify a subset of all available entries within a range of journal entries.
- If no values are specified using these parameters, all available journal entries are converted for output.
- If more than one of these parameters are specified, then a journal entry must satisfy all of the values specified on these parameters, except when *IGNFILSLT is specified on the JRNCDE parameter.
- If a journal code is specified on the JRNCDE parameter and *IGNFILSLT is the second element of that journal code, then journal entries with the specified journal code are selected if they satisfy all selection criteria except what is specified on the FILE parameter.
- If more than the maximum number of objects is identified (32,767 objects), an error occurs and no entries are received. This restriction is ignored if *ALLFILE is specified.
Required Parameter
- JRN
- Specifies the journal from which the journal entries are retrieved for conversion and output.
*INTSYSJRN: The internal system journal associated with the journal specified on the JRNID parameter is used. Internal system journals are not stored in libraries.
Note: You must have *ALLOBJ special authority to specify JRN(*INTSYSJRN). journal-name: Specify the name of the journal.
The name of the journal can be qualified by one of the following library values:
*LIBL: All libraries in the job's library list 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, the QGPL library is used.
library-name: Specify the name of the library to be searched.
Optional Parameters
- FILE
- Specifies a maximum of 300 qualified file names whose journal entries are converted for output. This parameter also specifies the name of the file member whose journal entries are to be converted for output.
To determine which journal entries are to be converted for output, based on the specified file member name, the following is done:
- If the journal is a local journal, and if the specified file member currently exists on the system, the journal identifier is determined from the specified file member. All journal entries in the specified receiver range for that journal identifier are converted for output.
- If the journal is a remote journal, or if the specified file member does not currently exist on the system, the specified receiver range is searched to determine all possible journal identifiers that are associated with the specified file member. All journal entries in the specified receiver range for those journal identifiers are converted for output.
There can be more than one journal identifier associated with the specified file member if, for example, a file member was created by that name, it was journaled, and then deleted. Then another file member was created with the same name, and it was also journaled and then deleted. All of these actions would have to occur within the specified receiver range.
Notes:
- 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 or moved. See the Journal management article in the Information Center for more information.
- When specifying a database file 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:
- 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 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.
Single Value
*ALLFILE: The search for the journal entries received is not limited to a specified file name.
Element 1: File Name
The name of the file can be qualified by one of the following library values:
*LIBL: All libraries in the job's library list 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, the QGPL library is used.
library-name: Specify the name of the library to be searched.
*ALL: Journal entries in all physical files in the specified library (the library name must be specified) whose journaled changes are currently in the journal receiver are converted for output. 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 physical database file whose journaled changes are being converted for output.
Element 2: Member Name
*FIRST: Journal entries for the first member in the file are converted for output.
*ALL: Journal entries for currently existing members of the file are converted for output.
member-name: Specify the name of the file member whose entries are converted for output. If the specified physical file does not exist on the system, specify either *ALL or a specific file member name.
If *ALL is specified for the file-name value, this member name is used for all applicable 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 files in the specified library are converted for output.
- RCVRNG
- Specifies the starting (first) and ending (last) journal receivers (the receiver range) that contain the journal entries being converted for output. The system starts with the starting journal receiver (as specified by the first value) and proceeds through the receiver chain until the ending receiver (as specified by the last value) is processed.
If dual receivers are used at any time, the first of the receivers is used when chaining through the receivers. The Work with Journal Attributes (WRKJRNA) command can be used to show the order of the receivers in the receiver chain. If a problem (such as damaged or not found receivers) is found in the receiver chain prior to starting the conversion, the system tries to use the second of the dual receivers. If the second of the dual receivers is damaged or not found, the command ends.
Note: If the maximum number of receivers (256) in the range is surpassed, an error occurs and no journal entries are converted. *CURRENT: The journal receiver that is currently attached when starting to convert journal entries is used.
*CURCHAIN: The journal receiver chain that includes the journal receiver that is currently attached when starting to convert 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 convert journal entries.
Element 1: Starting Journal Receiver
starting-journal-receiver: Specify the name of the first journal receiver whose entries are converted for output.
The name of the starting journal receiver can be qualified by one of the following library values:
*LIBL: All libraries in the job's library list 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, the QGPL library is used.
library-name: Specify the name of the library to be searched.
Element 2: Ending Journal Receiver
*CURRENT: The journal receiver that is currently attached when starting to convert journal entries is used.
ending-journal-receiver: Specify the name of the last journal receiver whose entries are to be converted for output.
The name of the ending journal receiver can be qualified by one of the following library values:
*LIBL: All libraries in the job's library list 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, the QGPL library is used.
library-name: Specify the name of the library to be searched.
- FROMENT
- Specifies the first journal entry to be considered for conversion for output.
*FIRST: The first journal entry in the specified journal receiver range is the first entry to be converted.
starting-sequence-number: Specify the sequence number of the first entry to be converted.
- FROMTIME
- Specifies the date and time of the first journal entry to be converted for output.
The first journal entry with the specified date and time or the next later journal entry is the starting point for conversion of journal entries.
Element 1: Starting Date
starting-date: Specify the date of the first entry.
Element 2: Starting Time
starting-time: Specify the time on the date of the first entry. The time is specified in 24-hour format with or without a time separator as follows:
- With a time separator, specify a string of 5 or 8 digits, where the time separator for the job separates the hours, minutes, and seconds. If you issue 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 fails.
- Without a time separator, specify a string of 4 or 6 digits (hhmm or hhmmss) where hh = hours, mm = minutes, and ss = seconds. Valid values for hh range from 00 through 23. Valid values for mm and ss range from 00 through 59.
- TOENT
- Specifies the last journal entry to be converted for output.
*LAST: The last journal entry in the specified journal receiver chain is the final entry to be converted.
ending-sequence-number: Specify the sequence number of the final journal entry being converted for output.
- TOTIME
- Specifies the date and time of the last entry to be converted for output. The journal entry with the specified date and time or the latest earlier journal entry is the ending point for conversion of journal entries.
Element 1: Ending Date
ending-date: Specify the date of the last entry.
Element 2: Ending Time
ending-time: Specify the time on the date of the last entry. The time is specified in 24-hour format with or without a time separator as follows:
- With a time separator, specify a string of 5 or 8 digits, where the time separator for the job separates the hours, minutes, and seconds. If you issue 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 fails.
- Without a time separator, specify a string of 4 or 6 digits (hhmm or hhmmss) where hh = hours, mm = minutes, and ss = seconds. Valid values for hh range from 00 through 23. Valid values for mm and ss range from 00 through 59.
- NBRENT
- Specifies the total number of journal entries to be converted for output.
*ALL: All journal entries that satisfy the selection values in the specified journal receivers are converted.
maximum-entries: Specify the maximum number of journal entries to be converted. If the journal entry specified on the TOENT or TOTIME parameter is reached before the value specified on the NBRENT parameter is met, the command ends normally.
- JRNCDE
- Specifies the journal codes for which journal entries are converted for output.
Singe Values
*ALL: The conversion of journal entries is not limited to entries with a particular journal code.
*CTL: Only journal entries written to control the journal functions are converted (journal codes = 'J' and 'F').
Element 1: Journal Code Value
journal-code: Specify the journal code for which journal entries are converted. A list of journal codes that can be specified is provided in the Journal management article in the Information Center.
Element 2: Journal Code Selection
*ALLSLT: The journal entries with the specified journal code are converted for output only if all other selection parameters are satisfied.
*IGNFILSLT: The journal entries having the specified journal code are converted for output only if all selection parameters, except the FILE parameter, are satisfied.
Note: This value is not valid for journal code D, F, or R.
- ENTTYP
- Specifies whether to limit the conversion of journal entries to those of a specified journal entry type.
*ALL: The conversion of journal entries is not limited to entries of a particular type.
*RCD: Only entries that have an entry type for record level operations are converted (these are entry types BR, DL, DR, IL, PT, PX, UB, UP, and UR).
entry-type: Specify the entry type that limits the number of journal entries to be converted. Up to 300 valid entry types can be specified. Only journal entries of the specified entry type are to be converted. A list of valid entry types is in the Journal management article in the Information Center.
- JOB
- Specifies whether the journal entries to be converted for output are limited to those for a specified job. If the fully qualified name of the job is not specified, all of the journal entries that contain the simple job name are to be converted.
A job identifier is a special value or a qualified name with up to three elements. For example:
*ALL job-name user-name/job-name job-number/user-name/job-nameMore information on this parameter is in commonly used parameters.
*ALL: The conversion is not limited to entries for a particular job.
job-name: Specify the name of the job whose journaled changes are converted.
user-name: Specify the name of the user of the job whose journaled changes are to be converted.
job-number: Specify the number of the job whose journaled changes are to be converted.
- PGM
- Specifies whether the journal entries to be converted for output are limited to the journal entries created by a specified program.
*ALL: The conversion is not limited to entries created by a specified program.
program-name: Specify the name of the program whose journaled changes are to be converted. Only journaled changes for this program are converted.
- USRPRF
- Specifies whether the journal entries to be converted are limited to those for a specified user profile name. The user profile name is the user profile under which the job is run that deposited the journal entries.
*ALL: The conversion is not limited to entries for a specified user profile.
user-name: Specify the name of the user profile whose journaled changes are to be converted. Only journaled changes for this user profile are to be converted.
- CMTCYCID
- Specifies that the journal entries are limited to the journal entries that contain the specified commit cycle identifier.
*ALL: The journal entries converted are not limited to a specified commit cycle identifier.
commit-cycle-identifier: Specify the commit cycle identifier that limits the journal entries converted. Only journal entries that contain the commit cycle ID are considered for conversion.
- DEPENT
- Specifies whether the journal entries to be converted for output include the journal entries recording actions
- that occur as a result of a trigger program
- on records that are part of a referential constraint
- that will be ignored during an Apply Journaled Changes (APYJRNCHG) or Remove Journaled Changes (RMVJRNCHG) operation.
*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 converted.
*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 converted.
- OUTFMT
- Specifies the format in which the objects are shown.
Note: This parameter is ignored if OUTPUT(*OUTFILE) is specified. *CHAR: The entry-specific data portion of the journal entry is shown in character format.
*HEX: The entry-specific data portion of the journal entry is shown in hexadecimal format.
- JRNID
- Specifies the five-character journal identification number (ID) of the internal system journal (*INTSYSJRN) to be displayed. Journal IDs are assigned by the system. The first two characters represent the journal type, and the last three characters are the auxiliary storage pool (ASP) identifier. Following is a listing of journal types.
- Journal Types
- 10
- System-managed access-path protection (SMAPP)
- 20
- Directory
- OUTPUT
- Specifies whether the output from the command is shown at the requesting work station, printed with the job's spooled printer output, or sent to the database file specified on the OUTFILE parameter. More information on this parameter is in commonly used parameters.
When the output of the command is directed to the requesting work station, basic information on the journal entries is shown. From the basic display, an option can be selected to show information in detail for any journal entry being shown.
If the output is printed with the job's spooled printer output, all of the information that would be shown is printed.
*: Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the job's spooled output.
*PRINT: The output is printed with the job's spooled output.
*OUTFILE: The output is directed to the database file specified on the OUTFILE parameter.
- OUTFILFMT
- Specifies the format of the journal entries written to the output file specified on the OUTFILE parameter. This parameter can be specified only if the value *OUTFILE is specified on the OUTPUT parameter. For a description of what is represented by each of the fields in the journal entry, see the Journal management article in the Information Center.
*TYPE1: The converted entries are formatted to include the minimum information that can be specified. The information fields and the format of the information in each journal entry is shown in the following table.
Table 1. OUTFILFMT(*TYPE1) Journal Entry Format
Field Name Length From To Entry Length 5 1 5 Sequence Number 10 6 15 Journal Code 1 16 16 Journal Entry Type 2 17 18 Date 6 19 24 Time 6 25 30 Job Name 10 31 40 User Name 10 41 50 Job Number 6 51 56 Program Name 10 57 66 Object Name 10 67 76 Object Library 10 77 86 Member Name 10 87 96 Count/RRN 10 97 106 Flag 1 107 107 Commit Cycle ID 10 108 117 Incomplete data 1 118 118 Minimized Entry Specific Data 1 119 119 Reserved 6 120 125 Entry-Specific Data 1001 126 225 Note:
- 1
- This is the field length in the system-supplied database file, QADSPJRN. However, a length of up to 32641 bytes can be specified for this field using the ENTDTALEN parameter.
*TYPE2: The converted entries include the information returned when OUTFILFMT(*TYPE1) is specified, the name of the user profile for the job that generated the displayed journal entries, and the name of the system on which the output records were generated. The format of the information in each journal entry is shown in the following table.
Table 2. OUTFILFMT(*TYPE2) Journal Entry Format
Field Name Length From To Entry Length 5 1 5 Sequence Number 10 6 15 Journal Code 1 16 16 Journal Entry Type 2 17 18 Date 6 19 24 Time 6 25 30 Job Name 10 31 40 User Name 10 41 50 Job Number 6 51 56 Program Name 10 57 66 Object Name 10 67 76 Object Library 10 77 86 Member Name 10 87 96 Count/RRN 10 97 106 Flag 1 107 107 Commit Cycle ID 10 108 117 User Profile 10 118 127 System Name 8 128 135 Incomplete data 1 136 136 Minimized Entry Specific Data 1 137 137 Reserved 18 138 155 Entry-Specific Data 1001 156 255 Notes:
- 1
- This is the field length in the system-supplied database file, QADSPJR2. However, a length of up to 32611 bytes can be specified for this field using the ENTDTALEN parameter.
*TYPE3: The converted entries include the information returned when OUTFILFMT(*TYPE2) is specified, and the null value indicators. The format of the information in each converted journal entry is shown in the following table.
Table 3. OUTFILFMT(*TYPE3) Journal Entry Format
Field Name Length From To Entry Length 5 1 5 Sequence Number 10 6 15 Journal Code 1 16 16 Journal Entry Type 2 17 18 Timestamp1 26 19 44 Job Name 10 45 54 User Name 10 55 64 Job Number 6 65 70 Program Name 10 71 80 Object Name 10 81 90 Object Library 10 91 100 Member Name 10 101 110 Count/RRN 10 111 120 Flag 1 121 121 Commit Cycle ID 10 122 131 User Profile 10 132 141 System Name 8 142 149 Incomplete data 1 150 150 Minimized Entry Specific Data 1 151 151 Reserved 18 152 169 Null Value Indicators 522,3 170 221 Entry-Specific Data 1023,4 222 323 Notes:
- 1
- The date and time of the journal entry is in 26-byte SAA timestamp format instead of separate date and time fields as in *TYPE1 and *TYPE2.
- 2
- This is a 50-character variable-length field in the system-supplied database file QADSPJR3. However, a length of up to 8000 characters can be specified for this field using the NULLINDLEN parameter.
- 3
- The first two bytes are the length of the variable-length field followed by the actual data if the fields are variable-length fields.
- 4
- This is a 100-character variable-length field in the system-supplied database file QADSPJR3. However, a length of up to 32596 characters can be specified for this field using the ENTDTALEN parameter if it is a fixed-length field and the null value indicators field is also a fixed-length field.
*TYPE4: The converted entries include the information returned when OUTFILFMT(*TYPE3) is specified, the journal identifier, the physical file trigger indicator, and the referential constraint indicator. The format of the information in each converted journal entry is shown in the following table.
Table 4. OUTFILFMT(*TYPE4) Journal Entry Format
Field Name Length From To Entry Length 5 1 5 Sequence Number 10 6 15 Journal Code 1 16 16 Journal Entry Type 2 17 18 Timestamp1 26 19 44 Job Name 10 45 54 User Name 10 55 64 Job Number 6 65 70 Program Name 10 71 80 Object Name 10 81 90 Object Library 10 91 100 Member Name 10 101 110 Count/RRN 10 111 120 Flag 1 121 121 Commit Cycle ID 10 122 131 User Profile 10 132 141 System Name 8 142 149 Journal Identifier 10 150 159 Referential
Constraint1 160 160 Trigger 1 161 161 Incomplete data 1 162 162 Ignore during APYJRNCHG
or RMVJRNCHG1 163 163 Minimized Entry Specific Data 1 164 164 Reserved 5 165 169 Null Value Indicators 522,3 170 221 Entry-Specific Data 1023,4 222 323 Notes:
- 1
- The date and time of the journal entry is in 26-byte SAA timestamp format instead of separate date and time fields as in *TYPE1 and *TYPE2.
- 2
- This is a 50-character variable-length field in the system-supplied database file QADSPJR4. However, a length of up to 8000 characters can be specified for this field using the NULLINDLEN parameter.
- 3
- The first two bytes are the length of the variable-length field followed by the actual data if the fields are variable-length fields.
- 4
- This is a 100-character variable-length field in the system-supplied database file QADSPJR4. However, a length of up to 32596 characters can be specified for this field using the ENTDTALEN parameter if it is a fixed-length field and the null value indicators field is also a fixed-length field.
*TYPE5: The converted 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 number and the receiver library ASP device name. The format of the information in each converted journal entry is shown in the following table.
Table 5. OUTFILFMT(*TYPE5) Journal Entry Format
>
Field Name Length From To Entry Length 5 1 5 Sequence Number 20 6 25 Journal Code 1 26 26 Journal Entry Type 2 27 28 Timestamp1 26 29 54 Job Name 10 55 64 User Name 10 65 74 Job Number 6 75 80 Program Name 10 81 90 Program Library Name 10 91 100 Program Library ASP Device Name 10 101 110 Program Library ASP Number 5 111 115 Object Name 10 116 125 Object Library 10 126 135 Member Name 10 136 145 Count/RRN 20 146 165 Flag 1 166 166 Commit Cycle ID 20 167 186 User Profile 10 187 196 System Name 8 197 204 Journal Identifier 10 205 214 Referential
Constraint1 215 215 Trigger 1 216 216 Incomplete data 1 217 217 Ignore during APYJRNCHG
or RMVJRNCHG1 218 218 Minimized Entry Specific Data 1 219 219 Object indicator 1 220 220 System Sequence Number 20 221 240 Receiver Name 10 241 250 Receiver Library Name 10 251 260 Receiver Library ASP Device Name 10 261 270 Receiver Library ASP Number 5 271 275 Arm Number 5 276 280 Thread Identifier 8 281 288 Thread Identifier Formatted 16 289 304 Address Family 1 305 305 Remote Port 5 306 310 Remote Address 46 311 356 Logical Unit of Work 39 357 395 Transaction Identifier 140 396 535 Reserved 20 536 555 Null Value Indicators 522,3 556 607 Entry-Specific Data 1023,4 608 709 Notes:
- 1
- The date and time of the journal entry is in 26-byte SAA timestamp format instead of separate date and time fields as in *TYPE1 and *TYPE2.
- 2
- This is a 50-character variable-length field in the system-supplied database file QADSPJR5. However, a length of up to 8000 characters can be specified for this field using the NULLINDLEN parameter.
- 3
- The first two bytes are the length of the variable-length field followed by the actual data if the fields are variable-length fields.
- 4
- This is a 100-character variable-length field in the system-supplied database file QADSPJR5. However, a length of up to 32210 characters can be specified for this field using the ENTDTALEN parameter if it is a fixed-length field and the null value indicators field is also a fixed-length field.
- OUTFILE
- Specifies the qualified name of the physical database file to which the output is directed. If the output file already exists, the system attempts to use it. Records may replace or be added to the current data in the file member. If no records are written to the database file (because of the specified selection values), and *REPLACE is specified on the OUTMBR parameter, records are cleared from the existing database file. If the output file does not exist, the system creates a database physical file with the name specified in the OUTFILE parameter in the identified library, even if no records are written (because of the specified selection values).
- If a new file is created and OUTFILFMT(*TYPE1) is specified, the system uses QADSPJRN in QSYS with a format name of QJORDJE as a model.
- If a new file is created and OUTFILFMT(*TYPE2) is specified, the system uses QADSPJR2 in QSYS with a format name of QJORDJE2 as a model.
- If a new file is created and OUTFILFMT(*TYPE3) is specified, the system uses QADSPJR3 in QSYS with a format name of QJORDJE3 as a model.
- If a new file is created and OUTFILFMT(*TYPE4) is specified, the system uses QADSPJR4 in QSYS with a format name of QJORDJE4 as a model.
- If a new file is created and OUTFILFMT(*TYPE5) is specified, the system uses QADSPJR5 in QSYS with a format name of QJORDJE5 as a model.
The name of the output file can be qualified by one of the following library values:
*LIBL: All libraries in the job's library list 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, the QGPL library is used.
library-name: Specify the name of the library to be searched.
file-name: Specify the name of the output file that receives the journal entries.
- OUTMBR
- Specifies the name of the database file member to which the output is directed. If a member already exists, the system uses the second element of this parameter to determine whether the member is cleared before the new records are added. If the member does not exist and a member name is not specified, the system creates a member with the name of the output file specified on the OUTFILE parameter. If an output file member name is specified, but the member does not exist, the system creates it.
Element 1: Member to Receive Output
*FIRST: The first member of the file specified by the OUTFILE parameter receives the journal entries. If the OUTFILE is created and *FIRST is specified, the created member has the same name as the created file. If OUTMBR is not specified, *FIRST is assumed.
member-name: Specify the file member that receives the output. If OUTMBR(member-name) is specified and the member does not exist, the system creates it.
Element 2: Operation to Perform on Member
*REPLACE: The system clears the existing member and adds the new records.
*ADD: The system adds the new records to the end of the existing records.
- ENTDTALEN
- Specifies the maximum field length of the entry-specific data portion of the journal entry when the output file is created by the system. This field contains part of the variable portion of the journal entries (such as the after image of records for update journal entries). If the output file exists, this parameter is ignored.
The range of allowable values for this parameter is shown in the table at the end of this parameter description. A single value or a single list of three elements can be specified.
Single Values
*OUTFILFMT: The length of the entry-specific data field in the output file depends on the value specified on the OUTFILFMT parameter. The attributes of this field are the same as those of the entry-specific data field in the corresponding system-supplied model output file.
If *TYPE1 or *TYPE2 is specified on the OUTFILFMT parameter, the entry-specific data field in the output database file will be a fixed length field 100 characters in length, otherwise the entry-specific data field in the output file is a variable-length field with a maximum field length of 100 characters and an allocated length of 100 characters. When a value other than *TYPE1 or *TYPE2 is specified on the OUTFILFMT parameter, the buffer length is 2 bytes longer than the maximum field length so as to include the length portion of the variable-length field.
*CALC: The system calculates the length of the entry-specific data field to accommodate the longest entry-specific data of all journal entries in the specified receiver range. In this case, the entry-specific data field is a fixed-length character field. The minimum length of the field is 130 characters. If the length calculated by the system causes the record format length to exceed the maximum record length, a message is sent and the entry-specific data field is truncated. See the table at the end of this parameter description for the possible maximum record lengths of the various data types that can be specified.
field-length: Specify the number of characters for the field length. In this case, the field is a fixed-length character field. The maximum value prevents the total record length of the output file from being greater than the length allowed for physical database files. A nonzero value is required by the system to ensure that the field exists when the output file is created.
See the table at the end of this parameter description for the allowable field lengths of the various data types that can be specified
Element 1: Variable-Length Field
To specify a variable-length field, specify *VARLEN for the first element and length values for the last two elements (or let the system use the default values).
*VARLEN: The entry-specific data field is a variable-length field. This value can be specified only when OUTFILFMT(*TYPE1) and OUTFILFMT(*TYPE2) are not specified.
Element 2: Maximum Field Length
The maximum length of the variable-length, entry-specific data field.
*CALC: The system calculates the maximum length of the entry-specific data field to accommodate the longest entry-specific data of all journal entries in the specified receiver range. The minimum length of this field is 130 bytes. The corresponding buffer length is 132 bytes: 130 bytes of data and 2 bytes for the length portion of the variable-length field.
field-length: Specify the number of characters for the maximum field length. See the table at the end of this parameter description for the allowable field lengths of the various data types that can be specified.
Element 3: Allocated Length
The allocated length of the variable-length entry-specific data field.
*FLDLEN: The allocated length is the same as the maximum length of the field.
allocated-length: Specify the number of characters for the allocated length.
If *CALC is specified for the second element and the system-calculated maximum field length is smaller than the specified allocated length, the allocated length is set to the maximum field length. If the maximum field length is specified, the allocated length cannot exceed the maximum field length.
Table 6. Range of Values for ENTDTALEN Parameter
Output File Format Entry- Specific Data Format Null Value Indicators Format Entry Data Length Maximum Record Length *TYPE1 Fixed Not applicable 1-32641 32766 *TYPE2 Fixed Not applicable 1-32611 32766 *TYPE3 Fixed Fixed 1-32596 32766 *TYPE3 Fixed Variable 1-32570 32740 *TYPE3 Variable Fixed 1-32570 32740 *TYPE3 Variable Variable 1-32568 32738 *TYPE4 Fixed Fixed 1-32596 32766 *TYPE4 Fixed Variable 1-32570 32740 *TYPE4 Variable Fixed 1-32570 32740 *TYPE4 Variable Variable 1-32568 32738 *TYPE5 Fixed Fixed 1-32210 32766 *TYPE5 Fixed Variable 1-32184 32740 *TYPE5 Variable Fixed 1-32184 32740 *TYPE5 Variable Variable 1-32182 32738 > Note: When the file contains variable-length fields, the maximum record length does not include the 2 bytes per variable-length field. - NULLINDLEN
- Specifies the length of the null value indicators field when the output file is created by the system. This parameter can be specified only if OUTFILFMT(*TYPE1) and OUTFILFMT(*TYPE2) are not specified.
Null value indicators are present in journal entries for record level operations as follows:
- The corresponding physical file has null capable fields.
- 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 in length and can be one of two values:
'F0'X = Corresponding field is not null. 'F1'X = Corresponding field is null.The range of allowable values for this parameter is shown in the table at the end of this parameter description. A single value or a single list of three elements can be specified.
Single Values
*OUTFILFMT: The null value indicators field has the same attributes as the corresponding field in the system-supplied model output file QADSPJR3, QADSPJR4 or QADSPJR5. It is a variable-length character field with a maximum length of 50 characters and an allocated length of 50 characters. The buffer is 2 bytes longer than the maximum field length to include the length portion of the variable-length field.
*CALC: The system calculates the length of this field to accommodate the journal entry with the maximum number of null value indicators in the specified receiver range. In this case, the null value indicators field is a fixed-length character field. The minimum length of this field is 1 character to ensure that the field exists when the output file is created. If the length calculated by the system causes the record format length to exceed the maximum record length, a message is sent and the null value indicators field is truncated. See the table at the end of this parameter description for the possible maximum record lengths of the various data types that can be specified for the NULLINDLEN parameter.
field-length: Specify the number of characters for the field length. Valid values range from 1 through 8000. A nonzero value is required by the system to ensure that the field exists when the output file is created. In this case, the null value indicators field is a fixed-length character field.
Element 1: Variable-Length Field
To specify a variable-length field, specify *VARLEN for the first element and length values for the last two elements (or let the system use the default values).
*VARLEN: The null value indicators field is a variable-length field.
Element 2: Maximum Field Length
Specifies the maximum length of the variable-length null value indicators field.
*CALC: The system calculates the length of this field to accommodate the journal entry with the maximum number of null value indicators in the specified receiver range. To ensure that this field exists in the output file that is created, the minimum length of this field is 1 byte. The corresponding buffer length is 3 bytes: 1 byte of data and 2 bytes for the length portion of the variable-length field.
field-length: Specify the maximum length of the null value indicators field. Valid values range from 1 through 8000 characters.
Element 3: Allocated Length
Specifies the allocated length of the variable-length null value indicators field.
*FLDLEN: The allocated length is the same as the maximum length of the field.
If *CALC is specified for Element 2 and the system-calculated maximum length is smaller than the specified allocated length, the allocated length is set to the maximum field length. If the maximum field length is specified, the allocated length cannot exceed the maximum field length.
allocated-length: Specify the number of characters for the allocated length.
Table 7. Range of Values for NULLINDLEN Parameter
Output File Format Entry- Specific Data Format Null Value Indicators Format Null Line Indicator Length Maximum Record Length *TYPE3 Fixed Fixed 1-8000 32766 *TYPE3 Fixed Variable 1-8000 32740 *TYPE3 Variable Fixed 1-8000 32740 *TYPE3 Variable Variable 1-8000 32738 *TYPE4 Fixed Fixed 1-8000 32766 *TYPE4 Fixed Variable 1-8000 32740 *TYPE4 Variable Fixed 1-8000 32740 *TYPE4 Variable Variable 1-8000 32738 *TYPE5 Fixed Fixed 1-8000 32766 *TYPE5 Fixed Variable 1-8000 32740 *TYPE5 Variable Fixed 1-8000 32740 *TYPE5 Variable Variable 1-8000 32738 > Note: When the file contains variable-length fields, the maximum record length does not include the 2 bytes per variable-length field.
- INCENT
- Specifies whether only the confirmed or both the confirmed and unconfirmed, journal entries are converted for output. 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 converted for output.
*ALL: All confirmed and unconfirmed journal entries are converted for output.
- INCHIDENT
- Specifies whether hidden journal entries should be returned. Hidden entries are generated and used by the system. When hidden entries are returned, it will be possible to display all journal entries such that no sequence numbers will be unaccounted for.
*NO: Hidden journal entries are not converted for output.
*YES: Hidden journal entries are converted for output.
Examples for DSPJRN
Example 1: Converting Journal Entries for Display
DSPJRN JRN(MYLIB/JRNLA)When issued at a work station, this command converts and shows the first journal entries in the journal receiver currently attached (when the converting of journal entries is started) to the journal JRNLA in library MYLIB. Subsequent entries are shown by pressing the Page Down key. When entered from a batch job, the above command prints all converted journal entries with the job's spooled printer output. The entry-specific data portion of the journal entries are shown in character format.
Example 2: Converting Journal Entries to an Output File
DSPJRN JRN(MYLIB/JRNLA) FILE((LIB1/A MBR3) (LIB1/C) (LIB2/*ALL *ALL)) RCVRNG((RCVLIB/RCV27 RCVLIB/RCV30)) FROMENT(4736) ENTTYP(UP DL) JOB(000666/QPGMR/WORKST01) PGM(TSTPGMA) ENTDTALEN(280) OUTPUT(*OUTFILE) OUTFILE(MYLIB/JRNENTFIL1)This command converts selected journal entries in the journal receiver chain (from receiver RCV27 in library RCVLIB to receiver RCV30 in library RCVLIB) that are attached to JRNLA in library MYLIB and places them in the first member of the database file JRNENTFIL1 in library MYLIB. If the database file does not exist, it is created with a format of QJORDJE. The last field in the format is 280 bytes in length. The journal entry that has a sequence number of 4736 is the first entry written to the output file. Only entries for record updates and deletes made by program TSTPGMA in the job 000666/QPGMR/WORKST01 to member MBR3 of file A in library LIB1, the first member of file C in library LIB1, and all members of all files in library LIB2 are written to the output file.
Example 3: Converting Journal Entries for a Specific User Profile
DSPJRN JRN(SS/J) FILE(SS1/PF) RCVRNG((SS/R1 *CURRENT)) JRNCDE(F) USRPRF(MAC7) OUTFILE(FMTLIB/ENTFILE) OUTFILFMT(*TYPE2)This command converts selected journal entries in the journal receiver range. The range begins with journal receiver R1 in library SS and ends with the journal receiver currently attached (when the converting of journal entries is started) to journal J in library SS. The entries are placed in the first member of the database file ENTFILE in library FMTLIB. If the file does not exist, it is created with the QJORDJE2 format. The last field of the format is 100 bytes in length. Only entries with file-level information made by the user MAC7 to the first member of file PF in library SS1 are written to the output file.
Example 4: Converting Journal Entries with Null Value Field Length Specified
DSPJRN JRN(LIBPROD/PRODJRN) FILE(APPLIB/PFILE) OUTFILFMT(*TYPE3) OUTFILE(JRNLIB/ENTFILE) ENTDTALEN(*VARLEN 500 100) NULLINDLEN(25)This command converts selected journal entries that are in the range from the journal receiver currently attached (when the converting of entries is started) to the journal PRODJRN in library LIBPROD. The entries are placed in the first member of the database file ENTFILE in library JRNLIB. If the file does not exist, it is created with the QJORDJE3 format. The entry-specific data field is a variable-length field with a maximum field length of 500 characters and an allocated length of 100 characters. The null value indicators field is a fixed-length field of 25 characters. Only entries with file-level information for the first member of file PFILE in library APPLIB are written to the output file.
Example 5: Converting Journal Entries with Null Value Field Length Calculated
DSPJRN JRN(JRNLIB/JRNA) FILE(FILLIB/FILEA) FROMENT(4736) ENTTYP(UP DL) JOB(000666/QPGMR/WORKST01) PGM(TSTPGMA) ENTDTALEN(280) OUTPUT(*OUTFILE) OUTFILFMT(*TYPE3) OUTFILE(ENTLIB/ENTFILE) ENTDTALEN(*CALC) NULLINDLEN(*VARLEN *CALC *FLDLEN)This command converts journal entries with file-level information for the first member of file FILEA in library FILLIB in the range from the journal receiver currently attached (when the converting of entries is started) to the journal JRNA in library JRNLIB. The entries are written to the first member of database file ENTFILE in library ENTLIB. If the file does not exist, it is created with the QJORDJE3 format. The system calculates the length of the fixed-length, entry-specific data field. The system also calculates the length of the variable-length null value indicators field. The allocated length of this field is the same as the maximum field length.
Example 6: Converting Journal Entries Using *IGNFILSLT and *CURCHAIN
DSPJRN JRN(JRNLIB/JRNA) FILE(FILLIB/FILEA) RCVRNG(*CURCHAIN) JRNCDE((F *ALLSLT) (R *ALLSLT) (U *IGNFILSLT)) OUTPUT(*PRINT)This command converts journal entries with:
- File-level information for the first member of file FILEA in library FILLIB
- Record-level information for the first member of file FILEA in library FILLIB
- User-generated journal entries regardless of whether the entry is associated with any journaled file member
Journal entries are converted from the chain of journal receivers, which are the journal receivers in the range from the latest chain break through the journal receiver currently attached when the converting of entries is started, associated with the journal JRNA in library JRNLIB. The converted entries are written to a print file.
Error messages for DSPJRN
*ESCAPE Messages
- 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 FILE(*ALL) or OBJ(*ALL).
- CPF706B
- Not authorized to specify JRN(*INTSYSJRN).
- CPF706C
- Value &1 for JRNID parameter not valid.
- CPF7060
- File &1 member &5 never journaled to journal &3.
- 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).
- CPF707A
- Value specified for ENTDTALEN is not valid.
- 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.
- CPF9845
- Error occurred while opening file &1.
- CPF9846
- Error while processing file &1 in library &2.
- CPF9847
- Error occurred while closing file &1 in library &2.
- CPF9850
- Override of printer file &1 not allowed.
- CPF9860
- Error occurred during output file processing.
- CPF9871
- Error occurred while processing.
- CPF9875
- Resources exceeded on ASP &2.