Procedure Division e Runtime
Logic bug: ACCEPT FROM DATE returns 2-digit YYMMDD instead of 4-digit YYYYMMDD (Y2K bug) – COBOL ACCEPT_DATE_Y2K_TRUNCATION
L'istruzione storica 'ACCEPT ws-date FROM DATE' restituisce la data nel formato a 6 cifre 'AAMMGG' con anno a sole 2 cifre; per gestire date a 4 cifre è obbligatorio usare 'ACCEPT ws-date FROM DATE YYYYMMDD'.
Cosa significa questo errore?
L'istruzione storica 'ACCEPT ws-date FROM DATE' restituisce la data nel formato a 6 cifre 'AAMMGG' con anno a sole 2 cifre; per gestire date a 4 cifre è obbligatorio usare 'ACCEPT ws-date FROM DATE YYYYMMDD'.
Messaggio originale
Logic bug: ACCEPT FROM DATE returns 2-digit YYMMDD instead of 4-digit YYYYMMDD (Y2K bug)Contesto e parole chiave
Alias
- ACCEPT FROM DATE 2-digit year COBOL Y2K
Messaggi alternativi
- ritorno data a due cifre anno YYMMDD anziché 4 cifre
Prodotti
- GnuCOBOL (cobc) / IBM Enterprise COBOL / Micro Focus
Piattaforme
- AIX
- IBM z/OS
- Linux
- Windows
Parole chiave
- cobol
- cobol.procedure.accept-from-date-yyyy-mm-dd-truncation
- errore-cobol-accept-date-y2k-truncation
- file-status
- gnucobol
- Procedure Division e Runtime
Cause possibili
Causa tecnica per Errore COBOL: ACCEPT FROM DATE 2-digit year truncation (Bug Anno a Due Cifre)
L'istruzione storica 'ACCEPT ws-date FROM DATE' restituisce la data nel formato a 6 cifre 'AAMMGG' con anno a sole 2 cifre; per gestire date a 4 cifre è obbligatorio usare 'ACCEPT ws-date FROM DATE YYYYMMDD'.
molto comuneDiagnosi
Diagnostica di esecuzione e file status per Errore COBOL: ACCEPT FROM DATE 2-digit year truncation (Bug Anno a Due Cifre)
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: ACCEPT FROM DATE 2-digit year truncation (Bug Anno a Due Cifre)
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: ACCEPT FROM DATE 2-digit year truncation (Bug Anno a Due Cifre) in COBOL?
L'istruzione storica 'ACCEPT ws-date FROM DATE' restituisce la data nel formato a 6 cifre 'AAMMGG' con anno a sole 2 cifre; per gestire date a 4 cifre è obbligatorio usare 'ACCEPT ws-date FROM DATE YYYYMMDD'.
Approfondimenti
- GnuCOBOL Manual / IBM Enterprise COBOL Documentation documentazione_ufficiale