Tous les articles par Mr COBOL

CODE RETOUR -879

CREATE or ALTER STATEMENT FOR object-name CANNOT DEFINE A COLUMN, TYPE, VARIABLE, FUNCTION OR STORED PROCEDURE PARAMETER AS MIXED OR GRAPHIC WITH ENCODING SCHEME encoding-scheme

Explication :
Une instruction CREATE ou ALTER TABLE ou une déclaration de variable SQL pour object-name  a tenté de définir une colonne, un type distinct ou un paramètre d’une fonction définie par l’utilisateur ou d’une procédure stockée en tant que données mixtes ou graphique lorsque le système n’a pas de CCSID approprié défini pour le encoding-scheme du schéma de codage.

  • Une instruction CREATE TYPE ne peut pas définir un type distinct, sur des données EBCDIC ou ASCII, avec un type source de caractère FOR MIXED DATA, ou GRAPHIC, VARGRAPHIC ou DBCLOB, lorsque l’option d’installation MIXED DATA est définie sur NO.
  • Une instruction CREATE TYPE pour un type de tableau ne peut pas être définie avec des données EBCDIC ou ASCII, et avec un type de données pour les éléments de tableau qui est caractère FOR MIXED DATA, GRAPHIC, VARGRAPHIC ou DBCLOB, lorsque l’option d’installation MIXED DATA est définie sur NO . Un type de tableau associatif ne peut pas être défini avec des données EBCDIC ou ASCII, et avec un type de données pour l’index de tableau qui est caractère FOR MIXED DATA, lorsque l’option d’installation MIXED DATA est définie sur NO.
  • Une instruction CREATE FUNCTION ou CREATE PROCEDURE ne peut pas définir un paramètre ou spécifier un type de données RETURNS, pour les données ASCII ou EBCDIC, comme caractère FOR MIXED DATA, GRAPHIC, VARGRAPHIC ou DBCLOB, lorsque l’option d’installation MIXED DATA est définie sur NO.

Cette erreur se produit uniquement lorsque le schéma de codage utilisé est EBCDIC ou ASCII. L’option d’installation MIXED DATA n’affecte pas les données Unicode.

Cette erreur peut se produire lorsqu’une colonne, un type, une variable ou un paramètre est défini en tant que caractère FOR MIXED DATA, même si les mots clés FOR MIXED DATA n’apparaissent pas dans l’instruction défaillante. Cette situation se produit lorsque la valeur MIXTE dans le module des valeurs par défaut de l’application est OUI. Dans ce cas, le sous-type par défaut pour les types de caractères est FOR MIXED DATA.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Contactez votre administrateur système pour configurer correctement les options d’installation ou modifiez les types de données des éléments dans les colonnes de votre instruction CREATE ou ALTER.

SQLSTATE :
53095

CODE RETOUR -880

SAVEPOINT savepoint-name DOES NOT EXIST OR IS INVALID IN THIS CONTEXT

Explication :
L’instruction RELEASE TO SAVEPOINT ou ROLLBACK TO SAVEPOINT n’identifie pas un point de sauvegarde existant.

Action du système :
Db2 ne traite pas l’instruction.

Réponse du programmeur :
Corrigez l’instruction pour utiliser un nom de point de sauvegarde valide.

SQLSTATE :
3B001

CODE RETOUR -881

A SAVEPOINT WITH NAME savepoint-name ALREADY EXISTS, BUT THIS SAVEPOINT NAME CANNOT BE REUSED

Explication :
L’instruction SAVEPOINT utilise le même nom de point de sauvegarde qu’un autre point de sauvegarde et ne peut pas être créée car au moins l’un des points de sauvegarde a été défini avec la clause UNIQUE pour indiquer que le nom ne peut pas être réutilisé dans la transaction.

Action du système :
L’instruction n’est pas exécutée et aucun nouveau point de sauvegarde n’est défini. L’ancien point de sauvegarde existe toujours.

Réponse du programmeur :
Corrigez l’énoncé. Utilisez un nom de point de sauvegarde différent ou omettez la clause UNIQUE si l’autre point de sauvegarde a été créé sans la clause UNIQUE et que votre intention est de réutiliser ce nom de point de sauvegarde.

SQLSTATE :
3B501

CODE RETOUR -882

SAVEPOINT DOES NOT EXIST

Explication :
Une instruction ROLLBACK TO SAVEPOINT a été spécifiée sans nom de point de sauvegarde pour revenir au dernier point de sauvegarde actif, mais aucun point de sauvegarde n’existe.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Corrigez la logique de l’application pour définir un point de sauvegarde ou pour ne pas tenter de revenir à un point de sauvegarde.

SQLSTATE :
3B502

CODE RETOUR -900

THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE THE APPLICATION PROCESS IS NOT CONNECTED TO A SERVER

