z/OS DFSMStvs Administration Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Control block manipulation return codes

z/OS DFSMStvs Administration Guide
GC52-1388-00

When the control block manipulation routine returns to the caller after successful completion, register 15 contains 0. If the request is GENCB, register 0 contains the total length of the area that contains the control block(s). Register 1 contains the address of the area.

When the control block manipulation routine returns to the caller with a nonzero value in register 15, an error occurred. If the request is TESTCB and the caller supplied an ERET keyword, return is to the location specified by the ERET keyword. Otherwise, the control block manipulation routine returns control to the point of invocation, via the return address in register 14.

Register 15 contains a return code, which Table 1 explains.

Table 1. Control block manipulation return codes. Control block manipulation return codes
Reg 15 Condition
0(X'00') Successful completion.
4(X'04') An error has been detected. The error code in register 0 indicates the type of error.
8(X'08') Invalid use of the execute form of this macro. Since the return code is set by the macro expansion and not by the control block manipulation routine, the register 0 contents do not indicate an error code.

Register 0 contains an error code, which Table 2 explains.

Table 2. Control block manipulation error codes. Control block manipulation error codes
Code Applicable macros1 Condition
1(X'01') G,M,S,T The function type is invalid.
2(X'02') G,M,S,T The control-block type is invalid.
3(X'03') G,M,S,T The keyword type is invalid.
4(X'04') M,S,T The control block to be processed is not of the type specified.
5(X'05') S,T The ACB to be processed is closed—it must be open.
6(X'06') S,T The cluster whose index component was to be processed is not key-sequenced (does not include an index).
7(X'07') M,S The EXLST entry to be processed is not present.
8(X'08') G Not enough virtual storage is available, or (with AM=VTAM specified) list and execute forms are inconsistent.
9(X'09') G,S User area is too small.
10(X'0A') G,M Exit address is not specified in the input.
11(X'0B') M The RPL to be processed is active, or it is already being processed.
12(X'0C') M The ACB to be processed is open—it must be closed.
13(X'0D') M No exit address is specified in the input for the exit to be activated.
14(X'0E') G,M,T An invalid combination of option codes (for example, for MACRF or OPTCD) is specified.
15(X'0F') G,S The user area is not on a fullword boundary.
16(X'10') G,M,S,T A VTAM® keyword is specified with AM=VTAM not specified.
19(X'13') M,S,T A specified keyword refers to a field beyond the end of the control block to be processed.
20(X'14') S A specified keyword requires processing with shared resources to be specified, but it is not.
21(X'15') S,T The block to be displayed or tested does not exist, because the data set is a dummy data set.
22(X'16') S AM=VTAM is specified with SHOWCB for RPL fields=NIB, but the RPLNIB is off, or SHOWCB RPL fields=Arg (CID) but the RPLNIB bit is on.
23(X'17') G The value specified in the length parameter exceeds the 65535 byte limit.

All errors in control block manipulation are detected by IDA019C1.

26(X'1A') S A request was made using a field name which allows the returned data to have a one word length, but the value being returned requires two words. A value of X'FFFFFFFF' is returned in place of the true value.

Register 15 will contain a value of zero.

Note:
  1. G=GENCB, M=MODCB, S=SHOWCB, T=TESTCB

Go to the previous page




Copyright IBM Corporation 1990, 2014