创建重复对象
Create Duplicate Object (CRTDUPOBJ) 命令创建现有对象的副本。
重复对象具有与原始对象相同的对象类型和权限,并且创建到与原始对象相同的辅助存储池 (ASP) 中。 发出该命令的用户拥有重复的对象。
注: 如果创建日志文件的重复对象,那么重复对象 (文件) 将不具有活动日志记录。 但是,您可以选择此对象以稍后进行日志记录。 如果创建重复的对象,并且该对象 (文件) 没有成员,那么上次使用的日期字段为空,并且使用的天数计数为零。
如果您对对象具有对象管理和使用权限,对要放置重复对象的库使用和添加权限,对存在原始对象的库使用权限,以及对进程用户概要文件添加权限,那么可以复制对象。
要复制权限列表,您必须具有对象的权限列表管理权限以及库 QSYS 的添加和对象操作权限。
仅复制作业队列,消息队列,输出队列和数据队列的定义。 不能将作业队列和输出队列复制到临时库 (QTEMP) 中。 对于物理文件或保存文件,您可以指定是否也要复制文件中的数据。
不能 复制以下对象:
- 服务等级描述(*COSD)
- 集群资源组 (*CRG)
- 配置列表(*CFGL)
- 连接列表(*CNNL)
- 控制器描述 (*CTLD)
- 数据字典 (*DTADCT)
- 设备描述 (*DEVD)
- 数据队列 (*DTAQ)
- 文档 (*DOC)
- 编辑描述 (*EDTD)
- 出口注册 (*EXITRG)
- 文件夹 (*FLR)
- DBCS 字体表 (*IGCTBL)
- 映像目录 (*IMGCLG)
- 因特网包交换描述 (*IPXD)
- 作业调度 (*JOBSCD)
- 日志(*JRN)
- 日志接收器 (*JRNRCV)
- 库 (*LIB)
- 线路描述 (*LIND)
- 方式描述(*MODD)
- 网络接口描述 (*NWID)
- 网络服务器配置 (*NWSCFG)
- 网络服务器描述 (*NWSD)
- 参考码转换表 (*RCT)
- 服务器存储空间 (*SVRSTG)
- 拼写帮助字典 (*SPADCT)
- SQL 程序包 (*SQLPKG)
- SQL XML 模式存储库 (*SQLXSR)
- System/36 机器描述 (*S36)
- 系统操作员消息队列 (QSYSOPR)
- 系统历史记录日志 (QHST)
- 时区描述 (*TIMZON)
- 用户定义的 SQL 类型 (*SQLUDT)
- 用户概要文件 (*USRPRF)
- 用户队列。 (*USRQ)
在某些情况下,通过将 Create Duplicate Object (CRTDUPOBJ) 命令与指定选择值的 Copy File (CPYF) 命令配合使用,您可能只想复制文件中的某些数据。
以下命令将创建订单头物理文件的副本,并复制该文件中的数据:
CRTDUPOBJ OBJ(ORDHDRP) FROMLIB(DSTPRODLIB) OBJTYPE(*FILE) +
TOLIB(DISTLIB2) NEWOBJ(*SAME) DATA(*YES)
创建重复对象时,应考虑创建引用另一个对象的重复对象的后果。 许多对象按名称引用其他对象,其中许多引用由特定库名限定。 因此,重复对象可能包含对存在于与重复对象所在库不同的库中的对象的引用。 对于文件以外的所有对象类型,对其他对象的引用在重复对象中重复。 对于文件,重复对象共享原始文件的格式。
存在于源库中且逻辑文件所基于的任何物理文件也必须存在于目标库中。 将比较源库和源库中物理文件的记录格式名称和记录级别标识; 如果物理文件不匹配,那么不会复制逻辑文件。
如果逻辑文件使用源库中存在的格式选择,那么假定该格式选择也存在于源库中。