Happy Birthday, Bill! (in COBOL)

COBOL turned 50 a few years ago, and today is the birthday of the only person I know who programs in COBOL.  So, here’s a COBOL program, because I get really easily distracted.

      * Wish Bill a Happy Birthday if it's 05-06
      * Wish COBOL a Happy Birthday if it's 05-28.
      * Tell us how old COBOL is now (full years only)
      * Works for other people who share the same birthday, of course.
       IDENTIFICATION DIVISION.
       PROGRAM-ID. BillsBirthday.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  TODAY.
           02  YYYY  PIC 9(4).
           02  MMDD  PIC 9(4).
       01  BILLBDAY.
           02  YYYY  PIC 9(4).
           02  MMDD  PIC 9(4) VALUE "0506".
       01  COBOLBDAY.
           02  YYYY  PIC 9(4) VALUE "1959".
           02  MMDD  PIC 9(4) VALUE "0528".
       01  AGE       PIC ZZ9.
       PROCEDURE DIVISION.
       MOVE FUNCTION CURRENT-DATE TO TODAY.
       IF MMDD OF COBOLBDAY <= MMDD OF TODAY THEN
         COMPUTE AGE = YYYY OF TODAY - YYYY OF COBOLBDAY
       ELSE
         COMPUTE AGE = YYYY OF TODAY - YYYY OF COBOLBDAY - 1
       END-IF.
       DISPLAY "COBOL has been around for " AGE " years."
       IF MMDD OF COBOLBDAY IS = MMDD OF TODAY THEN
         DISPLAY "Happy Birthday, COBOL!"
       END-IF.
       IF MMDD OF BILLBDAY IS = MMDD OF TODAY THEN
         DISPLAY "Happy Birthday, Bill!" 
       END-IF.
       STOP RUN.

To try it out, see opencobol.org