Reputation: 33
I'm trying to change the date format from DD-MON-YYYY
to YYYY/MM/DD
in COBOL and I was wondeing if that was possible.
I've been searching and I couldn't find any utilities or date function to change it.
What I've tried:
unstring
and converted JAN to 01
, FEB to 02
and so on.Upvotes: 1
Views: 1648
Reputation: 27478
COBOL suffers from a paucity of useful libraries and utilities. Mostly COBOL programers just re-invent wheels and code stuff up themselves.
Something like (untested code!):----
01 OLD-DATE.
05 OLD-DD PIC XX.
05 FILLER PIC X.
05 OLD-MON PIC XXX.
05 FILLER PIC X.
05 OLD-YEAR PIC XXXX.
01 NEW-DATE.
05 NEW-YEAR PIC XXXX.
05 FIRST-SLASH PIC X VALUE '/'.
05 NEW-MM PIC 99.
05 SECOND-SLASH PIC X VALUE '/'.
05 NEW-DD PIC XX.
01 M-TAB.
M PIC XXX OCCURS 12.
01 M-VALS REDEFINES M-TAB VALUE 'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'.
01 M-X PIC S9(8) COMP VALUE 0.
.......
MOVE OLD-YEAR TO NEW-YEAR.
PERFORM VARYING M-X FROM 1 TO 12
IF OLD-MON = M(M-X)
MOVE M-X TO NEW-MM
END IF
END PERFORM.
MOVE OLD-DD TO NEW-DD.
Upvotes: 3