调用多版本的应用程序

可以同时在一个平台上安装,启用和提供同一应用程序的两个或多个版本。 如果有多个版本可用,那么调用者可以访问最高可用应用程序版本或使用 EXEC CICS INVOKE APPLICATION 命令来调用特定版本或最低版本。

开始之前

在对程序进行编码之前,您应该知道:
  • 应用程序的名称。
  • 安装它的平台的名称,或者验证它是否安装在当前平台上。
  • 对应于要调用的应用程序的其中一个程序入口点的操作的名称。
  • 要调用的应用程序的确切主版本。
  • 要调用的应用程序的精确或最低次版本。

关于此任务

虽然可以同时在平台上安装,启用和提供同一应用程序的两个或多个版本,但只有其中一个版本对 EXEC CICS LINK 命令可视。 此版本是应用程序的最高主要和次要版本,其入口点是公共的。 因此, EXEC CICS LINK 到入口点程序始终会调用应用程序的最高版本。 应用程序的较低级别的入口点是私有的,因此对于 EXEC CICS LINK不可见。
注: 微版本始终处于隐藏状态,因为它反映了内部更改; 例如,错误修订。 调用者始终获取最新的微版本。
您可以使用 EXEC CICS INVOKE APPLICATION 通过其某个程序入口点来调用应用程序,而不必知道入口点程序的名称,也不必考虑其入口点是否为公共入口点。 如果未指定版本,那么将调用最高主版本和次版本 (公共级别)。 这与对应用程序入口点使用 EXEC CICS LINK 命令的行为相同。 但是,可以使用 EXEC CICS INVOKE APPLICATION 并指定相应的主版本和次版本来调用已启用且可用的较低版本。 您可以指定需要与应用程序主要版本号和次要版本号完全匹配,或者次要版本号是所需的最低版本,但如果有更高的次要版本可用,那么将使用该版本。 如果有多个更高的次版本可用,那么将使用最高版本。 不能超过主要版本号,必须完全匹配。

有关 EXEC CICS INVOKE APPLICATION 命令的完整语法,请参阅 INVOKE APPLICATION

过程

  1. 在程序中,使用 EXEC CICS INVOKE APPLICATION 命令并指定要调用的应用程序的名称。
  2. 向命令添加 OPERATIONPLATFORM 选项 (如果需要)。
    • OPERATION 选项指定应用程序入口点程序实现的应用程序操作的名称。
    • PLATFORM 选项指定安装应用程序的平台的名称。 如果未指定平台名称,那么将使用当前平台名称。
  3. 可选: 马约尔版MINORVERSION 选项以及 精确匹配最小值 关键字添加到命令。
    • MAJORVERSION 选项将应用程序的主要版本号指定为全字二进制值。 如果指定了 MAJORVERSION ,那么还必须指定 MINORVERSION 。 如果未指定版本,那么将调用应用程序的最高主版本和次版本。
    • MINORVERSION 选项将应用程序的次版本号指定为全字二进制值。
    • EXACTMATCH 关键字指定需要与应用程序主版本号和次版本号完全匹配。
    • MINIMUM 关键字指定指定的次版本号是必需的最低版本号,但使用更高版本 (如果可用)。 如果有多个更高的次版本可用,那么将使用最高版本。 这仅适用于次版本号。 不能超过主要版本号,必须完全匹配。
    当您使用 EXACTMATCHMINIMUM 关键字时,没有微型版本的匹配条件。 始终使用最高的微版本。
  4. 可选: COMMAREALENGTH 选项添加到命令。
    • COMMAREA 选项指定要使被调用程序可用的通信区域。 在此选项中,将传递数据区,并且您必须在接收程序中为其指定名称 DFHCOMMAREA。
    • LENGTH 选项指定半字二进制值,该值是 COMMAREA的长度 (以字节计)。 如果要在任何两个 CICS® 服务器之间传递 COMMAREA ,那么此值不得超过 24 KB。
  5. 可选: CHANNEL 选项添加到命令。
    CHANNEL 选项指定要提供给被调用入口点程序的通道的 1 到 16 个字符的名称。 如果该通道不存在,那么将创建该通道。

结果

当程序发出此命令时, CICS 会在相应的入口点调用指定的应用程序。

EXEC CICS INVOKE APPLICATION 示例

Example 1
此示例显示如何调用在当前平台上运行的应用程序,从而传递应用程序主版本号和次版本号的精确匹配:
EXEC CICS INVOKE APPLICATION(PAYROLL)
		OPERATION(APPLY_TAX_CHANGES)
		MAJORVERSION(2)
		MINORVERSION(3)
		EXACTMATCH
其中:
PAYROLL
要调用的应用程序的名称。
APPLY_TAX_CHANGES
要调用的应用程序操作的名称。
2
是要调用的应用程序 PAYROLL 的主要版本。
3
是要调用的应用程序 PAYROLL 的次版本。 这必须完全匹配。
运行此代码时,将调用应用程序 PAYROLL 的 V 2.3.x 的 APPLY_TAX_CHANGES 操作,其中 x 是最高的微级别。
Example 2
此示例显示如何调用在指定平台上运行的应用程序,并指定应用程序的最低次版本:
EXEC CICS INVOKE APPLICATION(PENSIONS)
		OPERATION(UPDATE_PENSIONS)
		PLATFORM(TEST_PENSIONS_PLATFORM)
		MAJORVERSION(4)
		MINORVERSION(2)
		MINIMUM
其中:
PENSIONS
要调用的应用程序的名称。
UPDATE_PENSIONS
要调用的应用程序操作的名称。
TEST_PENSIONS_PLATFORM
安装应用程序的平台的名称。
4
是要调用的应用程序 PENSIONS 的主要版本。
2
是要调用的应用程序 PENSIONS 的最低次版本。 如果存在较高次版本,那么将调用最高次版本。
运行此代码时,将调用 PENSIONS 应用程序的 4.2 或更高版本的 UPDATE_PENSIONS 操作。 例如,如果已启用并提供 PENSIONS 的 V 4.2.4, 4.3.3和 4.4.1 ,那么该命令将导致调用 V 4.4.1 。