COBOL/XE Frequently Asked Questions
search cancel

COBOL/XE Frequently Asked Questions

book

Article ID: 56330

calendar_today

Updated On:

Products

COBOL/XE

Issue/Introduction

Questions related to COBOL/XE

Environment

Release:
Component: COBOLX

Resolution

Q: Is there a limit to the size of a compiled program?

A: Yes. The size limit of a compiled program is 64K. Additionally, the size limit of a code block is 32K and the size limit of a data block is 32K. To view the size of the individual components of a program, refer to the statistics generated at the end of the compilation listing:

STATISTICS: 00000 ERRORS

00000 WARNINGS
06144 BYTES IN DATA BLOCK Cannot be larger than 32K bytes
01536 BYTES IN CODE BLOCK Cannot be larger than 32K bytes
00526 BYTES USED BY DICTIONARY

If the compiled program is larger than 64K, it must be broken up into smaller pieces.

Compatibility

Q: Are any solutions required to run COBOL/XE in an OS/390 Version 2 Release 10 environment?

A: No.

Q: Are any solutions required to run COBOL/XE in an OS/390 Version 2 Release 9 environment?

A: No.

Q: What is required for COBOL/XE to support CTS 1.3?

A: If upgrading from CICS 4.1, no additional maintenance is required at this time. If upgrading from a CICS release below 4.1, you must apply APAR LO32357. Also, the following three modules must be re-linked as NORENT: CALSVW30, IOLSUT30 and PILSPN30. For more information, please refer to APAR LI13043.

Recommended PTFs are LO32357 and informational documentation LI13043

Errors

Q: What is the meaning of compiler message PVCC994?

A: PVCC994 is an informational message. More meaningful information, including the USWERRNO value, will be generated if NOXREF and NOXSREF are specified on the CBL compiler options card. The following reason codes are issued in the USWERRNO value:

40 Bad copy statement
55 Program is too big. The data and code blocks exceed 64K.
60 FD statement
106 Library is invalid or missing

Product Usage

Q: How can I delete temporary storage queues that remain in storage as a result of terminal time-outs or line drops?

A: Temporary storage queues can be deleted at the end of your program when the terminal is taken out of service or when the task ends (using the CICS DFHZNEP program), or prior to executing the next CA-COBOL/XE transaction (using a sign-on user exit). For additional information on indications, causes and resolutions to residual temporary storage problems, please refer to the article entitled, "Cleaning Up Temporary Storage Queues".

Additional information can be found in KD TEC265294

Q: How can I pass control between COBOL/XE and other programs in a CICS environment?

A: COBOL/XE can do this several ways:

  • COBOL/XE transferring to CICS command level program:
    • CALL 'PVC#XCTL' USING program-name commarea
    • Note: The called program must issue a GOBACK to return back to the COBOL/XE program.
  • COBOL/XE linking to a CICS command level program:
    • CALL 'PVC#LINK' USING program-name commarea
    • Note: The called program must issue a GOBACK to return back to the COBOL/XE program.
  • COBOL/XE starting a CICS command level program:
    • CALL 'PVC#INIT' USING TIOA-record [terminal-id [LWSA-record]]
  • COBOL/XE starting a UFO application:
    CALL 'PVC#INIT' using TIOA-record [terminal-id [LWSA-record]]

For more information, please refer to the COBOL/XE Programmer Reference Guide or the article entitled, "Interfacing COBOL/XE to Other Languages".

Additional information can be found in KD TEC265293

Q: How can I display system areas in the debugger in COBOL/XE?

A: The COBOL/XE debugger provides a facility for displaying and setting the CWA, TCTUA, TWA, COMMAREA, and EIB. To view a system area, specify #xxxxx 0000 SH on the data display portion of the debugger (where xxxxx is one of the following: CWA, TCTUA, TWA, COMM or EIB). Refer to the article entitled, "Displaying System Areas with the COBOL/XE Debugger" to see an example.

Additional information can be found in KD TEC265295

Q: Can I pre-allocate storage at compile time? How?

A: Yes. COBOL/XE allows you to pre-allocate a single large block of storage for a run-unit. For more information, please refer to the COBOL/XE Programmer Guide, Appendix C, or the article entitled, "Pre-Allocating Storage for COBOL/XE Applications".

Additional information can be found in KD TEC265296