Record selection exit: Process
The record selection exit can be loaded and called by the capture service during refresh operations, as part of processing changes received from the log reader, and by the query processor.
The exit can be called at the following points:
- For every change processed by the capture service
- For every record/segment returned from the refresh query processor during refresh operations
- For every record/segment read from a VSAM dataset or IMS database when enabled for use in the query processor
The capture service loads a single instance of the record selection exit. The exit is loaded when replication starts for the first subscription or when the first refresh is started. The capture service maintains a reference count of the number of replication subscriptions and active refreshes which is decremented each time that a refresh completes, or capture stops for a subscription. When the reference count falls to zero, the exit is unloaded.
If configured, the query processor loads a copy of the record selection exit at the start of processing for a query that references an IMS or VSAM data source. The instance is unloaded when the query ends.
CECC0245I The record selection exit module-name has been successfully loaded.
CECC0247I The record selection exit module-name has been unloaded from memory.
If the exit cannot be loaded, an informational message is written to the diagnostic log. If the name of the exit that might not be loaded is other than CECRCSEL, start of replication or refresh fails with a generic CECC0016E message with a special return code value of 1130072 – this message is not documented.
Because of this behavior you might see a series of load and unload messages during the life of the data server. This behavior enables you to replace the exit load module without shutting down the entire data server. You can replace the exit in the load library for the data server when no exit is loaded, and the updated load module will be picked up on the next load operation.