EXTERNAL

目的

EXTERNAL 属性は、名前を外部プロシージャー、ダミー・プロシージャー、 ブロック・データ・プログラム単位として指定します。 EXTERNAL 属性を持つプロシージャー名は実引き数として使用できます。

構文



>>-EXTERNAL--+-----+--name_list--------------------------------><
             '- ::-'
 
 

name
外部プロシージャー、ダミー・プロシージャー、 または BLOCK DATA プログラム単位の名前です。

規則

外部プロシージャー名または仮引き数名を実引き数として使用する場合は、EXTERNAL 属性で指定するか、 またはその有効範囲単位内のインターフェース・ブロックで宣言しなければなりません。 ただし、それらの両方で指定することはできません。

1 つの有効範囲単位内で EXTERNAL 属性を持たせて組み込みプロシージャー名 を指定すると、その名前はユーザー定義の外部プロシージャー名になります。 したがって、それと同じ名前の組み込みプロシージャーを、その有効範囲単位から 呼び出すことはできません。

1 つの有効範囲単位内では、1 つの名前に EXTERNAL 属性は 1 回しか 指定できません。

有効範囲単位内のインターフェース・ブロックでは、EXTERNAL ステートメントに指定した名前を、 特定のプロシージャー名として指定することはできません。

EXTERNAL 属性と互換性のある属性





      PROGRAM MAIN
        EXTERNAL AAA
        CALL SUB(AAA)         ! Procedure AAA is passed to SUB
      END
 
      SUBROUTINE SUB(ARG)
        CALL ARG()            ! This results in a call to AAA
      END SUBROUTINE

関連情報

IBM Copyright 2003