Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue プログラム作成の手引


6.4.2 COBOL言語のコーディング

COBOL言語でアプリケーションを記述するときには,次に示す項目について検討してください。

〈この項の構成〉

(1) 名前付き定数

このマニュアルでは,定数の名前の一部にアンダスコアを使用して表記しています。COBOL言語ではアンダスコアの代わりにハイフンを使用してください。

文字列の値の定数はデリミタとしてアポストロフィを使用します。コンパイラで処理できるようにAPOSTオプションを使用してください。

コピーファイルCMQVはレベル10の項目として名前付き定数を定義します。定数を使用するには,レベル01の項目を明示的に宣言し,定数の宣言でCOPYステートメントを使用してください。

WORKING-STORAGE SECTION.
01  MQM-CONSTANTS.
    COPY CMQV.

しかし,この方法では参照がないときにもアプリケーションの領域を定数が占めることになります。同じ動作単位内で異なるアプリケーションに定数がある場合には,複数の定数のコピーがあることになります。そのため,多くの領域が使用されてしまいます。この状況を回避するには,GLOBAL節をレベル01の宣言に追加してください。

* 定数を保持するグローバル構造体の宣言
 01  MQM-CONSTANTS GLOBAL.
     COPY CMQV.

GLOBAL節でアロケートされるのは,動作単位内で1組の定数だけです。これらの定数は,レベル01宣言のあるアプリケーションでなくても,動作単位内の任意のアプリケーションで参照できます。