The PROCEDURE REFERENCE ARRAY declaration declares a procedure reference array, which is a structure that allows a group of like procedures to be treated as a single entity. A procedure in the group can be invoked by referencing an element of the procedure reference array. An imported procedure reference array declaration is allowed only inside a connection block type.
<procedure reference array declaration>
──┬─<local procedure reference array declaration>────┬─────────────────┤ ├─<global procedure reference array declaration>───┤ └─<imported procedure reference array declaration>─┘
<local procedure reference array declaration>
──┬──────────────────┬─ PROCEDURE ── REFERENCE ── ARRAY ──<identifier>─►
└─<procedure type>─┘
►─ [ ──<bound pair list>── ] ─┬─────────────────────────┬─ ; ── NULL ──┤
└─<formal parameter part>─┘<procedure reference array identifier>
An identifier that is associated with a procedure reference array in a PROCEDURE REFERENCE ARRAY declaration.
<global procedure reference array declaration>
──┬──────────────────┬─ PROCEDURE ── REFERENCE ── ARRAY ──<identifier>─►
└─<procedure type>─┘
►─ [ ─┬─<bound pair list>──┬─ ] ─┬─────────────────────────┬─ ; ───────►
└─<lower bound list>─┘ └─<formal parameter part>─┘
►─ EXTERNAL ───────────────────────────────────────────────────────────┤<imported procedure reference array declaration>
──┬──────────────────┬─ PROCEDURE ── REFERENCE ── ARRAY ──<identifier>─►
└─<procedure type>─┘
►─ [ ──<bound pair list>── ] ─┬─────────────────────────┬─ ; ──────────►
└─<formal parameter part>─┘
►─ IMPORT─T
<procedure reference array designator>
──<procedure reference array identifier>─┬─────────────────────┬───────┤
└─<subarray selector>─┘<procedure reference array row>
──<procedure reference array identifier>─┬────────────────┬────────────┤
└─<row selector>─┘<procedure reference array element>
┌◄───── , ────┐ ──<procedure reference array identifier>── [ ─┴─<subscript>─┴─ ] ──────┤

