RPGIV编程问题百解(14)Activation Group与ODP
问题:
我用subfile写了一个维护程序,编译时用默认值的AP。在多用户操作下,上下翻页都工作正常。
然而,最近我看了有关Activation Group的文档,AP对在此之下使用的每个文件都提供一条专用的ODP指针。这件就意味着如果有两个程序都在这个AG下使用一个文件时,一个程序在内存中开闭一个运行空间使用这个ODP;另外一个程序在另外一处内存开辟运行空间,同时使用这个ODP。在这种情况下,这个翻页的程序还会工作正常吗?
解答一:
对OPM程序来说,在编译参数若选择Files _sharing ODP_,及_default_Act_Grp *YES,程序将会工作如你期待。如果参数选择Dft_Act_Grp *NO等,就会发生你问题中的疑虑。
解答二、(passthru的解答)
对ILE模式的程序,如果不是采用AG为*NEW,对同一个文件来说,ODP是一样的,读取文件记录的指针,受约于系统分配给程序的ID,即与AG为默认值下的操作是一样的。
对于AG为*NEW的程序,对同一个文件来说,ODP都是单独的。都使用在不同的AG下。
阅读(1052) | 评论(0) | 转发(0) |