• Aucun résultat trouvé

Control .Block Manipulation Macro Return Codes and Reason Codes

Dans le document Macro Instruction Refere'hce:'- (Page 24-27)

The GENCO, MODCD, SIIO\VCD, and TESTCR macros are execUtable (unlike the ACD, EXLST, and

RPL

macros). They cause control to be given to VSAM to perform the indicatcd task. VSAM indicates if the task was completed by a return code in register 1 S:

Return

Code

0(0) 4(4)

Condition Task completed.

Task not complcted.

8(8) An attempt was made to use the execute fonn of a macro to modify a keyword that isn~t in the parameter list. (See Appendix B, "List, Execute, and Generate Forms of l\1acros" on page 171.)

An error can occur because you specified the operands incorrectly or, if you constructed a parameter list yourself, because the paramcter list was coded incorrectly. See Appendix 0, "Building Parameter Lists" on page 183, for an explanation of how to construct parameter lists for GENCB, MODCB, SIIO\VCB, and TESTeD.

\Vhen "Jter"t~Main~ef'~adasorr'·~indkatms. w~

· ~tir~ra 1htr.rJask ...

,![

you construct the parameter list, registcr 0 can contain reason codes I, 2, 3, 10, 14, 20, and 21. Figure S on page 11 describes each reason code that can be returned in register

o.

10

MVSjXA VSAM Administration: Macro Instruction Reference

1(1) G,M,S,T The request type (generate, modify, show, or test) is invalid.

2(2) G,M,S,T The block type (access method control block, exit list, or request parameter list) is invalid.

3(3) G,M,S,T One of the keyword codes in the parameter list is invalid.

4(4) M,S,T The block at the address indicated is not of the type you indicated (access method control block, exit list, or request parameter list).

5(5) S,T . / ' Access method control block fields were to be shown or tested, but the data set is not open or it is not a VSAM data set.

6(6) S,T Access method control block infonnation about an index was to be shown or tested, but no index was opened with the data set.

7(7) M,S An exit list was to be modified, but the list was not large enough to contain the new entry; or an exit was to be modified or shown but the specified exit wasn't in the exit list. (With TESTCR, if the specified exit address isn't prescnt, you get an unequal condition when you test for it.)

8(8) G There isn't enough virtual storage in your program's address space to generate the access method control block(s), exit list(s), or request parameter list(s) and no work area outside your address space was specified.

9{~} (i,S The work area specified was 100 small for generation -Of

display of the indicated control block or fields.

IO(A) G,M With GENCB, exit list control block type was specified and you specified an exit without without giving an address. With MODCB, exit list control block type was specified and you specified an exit without giving an address; in this case, either active or inactive must be specified, but load cannot be specified.

11(8) M Either (I) a request parameter list was to be modified, but the request parameter list dermes an asynchronous request that is active (that is, no CHECK or ENDREQ has been issued on the request) and thus cannot be modified; or (2) MODeB is already issued for the control block, but hasn't yet completed.

Figure S (Part I

or

2). GENCD, MODCD, SHOWCD, and TESTCD Reason Codes Returned in Register 0

Ulapter 1. Macro Instruction Return Codes and Reason Codes II

12(C) M An access method control block was to be modified, but the data set identified by the access method control block is open and thus cannot be modified.

13(D) M An exit list was to be modified, and you attempted to activate an exit without providing a new exit address.

Because the exit list indicated does not contain an address for that exit, your request cannot be honored.

14(E) G,M,T One of the option codes (for MACRF, A TRB, or

o

PTCD) has an invalid combination of option codes specified (for example, OPTCD = (ADR, SKP».

IS(F) G,S The work area specified did not begin on a fullword boundary.

16(10) G,M,S,T A VT AM keyword or subparameter was specified but the AM = VT AM parameter was not specified. AM

=

VT AM must be specified in order to process a VT AM version of the control block.

19(13) MrSrT A keY"lwd was. specified. which refers. to a ficld beyond the length of the control block located at the address indicatcd. (For examplc, a VTAM keyword was specified, but the control block pointed to was a shorter,

non-VTAM block.)

20(14) S Keywords were specified which apply only if MACRF = LSR or GSR.

21(15) S,T The block to be displayed or tested does not exist because the data set is a dummy data sct.

122(16) S Al\1 = VT AM was specified and the RPL FIELDS parameter conflicts with the RPLNIB bit status. Either RPLFIELDS = NIB was specified and the RPLNIB was otT, or RPL FIELDS=ARG was specified and the RPLNIB bit was on.

Figure S (Part 2

or

2). G.:NCB, MODCR, SIIO\VCB, and TESTCR Reason Codes Returned in Register 0

Note to Fagure 5:

G=GENCB, M=MODCB, S=SHOWCB, T=TESTCB

12

MVS/XA VSAM Administration: Macro Instruction Reference

The following record management macros give return codes and reason codes in the feedback area of the RPL: GET, PUT, POINT, ERASE, CHECK,

ENDREQ, GETIX, PUTIX, ACQRANGE, CNVTAD, MNTACQ,

MRKBFR, SCHBFR, and WRTBFR. .

The feedback word in the RPL consists of four bytes:

Byte Description

I Problem determination function (PDF) code. This code is used to locate the point in VSAM record management at which a logical error

condition is recognized. A description of the returned PDF code is located in the IDARMRCD macro.

1 RPL return code. This code is returned in register 15.

3 Component code. This code specifies the component being processed when the error occorred.

4 Reason tode. This code, when paired with the return code in byte 2, specifies the actual reason for either a successful completion or an error.

Bytes 2 through 4 make up the RPL feedback area. An explanation of the codes that appear in these three bytes follows.

Bytes 3 and 4 make up the RPL condition code. An explanation of this code also follows.

The field name of each byte appears within parentheses in the following figure.

Dans le document Macro Instruction Refere'hce:'- (Page 24-27)