ここでは,可変部の出力に関する論理マップ生成規則とマッピング規則について説明します。なお,この項では,COBOLの数字項目の記述を次のようにしています。
使用目的 | 使用できる項目 |
---|---|
数字 | 文字,数字編集 |
日本語 | 文字,漢字 |
英数 | 文字 |
出力項目の論理マップ生成規則について説明します。
初期値を指定しない場合の論理マップ生成例は初期値を指定したときと同じです。詳細については,「5.3.1(2)(a) 初期値を指定した場合」を参照してください。
出力項目のマッピング規則について説明します。
APが出力項目データ名 の領域に代入した内容 | 結果 | |
---|---|---|
すべて データ の場合 | すべて空白((20)16) | 項目全体を空白で印字します。 |
すべて0((30)16) | 項目全体を0で印字します。 | |
すべてNULL((00)16) | 項目全体を空白で印字します。 | |
上記以外のデータ | 代入されたデータを印字します。 | |
先頭1文字がデータ有無コード | 次表を参照してください。 | |
データの後半にデータ有無コード | 「桁寄せ」の指定に従って桁寄せをし,埋字に指定した文字で埋めて印字します(数字編集項目の場合は,編集文字に従って編集してから印字)。埋字と桁寄せのマッピング規則については,「5.3.4 埋字と桁寄せに関するマッピング規則(出力フィールド)」を参照してください。 |
初期値の内容 | 結果 |
---|---|
すべて空白((20)16) | 項目全体を空白で印字します。 |
すべて0((30)16) | 項目全体を0で印字します。 |
すべてNULL((00)16) | 項目全体を空白で印字します。 |
初期値の長さと帳票の印刷長とが等しい | 初期値を項目に印字します。 |
初期値の長さが帳票の印刷長より短い | 定義で指定した「桁寄せ」,および埋字に従って印字します。埋字抑止を指定した場合は,左寄せで初期値を項目に印字します。 |
初期値の長さが帳票の印刷長より長い | 「桁寄せ」に従って桁寄せし,余りを切り捨てて項目を印字します。 |
APが出力項目データ名 の領域に代入した内容 | 結果 | |
---|---|---|
すべて データ の場合 | すべて空白((20)16) | 項目全体を空白で印字します。 |
すべて0((30)16) | 項目全体を0で印字します。 | |
すべてNULL((00)16) | 項目全体を空白で印字します。 | |
上記以外のデータ | 代入されたデータを印字します。 | |
先頭1文字がデータ有無コード | データ有無コード(1F)16を仮定した場合 例として,X'1F414234'またはX'1F1F1F'のようなデータが該当します。このときは,データを印字しません。 | |
データの後半にデータ有無コード | データ有無コード(1F)16を仮定した場合 例として,X'4142431F1F'のようなデータが該当します。この場合,「桁寄せ」の指定に従って桁寄せをし,埋字に指定した文字で埋めて印字します。埋字と桁寄せのマッピング規則については,「5.3.4 埋字と桁寄せに関するマッピング規則(出力フィールド)」を参照してくだい。 |