Slik kontrollerer du Date Range i COBOL
COBOL kan virke gammeldags i forhold til objektorienterte språk, men det fortsatt trives på legacy stormaskiner der sin lynraske nummer-knaser er sannsynlig å sikre bruken i årene som kommer. For de bevandret i Java eller C #, kan det komme som et sjokk at dette språket har ingen dato primitive, men mye av programmet koden er avhengig av dato avhengigheter. Her er noen tips for å administrere datoer i COBOL. Instruksjoneren
Forstå den grunnleggende strukturen i COBOL. Hver COBOL-programmet har fire store seksjoner kalt divisjoner. Dette er Identifikasjon, MILJØ, DATA og prosedyre. Datodataene går i DATA Division, et område som beskriver minne strukturer.
2
Bestem hvor datoene er lagret på disk. Datoer lagres ofte som rå tall i formatet ÅÅÅÅMMDD. For eksempel er 10 februar 2014 vanligvis lagret som 20140210. Representert i COBOL, ser datoen strukturen i DATA Division som dette: en
01 DATA-RECOR D. ... datafelt ... 03 EVENT-DATE 0,05 EVENT-ÅR PIC 9999,05 EVENT-MÅNED PIC 99,05 EVENT-DAY PIC 99 ... flere felt ..
En rad av data blir lest inn i DATA-RECORD element, som er delt inn i en rekke felt. Feltet hendelse dato (EVENT-DATO) er lagret et sted i hver rad med data i formatet ÅÅÅÅMMDD. Datoen er inndelt i år, måned og dag felt.
3
Definer en struktur hvor datoene kan bli akseptert fra konsollen. Fordi datoer blir vanligvis inngått i MM /DD /ÅÅÅÅ format, må strukturen gjenspeile dette.
01 DATE-IN 0,03 MM-IN PIC 99,03 FILLER PIC X.03 DD-IN PIC 99,03 FILLER PIC X. 03 YYYY-IN PIC 9999.
4
Definer lagringsplass for både startdato og sluttdato. Etter datoene blir lest inn i DATE-IN struktur, må de være formatert til ÅÅÅÅMMDD format. Startdatoparameteren og sluttdato strukturer vil holde disse verdiene.
01 START-DATE 0,03 START-YYYY PIC 9999,03 START-MM PIC 99,03 START-DD PIC 99.
Opprett en lignende struktur sluttdato med felt END-YYYY, END-MM og END-DD.
5
Godta datoene fra konsollen eller JCL (Job Control Language) og formatere dem til ÅÅÅÅMMDD format. I prosedyren Division, legge til følgende kode:
PROSEDYRE DIVISION.0000-START.DISPLAY "Start Dato:" Godta DATE-IN.START-YYYY = ÅÅÅÅ-IN.START-MM = MM-IN. . START-DD = DD-IN
DISPLAY. "Sluttdato:". GODTA DATE-IN.END-YYYY = ÅÅÅÅ-IN.END-MM = MM-IN.END-DD = DD-IN .
Programmet starter, en melding som spør om startdato, er datoen verdi akseptert og deretter formatert inn i START-DATE-feltet ved å tildele hvert felt for å referere til sitt innspill motstykke. Tilsvarende prosess er gjort for sluttdato.
6
Les en post og sammenligne datoene. . Fordi alle datoer er nå i ÅÅÅÅMMDD format, trenger du bare sammenligne strenger for å finne ut om noen rekord er innenfor tidsrommet du nettopp opprettet
0100READ-RECORD.READ DATA TIL DATA-RECORDAT END, GÅ TIL 0900 - . END
IF EVENT -. DATE> = START-DATE eller <= END-DATEPERFORM 1000-PROSESS-DATA
Hver post blir lest inn i DATA-RECORD struktur, deretter den EVENT-DATE feltet blir i forhold til START-DATE og sluttdato felt. I dette eksemplet, hvis posten dato er mellom start-og sluttdato, får posten behandlet.
Relaterte artikler
Vil du vite hvordan å plukke opp kvinner i barer og klubber?
Hvordan møte kvinner på barer og Club
Ønsker du å vite hvordan man skal tiltrekke seg kvinner i barer og klubber?
Naturlig Impulsive måter å øke din libido
Kjønnssykdommer-Slik bruker Internet klokt?
Ikke bli rørt til tårer:. Organiser og minimere stress i Moving
Åtte enkle tips Endre pusten fra dårlig til god
Slik Lavere Kolesterol? 3 måter å bedre helse!
Hvordan bli kvitt munnsår Med enkle metoder
Outsourcing Medical transkripsjoner & Saving 40% er et klokt valg å kutte ned kostnadene for vanske…
Mor og barn