Explication :
Un échec précédent a placé le processus d’application dans l’état non connecté. Une demande infructueuse de changement d’utilisateur dans une connexion approuvée peut entraîner le passage de la connexion à un état non connecté. Les seules instructions SQL qui peuvent être exécutées avec succès à partir de l’état non connecté sont les instructions CONNECT, COMMIT, ROLLBACK et SET locales.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Il est possible qu’aucune réponse ne soit requise car la vérification de -900 est un moyen de détecter l’état non connecté. Si cette erreur résulte d’une autre situation, la logique du programme d’application doit être modifiée.

SQLSTATE :
08003

CODE RETOUR -901

UNSUCCESSFUL EXECUTION CAUSED BY A SYSTEM ERROR THAT DOES NOT PRECLUDE THE SUCCESSFUL EXECUTION OF SUBSEQUENT SQL STATEMENTS

Explication :
Une erreur système s’est produite et a empêché l’exécution réussie de l’instruction SQL en cours.

accelerator-info
Message d’erreur renvoyé par le serveur accélérateur.
Si l’instruction SQL n’est pas une requête envoyée à un serveur accélérateur, les causes possibles de cette erreur incluent :

  • Longueur de l’instruction : la longueur de l’instruction SQL est inférieure à 0 ou supérieure à la longueur maximale autorisée pour une instruction.
  • Traitement de validation distribué : le traitement de validation distribué a rencontré une erreur. Tous les serveurs de l’unité d’oeuvre prenant en charge la validation en deux phases distribuée renvoient l’unité d’oeuvre. Si un serveur qui ne prend pas en charge la validation en deux phases distribuée a des mises à jour dans l’unité d’oeuvre, ce serveur doit être interrogé pour déterminer si ses mises à jour ont été validées ou annulées.
  • Travail de post-traitement incomplet : la transaction est abandonnée et la validation a échoué. Les causes typiques d’un post-traitement incomplet incluent :
    • Une mise à jour qui modifie la partition d’une ligne
    • La disponibilité des ressources
    • L’existence de curseurs maintenus
    • Violations des contraintes d’unicité

Si l’instruction SQL est une requête qui a été envoyée à un serveur accélérateur, l’erreur est renvoyée car le serveur accélérateur n’a pas pu exécuter la requête.

Action du système :
La déclaration ne peut pas être traitée. Une fin anormale X’04E’ peut être demandée pour l’application. Le programme d’application peut avoir une routine de récupération pour récupérer d’une telle fin anormale et peut réessayer des instructions SQL.

L’erreur n’empêche pas l’exécution réussie d’autres instructions SQL.

Réponse du programmeur :
Si une fin anormale s’est produite, informez le programmeur système pour qu’il analyse la fin anormale qui a provoqué ce code retour. Même si une fin anormale s’est produite, un programme d’application recevant ce code retour peut réessayer et il n’est pas interdit d’exécuter d’autres instructions SQL.

Si l’erreur s’est produite lors d’une validation, examinez toutes les informations détaillées sur l’indisponibilité des ressources publiées sur la console de l’opérateur système ou dans le journal des travaux de l’espace d’adressage des services système (ssnmMSTR) pour déterminer si un problème d’indisponibilité des ressources a empêché la fin du post-traitement de la validation.

Si l’erreur s’est produite pour une requête envoyée à un serveur accélérateur, vérifiez si l’instruction SQL contient une erreur logique. Un exemple d’erreur logique dans une instruction SQL est une opération de division qui se traduit par une division par 0. Si vous déterminez que votre application n’est pas la source de l’erreur, contactez le support IBM® et indiquez la valeur accelerator-info dans le jeton.

SQLSTATE :
58004

CODE RETOUR -902

POINTER TO THE ESSENTIAL CONTROL BLOCK (CT/RDA) HAS VALUE 0, REBIND REQUIRED

Explication :
Le pointeur vers le bloc de contrôle essentiel, soit le CT ou le RDA, est des zéros. Cela empêche l’exécution réussie de l’instruction SQL en cours, ainsi que de toutes les instructions SQL ultérieures.

Action du système :
La déclaration ne peut pas être traitée. Le programme d’application n’est pas autorisé à émettre des instructions SQL supplémentaires. Par exemple, une routine de récupération associée au programme d’application peut ne pas émettre d’instructions SQL supplémentaires.

Réponse du programmeur :
Reconnectez le programme d’application défaillant et réessayez. Si le problème persiste, examinez votre DBRM et assurez-vous qu’il correspond à votre programme.

SQLSTATE :
58005

CODE RETOUR -908

bind-type ERROR USING auth-id AUTHORITY. BIND, REBIND OR AUTO-REBIND OPERATION IS NOT ALLOWED

