富士通

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使用手引書を参照してください。