Environment division

L'Environment division è la divisione del programma in linguaggio Cobol in cui sono presenti le informazioni sull'ambiente operativo in cui il programma opera.

Nella environment division sono indicate le principali informazioni hardware della macchina, le specifiche tecniche del software operativo e del sistema di elaborazione dati.

A cosa serve l'environment division?

In genere, un programma Cobol è indipendente dall'hardware della macchina in cui viene compilato.

Tuttavia, la trasportabilità del codice sorgente in Cobol da una macchina all'altra non è mai completa.

In alcuni casi, potrebbero verificarsi dei problemi quando si compila il programma su una macchina differente da quella di origine, legati alle differenze hardware e software dei computer.

la trasportabilità del codice sorgente non è mai perfetta

Per questa ragione, è importante indicare nel codice sorgente le caratteristiche hardware e software della macchina usata per sviluppare il codice sorgente.

Sono informazioni utili per individuare le eventuali criticità quando si ricompila il codice sorgente su una macchina diversa.

Le sezioni della Environment Division

L'environment division è suddivisa in due sezioni:

  • CONFIGURATION SECTION.
    E' la sezione in cui descrivo il tipo di computer in cui è compilato il codice sorgente del programma. E' una sezione obbligatoria.
  • INPUT-OUTPUT SECTION.
    In questa sezione dichiaro i nomi dei files utilizzati dai programmi e i supporti fisici in cui risiedono i files. E' una sezione facoltativa.

L'ordine delle sezioni e dei paragrafi deve essere obbligatoriamente quello previsto dal linguaggio di programmazione Cobol.

Il formato dell'environment division è il seguente:

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. nome computer.
OBJECT-COMPUTER. nome computer.
[MEMORY SIZE <intero> WORDS.]
[SPECIAL-NAMES.]
[INPUT-OUTPUT SECTION.]
[FILE-CONTROL.]

Tra parentesi quadre sono indicate le sezioni e i paragrafi facoltativi.

Configuration section

La configuration section è la sezione in cui indicare le caratteristiche dell'ambiente operativo.

E' composta da due paragrafi obbligatori e uno facoltativo.

  • SOURCE-COMPUTER.
    E' il tipo di computer e il sistema operativo usato per sviluppare il codice sorgente del programma in Cobol. E' un paragrafo obbligatorio.
  • OBJECT-COMPUTER [ , MEMORY SIZE <intero> WORDS ] .
    E' il tipo di computer dove è stato compilato l'oggetto, ossia il file eseguibile, del programma. E' un paragrafo obbligatorio.

    Nota. La clausola aggiuntiva MEMORY SIZE dopo la virgola è facoltativa e ormai obsoleta. In passato era usata per indicare la capacità di memoria del sistema, dove <intero> è un numero intero positivo.

  • SPECIAL-NAMES.
    E' un paragrafo facoltativo in cui indicare alcune informazioni aggiuntive, come il nome mnemonico dell'hardware, il simbolo della valuta (dollaro, euro, ecc. ), il simbolo della virgola decimale nei numeri ( punto o virgola ). Sono tutte informazioni facoltative.

    SPECIAL NAMES.
    [nome hardware IS nome mnemonico.]
    [CURRENCY IS <lettera>].
    [DECIMAL-POINT IS COMMA].

Input-output section

La input-output section è la sezione dove inserisco le informazioni sui dispositivi e le procedure I/O.

Questa sezione è composta da due paragrafi:

  • FILE-CONTROL.
    In questo paragrafo indico i files usati dal programma tramite la clausola SELECT, assegnando ciascun file a un'unità di input-output, ossia il supporto fisico dove si trova ( disco, nastro, ecc. ).

    SELECT [OPTIONAL] nome-interno-file ASSIGN TO unità-hardware e nome-esterno-file.

    Il nome-interno-file è il nome interno (logico) del file usato nel programma. Il nome-esterno-file è il nome esterno del file sull'unità hardware del sistema ( CARD-READER, CARD-PUNCH, PRINTER, TAPE, DISK o DISC ). La clausola [OPTIONAL] se presente indica al compilatore che il file potrebbe anche mancare durante l'esecuzione del programma.

    Esempio

    Nel seguente codice dichiaro di utilizzare nel programma il nome del file logico anag1 e lo assegno al file fisico anagrafica che si trova sul disco fisso ( DISC ) del sistema. Poi assegno il file logico interno stampa alla stampante di sistema ( PRINTER ).

    SELECT anag1 ASSIGN TO DISC anagrafica.
    SELECT stampa ASSIST TO PRINTER.

  • I-O-CONTROL.
    In questo paragrafo specifico la procedura di controllo delle operazioni di input-output. E' un paragrafo facoltativo.

    I-O-CONTROL. procedura I/O

Un esempio pratico di programma in Cobol

In questo codice sorgente c'è un esempio pratico di utilizzo dell'environment division.

un esempio pratico

Nel codice dichiaro l'utilizzo di un file sul disco fisso e della stampante, anche se per ragioni di semplicità non li utilizzo nella procedure division.

Ciò che è importante in questa pagina è comprendere il funzionamento dell'environment division nella programmazione in Cobol.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Libri di approfondimento

Il linguaggio Cobol