付録 A:マスター コピー ファイル RMPANELS.WS

RMPANELS.WS は、RM/Panels を使用する各アプリケーション プログラムの作業場所節にコピーする必要があるマスター コピー ファイルです。プログラムと RM/Panels ランタイム システムとの間でパラメーターを渡すために使用されるパラメーター ブロックが含まれています。

付録 B では、RMPANELS.WS の内容をリストし、このファイルに含まれている各フィールドについて説明します。

注: RMPANELS.WS に含まれている RM/Panels パラメーター ブロックは、呼び出し先プログラムに渡すこともできます。これにより、主要な構成情報を「上位レベル」のプログラムで変更し、そのプログラムが呼び出すすべてのプログラムに変更を反映させることができます。

呼び出し先プログラムでパラメーター ブロックを宣言するには、RMPANELS.WS ではなく RMPANELS.LNK を使用します。RMPANELS.LNKRMPANELS.WS のコピーで、連絡節で正常にコンパイルされるように値句が削除されています (ただし、88 レベルの項目は削除されていません)。RMPANELS.WS は作業場所節では使用しないでください。

別の方法を使用して、RM/Panels パラメーター ブロック内の変更をすべてのプログラムで利用できるようにすることができます。RMPANELS.EXT というファイルを使用すると、すべてのプログラムの作業場所節で RMPANELS パラメーター ブロックを外部変数として宣言できます(RMPANELS.EXTRMPANELS.WS と同じですが、EXTERNAL の宣言が含まれています)。

RMPANELS.EXT を使用する場合は、プログラムが RM/Panels ランタイム システムを呼び出す前に、特定の変数を初期化する必要があります。関係しているプログラムの数にかかわらず、初期化は 1 つのプログラムで一度だけ行う必要があります。パラメーター ブロックの外部宣言により、値が保持されるようになります。次の文によって必要な変数が初期化されます。

次の文は以下のとおり正確に含める必要があります。

MOVE 200 TO RMP--VERSION.
MOVE X"0102030405060708090A0B0C0D0E0F"
    TO RMP--FUNCTION-CODES (1:15).
MOVE X"101112131415161718191A1B1C1D"  
    TO RMP--FUNCTION-CODES (16:14).
MOVE X"F1F2F3F4F5F6F7F8F9" 
    TO RMP--FUNCTION-CODES (30:9).
MOVE X"808182838485868788898A8B8C8D8E8F"
    TO RMP--FUNCTION-CODES (39:16).
MOVE X"909192939495969798999A9B9C9D"  
    TO RMP--FUNCTION-CODES (55:14).
MOVE X"A0A1A2A3"
    TO RMP--FUNCTION-CODES (69:4).
MOVE X"B0B1B3B4B7B8B9BA"
    TO RMP--FUNCTION-CODES (73:8).

次の文は好みに合わせて調整できます。

MOVE "runpan2" TO RMP--RUNTIME.
MOVE SPACE TO RMP--TEMP-FILE-NAME RMP--TEMP-FILE-DIRECTORY.
SET RMP--DEBUG RMP--PROT-PREVENT-CHAR TO TRUE.
SET RMP--GEN-HELP-SUP RMP--FORCE-MONO TO FALSE.
MOVE "001000000000000" TO RMP--HELP-KEY-VALUES.
MOVE "013000000000000" TO RMP--RETURN-KEY-VALUES.
MOVE "053000000000000" TO RMP--NEXT-FIELD-KEY-VALUES.
MOVE "052000000000000" TO RMP--PREV-FIELD-KEY-VALUES.
MOVE "058000000000000" TO RMP--NEXT-GROUP-KEY-VALUES.
MOVE "056000000000000" TO RMP--PREV-GROUP-KEY-VALUES.
MOVE "027000000000000" TO RMP--PULLDOWN-KEY-VALUES.