Procedure Division e Runtime
Logic bug: INITIALIZE group-item resets data fields but leaves FILLER unchanged (by COBOL definition) – COBOL INITIALIZE_OMITS_FILLER
Per specifica del linguaggio COBOL, l'istruzione 'INITIALIZE record-name' azzera i campi elementari (a zeri o spazi) ma non tocca i campi 'FILLER', che mantengono il valore residuo precedente a meno di usare la clausola 'WITH FILLER'.
Cosa significa questo errore?
Per specifica del linguaggio COBOL, l'istruzione 'INITIALIZE record-name' azzera i campi elementari (a zeri o spazi) ma non tocca i campi 'FILLER', che mantengono il valore residuo precedente a meno di usare la clausola 'WITH FILLER'.
Messaggio originale
Logic bug: INITIALIZE group-item resets data fields but leaves FILLER unchanged (by COBOL definition)Contesto e parole chiave
Alias
- INITIALIZE statement leaves FILLER unchanged COBOL
Messaggi alternativi
- istruzione initialize non azzera i campi filler per standard
Prodotti
- GnuCOBOL (cobc) / IBM Enterprise COBOL / Micro Focus
Piattaforme
- AIX
- IBM z/OS
- Linux
- Windows
Parole chiave
- cobol
- cobol.procedure.initialize-statement-omits-filler
- errore-cobol-initialize-omits-filler-surprise
- file-status
- gnucobol
- Procedure Division e Runtime
Cause possibili
Causa tecnica per Errore COBOL: INITIALIZE statement leaves FILLER unchanged (Comportamento Standard FILLER)
Per specifica del linguaggio COBOL, l'istruzione 'INITIALIZE record-name' azzera i campi elementari (a zeri o spazi) ma non tocca i campi 'FILLER', che mantengono il valore residuo precedente a meno di usare la clausola 'WITH FILLER'.
molto comuneDiagnosi
Diagnostica di esecuzione e file status per Errore COBOL: INITIALIZE statement leaves FILLER unchanged (Comportamento Standard FILLER)
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: INITIALIZE statement leaves FILLER unchanged (Comportamento Standard FILLER)
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: INITIALIZE statement leaves FILLER unchanged (Comportamento Standard FILLER) in COBOL?
Per specifica del linguaggio COBOL, l'istruzione 'INITIALIZE record-name' azzera i campi elementari (a zeri o spazi) ma non tocca i campi 'FILLER', che mantengono il valore residuo precedente a meno di usare la clausola 'WITH FILLER'.
Approfondimenti
- GnuCOBOL Manual / IBM Enterprise COBOL Documentation documentazione_ufficiale