5.3.6 OCRの出力論理マップ生成規則とマッピング規則

<この項の構成>
(1) OCR可変項目の定義
(2) OCR項目の出力論理マップ生成規則
(3) OCR項目のマッピング規則

(1) OCR可変項目の定義

(2) OCR項目の出力論理マップ生成規則

OCRの出力論理マップ生成規則について説明します。

(a) 初期値を指定した場合
《COBOL》
COBOLのOCRの生成規則は,データ型によって変わります。
  • 文字項目の場合

    [図データ]

  • 数字編集項目の場合

    [図データ]

《C言語》
[図データ]
C言語使用時は,数字編集項目は指定できません。
日本語では,「桁寄せ」は左寄せになります。
(b) 初期値を指定しない場合

初期値を指定しない場合の論理マップ生成規則は初期値を指定したときと同じです。詳細については,「5.3.6(2)(a) 初期値を指定した場合」を参照してください。

(3) OCR項目のマッピング規則

OCRのマッピング規則について説明します。

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