Data Division e Troncamento PIC
Warning: High-order digits truncated in MOVE statement (target PIC 9(3) too small for PIC 9(5)) – COBOL NUMERIC_TRUNCATION
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.
Cosa significa questo errore?
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.
Messaggio originale
Warning: High-order digits truncated in MOVE statement (target PIC 9(3) too small for PIC 9(5))Contesto e parole chiave
Alias
- numeric truncation MOVE COBOL
Messaggi alternativi
- troncamento cifre più significative MOVE numerica
Prodotti
- GnuCOBOL (cobc) / IBM Enterprise COBOL / Micro Focus
Piattaforme
- AIX
- IBM z/OS
- Linux
- Windows
Parole chiave
- cobol
- cobol.data.numeric-truncation-on-move
- Data Division e Troncamento PIC
- errore-cobol-numeric-truncation-move
- file-status
- gnucobol
Cause possibili
Causa tecnica per Errore COBOL: High-order digits truncated in MOVE (Troncamento Cifre Significative)
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.
molto comuneDiagnosi
Diagnostica di esecuzione e file status per Errore COBOL: High-order digits truncated in MOVE (Troncamento Cifre Significative)
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: High-order digits truncated in MOVE (Troncamento Cifre Significative)
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: High-order digits truncated in MOVE (Troncamento Cifre Significative) in COBOL?
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.
Approfondimenti
- GnuCOBOL Manual / IBM Enterprise COBOL Documentation documentazione_ufficiale