RUN TRANSID

启动与父事务异步运行的本地子事务。

语法

RUN TRANSID

读取语法图跳过可视语法图RUNTRANSID( 名称)CHANNEL( 名称)CHILD( data-area)

条件: CHANNELERR , DISABLED , INVREQ , NOSTART , NOTAUTH 和 TRANSIDERR

此命令是线程安全的。

NOHANDLERESPRESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.

描述

RUN TRANSID 在本地系统上启动任务, (可选) 向其传递通道。 启动式任务 (子任务) 与启动式任务 (父任务) 异步运行,并在与父任务相同的安全上下文中运行。 父任务使用通道将输入数据传递到子任务。 发出 API 命令 FETCH CHILDFETCH 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 CHANNELPUT64 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 不启动
在废弃启动任务的请求时发生。
RESP2 值:
1
已达到指定事务所属的 TRANCLASS 的 PURGETHRESH 限制,将废弃该请求 (如 PURGEACTION DISCARD 所设置)。
70 NOTAUTH
RESP2 值:
101
与发出任务关联的用户无权运行子任务。
28 跨铁
RESP2 值:
1
RUN TRANSID 命令中指定的事务标识未定义到 CICS。
11
指定的事务定义为远程事务。