• Aucun résultat trouvé

Reg. contents

Dans le document Program Product (Page 154-157)

o

Unpredictable.

1 Address of a parameter list with the following format:

44 bytes

8 bytes 8 bytes 8 bytes 2 bytes

Name of the data set for which authority to process is to be verified (the name you specified when you defined it with access method services).

Prompting code (or O's).

Owner identification (or O's).

The password that the requester gave (it has been verified by VSAM).

Length of the user-security-authorization routine (in binary).

The user-security-authorization.

2-13 Unpredictable.

14 Return address to VSAM.

15 Entry address to the user-security-verification routine.

When the routine returns to VSAM, it indicates by the following codes in register 15 whether the requester has been authorized to gain access to the data set:

o

not 0

Authority granted.

Authority withheld.

Figure 32. Communication with User-Security-Verification Routine

The datestamp control module (IDATMSTP) is provided as a dummy module that causes datestamp processing to be skipped. It sets a return code of 0 that causes IDA0192B to skip the processing of the last-referenced date (DSIREFD) in the Format-l DSCB for VSAM data sets cataloged under Integrated Catalog Facility (ICF). IDATMSTP may be replaced with another module you select that sets a return code of 4 and causes datestamp processing on all specified data sets.

The Format-l DSCB is read using CVAFDIR, and, if it is modified, it is written back. The DSCB may be modified for either of the following reasons:

• DSIIND02 is changed. DSIIND02 will be changed if you have indicated that the data set is being opened for other than input, and DSIIND02 does not already show that the data set has been opened for other than input.

• DSIREFD is not equal to zero and is earlier than today's date.

Note:

It is your responsibility to set DSIREFD to a nonzero value when you want OPEN to do datestamp processing.

Your module can include code to cause checking of some or all VSAM data sets cataloged in an ICF catalog for periodic

migration to other storage media and maintenance of the updated indicator. A return code of 4 from the module indicates that you want the check, and causes the updated indicator to be maintained.

IDATMSTP is passed the addresses of OPWCDDSN, JFCBVOLS, and of a character 'D' to indicate that the data set named in OPWCDDSN, on the volume identified in JFCBVOLS is a data component of a data set cataloged in an IeF catalog. This information is available to your module and can be used to further qualify which data sets should have datestamp processing.

Figure 33 shows the contents of the registers when VSAM gives

c~ntrol to IDATMSTP.

Reg. contents

o

Unpredictable.

1 Address of a parameter list containing the following addresses of offset:

2 - 12 13 14 15

o

Data set name in the current cluster information area.

4 List of volume serial numbers that contain the data set in the JFCB.

8 Address of a I-byte indicator set to D to

indicate the data set is a base data component.

Unpredictable.

Save area address.

Return address in VSAM OPEN.

Entry address to IDATMSTP.

When IDATMSTP returns to VSAM OPEN, the desired datestamp option is indicated in register 15:

o

4

No datestamp processing.

Datestamp processing desired; updated indicator (DSIIND02) maintained.

Figure 33. Communication with Datestamp Routine

RETURNING TO YOUR MAIN PROGRAM

Five exit routines can be entered when your main program issues a VSAM request macro (GET, PUT, POINT, and ERASE) and the macro fails to complete successfully: LERAD, SYNAD, EODAD, UPAD, or the exception exit routine. When your exit routine completes its processing, it can return to your main program in one of two ways:

1. The exit routine can return to VSAM (via the return address in register 14); VSAM then returns to your program at the instruction following the VSAM request macro that failed to complete successfully.

2. The exit routine can determine the appropriate return point in your program, then branch directly to that point. Note that, when VSAM enters your exit routine, none of the

registers contains the address of the instruction following the failing macro.

Method 1 provides the easier way to return to your program.

However, there is a special situation that requires you to return via method 2: Your exit routine, during the error

recovery and correction process, has issued a GET, PUT, POINT, or ERASE macro that refers to the request parameter list referred to by the failing VSAM macro (that is, the request parameter list has been reissued by the exit routine). In this case, VSAM has lost track of its reentry point to your main program. If the exit routine returns to VSAM, VSAM issues an ABEND.

If your error recovery and correction process needs to reissue the failing VSAM macro against the request parameter list in order to retry the failing request or to correct it:

• Your exit routine can correct the request parameter list (using MODCB), then set a switch to indicate to your main program that the request parameter list is now ready to . retry. When your exit routine completes processing, it can

return to VSAM (via register 14), which returns to your main program. Your main program can then test the switch and reissue the VSAM macro and request parameter list.

• Your exit routine can issue a GENCB macro to build a request parameter list, and then copy the request parameter list (for the failing VSAM macro) into the newly built RPL. At this point, your exit routine can issue VSAM macros against the newly built RPL. When your exit routine completes processing, it can return to VSAM (via register 14), which returns to your main program.

Dans le document Program Product (Page 154-157)