Explication :
Pour BIND et REBIND, l’ID d’autorisation indiqué n’est pas autorisé à effectuer le type de liaison bind-type indiqué sur un plan ou un package. Une entrée dans la table de spécification de limite de ressources (RLST) interdit la liaison et la reliaison par cet ID d’autorisation ou par tous les ID d’autorisation. Pour AUTO-REBIND, le paramètre système contrôlant les opérations AUTO-REBIND est défini pour interdire AUTO-REBIND.

bind-type
Type d’opération de liaison (BIND, REBIND ou AUTO-REBIND).

auth-id
ID d’autorisation de l’appelant de la sous-commande BIND ou ID d’autorisation principal de l’appelant du plan pour les opérations AUTO-REBIND.

Action du système :
Le plan ou le forfait n’est pas lié.

Réponse du programmeur système :
Si l’ID d’autorisation indiqué doit être autorisé à se lier, modifiez l’entrée dans la table RLST active. Si les opérations AUTO-REBIND sont désactivées, reliez à nouveau le package avant de réexécuter le package.

SQLSTATE :
23510

Comparaison de mots réservés

Cette annexe contient un tableau qui montre les différences entre les mots réservés OS/VS COBOL, VS COBOL II, IBM COBOL et Enterprise COBOL.

Note:
Les nouveaux mots réservés (à l’exclusion des nouveaux mots réservés pour un développement futur) qui ont été ajoutés depuis IBM COBOL sont mis en évidence en gras.

 XLe mot est réservé dans le produit
 X*Dans la colonne IBM COBOL, le mot est réservé uniquement dans COBOL pour OS/390 & VM, Version 2 Release 2. Il n’est pas réservé en version 1 version 1 ou versions antérieures.
 X**Dans la colonne Enterprise COBOL, le mot est réservé uniquement dans Enterprise COBOL, version 4 Release 1. Il n’est pas réservé dans Enterprise COBOL Version 3.
 – (minus)Le mot n’est pas réservé dans le produit. (Cela inclut les mots réservés obsolètes qui ne sont plus signalés).
 CDWLe mot est une instruction de directive de compilateur COBOL Enterprise. S’il est utilisé comme mot défini par l’utilisateur, il est marqué d’un message sérieux.
 RFDLe mot est réservé au développement futur. S’il est utilisé, il est marqué d’un message d’information.
 SYSLe mot est un mot ayant une signification spécifique pour le système d’exploitation. Il ne peut être utilisé que dans des contextes spécifiques au sein du programme.
 UNSLe mot est un mot réservé standard COBOL 1985 pour une fonctionnalité non prise en charge par ce compilateur. Pour certains de ces mots, la fonctionnalité est prise en charge par le précompilateur Report Writer. S’il est utilisé dans un programme, il est reconnu comme un mot réservé et marqué d’un message sérieux.

Comparaison de mots réservés

