-CompatiV3オプションはメインフレーム(VOS3)との互換用のオプションである。-CompatiV3オプションは,VOS3 COBOL85で開発したプログラムを,UNIXまたはPC環境に移行するために使用する。
- ASSIGN句で指定された外部装置名に関連する環境変数名を変更する。書き方を次に示す。
SYSnnn [-装置クラス][-装置名][-編成]
または
[装置クラス-][装置名-][編成-] ファイル定義名
- -CompatiV3オプション指定時の環境変数名
CBL_SYSnnnまたはCBL_ファイル定義名
- -CompatiV3オプション未指定時の環境変数名
CBL_SYSnnn[_装置クラス][_装置名][_編成]
または
CBL_[装置クラス_][装置名_][編成_]ファイル定義名
- 入出力両用ファイルとして開いた順ファイルでは,WRITE文の効果はREWRITE文と同じである。WRITE文を実行する前に,そのファイルにREAD文を実行しておかなければならない。WRITE文は,直前のREAD文で読み込んだレコードを更新する。
- VOS3 COBOL85上で使用できる報告書作成機能を記述したプログラムをコンパイルする。
- 画面機能では,複数プログラムで通信文が実行された場合,一つの論理端末を複数のプログラム間で共用し,送受信する。
- DIVIDE文書き方4および書き方5で,除算の剰余計算に使う商は,商を計算したときの中間結果と同じけた数,同じ小数点位置,同じ符号の有無を持つ。
(例)
DIVIDE A BY B GIVING C REMAINDER D.
上記の例のDIVIDE文は,下記のような連続した操作に変換される(ただし,TMP1,TMP2およびTMP3は,コンパイラによって作成された中間結果の作業場所を表す)。
A / B → TMP1
TMP1 → TMP2
A - (B * TMP2) → TMP3
TMP1 → C
TMP3 → D
- -CompatiV3オプション指定時のTMP2
TMP1と同じけた数,同じ小数点位置,同じ符号になる。
- -CompatiV3オプション未指定時のTMP2
商(C)と同じけた数,同じ小数点位置,同じ符号になる。
- 64bit版PC(x64) COBOL2002の場合,-CompatiV3オプションと-IntResult,DecFloat40オプションを同時に指定したとき,算術式と算術文に対する-CompatiV3オプションのDIVIDE文書き方4および書き方5は無効となる。この場合,-IntResult,DecFloat40オプションの仕様で演算を実行する。-IntResult,DecFloat40オプションについては,マニュアル「COBOL2002 ユーザーズガイド」の-IntResult,DecFloat40 オプション(64bit版PC(x64) COBOL2002 で有効)を参照のこと。
- プログラム中に連結式を書けない。
- 【標準仕様との関連】
- COBOL2002 言語 標準仕様編 10.8.13 DIVIDE文
- COBOL2002 言語 標準仕様編 10.8.33 READ文
- COBOL2002 言語 標準仕様編 10.8.39 REWRITE文
- COBOL2002 言語 標準仕様編 10.8.55 WRITE文
- COBOL2002 言語 標準仕様編 13.1 報告書作成機能とは
All Rights Reserved. Copyright (C) 2003, 2013, Hitachi, Ltd.