Warning: High-order digits truncated in MOVE statement (target PIC 9(3) too small for PIC 9(5)) – COBOL NUMERIC_TRUNCATION

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 comune

Diagnosi

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.

terminal
cobc -x -Wall -Wextra main.cob -o app

Risoluzione

Risoluzione standard per Errore COBOL: High-order digits truncated in MOVE (Troncamento Cifre Significative)

Difficoltà: mediaRischio: basso

Applicare la correzione al codice sorgente COBOL secondo le specifiche ANSI/ISO COBOL.

  1. Ispezionare il valore della variabile FILE STATUS o il numero di riga del compilatore
  2. Correggere la dichiarazione FD, la PICTURE o la sequenza di OPEN/READ/WRITE
  3. Ricompilare ed eseguire verificando la corretta terminazione con RETURN-CODE 0
terminal
cobc -x main.cob

Domande 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

Schede correlate