subprog1.cob

 

       identification division.

       program-id. testing.

 

       data division.

       working-storage section.

       01 input-date.

           05 month-in pic 99.

           05 day-in pic 99.

           05 year-in pic 9999.

       01 date-name pic x(9).

 

       procedure division.

       100-main.

           display "enter date in format mmddyyyy".

           accept input-date.

 

           call "monthname" using input-date date-name.

 

           display "input month value " month-in.

           display "output month name " date-name.

 

           accept omitted.

 

           stop run.

 

 

monthname.cob

 

       identification division.

       program-id. testing.

 

       data division.

       working-storage section.

       01 all-month-names.

         03 month-table.

           05 filler pic x(18) value "JANUARY  FEBRUARY".

           05 filler pic x(18) value "MARCH    APRIL".

           05 filler pic x(18) value "MAY      JUNE".

           05 filler pic x(18) value "JULY     AUGUST".

           05 filler pic x(18) value "SEPTEMBEROCTOBER".

           05 filler pic x(18) value "NOVEMBER DECEMBER".

         03 table-values redefines month-table.

           05 month-name occurs 12 times pic x(9).

          

       linkage section.

       01 date-in.

           05  date-month pic 99.

           05  date-day   pic 99.

           05  date-year  pic 9999.

       01 date-name pic x(9).

      

       procedure division using date-in date-name.

       100-main.

           move month-name (date-month) to date-name.

           exit program.