Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να ελέγξετε το Χρονικό διάστημα σε COBOL

COBOL μπορεί να φαίνεται παλιομοδίτικο , σε σύγκριση με αντικειμενοστραφείς γλώσσες , αλλά εξακολουθεί να ευδοκιμεί στην κληρονομιά υπολογιστές όπου αστραπιαία τον αριθμό - τραγάνισμα της είναι ικανή να διασφαλίσει τη χρήση του για τα επόμενα χρόνια . Για όσους έμπειρα σε Java ή C # , μπορεί να έρθει ένα σοκ ότι η γλώσσα αυτή δεν έχει ημερομηνία αρχέτυπα , αλλά ένα μεγάλο μέρος του κώδικα της εφαρμογής εξαρτάται από την ημερομηνία εξαρτήσεις . Εδώ είναι μερικές συμβουλές για τη διαχείριση των ημερομηνιών σε COBOL . Οδηγίες
Η 1

Κατανοήστε τη βασική δομή της COBOL . Κάθε πρόγραμμα COBOL έχει τέσσερα μεγάλα τμήματα που ονομάζονται διαιρέσεις . Αυτά είναι ΑΝΑΓΝΩΡΙΣΗ , ΠΕΡΙΒΑΛΛΟΝ , δεδομένων και η διαδικασία . Ημερομηνία δεδομένα πηγαίνει στο DATA Division, μια περιοχή που περιγράφει τις δομές μνήμης . 2

Καθορίστε τον τρόπο οι ημερομηνίες αποθηκεύονται στο δίσκο . Οι ημερομηνίες αποθηκεύονται συχνά ως πρώτες αριθμούς σε μορφή ΕΕΕΕΜΜΗΗ . Για παράδειγμα 10 Φεβρουαρίου 2014 τυπικά αποθηκεύεται ως 20140210 . Εκπροσωπείται σε COBOL , η δομή ημερομηνία στο Τμήμα DATA μοιάζει με αυτό :

01 DATA-RECOR Δ. ... πεδία δεδομένων ... 9.999,05 ΕΚΔΗΛΩΣΗ - ΜΗΝΑΣ 03 EVENT-DATE .05 ΕΚΔΗΛΩΣΗ - ΕΤΟΣ PIC PIC 99.05 EVENT-DAY PIC 99 ... περισσότερα πεδία ..

Μια σειρά από δεδομένα που παίρνει διαβάσει στο DATA - RECORD στοιχείο , το οποίο υποδιαιρείται σε έναν αριθμό πεδίων . Η ημερομηνία της εκδήλωσης τομέα ( EVENT - DATE ) αποθηκεύονται κάπου σε κάθε σειρά δεδομένων σε μορφή ΕΕΕΕΜΜΗΗ . Η ημερομηνία υποδιαιρείται σε τομείς έτος, το μήνα και την ημέρα .
Εικόνων 3

Ορίστε μια δομή όπου οι ημερομηνίες μπορεί να γίνει δεκτή από την κονσόλα . Επειδή οι ​​ημερομηνίες είναι συνήθως εγγράφονται στο ΜΜ /ΗΗ /ΕΕΕΕ μορφή , η διάρθρωση πρέπει να αντανακλά αυτό .

01 DATE-IN .03 MM -IN PIC 99.03 FILLER PIC X.03 DD -IN PIC 99.03 FILLER ΣΜΕ X. 03 YYYY-IN PIC 9999 .
Η 4

Ορισμός αποθήκευσης τόσο για την ημερομηνία και την ημερομηνία λήξης ξεκινήσει . Μετά τις ημερομηνίες να διαβάσει στη δομή ΗΜΕΡΟΜΗΝΙΑ -IN , πρέπει να μορφοποιηθεί σε μορφή ΕΕΕΕΜΜΗΗ . Οι δομές START - DATE και ΚΑΤΑΛΗΚΤΙΚΗ ΗΜΕΡΟΜΗΝΙΑ θα κρατήσει αυτές τις αξίες.

01 START-DATE .03 START - ΕΕΕΕ PIC 9.999,03 START - MM PIC 99.03 START-DD PIC 99 .

Δημιουργία παρόμοια δομή ΚΑΤΑΛΗΚΤΙΚΗ ΗΜΕΡΟΜΗΝΙΑ με τα πεδία ΤΕΛΟΣ - ΕΕΕΕ , END - MM και DD - END .
5

Αποδοχή τις ημερομηνίες από την κονσόλα ή JCL (Control Job Language) και να διαμορφώσετε τους να ΕΕΕΕΜΜΗΗ μορφή . Στο Τμήμα Διαδικασίας , προσθέστε τον ακόλουθο κώδικα :

ΔΙΑΔΙΚΑΣΙΑ DIVISION.0000 - START.DISPLAY "Ημερομηνία Έναρξης : " . ACCEPT ΗΜΕΡΟΜΗΝΙΑ - IN.START - ΕΕΕΕ = YYYY - MM - IN.START = MM -IN . . START - DD = DD -IN

DISPLAY " Ημερομηνία Λήξης : " . ACCEPT ΗΜΕΡΟΜΗΝΙΑ - IN.END - ΕΕΕΕ = YYYY - MM - IN.END = MM - DD - IN.END = DD -IN .

το πρόγραμμα ξεκινάει , ένα μήνυμα που σας ζητά για την ημερομηνία έναρξης , η ημερομηνία αξίας είναι αποδεκτή και στη συνέχεια να μορφοποιηθεί στο πεδίο START - DATE εκχωρώντας σε κάθε τομέα να αναφερθώ στην αντίστοιχη είσοδο του . Η ισοδύναμη διαδικασία γίνεται για την ημερομηνία λήξης .
Η 6

Διαβάστε ένα αρχείο και να συγκρίνετε τις ημερομηνίες . Επειδή όλες οι ημερομηνίες είναι τώρα σε μορφή ΧΧΧΧΜΜΗΗ, το μόνο που χρειάζεται να συγκρίνουν τα νήματα για να προσδιορίσει αν υπάρχει εγγραφή είναι εντός του εύρους ημερομηνιών που μόλις δημιουργήσατε

0100READ - RECORD.READ δεδομένα σε δεδομένα - RECORDAT END , GO TO 0900 . - . ΤΕΛΟΣ

ΑΝ EVENT - DATE > = START - DATE ή <= ΤΕΛΟΣ - DATEPERFORM 1000 - ΔΙΑΔΙΚΑΣΙΑ -DATA

Κάθε εγγραφή παίρνει διαβάσει στη δομή DATA - RECORD , τότε . το πεδίο ΕΚΔΗΛΩΣΗ - DATE παίρνει σε σύγκριση με τις START - DATE και ΚΑΤΑΛΗΚΤΙΚΗ ΗΜΕΡΟΜΗΝΙΑ πεδία . Σε αυτό το παράδειγμα , αν η ημερομηνία της εγγραφής είναι μεταξύ της έναρξης και την ημερομηνία λήξης , η εγγραφή γίνεται επεξεργασία .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα