Kun*_*oy 0 rpg rpgle ibm-midrange
我有一个关于激活组的疑问。
如果我用 DFTACTGRP(*NEW) 声明一个程序,系统会为其创建一个激活组,并在程序结束后销毁该激活组。
假设该程序调用另一个程序,其中激活组定义为 DFTACTGRP(*CALLER)。因此,被调用的程序将使用系统生成的第一个程序的激活组,还是将在其自己的系统生成的新激活组中运行。
任何消除这个疑问的答案都会非常有帮助。
如果使用 ACTGRP(*NEW) 创建的 PGMA 调用使用 ACTGRP(*CALLER) 创建的 PGMB。然后 PGMB 将在为 PGMA 创建的新激活组中运行。
此外,如果 PGMC ACTGRP(*NEW) 也被 PGMA 调用,并且 PGMC 调用 PGMB,那么您将运行两个 PGMB 副本,一份在 A 的激活组中,一份在 C 的激活组中。
只需确保您没有通过命名不当的选项调用DFTACTGRP(*YES)用ACTGRP(*CALLER).
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |