recordName.resourceAssociation

当程序对记录执行 I/O 操作时,该 I/O 是对一个物理文件进行的,该物理文件的名称包含在特定于记录的变量 recordName.resourceAssociation 中。该变量是根据在生成时使用的 resourceAssociation 部件进行初始化的;有关详细信息,请参阅资源关联和文件类型。在运行时,可以通过在 resourceAssociation 中指定另一个值来更改系统资源名称。

在大多数情况下,必须使用语法 recordName.resourceAssociation。但是,如果 EGL 可以确定您打算使用的记录,则不需要指定记录名,在下列每种情况下均如此:

可以将 resourceAssociation 用作下列任何一项:

resourceAssociation 的特征如下所示:
基本类型
CHAR
数据长度
随文件类型的不同而有所变化
跨段保存?

定义注意事项

移到 recordName.resourceAssociation 中的值必须是系统和文件类型的有效系统资源名称,该系统和文件类型是在生成程序时指定的。如果多个记录指定了相同的文件名,则对任何具有该文件名的记录修改 resourceAssociation 时,都将更改程序中所有具有同一文件名的记录的 resourceAssociation 设置。

在修改该特定于记录的变量时,如果在 resourceAssociation 设置中标识的系统资源已打开,则在下列情况下将关闭该变量包含的系统资源:对一条记录运行 I/O 选项,该记录的 EGL 文件名与用于限定 resourceAssociation 的记录的 EGL 文件名相同。

如果两个程序正在使用同一个 EGL 文件名,则每个特定于记录的 resourceAssociation 变量都必须包含同一个值。否则,当打开新的系统资源时,将关闭先前打开的系统资源。

对于 resourceAssociation 与另一个值的比较,仅当完全匹配时才得到 true 结果。例如,如果用小写值来初始化 resourceAssociation,则小写值只与小写值相匹配。

在程序之间共享的文件

可以在生成时或运行时设置系统资源名称:
在生成时
如果同一运行单元中的两个程序访问同一个逻辑文件,则在生成时必须对该逻辑文件指定相同的系统资源名称,以确保两个程序在运行时访问同一个物理文件。
在运行时
如果使用 recordName.resourceAssociation,则每个访问该文件的程序都必须为该文件设置 resourceAssociation。如果同一运行单元中的两个程序访问同一个逻辑文件,则每个程序都必须将 resourceAssociation 设置为相同的系统资源名称,以确保两个程序在运行时访问同一个物理文件。

如果系统资源由多个程序共享,则每个访问该资源的程序都必须设置 resourceAssociation 才能引用同一资源。并且,如果同一运行单元中的两个程序访问同一个逻辑文件,则每个程序在生成时都必须将 resourceAssociation 设置为同一系统资源名以确保两个程序在运行时访问同一系统资源。

MQ 记录

MQ 记录的系统资源名定义了队列管理器名和队列名。按以下格式指定名称:

  queueManagerName:queueName
queueManagerName
队列管理器的名称。
queueName
队列的名称。

如上所示,名称是通过冒号隔开的。但是,可以省略 queueManagerName 和冒号。系统资源名称被用作特定于记录的 resourceAssociation 项的初始值,它标识与记录相关联的缺省队列。有关更多详细信息,请参阅 MQSeries® 支持

示例

  if (process == 1)
    myrec.resourceAssociation = "myFile.txt";
  else
    myrec.resourceAssociation = "myFile02.txt";
  end

相关参考

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.