SETL specifies how a specified symbol will be handled during automatic library call. SETL is not performed until the workmod is bound, regardless of where the call appears in the dialog.
The syntax of the SETL call is:
[symbol] | IEWBIND | FUNC=SETL [,VERSION=version] |
CALL is the default.
When multiple conflicting SETL requests are made, the last issued is used. If a SETL CALL request is made that does not list a symbol, followed by NOCALL or EXCLUDE requests for the same CALLIB or PATHNAME, other symbols that have not been restricted can still be used from that library or path.
A SETL request is valid only when the processing intent is BIND.
The common binder API reason codes are shown in Table 1.
Return Code | Reason Code | Explanation |
---|---|---|
00 | 00000000 | Normal completion. |
08 | 83000711 | This request replaced a previous SETLIB request for the same symbol. |
12 | 83000101 | The LIBOPT and CALLIB parameters are inconsistent. Either LIBOPT=C and CALLIB was omitted, or LIBOPT=N or E and CALLIB was present. Request rejected. |
12 | 83000104 | The SETL function is invalid against a workmod specified with INTENT=ACCESS. Request rejected. |
If your program does not use the IEWBIND macro, place the address of the SETL parameter list in general purpose register 1.
PARMLIST | DS | 0F | |
DC | A(SETL) | Function code | |
DC | A(RETCODE) | Return code | |
DC | A(RSNCODE) | Reason code | |
DC | A(WORKMOD) | Workmod token | |
DC | A(SYMBOL) | Symbol/Section name | |
DC | A(LIBOPT) | Library option | |
DC | A(DDNAME+X'80000000') | Library ddname or pathname | |
SETL | DC | H'21' | SETL function code |
DC | H'version' | Interface version number | |
XLIBOPT | DC | CL1'C' | Library
option 'C' = Call |