Appendix A: Master Copy File RMPANELS.WS

RMPANELS.WS is a master copy file that must be copied into the Working-Storage Section of each application program that uses RM/Panels. It contains a parameter block used to pass parameters between the program and the RM/Panels runtime system.

Appendix B lists the contents of RMPANELS.WS and describes each field contained in the file.

Note: The RM/Panels parameter block contained in RMPANELS.WS may also be passed to CALLed programs. This allows changes to the key configuration information to be made in a “high level” program and affect all the programs it calls.

To declare the parameter block in a called program, use RMPANELS.LNK instead of RMPANELS.WS. RMPANELS.WS is a copy of RMPANELS.WS with the value clauses removed (but the 88-level items not removed) so that it compiles cleanly in the Linkage Section. Never use RMPANELS.WS in the Working-Storage Section.

Another strategy can be used to make changes in the RM/Panels parameter block available to all programs. You can use a file called RMPANELS.EXT to declare the RMPANELS parameter block as an external variable in the Working-Storage Section of all programs. (RMPANELS.EXT is identical to RMPANELS.WS, but with a declaration of EXTERNAL.)

You must initialize certain variables when using RMPANELS.EXT before any program calls the RM/Panels runtime system. The initialization needs to be done only once by one program no matter how many programs are involved. The external declaration of the parameter block causes the values to be retained. The following statements initialize the necessary variables.

These statements must be included exactly as shown:

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).

These statements can be tailored to your preferences:

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.