画面・帳票サポートシステム XMAP3 プログラミングガイド


付録B.1 COBOLの場合

概算式で使用する用語について説明します。

全角/半角切り替わり回数

WRITE文で出力する行データ項目ごとに,半角文字から全角文字に切り替わる回数,および全角文字から半角文字に切り替わる回数を数えます。このとき,全角空白は半角空白2バイトに置き換えて数えます。

例えば,行データが「123あい う」の場合,「3」のあと,「い」のあとおよび,「う」の前で切り替わりが発生するので,切り替わり回数は3回となります。

文字サイズ/字間値/書体/横倍の切り替わり回数

POINT/INTERVAL/FORMAT/WIDE の属性ごとに属性の切り替わり回数を数えます。属性値が同じ値の場合は,切り替わりが発生しません。属性の指定が省略されている場合は,デフォルト(ドローの書式定義で指定した値)に切り替わるものとして数えます。

例えば,次に示す例の場合,文字サイズ切り替わり回数は2回,字間値切り替わり回数は2回となります。

03  DATA1   PIC  X(5).                     …切り替わりなし
03  DATA2   PIC  X(5)  POINT-9 INTERVAL-0. …文字サイズ9ポ,字間値0ポに切り替わる
03  DATA3   PIC  X(5)  POINT-9 INTERVAL-0. …切り替わりなし
03  DATA4   PIC  X(5)  POINT-9.            …字間値がデフォルトに切り替わる 
03  DATA5   PIC  X(5).                     …文字サイズがデフォルトに切り替わる
03  DATA6   PIC  X(5).                     …切り替わりなし
〈この項の構成〉

(1) 「WRITE 行データFROM データ1」形式の処理で,CHARACTER TYPE句指定なしの場合

COBOL記述例
定義部
01 行データ.
  02 項目A PIC X(10).
  02 項目B PIC X(10).
 
01 データ1.
  02 項目1 PIC X(10).
  02 項目2 PIC X(5).
  02 項目3 PIC X(5).
処理部
WRITE 行データ FROM データ1.
概算式

1ページデータ量の上限

印刷ドキュメント名を指定していない場合

32767≧行データの和+62

印刷ドキュメント名を指定している場合

32767≧行データの和+ 印刷ドキュメント名の長さ + 70

注※

行データの和={行データの領域長+(データ中の平均全角/半角切り替わり回数×2)+10}×行数

(2) 「WRITE 行データFROM データ1」形式の処理で,データ1にCHARACTER TYPE句指定ありの場合

COBOL記述例
定義部
01 行データ.
  02 項目A PIC X(10).
  02 項目B PIC X(10).
 
01 データ1.
  02 項目1 PIC X(10) CHARACTER TYPE POINT-9 INTERVAL-0.
  02 項目2 PIC X(5).
  02 項目3 PIC X(5).
処理部
WRITE 行データ FROM データ1.
概算式

1ページデータ量の上限

印刷ドキュメント名を指定していない場合

32767≧行データの和+62

印刷ドキュメント名を指定している場合

32767≧行データの和+ 印刷ドキュメント名の長さ + 70

注※

行データの和={データ1の各項目の長さの和

+(データ1の各項目内での平均全角/半角切り替わり回数の和×2)

+(データ1の各項目への平均文字サイズ切り替わり回数の和×3)

+(データ1の各項目への平均字間値切り替わり回数の和×3)

+(データ1の各項目への平均書体切り替わり回数の和×3)

+(データ1の各項目への平均横倍切り替わり回数の和×4)

+(データ1の項目の数×2)

+8}×行数

(3) 「WRITE 行データ」形式の処理で,CHARACTER TYPE句指定なしの場合

COBOL記述例
定義部
01 行データ.
  02 項目1 PIC X(10).
  02 項目2 PIC X(5).
  02 項目3 PIC X(5).
処理部
WRITE 行データ.
概算式

1ページデータ量の上限

印刷ドキュメント名を指定していない場合

32767≧行データの和+62

印刷ドキュメント名を指定している場合

32767≧行データの和+ 印刷ドキュメント名の長さ + 70

注※

行データの和={行データの領域長+(データ中の平均全角/半角切り替わり回数×2)+10}×行数

(4) 「WRITE 行データ」形式の処理で,CHARACTER TYPE句指定ありの場合

COBOL記述例
定義部
01 行データ.
  02 項目1 PIC X(10) CHARACTER TYPE POINT-9 INTERVAL-0.
  02 項目2 PIC X(5).
  02 項目3 PIC X(5).
処理部
WRITE 行データ.
概算式

1ページデータ量の上限

印刷ドキュメント名を指定していない場合

32767≧行データの和+62

印刷ドキュメント名を指定している場合

32767≧行データの和+ 印刷ドキュメント名の長さ + 70

注※

行データの和={行データの各項目の長さの和

+(行データの各項目内での平均全角/半角切り替わり回数の和×2)

+(行データの各項目への平均文字サイズ指定回数の和×3)

+(行データの各項目への平均字間値切り替わり回数の和×3)

+(行データの各項目への平均書体切り替わり回数の和×3)

+(行データの各項目への平均横倍切り替わり回数の和×4)

+(行データの項目の数×2)

+8}×行数