AS400的基本问题



给出usropn和自动打开文件之间有什么区别?这更有效。因为程序本身在I/O操作期间打开它,我们必须给Usropn什么。请以示例向我解释..

如usropn关键字的文档中所述的目的是对文件的第一个打开(rpg)控制。

例如:

  • 使用ADDPFM在运行时创建新文件成员。
  • 使用OVRDBF在运行时选择特定文件,成员或更改其他文件参数。
  • 在将记录读取到程序之前,请使用opnqryf进行对文件进行排序,过滤或以其他方式操作。

区别是"定时"。在计算规格开始运行之前,自动打开。当您在计算规范中执行打开指令时,就会发生USROPN。

除非已知周围的编程,否则more effective也不是。当您需要他们的行为时,每个都会有效。实际上,这两个实际上都不是必需的,因为可以使用替代编程方法,例如,在调用RPG程序之前设置覆盖层,以便忽略Usropn。

请记住,usropn对文件何时获取封闭没有影响。关闭文件的RPG规则对于所有文件都是相同的。http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzasd/impcls.htm

除了其他人提供的东西...

一个考虑因素:使用usropn是 emand 确保声明的文件为>不自动打开。编码用户开放规范是确保文件永远不会打开的唯一有效的方法。不论周期性与线性如何,afaik。
http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzasd/sc09250895.htm#wq136

模拟文件的隐式打开 ...

如果在特定的处理过程中未对任何I/O引用该文件,则无需打开声明的文件。由于缺少文件的隐式打开,根据USROPN规范,该文件的开放数据路径(ODP)的创建。>

不必要地打开数据库文件成员,即ODP的创建是 empenth的。因此,如果当程序具有无意在ODP上执行I/O的代码路径时,则最好避免ODP创建。同样... USROPN规范允许延迟开放,直到需要打开,允许可能永远不会针对该文件发出OPEN。当I/O可能从未引用的文件缺少USROPN规范时,该文件将被隐式打开,这意味着尽管从未使用过ODP,但仍会创建ODP;即,该计划将对毫无疑问进行浪费昂贵的操作,然后可能还会为隐性关闭的关闭活动支出。
http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzasd/sc09250896.htm#wq137

文件的隐含关闭 ...

是一个切线的考虑:通过相同的控制方式,存在机会有效地成为 onzemand ,而不是产生在初始化阶段采取的操作的费用;即,避免活动为前负载。在某些程序中,延迟公开的能力可能具有价值。

相关内容

  • 没有找到相关文章

最新更新