The read exit is called after a catalog entry has been read. It can perform actions such as the following:
Reject transfer of the catalog entry to the caller.
Delete or replace individual items in the catalog entry to be passed to the user. However, these changes only affect the data passed. No changes are made to the catalog entry.
In the event of a restart, the file expiration date can be set.
The read exit is only used in the MARENCP program and, if direct access to the MARENCAT is possible, by the MARENADM and MARENUCP programs. A list of the function names possible when calling the read exit can be found in the section “Function names in MAREN”.
The following catalog entry fields are supplied with values in the caller area:
LATSN | TSN of the calling task | |
LAUSERID | User ID of the calling task | |
LAACC | Account number of the calling task | |
LAJOB | Job name of the calling task | |
LACPU | Name of the system on which the call was issued (HOSTNAME from the MARENCP start procedure) | |
LAFUNKFL | C'09' | |
LAFUNKNM | Name of the calling routine | |
NUMMANFV | VSN | |
NUMMANFF | File sequence number | |
If LAFUNKNM=MOUNT (MAREN statement MOUNT-VOLUME) is specified, then the following also applies: | ||
OPENTYP | C'IN' (ACCESS-READ) or C'OU' (ACCESS-WRITE) | |
If LAFUNKNM=MARENO01 (DMS call OPEN REQUEST) is specified, then the following also applies: | ||
OPENTYP | Mode in which the file is opened | |
FILENM41 | File name | |
CRCATID | Catalog ID of the file (only if system-specific MAREN parameter CID-UID is set) | |
CRUSERID | User ID of the file (only if system-specific MAREN parameter CID-UID is set) |
Passing parameters
The following information is passed to the read exits:
Register 1 | A(parameter area) The parameter area comprises two words, the first containing the address of the catalog entry and the second word containing the address of an area containing information passed to MARENCP by the caller. Both areas can be addressed symbolically via the DSECT MARENA. |
Register 13 | A(save area) The save area provided by MAREN is 18 words long. |
Register 14 | A(return) For returning directly to MAREN. |
Register 15 | A(exit routine) Start address of the called exit routine. |
All other registers are set to “binary zero”.
Return codes
The read exit returns the following information via register 15:
Register contents | Meaning |
0 | The request should be granted. The catalog entry read is passed to the caller with any changes made by the exit. |
4 | The request is to be rejected. The catalog entry read is not passed to the caller. The caller receives message MARCP24 and the action (e.g. an ADD-FILE-LINK command) or statement involved (e.g. SHOW-VOLUME-ATTRIBUTES) is aborted. |
other | The system responds in the same way as when return code “4” is passed. |