IBM Support

New function code 12 added to Vendor Interface Routine IGZXAPI to update dynamic-length elementary items.

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  -~-~-

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"Runtime","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"6.3","Edition":"Enterprise","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}}]

Document Information

Modified date:
30 March 2020

UID

ibm13563433