各プロシージャ ブロックにより、そのプロシージャ ブロックで宣言された名前が認識されるプログラム テキストの個別の領域が確立されます。この領域を「範囲」と呼びます。名前の範囲は、その名前が意味を持ち、その名前を参照できるプログラムの領域として定義されます。
名前の範囲には、その名前が宣言されたプロシージャと、そのプロシージャに含まれるすべてのプロシージャ (同じ名前が再宣言されたプロシージャを除く) が含まれます。次に例を示します。
A: PROCEDURE; DECLARE (X,Y) FLOAT; . . . B: PROCEDURE; DECLARE X FILE; DECLARE Z FIXED; . . . END B; END A;
この例では、Y の範囲にはプロシージャ A とプロシージャ B の両方が含まれます。FLOAT としての X の範囲はプロシージャ A のみで、FILE としての X の範囲はプロシージャ B です。Z の範囲はプロシージャ B であるため、プロシージャ A から Z を参照することはできません。プロシージャ名 B の範囲にはプロシージャ A とプロシージャ B の両方が含まれます。