You might find it difficult to determine either the function orthe module that
caused the problem. One DADSM or CVAF function might modify and write
the VTOC or VTOC index record, that causes a problem some other unrelated
function detects later. Or, you might detect the problem in a listing
of the VTOC or VTOC index.
- Use the CVAF component trace as described in CVAF component trace to trace the CVAF events.
- Examine the trace records to determine the events leading
to the failure as described in CVAF component trace.
- You can usually identify the function that caused the
incorrect output by determining the macro that was issued. If it was
a DADSM macro, the failing subcomponent is DADSM; go to Step 1.d. If it was a CVAF macro, the failing
subcomponent is CVAF; go to Step 1.e.
If you cannot determine whether the failing subcomponent is DADSM
or CVAF, obtain the component identifiers for both subcomponents in Table 1. Record them for use in
the software database search procedure. Build two keyword strings,
one with each component identifier.
- See Table 1.
- See Table 1 to
determine the failing DADSM function. Code the keywords exactly as
they are shown in the table.
The DADSM function modifier keywords
are merely abbreviations of the related DADSM functions. The SCRATCH,
RENAME, OBTAIN, PARTREL, and PROTECT macros are DADSM macros and they
invoke DADSM functions. SVCs exist for each of these macros, as well
as for ALLOC and LSPACE. System internal calls invoke the DADSM extend
and partial release functions so you must identify these functions
from failure-related events.
See Table 1.
- See Table 2 to
determine the failing CVAF function; code the keyword(s) exactly as
they are shown in the table. All CVAF macros except CVAFTST are associated
with a CVPL. For those macros, go to Step 1.j.
For CVAFTST, continue with the next step.
- If the CVAFTST macro returned an invalid return code, specify
TS as the modifier keyword.
- If the CVAF GTF trace data is invalid, specify GT as the modifier
keyword.
- If a volume demounted by the system did not cause CVAF to rebuild
the VIB, either the CVAF LS function or the function that issued the
demount (OPEN, EOV, VSAM OPEN, Scheduler) failed. Specify the modifier
keyword accordingly.
Note: Demount is not a DADSM/CVAF
function.
- See Table 1.
- Locate the CVPL, which is in the DADSM work area. Use
the eye catcher by scanning the readable portion of the DADSM work
area. The CVFCTN field (offset 6 in the CVPL) contains a 1-byte CVAF
function code.
- Identify the CVAF function keyword corresponding to
the value in the CVAF function byte and specify it as the modifier
keyword. The possible values of the CVAF function byte and the corresponding
function keywords are shown in Table 1.
Table 1. CVAF Function Byte Values
in the CVPLValue of CVAF Function Byte |
Function Keyword |
Subfunction Keyword |
01 (X'01') |
DS |
— |
02 (X'02') |
DS |
— |
03 (X'03') |
DS |
— |
04 (X'04') |
DS |
— |
05 (X'05') |
DS |
— |
06 (X'06') |
IX |
ADD |
07 (X'07') |
IX |
DEL |
08 (X'08') |
DM |
— |
09 (X'09') |
DM |
— |
10 (X'0A') |
DM |
— |
11 (X'0B') |
VO |
— |
12 (X'0C') |
VR |
— |
13 (X'0D') |
VR |
— |
14 (X'0E') |
FI |
— |
15 (X'0F') |
FI |
— |
16 (X'10') |
FI |
— |
See Table 2 for
a detailed description of the operations performed by the CVAF functions.
- A previous VTOC or index update might have caused the
present problem. Use IEHLIST to obtain a listing of the contents of
the VTOC and the VTOC index. To list the index, specify INDEXDSN=SYS1.VTOCIX.Vnnnnnn,
in which nnnnnn is the name of your VTOC index.
- See Table 1.