Page History
...
- 別のプロセスまたはファンクションを呼び出すときは、パラメータを使用しないことを強くお勧めします。代わりに交換リストを使用してください。
- 別のLANSAプロセスを呼び出すときは、渡すパラメータの数およびタイプ(すなわち、数値か文字か)が、プロセスで要求されるものと正確に一致している必要があります。
- 呼び出されるプロセスまたはファンクションに渡すパラメータとして、フィールド名、英数字リテラル、数値リテラル、システム変数、またはプロセス・パラメータを使用できます。
- プロセスに数値パラメータが定義されている場合、これらのパラメータは常にパック10進数であることに注意してください。そのため、LANSAプロセスに渡す数値パラメータも、長さおよび小数点以下桁数が同じパック10進数である必要があります。この規則に従わないと、予期しない結果になる可能性があります。
- 同じ名前のフィールドが含まれる複数のデータ構造を同じファンクション内で使用すると、予期しない結果になる可能性があります。
- 現行リリースのLANSAでは、別のプロセスまたはファンクションに渡されたパラメータは、そのプロセスまたはファンクションから戻りません。ただし、CALLコマンドの直前にEXCHANGEコマンドを使用することで、ファンクションに情報を渡し、そのファンクションから情報を戻すことができます。この方法の詳細については、EXCHANGEコマンドのセクションを参照してください。
- PASS_DSパラメータで指定されたデータ構造によって参照される各物理ファイルは、操作可能な状態である必要があります。操作可能でないと、予期しない結果になります。
- 以下のように、コンパイル済みのRDMLファンクション(FUNCAなど)の実行中に、このファンクションからCALLコマンドを実行して、FUNCBという別のRDMLファンクションを呼び出すとします。
CALL PROCESS(TEST) FUNCTION(FUNCB)...
- FUNCB (FUNCBであることに注意) にコマンド FUNCTION OPTIONS(*DIRECT) を組み込み、再コンパイルします。これにより、FUNCB でダイレクト・モードの呼び出しが可能になり、いかなる形でもFUNCBに影響しなくなります。
- 以下のように、FUNCA 内のCALLコマンドを変更します。
CALL PROCESS(*DIRECT) FUNCTION(FUNCB)...