Aller au contenu

CPF6563

Le programme était trop grand pour être créé.

Program was too large to be created.

Gravité 40 · Fin anormale du programme ou de la fonction

Cause

Le programme en cours de création contient trop d'objets ou d'instructions pour l'instruction d'interface machine (MI) &1 avec le code d'erreur &2. La limite du programme a été dépassée (exception 1C02) à cause d'une erreur de création de programme, d'une exception de signalement ou d'une erreur de transfert de contrôle. Les codes d'erreur sont les suivants : 0001 - Les données nécessaires pour initialiser les zones statiques dépassent 65472 octets. 0002 - La logique nécessaire pour initialiser les zones automatiques dépasse 65472 octets. 0003 - Les constantes internes dépassent 4096 octets. 0004 - Aucun registre n'est disponible. 0005 - La zone de constantes de démarrage dépasse 65024 octets. 0006 - L'espace de travail nécessaire à la machine pour prendre en charge l'appel de ce programme dépasse 65200 octets. La mémoire allouée lors de l'appel d'un programme sans mémoire allouée à partir de la zone de mémoire automatique du processus (PASA) est de 65200 octets. 0007 - Une instruction a nécessité plus que la quantité maximale de mémoire autorisée pour elle dans le programme au sein d'un autre programme. 0008 - L'instruction MI dans un programme entraîne un besoin de plus de 15789056 octets. 0009 - Le nombre d'éléments que la machine doit adresser dépasse 4040. 000A - Le programme nécessite plus de 16776960 octets de mémoire pour la PASA ou la PSSA (zone de mémoire statique du processus). 000B - Le programme nécessite plus de 16777216 octets pour l'ensemble des données et instructions.

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 is greater than 65472 bytes. 0002 - The logic needed to initialize automatic areas is greater than 65472 bytes. 0003 - Internal constants are greater than 4096 bytes. 0004 - No registers are available for use. 0005 - The start constant area is greater than 65024 bytes. 0006 - The work space needed by the machine to support calling of this program is greater than 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 15789056 bytes. 0009 - The number of items that the machine needs to address is greater than 4040. 000A - The program requires more than 16776960 bytes of storage for either the PASA or PSSA (process static storage area). 000B - The program requires more than 16777216 bytes for all data and instructions.

Que faire

Effectuez l'une des opérations suivantes :

  • Réécrivez le programme afin qu'il ne crée pas autant d'objets ou n'utilise pas autant d'instructions.
  • Divisez le programme en plusieurs programmes.
  • Si le code d'erreur est 0004, signalez le problème (commande ANZPRB).

Do one of the following: -- Write the program again so that it does not create so many objects or use so many instructions. -- Split the program into more than one program. -- If the error code is 0004, report the problem (ANZPRB command).

Variables du message

Quand le système envoie le message, chaque variable est remplacée par une valeur réelle : un nom d'objet, de bibliothèque, un code...

VariableTypeLongueur
&1 *HEX 2
&2 *HEX 2

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF6563) MSGF(QSYS/QCPFMSG)

L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :

MONMSG MSGID(CPF6563) EXEC(DO)
  /* traitement de l'erreur */
ENDDO