在我们的AS / 400上我们有一个测试环境和生产环境。 一旦我们测试了我们的程序工作,我们可以把他们在生产环境中。 这两种环境中包含一个类似的集合库。
基本的机制来告诉我们的节目,在他们的工作环境,是用于他们运行的作业liblists。这伟大工程,对于一些事情,但对于其他人没有。 因此,我们经常通过对作业提交程序的参数,它告诉程序在任何测试或生产环境中工作。 这惹恼了我的地狱,因为我的程序总是要随身携带整个整个执行时间这个参数,甚至常常把它传递给其他程序。 有时,初始程序甚至不需要信息本身,但仍然有把它作为一个参数,因为它调用了一个程序,它需要它。
提出的具体问题,我面对:一个更大过程的各个部分通过dataqueues我们整个系统正往往是做之间的通信。 根据liblist作品就像一个魅力读取特定DTAQ,只需调用RCVDTAQ
在DTAQ的名称,liblist需要选择正确的LIB的照顾。 写作也是如此进入DTAQs。
但有时计划有可能创造收听或写入之前一个新的DTAQ。 现在,这并不符合我们的布局和liblists工作。 想想看这样的:
PROD-liblist:
PPGMLIB1
PPGMLIB2
PDFILELIB1
PDTAQLIB1
P...
...
TEST-liblist
TPGMLIB1
TPGMLIB2
TDFILELIB1
TDTAQLIB1
T...
...
现在我的计划应该建立在DTAQ ?DTAQLIB1
,在那里?
应为P
或T
。
我的第一个想法是要经过liblist并查找条目PDTAQLIB
或TDTAQLIB
,并采取以先到者为准-但比我无法弄清楚如何到(因此我的连接问题: 我怎样才能读取liblist从ILE-计划?(优选RPG或CL)内 )。
我知道我可能实现通过检查我的目标,即用户拥有当前的工作,但会通过liblists打破我们选择库的逻辑(如我们目前的解决方法一样)。
有什么我失踪? 一些特殊的方式来调用CRTDTAQ
也许,或一些特殊的API来做到这一点liblist比较,我试图写?