7.9.2 CALL についてのコメント/警告

プロセスまたはファンクションの呼び出し

CALL PROCESS(TEST) FUNCTION(FUNCB)

 

この場合、実際には以下の処理が行われます。

                      ____________

                     |            | 

                     |ファンクション|

                     |   FUNCA    |

                     |____________| 

                           |

                         呼び出し

                           |

                      _____|______

                     |            | 

                     |   プロセス  |

                     | コントローラ |

                     |   TEST     |

                     |____________|

                           |

                         呼び出し

                           |

                      _____|______

                     |            | 

                     |ファンクション|

                     |   FUNCB    |

                     |____________|

1.   FUNCB (FUNCBであることに注意) にコマンド FUNCTION OPTIONS(*DIRECT) を組み込み、再コンパイルします。これにより、FUNCB でダイレクト・モードの呼び出しが可能になり、いかなる形でもFUNCBに影響しなくなります。

2.   以下のように、FUNCA 内のCALLコマンドを変更します。

CALL PROCESS(*DIRECT) FUNCTION(FUNCB)

 

      次に、FUNCA を再コンパイルします。これにより、ファンクションFUNCBを、TESTというプロセス・コントローラからではなく、ダイレクト・モードで呼び出すよう指定されます。

      これらの変更を行うと、CALL は以下のように動作します。

                        ____________

                       |            |  

                       |ファンクション|

                       |   FUNCA    |

                       |____________|

                             |

                           呼び出し

                             |

                        _____|______

                       |            |

                       |ファンクション|

                       |   FUNCB    |

                       |____________|

 

ユーザー・プログラムの呼び出し