Flow of the DGAXPRCT Exit
First you tell DGAXPRCT which IBM® Connect:Direct® Processes to run and not run by storing your preferences as text records in a parameter table stored as a Partitioned Data Set (PDS) member. You can specify the following criteria for DGAXPRCT to use to find matches for one or more Processes to include (using the “I” command code) or exclude (“X” command code) from execution:
- A partial or full Process name
- A partial or full remote node name
- A partial or full IBM Connect:Direct submitter ID and submitter node combination
- A combination of Process name, remote node name and submitter ID/submitter node, all of which must match
In addition to telling IBM Connect:Direct which Processes to run, you tell the system what to do with the Processes which do not get executed. You can specify the following dispositions for Processes not permitted to run:
- Place the Process in the Hold queue
- Place the Processes in the Timer queue for session retry
- Flush the Processes from the queue
To see different ways the DGAXPRCT exit can be used, see Sample Test Scenarios.
The DGAXPRCT exit is invoked by the Stage 2 Security exit before the security checks for a IBM Connect:Direct Process about to be executed have been performed. For information on how the Stage 2 Security exit is processed, see Stage 2 Security Exit.
The Process Exit for Testing reads and validates the DGAXPRCT parameter table each time it is invoked when a Process is executed. If a syntax or other error occurs, IBM Connect:Direct places the Processes in the hold queue and returns a non-zero return code and error message ID. If the table is valid, DGAXPRCT scans the parameter table looking for a pattern that matches the Process that is about to be executed. If a match is found, the Process is permitted to execute if the "I" (Include) command code is in effect. If command code "X" (Exclude) is in effect, the process is not permitted to execute. If a match is not found in the table, DGAXPRCT performs the opposite processing from the case where a match is found, that is, if no match is found and command code "I" is in effect, the Process is not permitted to execute, whereas if command code "X" is in effect, the Process is permitted to execute.
If a Process is not to be permitted to execute, DGAXPRCT uses the disposition specified in the DGAXPRCT parameter table to either hold, retry, or flush the Process after the DGAXPRCT exit returns with a non-zero return code.
When both the PNODE and the SNODE invoke the DGAXPRCT exit and the SNODE excludes a Process from executing, the PNODE automatically places the Process in the Timer queue for session retry regardless of the disposition setting in the DGAXPRCT Parameter Table on the PNODE. This processing is necessary because of technicalities in the handling of an SNODE error at the point in the IBM Connect:Direct protocol.