RUN TRANSID
启动与父事务异步运行的本地子事务。
语法
条件: CHANNELERR , DISABLED , INVREQ , NOSTART , NOTAUTH 和 TRANSIDERR
此命令是线程安全的。
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
描述
RUN TRANSID 在本地系统上启动任务, (可选) 向其传递通道。 启动式任务 (子任务) 与启动式任务 (父任务) 异步运行,并在与父任务相同的安全上下文中运行。 父任务使用通道将输入数据传递到子任务。 发出 API 命令 FETCH CHILD 或 FETCH ANY 时,父任务将返回响应。
使用 EXEC CICS RUN TRANSID启动子任务时,它将继承父任务的安全上下文。 发出 RUN TRANSID 时将检查安全上下文,并在子任务连接时再次检查安全上下文。 如果子任务没有在给定上下文中运行的权限,那么它将异常终止,并返回代码 AASA。
如果事务 (由 TRANSID 指定) 是使用 DYNAMIC (YES) 定义的,那么将忽略此选项,并且不会作出路由决策。
选项
- CHANNEL (名称)
- 指定要提供给子任务的通道的名称 (1-16 个字符)。 可接受的字符为 A-Z a-z 0-9 $ @ #./-_ % &?!:| " = ¬,; < >.不允许使用前导字符和内嵌空白字符。 如果提供的名称少于 16 个字符,那么将使用最多 16 个字符的尾部空格来填充该名称。 如果通道不存在,那么将创建该通道。 此新通道将保留在作用域中,直到链接级别发生更改为止。 有关通道作用域的更多信息,请参阅 通道作用域。
通道名称始终采用 EBCDIC。 前面列出的通道名称所允许的字符集包含在所有 EBCDIC 代码页中不具有相同表示法的一些字符。 因此,如果要在不同地区之间运输通道,最好将命名通道的字符限制为 A-Z a-z 0-9 & : =,; < >. - 和 _。
可以指定通道名称 DFHTRANSACTION 以使用事务通道。 当链路级别发生更改时,事务通道不会超出作用域: 在事务中始终可访问该通道。 有关更多信息,请参阅 通道和容器。
发出 RUN TRANSID 命令的程序可以执行下列其中一项操作:- 在发出 RUN TRANSID 命令之前,使用一个或多个 PUT CONTAINER CHANNEL 或 PUT64 CONTAINER 命令创建通道。
- 按名称指定其当前通道。
- 命名当前不存在的通道。 将创建新的空通道。
将为子任务提供通道容器 (及其包含的数据) 的 副本 。 当发出 RUN TRANSID 命令时进行复制。
- CHILD (数据区)
- 指定 16 个字符的二进制数据区, CICS® 将在其中放置表示子任务的子令牌。 子代令牌用于指代子代任务,通过FETCH CHILD等API命令从子代任务获取响应。
- TRANSID (名称)
- 指定要作为 RUN 命令的结果启动的本地事务的符号标识 (1-4 个字符)。
条件
- 122 通道错误
- RESP2 值:
- 1
- CHANNEL 选项上指定的通道包含不正确的字符或字符组合。
- 84 已禁用
- RESP2 值:
- 50
- 已禁用指定的事务。
- 16 INVREQ
- RESP2 值:
- 17 日
- 启动的事务未启用关闭,并且 CICS 区域正在关闭。 如果 RUN 命令对于 CICS处理无效,那么也会发生 INVREQ (未设置RESP2 )。
- 19
- 在事务终止期间发出了 RUN TRANSID。
- 6.2 后来 10 不启动
- 在废弃启动任务的请求时发生。
- 70 NOTAUTH
- RESP2 值:
- 101
- 与发出任务关联的用户无权运行子任务。
- 28 跨铁
- RESP2 值:
- 1
- RUN TRANSID 命令中指定的事务标识未定义到 CICS。
- 11
- 指定的事务定义为远程事务。
