START CHANNEL
启动任务,将其传递到通道。
语法
条件: CHANNELERR , INVREQ , ISCINVREQ , NOTAUTH , RESUNAVAIL , SYSIDERR , TERMIDERR , TRANSIDERR 和 USERIDERR
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
描述
START CHANNEL 在本地或远程系统上启动任务,并向其传递通道。
通常,启动任务使用通道将数据传递到启动任务 (尽管在某些情况下通道可以为空; 请参阅 CHANNEL 选项的描述)。 启动任务还可以指定要由启动任务用作其主体设施的终端。
- 使用 ASSIGN CHANNEL 命令可发现已传递给它的通道的名称。
- 使用 STARTBROWSE CONTAINER CHANNEL 和 GETNEXT CONTAINER 命令来浏览通道中的容器。
- 使用 GET CONTAINER CHANNEL 或 GET64 CONTAINER 命令来访问容器中的数据。
- 如果指定 TERMID 选项,那么指定的终端必须存在且可用。 如果指定的终端不存在,那么将废弃 START。
- START CHANNEL 不支持 IMS; 即,不能使用 START CHANNEL 在远程 IMS 系统上启动事务。
每个 START CHANNEL 命令都会导致启动单独的任务。
指定了 TERMID 的 START 不会传播源数据记录 (ODR) ,因此任务始终在新的源点启动。
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 CHANNEL 或 PUT64 CONTAINER 命令创建通道。
- 按名称指定其当前通道。
- 命名当前不存在的通道。 将创建新的空通道。
将为启动式任务提供通道容器 (及其包含的数据) 的 副本 。 当发出 START 命令时进行复制。
无法通过指定 INTERVAL, AT, FOR 或 UNTIL 来延迟指定通道的 注: 所有 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。
通过使用 userid1 或 userid2 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 是否有效。
缺省操作: 异常结束任务。
