Immissione di campi numerici

Non eseguo mai un ACCEPT direttamente su un campo numerico, ma preferisco utilizzare un campo alfanumerico e richiamare una routine che esegue la conversione ed il controllo di plausibilità numerica.
L’istruzione ACCEPT di un campo numerico ha abilitato in RM/COBOL l’opzione CONVERT la quale, tra l’altro, sopprime in modo automatico i caratteri non numerici, fanno eccezione il separatore dei decimali ed il segno +/- .

Tuttavia ritengo che la presenza di un carattere non numerico immesso in un campo numerico possa costituire un possibile errore di immissione.

La soluzione che adotto offre anche la possibilità di utilizzare il campo di input quale controllo di flusso del programma.

Se, ad esempio, in campo di input viene utilizzato per l’immissione della quantità ordinata di un certo articolo, posso accettare anche il carattere "<" per ritornare alla selezione dell’articolo, oppure immettendo "?" posso aprire una finestra di dialogo che visualizza lo stock a magazzino.

La combinazione con "ON EXCEPTION" mi permette di utilizzare i tasti funzione.




Questa è la parte relativa alla WORKING-STORAGE SECTION :

Il campo TINT è il campo di input.
Il campo WNUM è il campo di output.
Sono ammesse cifre con 13 interi e 5 decimali ed il segno negativo.

Vai a inizio pagina




Questa è la parte relativa alla PROCEDURE DIVISION :

Un valore di zero nel campo SWI indica che il numero immesso è plausibile.
Un valore uno indica un errore di immissione.

Vai a inizio pagina

Come prelevare questi codici