COBOL言語の関数「WHEN-COMPILED」について理解しよう! | 用語辞典

COBOL(コボル)言語の予約語WHEN-COMPILEDを使った日付、時刻の取得とは

辞典・辞書-WHEN-COMPILED-イメージ

COBOL(コボル)言語のWHEN-COMPILED関数とは?

COBOL(コボル)の組込み関数であるWHEN-COMPILED関数は、プログラムをコンパイルした日付や時刻を取得したい場合に使用します。コンパイルした日付を業務プログラムで直接使用することはあまりありませんが、作成したプログラムのテストに利用したり、稼働中のプログラムの作成日付を確認したい場合に、この関数を予め組み込んでおくことなどがあります。では早速COBOL言語での使い方について見ていきましょう。

書き方(WHEN-COMPILED関数):

FUNCTION WHEN-COMPILED

・関数の型:英数字

・引数:なし

・戻り値:プログラムをコンパイルした日付時刻。そのプログラムが他のプログラムに含まれている場合は、親プログラムをコンパイルした日付時刻。

使用例:

辞典・辞書-WHEN-COMPILED-使用例

実行結果:

辞典・辞書-WHEN-COMPILED-実行結果

WHEN-COMPILED関数のCOBOL(コボル)言語における基本事項やルールについて

1.「WHEN-COMPILED」の間の空白や改行は、自由に設定できます。

2.組込み関数の前には予約語「FUNCTION」を指定する必要があります。

3.引数を指定する事はできません。

COBOL(コボル)言語のWHEN-COMPILED関数を扱う上での注意点

COBOL言語のWHEN-COMPILED関数で得られるコンパイル日付はグレゴリオ暦になります。グレゴリオ暦は現行の太陽暦として日本を含む世界各国で用いられています。1年の平均日数を365日とし、400年に97回の閏年をおいてその年は366日としているものです。

また、取得できる日付時刻は21桁になります。各桁の意味は以下の通りです。

1~4桁は年になります。5~6桁は月(01~12)、7~8桁は日(01~31)、9~10桁は時間(00~23)、11~12桁は分(00~59)、13~14桁は秒(00~59)、15~16桁は1秒の100分の1を表す2桁の数字(00~99)、1秒未満の部分を提供できないシステムは00。17桁目は、「-」、「+」、または「0」文字。グリニッジ標準時間よりも進んでいる(+)か遅れている(-)かを表します。18~19桁はグリニッジ標準時間よりも進んでいる、または遅れている時間、20~21桁はグリニッジ標準時間よりも進んでいる、または遅れている分数を表します。

WHEN-COMPILED関数を使ったCOBOL(コボル)プログラムの活用法

WHEN-COMPILED関数は、日付時刻が21桁で取得できますが先ほどご紹介した通り各桁に意味を持っています。ここでは活用法として、取得した日付時刻を意味のある桁数に分割してそれを画面に表示する簡単なプログラムをご紹介します。開発したプログラムのテスト等、用途に合わせてご活用いただければと思います。

サンプルプログラム(WHEN-COMPILED2):

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. COMPILED_SAMPLE2.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. DATA DIVISION.
  6. WORKING-STORAGE SECTION.
  7. 01 WK-AREA.
  8. 03 WK-YY PIC X(04).
  9. 03 WK-MM PIC X(02).
  10. 03 WK-DD PIC X(02).
  11. 03 WK-HH PIC X(02).
  12. 03 WK-MI PIC X(02).
  13. 03 WK-SS PIC X(02).
  14. 03 WK-MS PIC X(02).
  15. 03 WK-G PIC X(05).
  16. PROCEDURE DIVISION.
  17. MOVE FUNCTION WHEN-COMPILED TO WK-AREA.
  18. DISPLAY WK-YY "年".
  19. DISPLAY WK-MM "月".
  20. DISPLAY WK-DD "日".
  21. DISPLAY WK-HH "時".
  22. DISPLAY WK-MI "分".
  23. DISPLAY WK-SS "秒".
  24. DISPLAY WK-MS "ミリ秒".
  25. DISPLAY WK-G.
  26. STOP RUN.

実行結果(WHEN-COMPILED2):

辞典・辞書-WHEN-COMPILED-実行結果

今回ご紹介した関数「WHEN-COMPILED」のサンプルプログラムは、コンパイルした日付時刻を取得できるものでした。COBOL(コボル)言語で活用できる関数はこの他にも数多く有効なものが用意されています。できる限り用意されている関数を活用し、効率のよいプログラム作成を目指しましょう。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門