IBM Support

Messages Received When Program Is Too Large for Compilation of an OPM COBOL/400 Program

Troubleshooting


Problem

This document explains why message CPF6563 is received on a COBOL compile.

Resolving The Problem

This document explains why message CPF6563 is received on a COBOL compile.

Message: Program was too large to be created.

Cause: Program being created contains too many objects or instructions for machine interface (MI) instruction &1 with error code &2. The program limitation was exceeded (1C02 exception) because of a create program error, a signal exception, or a transfer control error. The error codes are as follows:

------------------------------------------------------------------------

0001 - The data needed to initialize static areas > 65472 bytes
1. Reduce instances of VALUE clauses for data items subordinate to an OCCURS clause.

Example:

01 TABLE.
02 ITEM OCCURS 100000 TIMES.
03 A PIC X.
03 B PIC X VALUE "Y".

Note: Although the presence of A makes things worse, it is not needed in order to exceed the limit. A table of 45,000 entries with PIC XX VALUE "AB" will cause the failure !!
2. In some cases, using options *NOSTDINIT and *NOUNREF will reduce the requirement for static area initialization.
3. Reduce repeated literals in WS.
4. Reduce the number of extended ACCEPT/DISPLAY statements.
------------------------------------------------------------------------

0002 - The logic needed to initialize automatic areas >65472 bytes

Not applicable, since COBOL/400 does not use automatic storage.

------------------------------------------------------------------------

0003 - Internal constants > 4096 bytes

This is a result of using too many MI instructions that are interpreted by the translator using a stored constant. One particular example is the instruction used (at 2D20) to move a numeric literal to a zoned decimal field -- format CPYNV .D001234,678 -- that stores the immediate operand as an 8-byte packed constant.

------------------------------------------------------------------------

0004 - No registers are available for use

This should not occur -- if it does, it should be reported as an error in the translator. Re-arranging the code may provide a circumvention.

------------------------------------------------------------------------

0005 - The start constant area > 65024 bytes

??

------------------------------------------------------------------------

0006 - The work space needed by the machine to support calling of this program > 65200 bytes. The storage allocated upon calling a program without storage allocated from the process automatic storage area PASA is 65200 bytes.

???

------------------------------------------------------------------------

0007 - An instruction required more than the maximum amount of storage allowed for it in the program within another program.

???

------------------------------------------------------------------------

0008 - The MI instruction within a program results in a requirement for more than 15,789,056 bytes.

???

------------------------------------------------------------------------

0009 - The number of items that the machine needs to address > 4040

Some of these items are: pointers (system, space, instruction) and option lists. Main contributors to exceeding this limit are:
files, CALL statements, parameters for called programs, multiple subscripted data references in one statement, and so on.

------------------------------------------------------------------------

000A - The program requires > 16,776,960 bytes of storage for either PASA or PSSA (process static storage area).

Reduce the size of the WS data items.

------------------------------------------------------------------------

000B - The program requires more than 16,777,216 bytes for all data and instructions.

Reduce the size of the WS data items and/or the number of statements in the program.

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m3p000000F98bAAC","label":"Programming ILE Languages-\u003ECOBOL"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]

Historical Number

8203753

Document Information

Modified date:
04 December 2024

UID

nas8N1010183