Mot RéservéEnterprise COBOLIBM COBOLVS COBOL IIOS/VS COBOL
ACCEPTXXXX
ACCESSXXXX
ACTIVE-CLASSRFD
ACTUALX
ADDXXXX
ADDRESSXXXX
ADVANCINGXXXX
AFTERXXXX
ALIGNEDRFD
ALLXXXX
ALLOCATERFD
ALPHABETXXX
ALPHABETICXXXX
ALPHABETIC-LOWERXXX
ALPHABETIC-UPPERXXX
ALPHANUMERICXXX
ALPHANUMERIC-EDITEDXXX
ALSOXXXX
ALTERXXXX
ALTERNATEXXXX
ANDXXXX
ANYXXX
ANYCASERFD
APPLYXXXX
AREXXXX
AREAXXXX
AREASXXXX
ARITHMETICRFDRFD
ASX**
ASCENDINGXXXX
ASSIGNXXXX
ATXXXX
ATTRIBUTESX**
AUTHORXXXX
AUTOMATICRFD
B-ANDRFDRFDRFD
B-EXORRFDRFD
B-LESSRFDRFD
B-NOTRFDRFDRFD
B-ORRFDRFDRFD
B-XORRFD
BASEDRFD
BASISCDWCDWCDWX
BEFOREXXXX
BEGINNINGXXXX
BINARYXXX
BINARY-CHARRFD
BINARY-DOUBLERFD
BINARY-LONGRFD
BINARY-SHORTRFD
BITRFDRFDRFD
BITSRFDRFD
BLANKXXXX
BLOCKXXXX
BOOLEANRFDRFDRFD
BOTTOMXXXX
BYXXXX
CALLXXXX
CANCELXXXX
CBLCDWCDWCDWX
CDUNSUNSUNSX
CFUNSUNSUNSX
CHUNSUNSUNSX
CHANGEDX
CHARACTERXXXX
CHARACTERSXXXX
CLASSXXX
CLASS-IDXX
CLOCK-UNITSUNSUNSUNS
CLOSEXXXX
COBOLXXX
CODEXXXX
CODE-SETXXXX
COLRFD
COLLATINGXXXX
COLSRFD
COLUMNUNSUNSUNSX
COLUMNSRFD
COM-REGXXX
COMMAXXXX
COMMITRFDRFD
COMMONXXX
COMMUNICATIONUNSUNSUNSX
COMPXXXX
COMP-1XXXX
COMP-2XXXX
COMP-3XXXX
COMP-4XXXX
COMP-5XX*RFD
COMP-6RFDRFD
COMP-7RFDRFD
COMP-8RFDRFD
COMP-9RFDRFD
COMPUTATIONALXXXX
COMPUTATIONAL-1XXXX
COMPUTATIONAL-2XXXX
COMPUTATIONAL-3XXXX
COMPUTATIONAL-4XXXX
COMPUTATIONAL-5XX*RFD 
COMPUTATIONAL-6RFDRFD
COMPUTATIONAL-7RFDRFD
COMPUTATIONAL-8RFDRFD
COMPUTATIONAL-9RFDRFD
COMPUTEXXXX
CONDITIONRFD
CONFIGURATIONXXXX
CONNECTRFDRFD
CONSOLESYSSYSSYSX
CONSTANTRFD
CONTAINEDRFDRFD
CONTAINSXXXX
CONTENTXXX
CONTINUEXXX
CONTROLUNSUNSUNSX
CONTROLSUNSUNSUNSX
CONVERTINGXXX
COPYCDWCDWCDWX
CORRXXXX
CORR-INDEXX
CORRESPONDINGXXXX
COUNTXXXX
CRTRFD
CSPSYSSYSSYSX
CURRENCYXXXX
CURRENTRFDRFD
CURRENT-DATEX
CURSORRFD
C01SYSSYSSYSX
C02SYSSYSSYSX
C03SYSSYSSYSX
C04SYSSYSSYSX
C05SYSSYSSYSX
C06SYSSYSSYSX
C07SYSSYSSYSX
C08SYSSYSSYSX
C09SYSSYSSYSX
C10SYSSYSSYSX
C11SYSSYSSYSX
C12SYSSYSSYSX
DATAXXXX
DATA-POINTERRFD
DATEXXXX
DATE-COMPILEDXXXX
DATE-WRITTENXXXX
DAYXXXX
DAY-OF-WEEKXXX
DBRFDRFD
DB-ACCESS-CONTROL-KEYRFDRFD
DB-DATA-NAMERFDRFD
DB-EXCEPTIONRFDRFD
DB-RECORD-NAMERFDRFD
DB-SET-NAMERFDRFD
DB-STATUSRFDRFD
DBCSXXX
DEUNSUNSUNSX
DEBUGX
DEBUG-CONTENTSXXXX
DEBUG-ITEMXXXX
DEBUG-LINEXXXX
DEBUG-NAMEXXXX
DEBUG-SUB-1XXXX
DEBUG-SUB-2XXXX
DEBUG-SUB-3XXXX
DEBUGGINGXXXX
DECIMAL-POINTXXXX
DECLARATIVESXXXX
DEFAULTRFDRFDRFD
DELETEXXXX
DELIMITEDXXXX
DELIMITERXXXX
DEPENDINGXXXX
DESCENDINGXXXX
DESTINATIONUNSUNSUNSX
DETAILUNSUNSUNSX
DISABLEUNSUNSUNSX
DISCONNECTRFDRFD
DISPX
DISPLAYXXXX
DISPLAY-STX
DISPLAY-1XXX
DISPLAY-2RFDRFD
DISPLAY-3RFDRFD
DISPLAY-4RFDRFD
DISPLAY-5RFDRFD
DISPLAY-6RFDRFD
DISPLAY-7RFDRFD
DISPLAY-8RFDRFD
DISPLAY-9RFDRFD
DIVIDEXXXX
DIVISIONXXXX
DOWNXXXX
DUPLICATERFDRFD
DUPLICATESXXXX
DYNAMICXXXX
ECRFD
EGCSXXX
EGIUNSUNSUNSX
EJECTCDWCDWCDWX
ELEMENTSX**
ELSEXXXX
EMIUNSUNSUNSX
EMPTYRFDRFD
ENABLEUNSUNSUNSX
ENCODINGX**
ENDXXXX
END-ACCEPTRFD
END-ADDXXX
END-CALLXXX
END-COMPUTEXXX
END-DELETEXXX
END-DISABLERFDRFD
END-DISPLAYRFD
END-DIVIDEXXX
END-ENABLERFDRFD
END-EVALUATEXXX
END-EXECXX*
END-IFXXX
END-INVOKEXX
END-MULTIPLYXXX
END-OF-PAGEXXXX
END-PERFORMXXX
END-READXXX
END-RECEIVEUNSUNSUNS
END-RETURNXXX
END-REWRITEXXX
END-SEARCHXXX
END-SENDRFDRFD
END-STARTXXX
END-STRINGXXX
END-SUBTRACTXXX
END-TRANSCEIVERFDRFD
END-UNSTRINGXXX
END-WRITEXXX
END-XMLX
ENDINGXXXX
ENTERXXXX
ENTRYXXXX
ENVIRONMENTXXXX
EORFD
EOPXXXX
EQUALXXXX
EQUALSRFDRFD
ERASERFDRFD
ERRORXXXX
ESIUNSUNSUNSX
EVALUATEXXX
EVERYXXXX
EXACTRFDRFD
EXAMINEX
EXCEEDSRFDRFD
EXCEPTIONXXXX
EXCEPTION-OBJECTRFD
EXCLUSIVERFDRFD
EXECXX*
EXECUTEXX*
EXHIBITX
EXITXXXX
EXTENDXXXX
EXTERNALXXX
FACTORYXX*
FALSEXXX
FDXXXX
FETCHRFDRFD
FILEXXXX
FILE-CONTROLXXXX
FILE-LIMITX
FILE-LIMITSX
FILLERXXXX
FINALUNSUNSUNSX
FINDRFDRFD
FINISHRFDRFD
FIRSTXXXX
FLOAT-EXTENDEDRFD
FLOAT-LONGRFD
FLOAT-SHORTRFD
FOOTINGXXXX
FORXXXX
FORMATRFDRFDRFD
FREERFDRFDRFD
FROMXXXX
FUNCTIONXX
FUNCTION-IDRFD
FUNCTION-POINTERX
GENERATEUNSUNSUNSX
GETRFDRFDRFD
GIVINGXXXX
GLOBALXXX
GOXXXX
GOBACKXXXX
GREATERXXXX
GROUPUNSUNSUNSX
GROUP-USAGEX
HEADINGUNSUNSUNSX
HIGH-VALUEXXXX
HIGH-VALUESXXXX
I-OXXXX
I-O-CONTROLXXXX
IDXXXX
IDENTIFICATIONXXXX
IFXXXX
INXXXX
INDEXXXXX
INDEX-1RFDRFD
INDEX-2RFDRFD
INDEX-3RFDRFD
INDEX-4RFDRFD
INDEX-5RFDRFD
INDEX-6RFDRFD
INDEX-7RFDRFD
INDEX-8RFDRFD
INDEX-9RFDRFD
INDEXEDXXXX
INDICATEUNSUNSUNSX
INHERITSXX
INITIALXXXX
INITIALIZEXXXX
INITIATEUNSUNSUNSX
INPUTXXXX
INPUT-OUTPUTXXXX
INSERTCDWCDWCDWX
INSPECTXXXX
INSTALLATIONXXXX
INTERFACERFD
INTERFACE-IDRFD
INTOXXXX
INVALIDXXXX
INVOKEXX
ISXXXX
JNIENVPTRX
JUSTXXXX
JUSTIFIEDXXXX
KANJIXXX
KEEPRFDRFD
KEYXXXX
LABELXXXX
LASTUNSUNSUNSX
LDRFDRFD
LEADINGXXXX
LEAVEX
LEFTXXXX
LENGTHXXXX
LESSXXXX
LIMITUNSUNSUNSX
LIMITSUNSUNSUNSX
LINAGEXXXX
LINAGE-COUNTERXXXX
LINEXXXX
LINE-COUNTERUNSUNSUNSX
LINESXXXX
LINKAGEXXXX
LOCALLYRFDRFD
LOCAL-STORAGEXX
LOCALERFD
LOCKXXXX
LOW-VALUEXXXX
LOW-VALUESXXXX
MEMBERRFDRFD
MEMORYXXXX
MERGEXXXX
MESSAGEUNSUNSUNSX
METACLASSX
METHODXX
METHOD-IDXX
MINUSRFD
MODEXXXX
MODIFYRFDRFD
MODULESXXXX
MORE-LABELSXXXX
MOVEXXXX
MULTIPLEXXXX
MULTIPLYXXXX
NAMEDX
NAMESPACEX**
NAMESPACE-PREFIXX**
NATIONALX
NATIONAL-EDITEDX
NATIVEXXXX
NEGATIVEXXXX
NESTEDRFD
NEXTXXXX
NOXXXX
NOMINALX
NONERFDRFD
NOTXXXX
NOTEX
NULLXXX
NULLSXXX
NUMBERUNSUNSUNSX
NUMERICXXXX
NUMERIC-EDITEDXXX
OBJECTXX
OBJECT-COMPUTERXXXX
OBJECT-REFERENCERFD
OCCURSXXXX
OFXXXX
OFFXXXX
OMITTEDXXXX
ONXXXX
ONLYRFDRFD
OPENXXXX
OPTIONALXXXX
OPTIONSRFD
ORXXXX
ORDERXXX
ORGANIZATIONXXXX
OTHERXXX
OTHERWISEX
OUTPUTXXXX
OVERFLOWXXXX
OVERRIDEXX
OWNERRFDRFD
PACKED-DECIMALXXX
PADDINGXXX
PAGEXXXX
PAGE-COUNTERUNSUNSUNSX
PARAGRAPHRFDRFD
PASSWORDXXXX
PERFORMXXXX
PFUNSUNSUNSX
PHUNSUNSUNSX
PICXXXX
PICTUREXXXX
PLUSUNSUNSUNSX
POINTERXXXX
POSITIONXXXX
POSITIONINGX
POSITIVEXXXX
PRESENTRFDRFDRFD
PREVIOUSRFDRFD
PRINT-SWITCHX
PRINTINGUNSUNSUNS
PRIORRFDRFD
PROCEDUREXXXX
PROCEDURE-POINTERXX
PROCEDURESXXXX
PROCEEDXXXX
PROCESSINGXXXX
PROGRAMXXXX
PROGRAM-IDXXXX
PROGRAM-POINTERRFD
PROPERTYRFD
PROTECTEDRFDRFD
PROTOTYPERFD
PURGEUNSUNSUNS
QUEUEUNSUNSUNSX
QUOTEXXXX
QUOTESXXXX
RAISERFD
RAISINGRFD
RANDOMXXXX
RDUNSUNSUNSX
READXXXX
READYXXXX
REALMRFDRFD
RECEIVEUNSUNSUNSX
RECONNECTRFDRFD
RECORDXXXX
RECORD-NAMERFDRFD
RECORD-OVERFLOWX
RECORDINGXXXX
RECORDSXXXX
RECURSIVEXX
REDEFINESXXXX
REELXXXX
REFERENCEXXX
REFERENCESXXXX
RELATIONRFDRFD
RELATIVEXXXX
RELEASEXXXX
RELOADXXXX
REMAINDERXXXX
REMARKSX
REMOVALXXXX
RENAMESXXXX
REORG-CRITERIAX
REPEATEDRFDRFD
REPLACEXXX
REPLACINGXXXX
REPORTUNSUNSUNSX
REPORTINGUNSUNSUNSX
REPORTSUNSUNSUNSX
REPOSITORYXX
REREADX
RERUNXXXX
RESERVEXXXX
RESETXXXX
RESUMERFD
RETAININGRFDRFD
RETRIEVALRFDRFD
RETRYRFD
RETURNXXXX
RETURN-CODEXXXX
RETURNINGXX
REVERSEDXXXX
REWINDXXXX
REWRITEXXXX
RFUNSUNSUNSX
RHUNSUNSUNSX
RIGHTXXXX
ROLLBACKRFDRFD
ROUNDEDXXXX
RUNXXXX
SAMEXXXX
SCREENRFD
SDXXXX
SEARCHXXXX
SECTIONXXXX
SECURITYXXXX
SEEKX
SEGMENTUNSUNSUNSX
SEGMENT-LIMITXXXX
SELECTXXXX
SELECTIVEX
SELFXX
SENDUNSUNSUNSX
SENTENCEXXXX
SEPARATEXXXX
SEQUENCEXXXX
SEQUENTIALXXXX
SERVICEXXXX
SESSION-IDRFDRFD
SETXXXX
SHAREDRFDRFD
SHARINGRFD
SHIFT-INXXX
SHIFT-OUTXXX
SIGNXXXX
SIZEXXXX
SKIP-1X
SKIP-2X
SKIP-3X
SKIP1CDWCDWCDW
SKIP2CDWCDWCDW
SKIP3CDWCDWCDW
SORTXXXX
SORT-CONTROLXXX
SORT-CORE-SIZEXXXX
SORT-FILE-SIZEXXXX
SORT-MERGEXXXX
SORT-MESSAGEXXXX
SORT-MODE-SIZEXXXX
SORT-RETURNXXXX
SOURCEUNSUNSUNSX
SOURCE-COMPUTERXXXX
SOURCESRFD
SPACEXXXX
SPACESXXXX
SPECIAL-NAMESXXXX
SQLXX*
STANDARDXXXX
STANDARD-1XXXX
STANDARD-2XXX
STANDARD-3RFDRFD
STANDARD-4RFDRFD
STARTXXXX
STATUSXXXX
STOPXXXX
STORERFDRFD
STRINGXXXX
SUB-QUEUE-1UNSUNSUNSX
SUB-QUEUE-2UNSUNSUNSX
SUB-QUEUE-3UNSUNSUNSX
SUB-SCHEMARFDRFDRFD
SUBTRACTXXXX
SUMUNSUNSUNSX
SUPERXX
SUPPRESSXXXX
SYMBOLICXXXX
SYNCXXXX
SYNCHRONIZEDXXXX
SYSINSYSSYSSYSX
SYSIPTSYSSYSSYS
SYSLISTSYSSYSSYSX
SYSLSTSYSSYSSYS
SYSOUTSYSSYSSYSX
SYSPCHSYSSYSSYS
SYSPUNCHSYSSYSSYSX
SYSTEM-DEFAULTRFD
S01SYSSYSSYSX
S02SYSSYSSYSX
S03SYSSYSSYS
S04SYSSYSSYS
S05SYSSYSSYS
TABLEUNSUNSUNSX
TALLYXXXX
TALLYINGXXXX
TAPEXXXX
TENANTRFDRFD
TERMINALUNSUNSUNSX
TERMINATEUNSUNSUNSX
TESTXXX
TEXTUNSUNSUNSX
THANXXXX
THENXXXX
THROUGHXXXX
THRUXXXX
TIMEXXXX
TIME-OF-DAYX
TIMESXXXX
TITLECDWCDWCDW
TOXXXX
TOPXXXX
TOTALEDX
TOTALINGX
TRACEXXXX
TRACK-AREAX
TRACK-LIMITX
TRACKSX
TRAILINGXXXX
TRANSCEIVERFDRFD
TRANSFORMX
TRUEXXX
TYPEXX*
TYPEDEFRFD
UNEQUALRFDRFD
UNITXXXX
UNIVERSALRFD
UNLOCKRFD
UNSTRINGXXXX
UNTILXXXX
UPXXXX
UPDATERFDRFDRFD
UPONXXXX
UPSI-0SYSSYSSYSX
UPSI-1SYSSYSSYSX
UPSI-2SYSSYSSYSX
UPSI-3SYSSYSSYSX
UPSI-4SYSSYSSYSX
UPSI-5SYSSYSSYSX
UPSI-6SYSSYSSYSX
UPSI-7SYSSYSSYSX
USAGEXXXX
USAGE-MODERFDRFD
USEXXXX
USER-DEFAULTRFD
USINGXXXX
VAL-STATUSRFD
VALIDRFDRFDRFD
VALIDATERFDRFDRFD
VALIDATE-STATUSRFD
VALUEXXXX
VALUESXXXX
VARYINGXXXX
WAITRFDRFD
WHENXXXX
WHEN-COMPILEDXXXX
WITHXXXX
WITHINRFDRFD
WORDSXXXX
WORKING-STORAGEXXXX
WRITEXXXX
WRITE-ONLYXXXX
XMLX
XML-CODEX
XML-DECLARATIONX**
XML-EVENTX
XML-NAMESPACEX**
XML-NAMESPACE-PREFIXX**
XML-NNAMESPACEX**
XML-NNAMESPACE-PREFIXX**
XML-NTEXTX
XML-TEXTX
ZEROXXXX
ZEROESXXXX
ZEROSXXXX
<XXXX
<=XXX
+XXXX
*XXXX
**XXXX
XXXX
/XXXX
>XXXX
>=XXX
=XXXX

