START CHANNEL

启动任务,将其传递到通道。

语法

START CHANNEL

读取语法图跳过可视语法图STARTTRANSID( 名称)CHANNEL( 名称)TERMID( 名称)USERID( data-value)SYSID( 系统名称)NOCHECKPROTECT

条件: CHANNELERR , INVREQ , ISCINVREQ , NOTAUTH , RESUNAVAIL , SYSIDERR , TERMIDERR , TRANSIDERR 和 USERIDERR

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

描述

START CHANNEL 在本地或远程系统上启动任务,并向其传递通道。

通常,启动任务使用通道将数据传递到启动任务 (尽管在某些情况下通道可以为空; 请参阅 CHANNEL 选项的描述)。 启动任务还可以指定要由启动任务用作其主体设施的终端。

例如,启动式任务可以执行以下操作:
  1. 使用 ASSIGN CHANNEL 命令可发现已传递给它的通道的名称。
  2. 使用 STARTBROWSE CONTAINER CHANNELGETNEXT CONTAINER 命令来浏览通道中的容器。
  3. 使用 GET CONTAINER CHANNELGET64 CONTAINER 命令来访问容器中的数据。
必须先满足以下约束,然后才能启动要运行的事务:
  • 如果指定 TERMID 选项,那么指定的终端必须存在且可用。 如果指定的终端不存在,那么将废弃 START。
  • START CHANNEL 不支持 IMS; 即,不能使用 START CHANNEL 在远程 IMS 系统上启动事务。

每个 START CHANNEL 命令都会导致启动单独的任务。

指定了 TERMID 的 START 不会传播源数据记录 (ODR) ,因此任务始终在新的源点启动。

START 命令启动的动态路由事务

START 命令子集启动的某些事务可以动态路由到远程区域。 有关动态事务路由的常规信息,以及有关 START 命令启动的哪些事务适合动态路由的特定信息,请参阅 START 命令调用的路由事务

没有异常条件的 START 故障

在以下情况下, START 命令会运行而不会发生错误,但不会执行已启动的任务:
  • 当事务或其初始程序在 CICS® 尝试创建任务时不可用时。
  • 当 START 指定在 CICS 尝试创建任务时未定义 (并且 XICTENF 或 XALTENF 出口无法找到) 的终端时。
  • 如果请求的终端在 START时不存在,那么您将获得 TERMIDERR 条件。 但是,如果终端稍后变为不可用,就像用户注销一样,那么将废弃 START 请求,并且不会发生 TERMIDERR。

这些风险是由于运行 START 命令与创建任务的时间之间的延迟导致的。 即使在 START CHANNEL 请求上,当 START 始终是立即执行时, CICS 也可能会延迟创建任务,因为必需的终端不可用或由于其他系统约束。

您可以使用 INQUIRE 命令来确保在执行 START 命令时启用事务和程序,但在创建任务之前,任一命令都可能变为不可用。

选项

CHANNEL (名称)
指定要使其可用于启动式任务的通道的名称 (1-16 个字符)。 可接受的字符为 A-Z a-z 0-9 $ @ #./-_ % &?!:| " = ¬,; < >.不允许使用前导字符和内嵌空白字符。 如果提供的名称少于 16 个字符,那么将使用最多 16 个字符的尾部空格来填充该名称。 如果通道不存在,那么将创建该通道。 此新通道将保留在作用域中,直到链接级别发生更改为止。 有关通道作用域的更多信息,请参阅 通道作用域

通道名称始终采用 EBCDIC。 前面列出的通道名称所允许的字符集包含在所有 EBCDIC 代码页中不具有相同表示法的一些字符。 因此,如果要在不同地区之间运输通道,最好将命名通道的字符限制为 A-Z a-z 0-9 & : =,; < >. - 和 _。

可以指定通道名称 DFHTRANSACTION 以使用事务通道。 当链路级别发生更改时,事务通道不会超出作用域: 在事务中始终可访问该通道。 有关更多信息,请参阅 通道和容器

发出 START 命令的程序可以执行下列其中一项操作:
  • 在发出 START 命令之前,使用一个或多个 PUT CONTAINER CHANNELPUT64 CONTAINER 命令创建通道。
  • 按名称指定其当前通道。
  • 命名当前不存在的通道。 将创建新的空通道。

将为启动式任务提供通道容器 (及其包含的数据) 的 副本 。 当发出 START 命令时进行复制。

无法通过指定 INTERVALATFORUNTIL 来延迟指定通道的 注: 所有 EXEC CICS START 请求,因为这不受支持。
NoCheck
指定对于远程系统, CICS 通过提供较少的错误检查和稍少的功能来提高 START 命令的性能。 有关更多信息,请参阅 提高系统间 START 请求的性能
保护
指定在启动任务获取同步点之前不启动新任务。 如果在执行同步点之前启动任务异常终止,那么将取消启动新任务的请求。 如果启动的事务是远程事务,那么 PROTECT 指定在本地事务成功完成同步点之前不得对其进行调度。 有关带有远程事务的 PROTECT 选项的更多信息,请参阅 提高系统间 START 请求的性能
SYSID (systemname)
指定将请求定向到的系统的名称。
TERMID (名称)
指定与要作为 START 命令的结果启动的事务相关联的主体设施的符号标识 (1-4 字母数字字符)。 此主体设施可以是终端 (通常情况下) 或 APPC 会话。 在指定 APPC 会话的情况下,将使用连接 (或方式集) 名称来代替终端标识。 当要启动的事务必须与终端通信时,需要此选项; 否则应省略此选项。

