ページの先頭行へ戻る
NetCOBOL V11.0 PowerCOBOL ユーザーズガイド
FUJITSU Software

7.1.2 フォームの手続き

フォームもコントロールと同様、イベント手続きをもっています。たとえば、フォームが開かれたときはOpened、フォームが閉じられたときはClosedといったイベントが発生します。フォームは、これらに加え、フォーム内の手続き全体で有効な共通宣言および共通内部プログラムを定義できます。さらに、フォームをActiveXコントロールとして利用するため、新しいイベント(カスタムイベント)も定義できます。ActiveXコントロールとして利用するための方法は、「9.2 ActiveXコントロールを作成する」を参照してください。

以下に、フォームがもつ共通宣言および共通内部プログラムについて説明します。各宣言の記述方法についての詳細は『COBOL 文法書』を参照してください。

共通宣言(環境部

SPECIAL-NAMES

構成節(CONFIGURATION SECTION)の特殊名段落(SPECIAL-NAMES)を記述します。

SPECIAL-NAMESでは、必要となる機能名に対する呼び名や、記号定数などを定義します。そのフォーム中で、機能名に対する呼び名や記号定数を使用しない場合は、記述する必要はありません。

REPOSITORY

構成節(CONFIGURATION SECTION)のリポジトリ段落(REPOSITORY)を記述します。

REPOSITORYでは、この環境部の有効範囲内で使われるクラス名を指定します。フォーム中で、クラス名を使用しない場合は、記述する必要はありません。

FILE-CONTROL

入出力節(INPUT-OUTPUT SECTION)のファイル管理記述項(FILE-CONTROL)を記述します。

FILE-CONTROLでは、フォーム中で使用するファイルのSELECT句を記述します。フォーム中で、ファイルを扱わない場合は、記述する必要はありません。

共通宣言(データ部

BASED-STORAGE

基底場所節(BASED-STORAGE SECTION)を記述します。

BASED-STORAGE SECTIONでは、ポインタデータ項目により、明示的または暗示的に領域のアドレスが決定されるデータ項目を定義します。そのフォーム中で、ポインタデータ項目を使用しない場合は、記述する必要はありません。

FILE

ファイル節(FILE SECTION)を記述します。

FILE SECTIONでは、ファイルの物理的な構造、識別名およびファイルに関するレコード名の情報を指定します。そのフォーム中で、ファイルを扱わない場合は、記述する必要はありません。

注意

モジュールのプロパティ設定ダイアログボックスで、[一般]タブの[スクリプト言語]が"0 - COBOL85言語仕様"である場合、ファイル節で定義するファイルは、各手続きの中でOPEN文、CLOSE文、READ文、WRITE文などを使用するために、GLOBAL句を記述する必要があります。記述しないと、手続き中でそのファイルに対する入出力文が、翻訳エラーとなります。

ただし、SORT文/MERGE文ではGLOBAL句の指定ができませんので、SORT文/MERGE文を使用する場合は、個々のイベント手続きのFILE SECTIONに記述してください。

逆に、モジュールのプロパティ設定ダイアログボックスで、[一般]タブの[スクリプト言語]が"1 - OOCOBOL言語仕様"である場合、GLOBAL句を記述する必要はありません。GLOBAL句を記述すると翻訳エラーとなります。

WORKING-STORAGE

作業場所節(WORKING-STORAGE SECTION)を記述します。

WORKING-STORAGE SECTIONでは、作業用データ項目の宣言をします。そのフォーム中で共通の、作業用データ項目を使用しない場合は、記述する必要はありません。

注意

モジュールのプロパティ設定ダイアログボックスで、[一般]タブの[スクリプト言語]が"0 - COBOL85言語仕様"である場合、作業場所節で定義するデータ項目は、内部プログラムとなる各手続きの中で使用するために、GLOBAL句を記述する必要があります。記述しないと、そのデータ項目を参照している手続きが、翻訳エラーとなります。

逆に、モジュールのプロパティ設定ダイアログボックスで、[一般]タブの[スクリプト言語]が"1 - OOCOBOL言語仕様"である場合、GLOBAL句を記述する必要はありません。GLOBAL句を記述すると翻訳エラーとなります。

CONSTANT

定数節(CONSTANT SECTION)を記述します。

CONSTANT SECTIONでは、値が原始プログラムで与えられ、プログラムの実行中に変わることのないデータ項目を記述します。そのフォーム中で共通の、定数用のデータ項目を使用しない場合は、記述する必要はありません。

注意

モジュールのプロパティ設定ダイアログボックスで、[一般]タブの[スクリプト言語]が"0 - COBOL85言語仕様"である場合、定数節で定義するデータ項目は、内部プログラムとなる各イベント手続きの中で使用するために、GLOBAL句を記述する必要があります。記述しないと、そのデータ項目を参照している手続きが、翻訳エラーとなります。

逆に、モジュールのプロパティ設定ダイアログボックスで、[一般]タブの[スクリプト言語]が"1 - OOCOBOL言語仕様"である場合、GLOBAL句を記述する必要はありません。GLOBAL句を記述すると翻訳エラーとなります。

共通内部プログラム(手続き部

フォーム内で利用する共通内部プログラムは、以下のどちらかの方法で作成します。

ただし、そのフォーム中で共通の内部プログラムを使用しない場合、作成する必要はありません。

新規作成する方法

以下の操作により、共通内部プログラムを新規に作成できます。

通常、共通内部プログラムを作成する場合は、この方法を使用してください。

  1. フォームのポップアップメニューの[手続き部の編集]サブメニューから[新規作成]コマンドを選択します。

  2. 共通内部プログラムを記述します。このとき、見出し部(IDENTIFICATION DIVISION)の記述は不要です。

  3. プロジェクトウィンドウのデザインツリーウィンドウで、スクリプト中にある"FjCobCmpScrN"(Nは正数値)を選択します。

  4. ポップアップメニューから[名前の変更]コマンドを選択し、共通内部プログラム名を入力します。

ポイント

  • 再度、このプログラムを編集する場合は、ポップアップメニューの[手続き部の編集]サブメニューから共通内部プログラム名を選択してください。

  • モジュールのプロパティ設定ダイアログボックスで、[一般]タブの[スクリプト言語]が"0 - COBOL85言語仕様"である場合、この方法で作成したプログラムには、自動的にCOMMON属性が付けられます。

PROCEDUREに記述する方法

以下のような特殊な内部プログラムを作成する場合は、共通内部プログラムをPROCEDUREに記述します。

ここに記述される内部プログラムは、すべての内部プログラムの先頭に位置づけられます。

注意

PROCEDUREに共通内部プログラムを記述する場合、各プログラムには見出し部およびプログラムの終わり見出しが必要です。また、モジュールのプロパティ設定ダイアログボックスで、[一般]タブの[スクリプト言語]が"0 - COBOL85言語仕様"である場合、プログラム名段落には、COMMON属性を付けてください。