复制功能如何将成员添加至目标文件

当成员不存在于目标文件中时,复制功能将它添加至目标文件中。所使用的成员名或者是复制命令的 TOMBR 参数值,或者是在目标文件的覆盖中指定的成员名。

如果在复制命令上指定了 TOMBR(*FROMMBR) 或 TOMBR(*FROMLABEL)(且没有被覆盖),那么对添加至文件的成员使用源文件成员名或标签标识。

如果在复制命令上指定了 TOMBR(*FIRST),或有一个指定了不带 MBR 参数的 TOFILE 参数的覆盖,那么不识别任何成员名。在此情况下复制功能不添加成员,除非下列情况为真:

除 CPYFRMQRYF 命令之外,当复制功能创建目标文件而未指定特定的成员名时,对添加至目标文件的成员使用源文件名。使用 CPYFRMQRYF 命令时,添加至物理文件(该物理文件是由复制操作创建的)的成员的名称由 TOMBR 参数指定。如果指定 TOMBR(*FIRST),那么目标文件成员的名称与在 CPYFRMQRYF 命令的 TOFILE 参数上指定的目标文件名相同。当复制命令创建目标文件并向新文件成员添加记录时,该复制命令忽略 MBROPT 参数值。

如果源文件是数据库文件,那么复制命令将源文件成员的成员文本和 SEU 源类型用于添加至目标文件的成员。如果源文件是设备或内联数据文件,那么复制命令采用消息 CPX0411 中的文本;SEU 源类型为 TXT。如果源文件和目标文件都是数据库源文件,那么添加的成员中的 SEU 源类型信息将与源文件成员相同。当复制命令添加目标文件成员时,复制命令总是对目标文件成员指定 SHARE(*NO) 和 EXPDATE(*NONE) 属性。复制命令还将新成员的创建日期设置为当前系统日期(而不是添加源文件成员时的日期)。

当复制命令将成员添加至作为父文件的目标文件时也建立了约束。