Change Journal Receiver Exit Program
Required Parameter Group:
1 | Change journal receiver exit information | Input | Char(*) |
QSYSINC Member Name: ECHGRCV1
Exit Point Name: QIBM_QJO_CHG_JRNRCV
Exit Point Format Names: CRCV0100
The Change Journal Receiver exit program is called when a journal receiver has been detached from a journal.
After a journal receiver is detached, the operating system calls the user-written exit programs through the registration facility.
The exit point supports an unlimited number of exit programs. For information about adding an exit program to an exit point, see the Registration Facility.
Notes:
- Any error messages returned by the Change Journal Receiver
exit program will be ignored.
- The exit programs will not be called after the detach of a
remote journal receiver if the exit program only exists on the local journal system.
The exit programs must exist on the same system as the journal receiver being
detached to be called.
- When system-managed change journals happen during IPL or vary on processing,
the registered exit programs will not be notified until some time after
the IPL or vary on completes.
Restrictions
- When a user specifies JRNRCV(*GEN) or JRNRCV(jrnrcvlib/jrnrcvname) as a
parameter of a CHGJRN (Change Journal) command, or issues a DLTJRN (Delete Journal)
command, the system will detach the journal receiver that is currently attached
to the journal. After the CHGJRN or DLTJRN processing is complete, the system will
call all of the exit programs registered on the QIBM_QJO_CHG_JRNRCV exit point.
The registered exit programs will be called from a system job, and because of that
they will only be allowed to run for 30 seconds. If the exit program has not
completed in that time, the system cancels the call.
Notes:- Since the exit programs are only allowed to run for
30 seconds, we recommend that the exit program either record the journal
receiver information for later processing, or submit a new job for any work that
will take longer than 30 seconds.
- Since these attempts do occur in system jobs, we
recommend that the exit program not send any diagnostic, informational, or
completion messages to the job log because those messages would only be in the
system job logs.
- Since the exit programs are only allowed to run for
30 seconds, we recommend that the exit program either record the journal
receiver information for later processing, or submit a new job for any work that
will take longer than 30 seconds.
- During the call to the exit programs, the debug functions, accessed via
Start Debug (STRDBG), are not available to help debug any exit program
problems.
- During the call to the exit programs the ASP group associated with the job
will not be able to be changed. The ASP group associated with the job will be
the ASP group associated with the journal receiver that was detached.
- The exit program must exist in the system ASP or in a basic user ASP. It cannot exist in an independent ASP. Any ASP group could be associated with the job when the exit program is called.
Authorities and Locks
- User Profile Authority
- *ALLOBJ and *SECADM to add exit programs to the registration facility
- *ALLOBJ and *SECADM to remove exit programs from the registration facility
Program Data
When you register the exit program, the following program data can be optionally provided. This program data specifies the user profile under which the exit program being registered will run. If the program data is not provided, the exit programs will run under the QUSER user profile. If the user profile specified is not found on the system, the exit programs will run under the QUSER user profile.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | Char(10) | User profile |
Required Parameter Group
- Change journal receiver exit information
- INPUT; CHAR(*)
Information that is needed by the exit program for notification of any change journal receiver operations. For details, see Format of Change Journal Receiver Exit Information.
Format of Change Journal Receiver Exit Information
The following table shows the structure of the change journal receiver exit information for exit point format CRCV0100. For a description of the fields in this format, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Change journal receiver exit information length |
4 | 4 | CHAR(20) | Exit point name |
24 | 18 | CHAR(8) | Exit point format name |
32 | 20 | CHAR(10) | Journal receiver name |
42 | 2A | CHAR(10) | Journal receiver library name |
52 | 34 | CHAR(10) | Journal name |
62 | 3E | CHAR(10) | Journal library name |
72 | 48 | CHAR(10) | ASP device name |
82 | 52 | CHAR(1) | Journal type |
83 | 53 | CHAR(1) | Remote journal type |
84 | 54 | CHAR(13) | Detached date and time |
Field Descriptions
ASP device name. The name of the independent auxiliary storage pool (ASP) device on which the journal receiver resides. *SYSBAS is used to indicate the system ASP and all basic user ASPs.
Change journal receiver exit information length. The length in bytes of all data passed to the change journal receiver exit program.
Detached date and time. The date and time that this journal receiver was detached from the journal. For a journal receiver that was attached to a *REMOTE journal, this is the date and time that the journal receiver was detached on the local system. This field is in the CYYMMDDHHMMSS format as follows:
C | Century, where 0 indicates years 19xx and 1 indicates years 20xx. |
YY | Year |
MM | Month |
DD | Day |
HH | Hours |
MM | Minutes |
SS | Seconds |
Exit point format name. The format name for the change journal receiver exit program. The possible format name follows:
CRCV0100 | The format name that is used after a user journal receiver is detached. |
Exit point name. The name of the exit point that is calling the exit program.
Journal library name. The library name of the journal that is associated with the journal receiver being detached.
Journal name. The name of the journal that is associated with the journal receiver being detached.
Journal receiver library name. The library name of the journal receiver being detached.
Journal receiver name. The name of the journal receiver being detached.
Journal type. An indication of whether the journal currently associated with the journal receiver being detached is local or remote. The possible values are:
0 | *LOCAL |
1 | *REMOTE |
Remote journal type. If this journal receiver was attached to a remote journal, this field is the remote journal type for that journal, when this journal receiver was attached. The possible values are:
0 | The journal receiver was not attached to a remote journal. It was attached to a local journal. |
1 | The journal receiver was attached to a *TYPE1 remote journal. |
2 | The journal receiver was attached to a *TYPE2 remote journal. |
User profile. The exit program will be called under this user profile. If the user profile is not found at the time the exit programs are called, the QUSER user profile will be used.
Usage Notes
- If multiple exit programs will be interested in the same journal and journal receivers, it is recommended that the order in which the exit programs will be called be considered prior to registering the exit programs. For example, two exit programs are both interested in a particular journal receiver. Exit program 1 deletes the journal receiver and exit program 2 saves the journal receiver. Exit program 2 will fail because the journal receiver is no longer on the system after exit program 1 is called. Exit program 2 must run before exit program 1.
- If an exit program times out or signals an error, no more exit programs are called. For this reason, it is highly recommended that the exit programs submit jobs to perform the necessary functions, so that all exit programs will be called.
- Any journal whose associated journal receivers are being monitored by an exit program should have the Delete Receiver (DLTRCV) option set to *NO.
Exit program introduced: V6R1
[ Back to top | Journal and Commit APIs | APIs by category ]