必须将终端标识定义为运行 START 命令的系统上的本地或远程终端。

在收集的先前中继段数据中使用 TERMID 选项。 有关更多信息,请参阅 先前中继段数据特征

如果使用身份传播,请勿使用 TERMID 选项。

TRANSID (名称)
指定要由作为 START 命令结果启动的任务运行的事务的符号标识 (1-4 字符)。

如果指定 SYSID 并命名远程系统,那么将假定该事务位于该系统上,而不考虑该事务是否定义为远程事务。 否则,将使用事务定义来确定事务是在本地系统还是远程系统上。

TRANSID 选项用于收集的先前中继段数据。 有关更多信息,请参阅 先前中继段数据特征

USERID (data-value)
如果已启动事务未与终端关联 (即,未指定 TERMID 时) ,那么指定要在其权限下运行已启动事务的用户标识。 此用户标识称为 userid1

如果同时省略 TERMID 和 USERID ,那么 CICS 将改为使用用于运行发出 START 命令的事务的用户标识。 此用户标识称为 userid2

通过使用 userid1userid2 CICS 确保启动的事务始终以有效用户标识运行,该用户标识必须有权使用启动的事务所引用的所有资源。

CICS 对 userid2 执行代理安全性检查,以验证此用户是否有权使用 userid1。 如果未授权 userid2 ,那么 CICS 将返回 NOTAUTH 条件。 如果省略了 USERID ,那么此处不会执行代理检查。

如果您正在使用身份传播,请勿使用 USERID 选项。

条件

122 通道错误
RESP2 值:
1
CHANNEL 选项上指定的通道包含不正确的字符或字符组合。
16 INVREQ
RESP2 值:
9
命令上指定的选项不兼容。
17 日
STARTed 事务未启用关闭,并且 CICS 区域正在关闭。
18
指定了 USERID ,但未初始化 CICS 外部安全性管理器接口。
200
START 命令由分布式程序链接 (DPL) 服务器程序发出,并使用 TERMID 选项,该选项的值与系统间会话的标识相匹配。 其中 TERMID 等于 EIBTRMID (即,发出任务的主要设施是会话而不是终端) , START TERMID 不在 DPL 服务器程序允许的命令子集中。

如果 START 命令对于 CICS处理无效,那么也会发生 INVREQ (未设置RESP2 )。

缺省操作: 异常结束任务。

54 ISCINVREQ
当远程系统指示不符合已知条件的故障时发生。

缺省操作: 异常结束任务。

70 NOTAUTH
RESP2 值:
7
对 TRANSID (名称) 执行资源安全性检查失败。
9
对 USERID (name) 进行代理用户安全性检查失败。

发出该命令的事务的安全访问功能不允许使用 USERID 选项中指定的值执行该命令。 RACF® 根据用户安全以及是否使用了链接安全或执行诊断设施(EDF)确定了事务的安全访问能力。

缺省操作: 异常结束任务。

121 库存可用
RESP2 值:
121
要启动的事务所需的资源在目标区域上不可用。 RESUNAVAIL 条件仅适用于 动态路由的非终端相关 EXEC CICS START 请求。

如果 XICERES 全局用户出口程序指示目标区域上的必需资源不可用,那么将在 EXEC CICS START 命令 由目标区域中的镜像运行上返回 RESUNAVAIL。 不会将其返回到应用程序。

缺省操作: 针对路由选择失败重新调用分布式路由程序。

53 个 SYSIDERR
在以下所有情况下发生:
  • SYSID 选项指定既不是本地系统也不是远程系统 (通过定义 CONNECTION 使 CICS 知道) 的名称。
  • 指向远程系统的链接已知,但不可用。

在所有先前的情况下,错误的性质由 EIBRCODE 的第二个字节指示。

以下错误由 RESP2 值指示:
1
动态路由程序拒绝了 START 请求。
2
使用了 CHANNEL 选项,并且已将 START 请求交付或路由到不支持该请求的远程系统。 (仅限 MRO 连接)。

缺省操作: 异常结束任务。

20
指定了 CHANNEL 选项,并且将通过 LUTYPE61 连接来交付 START 请求。 无法通过 LUTYPE61 连接交付 START CHANNEL 请求。
11 个 TERMIDERR
START 命令中的终端标识未定义到 CICS。

缺省操作: 异常结束任务。

28 跨铁
START 命令中指定的事务标识未定义到 CICS。

缺省操作: 异常结束任务。

69 个用户标识
RESP2 值:
8
RACF不知道指定的 USERID。
10
RACF 处于以下状态: CICS 无法确定指定的 USERID 是否有效。

缺省操作: 异常结束任务。