Nei dialetti COBOL moderni (IBM Enterprise COBOL, GnuCOBOL), accedere a una variabile dichiarata con 'BASED' senza aver prima assegnato il puntatore con 'SET ADDRESS OF item TO ptr' scatena l'abend S0C4.
POINTER_NULL_REFERENCE_ABEND
→
La clausola 'BLANK WHEN ZERO' entra in conflitto logico con le PICTURE contenenti l'asterisco di protezione (es. PIC **,**9.99), poiché uno impone l'azzeramento a spazi e l'altro il riempimento di asterischi.
BLANK_WHEN_ZERO_ASTERISK_CONFLICT
→
La funzione intrinseca 'FUNCTION CURRENT-DATE' restituisce una stringa di 21 caratteri (AAAAMMGGHHMMSSCC+HHMM); assegnarla a un campo di lunghezza inferiore causa il troncamento delle informazioni di fuso orario.
CURRENT_DATE_BUFFER_OVERFLOW
→
Le variabili dichiarate con 'USAGE IS INDEX' non possono essere manipolate con ADD, SUBTRACT o COMPUTE; devono essere obbligatoriamente modificate con l'istruzione 'SET index-name UP BY 1'.
USAGE_INDEX_ARITHMETIC_FORBIDDEN
→
In COBOL l'assegnazione MOVE di un valore numerico in un campo con un numero inferiore di cifre intere (es. da PIC 9(5) a PIC 9(3)) tronca silenziosamente le cifre a sinistra più significative, alterando gravemente il calcolo.
NUMERIC_TRUNCATION
→
L'istruzione MOVE non consente il trasferimento diretto di una stringa alfanumerica PIC X verso un campo formattato con editing numerico (es. PIC $$,$$9.99); è necessario passare per un campo numerico intermedio.
ALPHANUM_TO_NUM_EDITED
→
Nel formato packed decimal COMP-3 l'ultimo mezzo byte (nibble) codifica il segno (+C, -D, F unsigned); la presenza di un nibble diverso (es. dovuto a MOVE di caratteri raw) rende il campo invalido scatenando abend nei calcoli.
COMP3_SIGN_CORRUPTION
→
La clausola 'JUSTIFIED RIGHT' è riservata all'allineamento a destra di stringhe alfanumeriche (PIC X) e non può essere applicata a campi numerici (PIC 9), che seguono le regole di allineamento del punto decimale.
JUSTIFIED_RIGHT_NUMERIC_FORBIDDEN
→