Identificateurs de phase du compilateur

Dans les messages, les deux caractères suivant IGYC sont des identificateurs de phase du compilateur, qui identifient la phase du compilateur qui a émis le message.

AS
Phase du module de contrôle de phase du générateur de code (IGYCASMB).
Cette phase charge et contrôle la phase de générateur de code IGYCCBE.

CB
Phase de génération et d’optimisation de code (IGYCCBE).
Cette phase (facultativement) optimise le programme, puis génère des instructions machine et alloue et gère l’utilisation des registres.
Cette phase place également la sortie LIST dans la liste et (éventuellement) génère des informations de débogage si la sous-option DWARF de TEST|NOTEST était en vigueur.

DI
Phase diagnostique (IGYCDIAG).
Cette phase traite le texte électronique et génère des diagnostics du compilateur pour les erreurs du programme source.

DM
Phase DMAP (IGYCDMAP).
Cette phase traite l’option MAP pour générer la mappe de stockage DATA DIVISION.
Il utilise les données contenues dans le dictionnaire pour produire la carte de stockage.

DS
Sous-phase de numérisation des données (IGYCDSCN).
Cette phase traduit les instructions de source d’entrée dans la  IDENTIFICATION DIVISION, ENVIRONMENT DIVISION et DATA DIVISION en texte interne du compilateur.
Il identifie et classe également les déclarations et effectue une analyse syntaxique des déclarations et des éléments de déclaration.
Une entrée est créée dans la table des symboles pour chaque nom d’utilisateur unique identifié dans cette analyse.

