NetCOBOL 技術情報:ノウハウ情報
NetCOBOL
共通
Q
年号4桁処理対応について教えてください。西暦を2桁ではなく4桁で取得したいのですが、 どうすればよいですか。今までは、ACCEPT 文を使用していました。
A
CURRENT-DATE関数を使って西暦の4桁を取り込んでください。
小入出力機能のACCEPT文を使った日付入力では、西暦の下2桁しか取得できませんが、組込み関数のCURRENT-DATE関数を利用すれば、4桁の西暦を得ることができます。
例)000010 IDENTIFICATION DIVISION. 000020 PROGRAM-ID. EX01. 000030******************************************************* 000040* 組込み関数のCURENT-DATE関数を使用して西暦4桁を取得する。* 000050******************************************************* 000060 DATA DIVISION. 000070 WORKING-STORAGE SECTION. 000080 01 関数値. 000090 02 西暦年 PIC X(4). 000100 02 月 PIC X(2). 000110 02 日 PIC X(2). 000120 02 時 PIC X(2). 000130 02 分 PIC X(2). 000140 02 秒 PIC X(2). 000150 02 ミリ秒 PIC X(2). 000160 02 地方時間符号 PIC X. 000170 02 グリニッジ標準時時差 PIC X(2). 000180 02 グリニッジ標準時分差 PIC X(2). 000190* 000200 PROCEDURE DIVISION. 000210 MOVE FUNCTION CURRENT-DATE TO 関数値. 000220 DISPLAY 西暦年. 000230 STOP RUN. 000240 END PROGRAM EX01.
上記の例の「西暦年」の内容が、4桁の西暦を示します。
CURRENT-DATE関数の詳細については、COBOL文法書およびCOBOL使用手引書を参照してください。
