16.4.9 日付/時刻
(1) 日付/時刻項目の定義
-
日付/時刻項目
出力フィールドに対して生成されます。
-
日付/時刻項目のデータ名:マップ名-FIELDnnnn-O
データ名は,日付/時刻フィールドダイアログの「データ名」で変更できます。
-
繰り返し回数:縦,または横の反復回数
-
長さ:論理項目の長さ。指定がないときはフィールドのデータ長
-
データ型:文字,数字編集項目のどちらかを選択
データ型
使用できる項目
99999
数字編集項目
COBOLで桁数に満たない値を代入すると,COBOLの仕様によって「0(ゼロ)」が設定されます。
文字(XX)
文字
- 注
-
桁数に満たない値を代入した残りにデータ有無コードを指定している場合は,「桁寄せ:左」「埋字:スペース」で埋字されます。そのほかのマッピング規則については,「16.4.9(3) 日付/時刻項目のマッピング規則」を参照してください。
-
(2) 日付/時刻項目の出力論理マップ生成規則
日付/時刻の出力論理マップ生成規則について説明します。
- COBOL
-
COBOLの日付/時刻の生成規則は,データ型によって変わります。
- ・文字項目の場合
03 マップ名-FIELDnnnn-O PIC X(長さ)〔OCCURS 回数〕.
- ・数字編集項目の場合
03 マップ名-FIELDnnnn-O PIC 編集文字〔OCCURS 回数〕.
- C言語
unsigned char マップ名_FIELDnnnn_O 〔[回数]〕[長さ];
C言語使用時は,数字編集項目は指定できません。
(3) 日付/時刻項目のマッピング規則
日付/時刻の論理マップ生成規則について説明します。
- 《APが出力項目データ名の領域に代入した内容と結果》
-
APが出力項目データ名
の領域に代入した内容
結果
すべて
データ
の場合
すべて空白((20)16)
項目全体を空白で印字します。
すべて0((30)16)
0をデータとしてフォーマットに合わせて印字します。
すべてNULL((00)16)
項目全体を空白で印字します。
上記以外のデータ
代入されたデータをフォーマットに合わせて印字します。
先頭1文字がデータ有無コード
データ有無コード(1F)16を仮定した場合
例として,X'1F414234'またはX'1F1F1F'のようなデータが該当します。このときは,データを印字しません。
データの後半にデータ有無コード
データ有無コード(1F)16を仮定した場合
例として, X'4142431F1F'のようなデータが該当します。この場合,データ有無コード以前のデータに対応するデータを,フォーマットに合わせて印字します。