Cette phase crée des entrées de table d’attributs pour les éléments de définition de données (par exemple, des noms de données ou des noms de fichiers), traite les clauses d’entrée de description de données et vérifie la compatibilité des clauses dans une entrée.

Des entrées de table d’informations générales sont également créées pour les masques d’IMAGE édités et les séquences d’assemblage définies par l’utilisateur associées à un nom alphabétique.

FG
Phase de génération de fichiers (IGYCFGEN).
Cette phase est une phase conditionnelle exécutée uniquement si le programme COBOL contient un FD (fichier d’E/S) et/ou un SD (fichier de tri).

GR
Sous-phase de processus de groupe (IGYCGROU).
La sous-phase de traitement de groupe de la phase d’analyse traite les références aux noms de données dans la ENVIRONMENT DIVISION et DATA DIVISION.
Cette phase résout toutes les références de données directes rencontrées par DSCN (et pour lesquelles le texte I a été produit), en complétant les entrées de table d’attributs et de GIT pour ces références.
Cette phase est également responsable du traitement des littéraux de la clause VALUE et de la création du formulaire de procédure requis I-text (pour format-1 VALUE) ou des entrées GIT (pour format-2 VALUE) pour ces littéraux.

IN
Phase d’initialisation (IGYCINIT).
Cette phase exécute les fonctions de gestion interne requises pour préparer l’environnement d’exploitation pour le traitement des programmes sources.
Il est également invoqué à la fin de la compilation pour effectuer le ménage impliqué dans l’arrêt normal du programme.

