Comprendere la struttura di base del COBOL . Ogni programma COBOL ha quattro principali sezioni denominate divisioni . Questi sono IDENTIFICAZIONE , AMBIENTE , DATA E PROCEDURA . Dati appuntamento va nella Divisione DATI , una zona che descrive le strutture di memoria .
2
Determinare come le date vengono memorizzate su disco. Le date vengono spesso memorizzati come numeri grezzi in formato AAAAMMGG . Ad esempio , 10 feb 2014 sono generalmente memorizzati come 20.140.210 . Rappresentato in COBOL , la struttura di data nella Divisione DATI aspetto:
01 DATA-RECOR D. ... i campi di dati ... 03 EVENT-DATE .05 EVENTO ANNI PIC 9.999,05 EVENT- MESE PIC 99.05 EVENT-DAY PIC 99 ... più campi ..
una riga di dati viene letto nell'elemento DATI RECORD , che si articola in una serie di settori. La data dell'evento campo ( EVENT- DATA ) viene memorizzato da qualche parte in ogni riga dei dati in formato AAAAMMGG . La data è suddiviso in anno, mese e giorno i campi .
3
definire una struttura in cui le date possono essere accettati dalla console . Perché le date sono solitamente inseriti in formato MM /GG /AAAA , la struttura deve riflettere questo .
01 DATE-IN .03 MM -IN PIC 99.03 FILLER PIC X.03 DD -IN PIC 99.03 FILLER PIC X. 03 YYYY-IN PIC 9999.
4
Definire stoccaggio sia per data di inizio e data di fine . Dopo le date vengono letti nel DATA -IN struttura , devono essere riformattato in formato AAAAMMGG . Le strutture di data di inizio e la data finale terranno questi valori .
01 START-DATE .03 INIZIO - AAAA PIC 9999,03 INIZIO -MM PIC 99.03 START-DD PIC 99 .
Creare un struttura simile end-date con campi END - YYYY , END - mM e END - DD .
5
Accetto le date dalla console o JCL ( Job Control Language) e riformattare loro di formato AAAAMMGG . Nella Divisione procedura, aggiungere il seguente codice :
PROCEDURA DIVISION.0000 - START.DISPLAY " Data di inizio : " ACCEPT DATE- IN.START - AAAA = AAAA - MM - IN.START = MM -IN . . AVVIO - DD = DD - economici con
DISPLAY . " Data fine: " . ACCEPT DATE- IN.END - AAAA = AAAA - MM - IN.END = MM - IN.END - DD = DD -IN .
il programma inizia , un messaggio richiede la data di inizio , il valore della data viene accettato e quindi riformattato in campo data di inizio assegnando ogni campo per riferirsi alla sua controparte di ingresso . Il processo equivalente è fatto per la data di fine .
6
leggere un record e confrontare le date . . Poiché tutte le date sono ora in formato AAAAMMGG , è sufficiente confrontare le stringhe per determinare se qualsiasi record è nell'intervallo di date che avete appena creato
DATI 0100READ - RECORD.READ in dati - RECORDAT END , andare al 0900 - . END
se l'evento - . DATA > = data di inizio o < = END - DATEPERFORM 1000 - PROCESSO -DATA
Ogni record viene letto nella struttura DATI RECORD , poi il campo event- DATA viene confrontato con i campi END - data di inizio - DATA e . In questo esempio, se la data del record è tra la data di inizio e fine , il record viene elaborato .
Programmazione © www.354353.com