RM/Panels を使用する各アプリケーション プログラムには、マスター コピー ファイル RMPANELS.WS が必要です。
状況によっては、RMPANELS.WS の他のバージョン (RMPANELS.LNK および RMPANELS.EXT) のいずれかを使用する場合もあります。これらのコピー ファイルの使用の詳細については、「付録 A:マスター コピー ファイル RMPANELS.WS」を参照してください。
RMPANELS.WS は、アプリケーション プログラムの作業場所節にコピーする必要があります。マスター コピー ファイルには、アプリケーション プログラムと RM/Panels ランタイム システムとの間でパラメーターを渡すために使用されるパラメーター ブロックが含まれています。RMPANELS.WS の内容の詳細については、付録 A を参照してください。
各アプリケーション プログラムには、使用する各パネルのパネル固有のコピー ファイルのペアも必要です。この 2 つのコピー ファイルがアプリケーション プログラムと RM/Panels ランタイム システムの間のインターフェイスとして機能します。これらのコピー ファイルは、パネルを作成するとパネル エディターで自動的に作成されます。コピー ファイルの名前は、パネル名の最初の 8 文字に拡張子 .WS および .PRC を付けた名前になります。たとえば、MYPANEL という名前のパネルを使用するプログラムでは、次のコピー ファイルが必要になります。
これらのパネル固有のコピー ファイルについての以下の説明では、パネル名を表す変数として MYPANEL を使用しています。
MYPANEL.WS では、アプリケーション プログラムで直接変更または参照する必要がない 100 バイトの作業領域をパネル用に設定します。この作業領域は RM/Panels 専用の領域になります。
MYPANEL.WS には、パネルの各フィールド/コントロールの宣言も含まれています。この領域を MYPANEL-WS と呼びます。これらのフィールドは、COBOL プログラムの作業場所節の他のデータ項目と同じ方法で宣言されます。これらのフィールドの宣言は、フィールド/コントロールの値を RM/Panels で表示する際のソース、および RM/Panels で受け入れる宛先の両方の宣言に使用されます。これらのフィールド/コントロールの順序はパネルの構成に基づいており、手動では変更しないでください。ただし、値についてはフィールド/コントロールの内外にいつでも移動できます。
MYPANEL.WS は、アプリケーション プログラムの作業場所節にコピーする必要があります。
MYPANEL.WS の内容の例:
01MYPANEL-WS. 03 FILLER PIC X(100) VALUE "MYPANEL 0050". 03 CUST-CITY PIC X(15). 03 CUST-NAME PIC X(30). 03 CUST-NUMBER PIC 9(5).
MYPANEL.PRC には、パネルの表示または削除、パネルのフィールド/コントロールの入力など、RM/Panels の標準ランタイム関数を実行するプロシージャが含まれています。MYPANEL.PRC は、アプリケーション プログラムの手続き部にコピーする必要があります。
MYPANEL.PRC の内容の一部の例:
RMP--AF-MYPANEL. CALL RMP--RUNTIME USING RMP--AF RMP--PARAMETERS MYPANEL-WS RMP--EE-MYPANEL. CALL RMP--RUNTIME USING RMP--EE RMP--PARAMETERS MYPANEL-WS
次のサンプル プログラムは、RM/Panels プログラムの最小要件を表示します。このプログラムは MINIMUM という名前で、パネルを表示した後に削除します。MYPANEL.LIB というパネル ライブラリの MYPANEL というパネルを使用しています。
IDENTIFICATION DIVISION. PROGRAM-ID. MINIMUM. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. COPY "RMPANELS.WS". COPY "MYPANEL.WS". PROCEDURE DIVISION. MAIN-PROCEDURE. MOVE "MYPANEL.LIB" TO RMP--LIBRARY. PERFORM RMP--DP-MYPANEL. PERFORM RMP--RP-MYPANEL. STOP RUN. COPY "MYPANEL.PRC".