Data Division e Troncamento PIC
Runtime error: Subscript 0 or index 11 out of bounds for table 'MY-TABLE' (OCCURS 10) – COBOL SUBSCRIPT_OUT_OF_BOUNDS
In COBOL le tabelle (OCCURS) sono indicizzate rigorosamente a partire da 1; accedere con un indice pari a 0 o superiore al limite massimo dell'OCCURS causa corruzione di memoria o abend del run-unit.
Cosa significa questo errore?
In COBOL le tabelle (OCCURS) sono indicizzate rigorosamente a partire da 1; accedere con un indice pari a 0 o superiore al limite massimo dell'OCCURS causa corruzione di memoria o abend del run-unit.
Messaggio originale
Runtime error: Subscript 0 or index 11 out of bounds for table 'MY-TABLE' (OCCURS 10)Contesto e parole chiave
Alias
- Subscript out of bounds COBOL table
Messaggi alternativi
- indice tabella fuori limite inferiore o superiore
Prodotti
- GnuCOBOL (cobc) / IBM Enterprise COBOL / Micro Focus
Piattaforme
- AIX
- IBM z/OS
- Linux
- Windows
Parole chiave
- cobol
- cobol.data.subscript-out-of-bounds-table
- Data Division e Troncamento PIC
- errore-cobol-subscript-out-of-bounds-table
- file-status
- gnucobol
Cause possibili
Causa tecnica per Errore COBOL: Subscript/Index out of bounds for table (Indice Tabella Fuori dai Limiti)
In COBOL le tabelle (OCCURS) sono indicizzate rigorosamente a partire da 1; accedere con un indice pari a 0 o superiore al limite massimo dell'OCCURS causa corruzione di memoria o abend del run-unit.
molto comuneDiagnosi
Diagnostica di esecuzione e file status per Errore COBOL: Subscript/Index out of bounds for table (Indice Tabella Fuori dai Limiti)
Ispezionare la variabile FILE-STATUS, i log di runtime o compilare con i controlli di integrità di GnuCOBOL (-Wall -Wextra -fdebugging-line).
Come leggere il risultato. Evidenzia violazioni dei margini di colonna, disallineamenti nelle clausole PIC o codici di ritorno anomali.
cobc -x -Wall -Wextra main.cob -o appRisoluzione
Risoluzione standard per Errore COBOL: Subscript/Index out of bounds for table (Indice Tabella Fuori dai Limiti)
Applicare la correzione al codice sorgente COBOL secondo le specifiche ANSI/ISO COBOL.
- Ispezionare il valore della variabile FILE STATUS o il numero di riga del compilatore
- Correggere la dichiarazione FD, la PICTURE o la sequenza di OPEN/READ/WRITE
- Ricompilare ed eseguire verificando la corretta terminazione con RETURN-CODE 0
cobc -x main.cobDomande frequenti
Cosa significa Errore COBOL: Subscript/Index out of bounds for table (Indice Tabella Fuori dai Limiti) in COBOL?
In COBOL le tabelle (OCCURS) sono indicizzate rigorosamente a partire da 1; accedere con un indice pari a 0 o superiore al limite massimo dell'OCCURS causa corruzione di memoria o abend del run-unit.
Approfondimenti
- GnuCOBOL Manual / IBM Enterprise COBOL Documentation documentazione_ufficiale