Errore COBOL: Level 66 RENAMES invalid range (Intervallo Non Valido in RENAMES)
La clausola '66 nome RENAMES elem-1 THRU elem-2' fallisce se elem-1 o elem-2 non appartengono allo stesso gruppo 01 o se elem-2 precede elem-1 nella memoria fisica.
Categoria
Articoli tecnici organizzati per gruppo funzionale.
La clausola '66 nome RENAMES elem-1 THRU elem-2' fallisce se elem-1 o elem-2 non appartengono allo stesso gruppo 01 o se elem-2 precede elem-1 nella memoria fisica.
I numeri di livello strutturato (01-49) definiscono la gerarchia dei dati: un elemento subordinato deve avere un numero di livello strettamente superiore al gruppo padre (es. 05 dopo 01, 10 dopo 05).
Nelle tabelle a dimensione variabile con clausola OCCURS DEPENDING ON (ODO), la variabile che controlla il numero di elementi correnti assume un valore inferiore a 1 o superiore al massimo dichiarato.
Viene scatenata la clausola imperativa 'ON SIZE ERROR' quando il risultato di un'operazione matematica COMPUTE supera la capacità della variabile di destinazione o quando si tenta una divisione per zero.
Campi dichiarati con USAGE BINARY, COMP o COMP-3 possono contenere solo descrittori numerici (es. 'PIC S9(4)'), mentre l'uso di caratteri alfanumerici 'X' o 'A' genera errore a tempo di compilazione.
Una struttura o variabile che ridefinisce una porzione di memoria esistente con la clausola REDEFINES non può occupare un numero di byte superiore all'elemento originale originariamente allocato.
Il celeberrimo abend S0C7 nei mainframe IBM: compare quando un'istruzione aritmetica (ADD, COMPUTE) o MOVE numerica tenta di elaborare un campo PIC 9 o COMP-3 contenente caratteri alfabetici, spazi (LOW-VALUES/SPACES) o nibble di segno non validi.
Specificare la clausola 'SIGN IS TRAILING SEPARATE CHARACTER' richiede obbligatoriamente che la PICTURE contenga il simbolo di segno 'S' (es. PIC S9(4)), occupando un byte aggiuntivo in memoria.