2017-03-16 40 views
1

QILE的激活组名称根据保罗的Tuohy的style guide,和其他来源我敢肯定,我读过之前,默认激活组QILE应避免创建ILE RPG时程式。但是,谷歌搜索这个问题,我似乎无法找出原因。当创建ILE RPG程序为什么要默认避免

根据this pdf presentation QILE是经常使用的系统,可这究竟是为什么应该避免?

Here是QILE被激活组的一个好的选择,但没有给出的理由的参考。

+0

一个丑陋的风格指南开始寻找和来到一系列的月份名称,并决定风格指南不适合我。 – danny117

回答

2

我认为这是我发起这个想法,即选择QILE不是最好的主意。我坚持认为,特别是如果你作为Mark提到的第三方应用程序,或者即使你做或可能使用使用QILE的第三方应用程序。

如果我没有任何特别的理由选择一个激活组而不是另一个激活组,我会拥有自己的非特定激活组而不是使用QILE。

+1

我会避免使用它,仅仅是因为我无法预测其他流程可能在同一个AG中做什么(或'到')。同样,如果我不能依靠在我使用RCLACTGRP只影响我的东西时,我感到紧张。 – user2338816

4

从链接的样式指南中可以看出,Paul Tuohy反对QILE仅仅是因为它是默认的激活组名称,并且没有其他原因。他真的反对人们不是故意选择一个命名的激活组名称。

这是在没有采取护理措施选择激活组时使用的激活组。如果护理不采取选择激活组,护理可能没有被采取在应用的其他方面......

如果我使用的命名激活组我一般会用QILE作为命名激活组。原因是没有特殊情况,没有理由不使用它。如果我有特殊情况,那么我会使用反映特殊情况的命名激活组。例如,我曾创建一个消息代理,它使用处理特定消息类型的退出程序进行操作。当他们结束时我没有结束退出计划。这具有提高下一次通话性能的效果,因为程序不必重新初始化。这也有保持某些文件打开的效果。我有一个要求,有时我需要锁定退出程序打开的某些文件。为了获得该锁,需要在消息代理作业中关闭这些文件。但是消息代理作业既不知道已经运行了哪些退出程序,也不知道退出程序打开了哪些文件。为了解决这个问题,我把这些退出程序放在他们自己的激活组中,我可以回收它来关闭任何文件。通过挂起消息代理并回收特殊激活组,我能够关闭退出程序保持打开的所有文件。我的其他程序现在可以锁定文件。当我完成时,我恢复了消息代理,退出程序在需要时重新锁定。

的一点是,你应当以故意要使用哪个激活组。我更愿意在CLP中使用* NEW开始一个过程,* CALLER使用所有被调用的程序和服务程序。 * NEW让我脱离默认的激活组,并进入一个新的激活组,它将以启动它的程序结束。 * NEW还可以让RPG程序递归调用。但我不喜欢在任何地方使用*新功能,因为这会导致过度激活组的创建,并且激活有点费时,特别是如果您经常这样做。了解你的应用程序,并设计一个激活组策略。如果你这样做,QILE可以成为它的一部分,你不会有任何意外。

现在,如果您正在开发由第三方使用的应用程序,则QILE可能不是一个好主意,因为当其他人在您不知情的情况下回收激活组时,您可能会产生意想不到的后果。或者你可能会回收他人的激活组,或者你可能无法完成所需的回收。在这种情况下,最好避免使用QILE,因为大多数使用名称激活组的人只使用QILE,并且不想影响无法控制的应用程序。

+0

感谢您提供详细的答案和有趣的引用,而我一直在研究QILE AG,我发现它也出现在“您可以通过RPG IV实现的新功能 - https://www.redbooks.ibm.com/redbooks/pdfs /sg245402.pdf Paul Tuohy是其中一位作者 – mike