Comme ces fonctions ne sont exécutées qu’une seule fois pour chaque compilation, le code est contenu dans la phase d’initialisation plutôt que dans la phase de contrôle résident.
Cette phase n’est pas résidente lors de la compilation.

LI
Phase de copie (IGYCLIBR).
Cette phase analyse la source COBOL de l’utilisateur à la recherche d’instructions COPY, BASIS et REPLACE.
Elle n’est invoquée que si l’option LIB a été spécifiée.
Les textes sources originaux et de la bibliothèque sont traités et une analyse lexicale et syntaxique des instructions COPY, BASIS et REPLACE est effectuée.
La phase met à jour le texte de la bibliothèque et crée un texte de forme C (COPY).

LS
Phase de listage (IGYCLSTR).
Cette phase gère la construction de la liste des sources du programme.
Cette phase traite le L-text (texte de liste) et, si les options appropriées du compilateur sont sélectionnées, intègre les messages de diagnostic, les informations cartographiques et les informations de référence croisée dans la liste source.
Il indique également les niveaux d’imbrication des instructions ou des programmes pour chaque ligne source.

OS
Phase d’analyse des options (IGYCOSCN).
Cette phase détermine quelles options de compilation doivent être actives en fusionnant les options et en résolvant les conflits parmi les éléments suivants :

  • Tableau des options par défaut
  • Relevés CBL
  • Instruction JCL PARM
  • Instruction JCL OPTION (VSE uniquement)

