PARM および PLIST を使用したパラメーターの受け渡し

固定形式呼び出しを使用してパラメーターを渡す場合には、 PARM および PLIST 命令を使用してパラメーターを渡さなければなりません。 すべてパラメーターは参照によって渡されます。操作記述子の受け渡しを指定することができ、 またパラメーターの省略も指示できます。

PARM 命令の使用

PARM 命令はプロシージャーで受け渡しが行われるパラメーターを識別するため に使用されます。 各パラメーターは別々の PARM 命令で 定義されます。 結果のフィールドにパラメーターの名前を指定します。すなわち、この名前は 呼び出す / 呼び出されるプロシージャーにおける名前と同じである必要はありません。

演算項目 1 および演算項目 2 は任意指定で、変数またはリテラルを指 示します。これらの値は、これらの項目が呼び出すプログラム/プロシージャーか、あるいは 呼び出されるプログラム/プロシージャーにあるか によって、結果フィールドに渡されたり、あるいは結果フィールドから受け取られます。 表 29 は、演算項目 1 と演算項目 2 が使われる方法を示します。

表 29. PARM 命令の演算項目 1 および演算項目 2 の意味
状況 演算項目 1 演算項目 2
呼び出し元
プロシージャー
戻り時に結果フィールドから転送される値。 呼び出し時に結果フィールドに入れられる値。
呼び出される
プロシージャー
呼び出し時に結果フィールドから転送される値。 戻り時に結果フィールドに入れられる値。
注:
演算項目 1 または結果フィールドへの転送が行われるのは、 呼び出されたプロシージャーが正常に呼び出し元に戻った時だけです。データを転送しようとした時にエラーが起こった場合 には、転送は完了しません。

プロシージャーの呼び出し時に十分なパラメーターが指定されていない場合 には、未解決のパラメーターが呼び出されたプロシージャーによって使用され た時にエラーが起こります。 エラーを避けるためには次のどちらかを 行うことができます。

PARM 命令を指定する時には、次の点に留意してください。

PARM 命令の例については、次の図を参照してください。

PLIST 命令の使用

PLIST 命令は、次のことを行います。

PLIST 命令の演算項目 1 には PLIST 名が入っていなければなりません。 この名前は 1 つ以上の呼び出し命令の結果フィールドで指定することができます。 パラメーター・リストが呼び出されたプロシージャーの 入り口パラメーター・リストの場合には、演算項目 1 に *ENTRY が 入っていなければなりません。

プロシージャーに複数の PLIST を指定することができます。 しかし、*ENTRY PLIST は 1 つだけで、 メイン・プロシージャーにだけ指定することができます。

PLIST 命令の例については、図 47図 137 を 参照してください。