24.01.2014 Views

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

896 volume V Programmazione<br />

• il campo ‘MM-CARICO-QUANTITA’ può contenere un numero senza segno con otto cifre<br />

per la parte intera e tre cifre per la parte decimale;<br />

• il campo ‘MM-COSTO-UNITARIO’ può contenere un numero senza segno con sei cifre per<br />

la parte intera e due cifre per la parte decimale;<br />

• il campo ‘MM-DESCRIZIONE’ può contenere caratteri alfanumerici di qualunque tipo<br />

(nell’ambito di una rappresentazione in byte), per una dimensione di 200 caratteri.<br />

Nell’esempio del magazzino si può notare che tutti i nomi usati per individuare le varie componenti<br />

del record sono unici, ma oltre a questo è stata usata l’accortezza di mettere un prefisso<br />

(‘MM-’) per distinguerli rispetto a campi di altri file che potrebbero avere una struttura del record<br />

simile. Tuttavia, non è strettamente necessario che tali nomi siano univoci per tutto il programma,<br />

perché è prevista la possibilità di qualificarli in modo gerarchico. La qualificazione è<br />

descritta nella sezione 82.8.3.<br />

Esiste anche la possibilità di ridefinire la struttura di un record, assegnando un nome alternativo<br />

a un certo livello che si vuole descrivere diversamente. Si osservi l’esempio seguente:<br />

|000000 01 MIO-RECORD.<br />

|000000 02 CAMPO-A PIC X(20).<br />

|000000 02 RIDEFINITO-A REDEFINES CAMPO-A.<br />

|000000 03 DATA.<br />

|000000 04 ANNO PIC 9999.<br />

|000000 04 MESE PIC 99.<br />

|000000 04 GIORNO PIC 99.<br />

|000000 03 DESCRIZIONE PIC X(12).<br />

|000000 02 CAMPO-B ...<br />

|...<br />

Nell’esempio si vede un record denominato ‘MIO-RECORD’, che inizialmente è composto dal<br />

campo ‘CAMPO-A’ fatto per contenere 20 caratteri. Questo campo viene ridefinito nella riga<br />

successiva con il nome ‘RIDEFINITO-A’, che si articola in sottocampi, con i quali si vuole<br />

descrivere in modo alternativo la variabile ‘CAMPO-A’. In base al contesto si intende che i<br />

primi otto caratteri possano essere interpretati come le cifre numeriche di una data (anno,<br />

mese e giorno), individuando il resto come una descrizione non meglio qualificabile.<br />

Generalmente, la ridefinizione di un campo che non è suddiviso è di scarsa utilità, mentre è<br />

più interessante quando si applica a campi che hanno già una suddivisione, che però si vuole<br />

gestire anche in modo differente:<br />

|000000 01 MIO-RECORD.<br />

|000000 02 A<br />

|000000 03 B PIC X(10).<br />

|000000 03 C PIC X(10).<br />

|000000 02 D REDEFINES A.<br />

|000000 03 E PIC X(5).<br />

|000000 03 F PIC X(10).<br />

|000000 03 G PIC X(5).<br />

|000000 02 H ...<br />

|...

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!