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.