News
Abstract
An enhancement has been made to IBM Enterprise COBOL for z/OS to add a new function code 12 to the Vendor Interface routine IGZXAPI.
The new function code 12 supports updating dynamic-length elementary items.
Content
Technical Note of APAR PH21585
Updates in the LE Vendor Interface Guide
The following updates apply to Language Environment Vendor Interface, Chapter 17 COBOL-specific vendor interfaces, the section on IGZXAPI.
1. Chapter 17. COBOL-specific vendor interfaces
> IGZXAPI – COBOL file and runtime information query routine
In the Syntax section, add the new return code to the R15 return code table.
Return code |
Description |
-13 |
For XINFO12, the XSRAD12Q or XSRAD12X field is zero. |
2. Chapter 17. COBOL-specific vendor interfaces
> IGZXAPI – COBOL file and runtime information query routine
After the subsection “Dynamic-Length Elementary Item (DLEI) Attribute Query” and before “Layout of the information structure”, add a new subsection “Updating Dynamic-Length Elementary Items” with the following:
Updating Dynamic-Length Elementary Items
To update a dynamic-length elementary item. The DSECT INFO12 is the information structure to communicate with the runtime information routine. Use INFO12 to copy data from the source buffer, pointed to by the XSRAD12Q/XSRAD12X field, to the dynamic-length elementary item pointed to by the XDLAD12Q/XDLAD12X field. The dynamic-length elementary item LIMIT may cause the data to be truncated. When calling the runtime information routine with INFO12, the call must be made from within the same Language Environment enclave as the COBOL program that contains the dynamic-length elementary item to be updated.
The caller should take note of the following data fields:
XCAA12Q
In AMODE64 this is an input field. In AMODE31 this field should be set to zero. It is the address of the Language Environment CAA control block containing the COBOL program.
XWKA12Q
In AMODE64 this is an input field. In AMODE31 this field should be set to zero. It is the address of a 2048 byte work area provided by the caller (for use within IGZXAPI). This work area can be allocated anywhere, above or below the bar.
XDLAD12Q (AMODE64 only) / XDLAD12X (AMODE31 only)
This is a input field. It is the address of the dynamic-length elementary item to be updated. In AMODE31 the high 4 bytes of XDLAD12Q should be zero.
XSRAD12Q (AMODE64 only) / XSRAD12X (AMODE31 only)
This is an input field. It is the address of the source buffer containing data to be copied into the dynamic-length elementary item. In AMODE31 the high 4 bytes of XSRAD12Q should be zero.
XSRLN12Q (AMODE64 only) / XSRLN12X (AMODE31 only)
This is an input field. It is the length, in bytes, of the source buffer data.
3. Chapter 17. COBOL-specific vendor interfaces
> IGZXAPI – COBOL file and runtime information query routine
In the subsection “Layout of the information structure for AMODE 31”, append the new information structure below to the end:
* * 1 2 3 4 5 6 7 * * 345678901234567890123456789012345678901234567890123456789012345678901 * XINFO12 DSECT XFNCOD12 DS F Input: Function code, =12 for moving data * to a dynamic length elementary item. FILLR120 DS CL4 reserved XSIG12 DS F X'C0B00603' (output) XVER12 DS H Version of this information structure block (output) XLEN12 DS H Input: Length of this data structure, 108 XFLGS012 DS CL8 Reserved, set to zero by caller XCAA12Q DS CL8 Input: AMODE64 Address of the LE CAA * Set XCAA12Q to zero in AMODE31 XWKA12Q DS CL8 Input: AMODE64 address of 2048 byte work area * Set XWKA12Q to zero in AMODE31 XDLAD12Q DS AD Input: AMODE64 Address of DLEI descriptor ORG XDLAD12Q DS CL4 Reserved XDLAD12X DS A Input: Address of DLEI descriptor XSRAD12Q DS AD Input: AMODE64 Address of source buffer ORG XSRAD12Q DS CL4 Reserved XSRAD12X DS A Input: Address of source buffer XSRLN12Q DS FD Input: AMODE64 Length of source buffer ORG XSRLN12Q DS CL4 Reserved XSRLN12X DS F Input: Length of source buffer FILLR123 DS CL56 Reserved, set to zero by caller
4. Chapter 17. COBOL-specific vendor interfaces
> IGZXAPI – COBOL file and runtime information query routine
In the subsection “Layout of the information structure for AMODE 64”, append the new information structure below to the end.
* * 1 2 3 4 5 6 7 * * 345678901234567890123456789012345678901234567890123456789012345678901 * XINFO12 DSECT Layout of the DSECT is the same for the corresponding one in AMODE31 (Refer to the “Layout of the information structure for AMODE 31”) * * -~-~- E N D -~-~-
Related Information
Was this topic helpful?
Document Information
Modified date:
30 March 2020
UID
ibm13563433