覆盖 CICS生成的 TERMID

如果您正在使用 CICS生成的 TERMID ,并且在可安装客户机终端的每个区域上指定了不同的前缀 (为虚拟终端保留) ,那么在安装虚拟终端的区域中,或者在不同区域将客户机定义交付到同一 AOR 时,不应存在名称冲突。

但是,如果您正在使用 CICS生成的 TERMID ,那么服务器程序不得依赖于以一致方式分配给特定客户机终端的 TERMID。

客户机发送 CICS®_EpiDelTerminal 请求,用户关闭客户机终端仿真器或客户机本身,或者发生连接故障时,可以删除客户机终端。 重新安装时, CICS 不一定会生成与先前相同的 TERMID。 例如,在以下情况下,这可能会产生问题:
  • 您的服务器程序从 TERMID 派生临时存储器队列名称 (使每个队列与特定用户相关联)。 如果事务结束时未删除队列 (可能是由于发生故障) ,那么可能会发生数据不匹配问题。

    最佳解决方案是让应用程序在创建临时存储器队列之前始终检查是否已存在同名的队列,如果已存在,请将其删除。 但是,如果您有大量服务器应用程序,那么可能无法检查或更改所有这些应用程序。

  • 您的服务器程序记录 TERMID 以供以后使用。 例如,应用程序可能会发出 EXEC CICS START TERMID 命令,该命令具有一个时间间隔,在该时间间隔之后将针对指定的终端启动事务。 如果在延迟时间间隔内删除虚拟终端并使用其他 TERMID 重新安装,那么启动的事务可能会失败,因为 TERMID 不再存在。

如果无法重写服务器程序,那么可能需要自动安装控制程序为 CICS生成的 TERMID 创建别名。 例如,它可以使用映射文件将特定别名与特定客户机工作站 (由连接名称标识) 关联。

如果服务器程序位于后端 AOR 上,那么在提供虚拟终端时,将在 AOR 中调用自动安装控制程序,就像针对任何其他提供的定义一样。 如果需要,可以将别名终端标识分配给交付的定义。 (有关编写控制程序以安装交付的定义的详细信息,请参阅 编写程序以控制交付的终端的自动安装。)