INVOKE APPLICATION
调用应用程序入口点程序。 EXEC CICS INVOKE APPLICATION 允许通过命名对应于应用程序入口点之一的操作来调用应用程序,而不必知道应用程序入口点程序的名称,并且无论该程序是公共程序还是专用程序。
应用程序必须处于 AVAILABLE 状态。 如果应用程序的多个版本处于 AVAILABLE 状态,那么应用程序的最高版本的入口点程序是公共程序,因此可以使用 EXEC CICS LINK 命令链接到这些程序。 INVOKE APPLICATION 命令允许通过指定版本以及操作来调用应用程序的较低版本,这对应于专用入口点程序。
描述
INVOKE APPLICATION 命令链接到本地程序,该程序是指定操作的指定应用程序的入口点。 它将控制从一个逻辑级别的应用程序传递到下一个较低逻辑级别的应用程序。
此命令在当前平台上下文中运行。 如果该命令未指定平台名称,那么将使用当前平台名称。 如果没有当前平台,那么该命令将失败,响应为 APPNOTFOUND。
有关更多信息以及如何使用 EXEC CICS INVOKE APPLICATION 命令的示例,请参阅 调用多版本化应用程序。
选项
- APPLICATION(名称)
- 指定应用程序的名称 (1-64 个字符)。 可接受的字符为: a-z A-Z 0-9。 _ # @-
- CHANNEL(名称)
- 指定要提供给被调用程序的通道的名称 (1-16 个字符)。 The acceptable characters are: A-Z a-z 0-9 $ @ # / % & ? ! : | " = ¬ , ; < > . - _. Leading and embedded blank characters are not permitted. 如果提供的名称少于 16 个字符,那么将使用最多 16 个字符的尾部空格来填充该名称。 如果该通道不存在,那么将创建该通道。 此新通道将保留在作用域中,直到链接级别发生更改为止。 有关通道作用域的更多信息,请参阅 通道作用域。
通道名称始终采用 EBCDIC。 前面列出的通道名称所允许的字符集包含在所有 EBCDIC 代码页中不具有相同表示法的一些字符。 Therefore, if channels are to be transferred between regions, it is advisable to restrict the characters that are used to name them to A-Z a-z 0-9 & : = , ; < > . - and _.
可以指定通道名称 DFHTRANSACTION 以使用事务通道。 当链路级别发生更改时,事务通道不会超出作用域: 在事务中始终可访问该通道。 有关更多信息,请参阅 通道和容器。
发出 INVOKE 命令的程序可以执行下列其中一项操作:- 已使用一个或多个 PUT CONTAINER CHANNEL 或 PUT64 CONTAINER 命令创建通道。
- 按名称指定其当前通道。
- 命名当前不存在的通道。 将创建新的空通道。
- COMMAREA (数据区)
- 指定要提供给被调用程序的通信区域。 在此选项中,将传递数据区,并且您必须在接收程序中为其指定名称 DFHCOMMAREA。 请参阅 将数据传递到其他程序 。
- EXACTMATCH
- 指定需要与应用程序主版本号和次版本号完全匹配。 如果找不到,那么将返回 APPNOTFOUND 条件。注: 没有微版本的匹配条件。 始终使用最高的微版本。
- LENGTH (data-value)
- 指定半字二进制值,该值是 COMMAREA (通信区域) 的长度 (以字节计)。 如果要在任意两个 CICS ® 服务器之间传递 COMMAREA (对于产品,版本和发行版的任意组合) ,那么此值不得超过 24 KB。 此限制允许 COMMAREA 和头的空间。
确保指定的值与在 COMMAREA 中传递的数据的长度相匹配。 请勿为 LENGTH 指定 0 (零) ,因为生成的行为不可预测,并且 EXEC CICS LINK 命令可能失败。
使用 COMMAREA 传递数据时,链接到的程序必须验证任务的 EIB 中的 EIBCALEN 字段是否与程序期望的匹配。 差异可能导致存储器违例或系统故障。 有关更多信息,请参阅 COMMAREA。
- MAJORVERSION (data-value)
- 将应用程序的主要版本号指定为全字二进制值。
如果指定了 MAJORVERSION ,那么还必须指定 MINORVERSION。 如果未指定版本,那么将调用应用程序的最高主版本和次版本。
- MINIMUM
- 指定指定的次要版本号是必需的最小值,但使用更高版本 (如果可用)。 如果有多个更高的次版本可用,那么将使用最高版本。 这仅适用于次版本号。 不能超过主要版本号,必须完全匹配。 如果不存在更高的次要版本,也不存在所需的最低次要版本,那么将返回 APPNOTFOUND 条件。注: 没有微版本的匹配条件。 始终使用最高的微版本。
- MINORVERSION (data-value)
- 将应用程序的次版本号指定为全字二进制值。
如果指定了 MINORVERSION ,那么还必须指定 MAJORVERSION。 如果未指定版本,那么将调用应用程序的最高主版本和次版本。
EXACTMATCH 或 MINIMUM 关键字指定主版本和次版本的匹配条件。
- OPERATION(名称)
- 指定应用程序入口点程序实现的应用程序操作的名称 (1-64 个字符)。 可接受的字符为: a-z A-Z 0-9。 _ # @-
- PLATFORM(名称)
- 指定安装应用程序的平台的名称 (1-64 个字符)。 可接受的字符为: a-z A-Z 0-9。 _ # @-
如果未指定平台名称,那么将使用当前平台名称。 如果没有当前平台,那么该命令将失败,响应为 APPNOTFOUND。
条件
- 127 APPNOTFOUND
- RESP2 值:
- 1
- 指定了 EXACTMATCH 关键字,但找不到所需的应用程序版本。
- 2
- 指定了 MINIMUM 关键字,但找不到应用程序的最低级别或更高的微版本。
- 3
- 未指定版本。 找不到应用程序。
缺省操作: 异常结束任务。
由于以下原因,可能找不到应用程序:- 应用程序未处于 AVAILABLE 状态。
- 指定的操作与应用程序的入口点程序不对应。
- 该应用程序未安装在此平台上。
- CICS 区域不是指定的平台名称的一部分。
- 122 CHANNELERR
- RESP2 值:
- 1
- CHANNEL 选项上指定的名称包含无效字符或字符组合。
缺省操作: 异常结束任务。
- 16 INVREQ
- RESP2 值:
- 1
- 未指定平台名称,并且没有当前平台。
- 2
- 应用程序入口点程序是 Java™ 程序,但找不到用户类。
- 3
- 应用程序入口点程序是 Java 程序,但找不到 JVMSERVER。
- 4
- 应用程序入口点程序是 Java 程序,但未启用 JVMSERVER 资源。
缺省操作: 异常结束任务。
- 22 LENGERR
- RESP 2 值:
- 11
- COMMAREA 长度小于 0 或大于允许的长度。
- 26 日
- COMMAREA 地址为零,但 COMMAREA 长度为非零。
缺省操作: 异常结束任务。
- 70 NOTAUTH
- RESP2 值:
- 101
- 对实现指定应用程序的操作的应用程序入口点程序的名称进行资源安全性检查失败。
缺省操作: 异常结束任务。
- 27 PGMIDERR
- RESP2 值:
- 1
- 已禁用应用程序入口点程序。
- 2
- 无法装入应用程序入口点程序
缺省操作: 异常结束任务。