PA
Sous-phase d’analyse de la procédure (IGYCPANA).
Cette phase effectue une analyse sémantique des instructions source de PROCEDURE DIVISION, transforme le texte I en texte M et résout les références de nom de procédure.

PG
Phase de génération de procédure (IGYCPGEN).
Cette phase traite les verbes codés dans la PROCEDURE DIVISION du programme COBOL ou générés par la phase d’analyse de la procédure.

De plus, certaines informations sur le programme source nécessaires aux phases d’assemblage sont collectées dans cette phase.
Si l’option NOCOMPILE est active, cette phase n’est pas exécutée.

PS
Sous-phase de balayage de procédure (IGYCPSCN).
La sous-phase Procedure Scan de la phase Scan effectue une analyse syntaxique et une partie de l’analyse sémantique sur les instructions source PROCEDURE DIVISION.
Il traduit chaque nom de données apparaissant comme opérande dans une instruction en décalage de table d’attributs et collecte les informations d’attribut pour l’opérande.
Il valide également chaque opérande. Sur la base de la définition du langage, il diagnostique les opérandes invalides.

RC
Phase de contrôle résident (IGYCRCTL).
Cette phase établit l’environnement de compilation et contrôle le chargement et la suppression de toutes les phases du compilateur.
IGYCRCTL est chargé par le système d’exploitation hôte ou par la phase d’interface CMS, COBOL2, sous CMS.
Cette phase reste en mémoire tout au long du processus de compilation.

SC
Phase de balayage (IGYCSCAN).
Cette phase gère les sous-phases Data Scan (DS) , Group Process (GR), Procedure Scan (PS)  et Procedure Analysis (PA) .

SI
Phase d’interface système (IGYCSIMD).
Cette phase obtient et initialise le stockage dynamique pour le traitement du compilateur.
Il est appelé par toutes les phases via les macros de service communes pour exécuter des fonctions dépendantes du système.
Cette phase est toujours chargée dans les 16 premiers mégaoctets de stockage et réside dans le stockage tout au long de la compilation.
IGYCSIMD est chargé par IGYCRCTL, la phase de contrôle résidente.

XR
Phase de référence croisée (IGYCXREF).
Cette phase produit les renvois demandés par l’option XREF.