Il fondamentale del cobol ridefini

Il fondamentale del cobol ridefini

In questo articolo, cercheremo di capire la ridefini. Questo è usato per spiegare la stessa memoria sul campo in molti modi.

Significa che la definizione e la ridefinizione del campo si riferiscono entrambi agli stessi byte di archiviazione. Le ridefinizioni di COBOL non possono avere una clausola di valore e non può essere utilizzata al livello 1 nella sezione file o report.

La clausola fondamentale della ridefini

Scrivi un programma per generare un rapporto e sai che il rapporto ha tre sezioni diverse. La prima sezione è l'intestazione, la seconda sezione è il record di dettagli e la terza sezione è il trailer. Esistono due modi in cui è possibile definire la struttura nel tuo programma. Il primo è definire ogni sezione nella sezione della divisione dei file o potrebbe essere nella sezione di archiviazione del lavoro. Un'altra opzione è che puoi definire i 132 byte per il record di intestazione. Allo stesso modo, puoi ridefinire di nuovo il record di dettagli e il record del trailer.

In breve, è possibile utilizzare la clausola di ridefinitura per fare riferimento alla stessa posizione di memoria. Se si desidera scrivere nell'intestazione, sposta i record sui file di intestazione particolari e puoi scrivere quel rapporto. Ti riferisci alla stessa posizione di memoria con gli stessi byte di archiviazione che è 132 byte.

Dettagli della sintassi:

  • La clausola di ridefini.
  • Il nome dei dati-1 non può avere la clausola del valore.
  • Il numero di livello del Data-Name-1 = Data-Name -2 non deve essere 66 o 88.
  • La dimensione dei dati dei dati-1 non deve superare la dimensione del nome dati-2. Tuttavia, può essere inferiore al nome dei dati-2.
  • L'elemento Data-Name-2 non può contenere una clausola.
  • Il 01-49 Data-NAME-1.
  • Ridefinisce i dati-name-2.

Alcuni esempi di ridefini

Esempio 1:

Divisione di identificazione.
Programma-id. ridefinire.
Divisione dati.
Sezione file.
Sezione di lavoro di lavoro.
01 WS-REDEFINES-EX.
05 WS-Todays-Date Pic 9 (08) Valore "2020717".
05 WS-Curr-dte ridefinisce WS-Todays-Date.
10 cc Pic 9 (02).
10 anni foto 9 (02).
10 mm Pic 9 (02).
10 DD Pic 9 (02).
Divisione procedura.
A000-main sezione.
Visualizza "ws-todays-date:" ws-todays-date.
Visualizza "WS-Curr-dte:" WS-Curr-dte.
Smettere di correre.

Produzione:

papan@papan -virtualbox: ~/desktop/pp/new $ cobc -xjf one.CBL
uno.CBL: 11: Avviso: è previsto il valore numerico
WS-Todays-Date: 2020717
WS-Curr-dte: 2020717
papan@papan-virtualbox: ~/desktop/pp/new $

Spiegazione:

In questo esempio, ridefiniamo la data odierna alla data corrente che in realtà è una variabile di gruppo di secolo, anno, mese e giorno. In realtà, abbiamo diviso la data di oggi in quattro diversi campi. Quindi, la prima riga è definire il numero di livello 05 che è una variabile chiamata data di oggi e la dimensione della variabile è 9 di 8. Ora, la data corrente è la nuova variabile che è in realtà la ridefinizione della data di oggi e del gruppo di quattro campi. La dimensione combinata di tutti i campi è di 8 byte.

Esempio 2:

Divisione di identificazione.
Programma-id. DIPENDENTE.
Divisione dati.
Sezione file.
Sezione di lavoro di lavoro.
01 EMP-REC.
05 EMP-REC-LY PIC X (30) Valore "David Martinez Gomes".
05 EMP-NAME-DTL ridefinisce EMP-REC-LY.
10 emp-fname pic x (15).
10 emp-name pic x (15).
05 EMP-DPT-NAME ridefinisce EMP-REC-LY.
10 EMP-DPT Pic X (10).
10 EMP-ADD Pic X (15).
Divisione procedura.
A000-main sezione.
Visualizza "EMP-REC-LY:" EMP-REC-LY.
Visualizza "EMP-NAME-DTL:" EMP-NAME-DTL.
Visualizza "EMP-FNAME:" EMP-FNAME.
Visualizza "emp-name:" EMP-LNAME.
Visualizza "EMP-DPT-NAME:" EMP-DPT-NAME.
Mostra "Emp-Add:" EMP-ADD.
Smettere di correre.

Produzione:

papan@papan -virtualbox: ~/desktop/pp/new $ cobc -xjf due.CBL
EMP-REC-LY: David Martinez Gomes
EMP-NAME-DTL: David Martinez Gomes
Emp-fname: David Martinez
Emp-name: Gomes
EMP-DPT-NAME: David Martinez Gomes
EMP-ADD: Inez Gomes

Spiegazione:

In questo esempio, abbiamo ridefinito la stessa variabile più volte. Esistono due campi: EMP-REC-LY che è il record di dettagli EMP e EMP-DPT-NME che è il nome del dipartimento EMP. Queste sono due variabili che effettivamente ridefinite EMP-REC-LY che è x (30). Se vedi il primo che è EMP-NAME-DTL, è di nuovo una variabile di gruppo del nome e dei cognomi con le dimensioni di 15 e 10, rispettivamente. Allo stesso modo, guardiamo solo la seconda ridefinizione che è EMP-DPT-NME che è di nuovo una ridefinizione di EMP-REC-LY. È un gruppo di variabili x (10) e x (15).

Esempio 3:

Divisione di identificazione.
Programma-id. Mesi_table.
Divisione dati.
Sezione file.
Sezione di lavoro di lavoro.
01 Month-Tbl.
05 mnth-nme.
10 Filler Pic X (03) Valore 'Jan'.
10 Filler Pic X (03) Valore 'FEB'.
10 Filler Pic X (03) Valore 'Mar'.
05 Filler ridefinisce MNTH-NME.
10 mesi-NME si verificano 3 volte.
15 mnth Pic X (03).
Divisione procedura.
Visualizza "Month-Tbl:" Month-TBL.
Visualizza "Month-NME:" MNTH-NME.
Smettere di correre.

Produzione:

papan@papan -virtualbox: ~/desktop/pp/new $ cobc -xjf tre.CBL
Month-Tbl: Janfebmar
MNTH-NME: Janfebmar
papan@papan-virtualbox: ~/desktop/pp/new $

Spiegazione:

Passiamo a questo esempio in cui abbiamo usato la clausola di ridefini. Se si stampano il valore del nome, della tabella o dell'array, scoprirai che il primo occorrenza avrà "Jan", il secondo occorrenza ha "febbraio" e la terza occorrenza ha "mar". Con questa tecnica, puoi effettivamente assegnare valori iniziali all'array o alla tabella.

Conclusione

In questo articolo, abbiamo appreso la sintassi generale della dichiarazione di "ridefinizione" in Cobol e il concetto fondamentale di questa affermazione in cui possiamo effettivamente usare questa particolare affermazione è spiegato. Speriamo che tu capisca l'applicazione di questa affermazione.