PROCEDURE REFERENCE ARRAY Declaration

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>─┴─ ] ──────┤