VSAM is unable to maintain positioning after every logical error.
Whenever positioning is not maintained following an error request,
You must reestablish it before processing resumes.
Positioning may be in one of four states following a POINT or a
direct request that found a logical error:
- Yes
- VSAM is positioned at the position in effect before the request
in error was issued.
- No
- VSAM is not positioned, because no positioning was established
at the time the request in error was issued.
- New
- VSAM is positioned at a new position.
- U
- VSAM is positioned at an unpredictable position.
- N/A
- The reason code is not applicable to the type of processing indicated.
Table 1 shows which positioning state
applies to each reason code listed for sequential, direct, and skip-sequential
processing. "N/A" indicates the reason code is not applicable
to the type of processing indicated.
Table 1. Positioning States
of Reason Codes Listed for Sequential, Direct, and Skip-Sequential
ProcessingReason Code (RPLERRCD) When
Register 15=8(8) |
Sequential |
Direct |
Skip-Sequential |
---|
4 (X'4') |
Yes |
No |
Yes |
8 (X'8')1 |
Yes |
No |
New |
12 (X'C') |
Yes |
N/A |
Yes |
16 (X'10') |
No |
No |
No |
20 (X'14') |
U |
No2 |
No2 |
21 (X'15') |
Yes3 |
New |
New |
22 (X'16') |
Yes3 |
New |
New |
24 (X'18') |
Yes3 |
No |
No |
28 (X'1C') |
Yes |
No |
Yes |
32 (X'20') |
No |
No |
N/A |
36 (X'24') |
Yes |
No |
New |
40 (X'28') |
Yes |
No |
No |
44 (X'2C') |
Yes |
New |
Yes |
48 (X'30') |
U |
U |
U |
52 (X'34') |
U |
U |
U |
56 (X'38') |
Yes |
Yes |
Yes |
64 (X'40') |
No |
No |
No |
68 (X'44') |
Yes |
Yes |
Yes |
72 (X'48') |
Yes |
Yes |
Yes |
76 (X'4C') |
Yes |
Yes |
Yes |
80 (X'50') |
Yes |
Yes |
Yes |
84 (X'54') |
Yes |
Yes |
Yes |
88 (X'58') |
Yes |
Yes |
Yes |
92 (X'5C') |
Yes |
Yes |
Yes |
96 (X'60') |
Yes |
Yes |
Yes |
100 (X'64') |
Yes |
Yes |
Yes |
104 (X'68') |
Yes |
New |
Yes |
108 (X'6C') |
Yes |
New |
Yes |
112 (X'70') |
Yes |
Yes |
Yes |
116 (X'74') |
Yes |
Yes |
Yes |
120 (X'78') |
Yes |
No |
No |
124 (X'7C') |
No |
No |
No |
128 (X'80') |
Yes |
No |
No |
132 (X'84') |
Yes |
New |
Yes |
136 (X'88') |
No |
No |
N/A |
140 (X'8C') |
Yes |
New |
Yes |
144 (X'90') |
Yes |
Yes |
Yes |
148 (X'94') |
Yes |
Yes |
Yes |
152 (X'98') |
Yes |
No |
No |
156 (X'9C') |
Yes |
No |
No |
160 (X'A0') |
N/A |
No |
N/A |
168 (X'A8') |
N/A |
N/A |
N/A |
169 (X'A9') |
N/A |
N/A |
N/A |
172 (X'AC') |
N/A |
N/A |
N/A |
176 (X'B0') |
N/A |
N/A |
N/A |
180 (X'B4') |
Yes |
Yes |
Yes |
181 (X'B5') |
N/A |
N/A |
N/A |
182 (X'B6') |
N/A |
N/A |
N/A |
184 (X'B8') |
U |
U |
U |
186 (X'BA') |
Yes |
Yes |
Yes |
190 (X'BE') |
Yes3 |
No |
Yes |
192 (X'C0') |
Yes |
Yes |
Yes |
196 (X'C4') |
Yes |
Yes |
Yes |
200 (X'C8') |
Yes |
Yes |
Yes |
201 (X'C9') |
N/A |
N/A |
N/A |
204 (X'CC') |
Yes |
Yes |
Yes |
208 (X'D0') |
Yes |
Yes |
Yes |
211 (X'D3') |
No |
No |
No |
212 (X'D4') |
U |
U |
U |
216 (X'D8') |
N/A |
N/A |
N/A |
224 (X'E0') |
N/A |
No |
N/A |
228 (X'E4') |
No |
No |
No |
229 (X'E5') |
New |
New |
New |
230 (X'E6') |
Yes |
Yes |
Yes |
232 (X'E8') |
No |
No |
No |
235 (X'EB') |
U |
U |
U |
236 (X'EC') |
Yes |
Yes |
Yes |
237 (X'ED') |
U |
U |
U |
238 (X'EE') |
U |
U |
U |
239 (X'EF') |
U |
U |
U |
240 (X'F0') |
Yes |
Yes |
Yes |
241 (X'F1') |
No |
No |
No |
242 (X'F2') |
U |
U |
U |
243 (X'F3') |
No |
No |
No |
244 (X'F4') |
U |
U |
U |
245 (X'F5') |
New |
New |
New |
246 (X'F6') |
New |
New |
New |
248 (X'F8') |
U |
U |
U |
249 (X'F9') |
Yes |
Yes |
Yes |
250 (X'FA') |
New |
New |
New |
251 (X'FB') |
U |
U |
U |
252 (X'FC') |
No |
No |
No |
253 (X'FD') |
No |
No |
No |
Notes: - A subsequent GET SEQ will retrieve the duplicate record.
However, a subsequent GET SKP for the same key will get a sequence
error. In a fixed- or variable-length RRDS, a subsequent PUT SEQ positions
to the next slot (whether the slot is empty or not).
- For NSR requests, PUT UPD, DIR or UPD,
SKP retains positioning. The RPL contains an RBA that could not be
obtained for exclusive control.
- For MACRF=RLS, position will advance to next
record on next request.