将 CICSPlex SM 与 REXX 配合使用

您可以从 REXX 程序调用 CICSPlex ® SM API 命令。

命令格式

可以使用 REXX ADDRESS 命令或使用 EYUAPI () 函数将 API 命令从 REXX 传递到 CICSPlex SM

REXX ADDRESS 命令
REXX ADDRESS 命令的格式如下:
   ADDRESS CPSM 'command option(arg)...'

此调用 API 的方法调用 CICSPlex SM 主机子命令环境。

EYUAPI () 函数
或者,可以使用 CICSPlex SM提供的 EYUAPI () 函数:
   var = EYUAPI('command option(arg)...')

此方法调用 CICSPlex SM REXX 函数包。

请注意,通过这两种方法,您可以输入大写或小写文本。

示例:
以下是从 REXX 程序发出 API 命令的示例:
   var = EYUAPI('CONNECT'              ,
                'CONTEXT('WCONTEXT')' ,
                'SCOPE('WSCOPE')'     ,
                'VERSION(0630)'      ,
                'THREAD(THRDTKN)'     ,
                'RESPONSE(RESPVAR)' ,
                'REASON(REASVAR)')
      .
      .

参数值

CICSPlex SM API 充分利用标准 REXX 变量接口。

data-value 参数被视为字符输入。 二进制数据 (包括 EYUDA 和 CVDA 值) 将转换为相应的内部格式。 未转换用户令牌。
数据参考

主要用于将数据从 CICSPlex SM 传递到程序的接收 (或发送和接收) 参数。

data-ref 自变量必须是可用于接收结果输出的指定变量。 输出数据将根据情况进行转换:
  • 字符数据未转换; 数据将按实际情况放入变量中。
  • 二进制数据转换为显示格式 (十进制) 并放入变量中。
  • 用户令牌未转换; 令牌值将按实际情况放入变量中。
  • 地址值未转换; 指定的存储缓冲区将直接放入一个或多个变量中。

在某些情况下,您可以使用 data-ref 自变量在 CICSPlex SM 向您返回其输出之前向 CICSPlex SM 提供输入 (FETCH 命令中的 COUNT 选项是此示例)。 如果可以提供 data-ref 自变量作为输入,那么必须为该自变量指定变量。 如果不想指定输入值,那么应初始化变量。

数据区

用于标识包含数据的缓冲区的发送或接收参数。 data-area 自变量必须是指定的变量。

对于可接收多个资源表记录的输出缓冲区, CICSPlex SM 会创建 (或填充) 主干变量以保存数据。 主干数组的零条目指示数组中的条目数。

例如,在名为 W_INTO_EVALDEF 的词干变量中, W_INTO_EVALDEF.0 条目包含返回的 EVALDEF 资源表记录数。 条目 W_INTO_EVALDEF.1 到 W_INTO_EVALDEF.n 包含实际资源表记录。

无论实际输出是单个记录还是多个记录,都将创建一个词干变量。

ptr-ref

用于将指针值从 CICSPlex SM 传递到程序的接收参数。

ptr-ref 自变量必须是可用于接收结果输出的指定变量。 正在传递的数据是十六进制地址的字符表示。

cpsm-token

用于传递由 CICSPlex SM生成的标识令牌的发送或接收参数。

cpsm-token 自变量必须是指定的变量。 令牌未转换; 令牌值将按实际情况放入变量中。

注: CICSPlex SM 返回的每个变量 (或词干变量) 都包含整个资源表记录。 可以使用 TPARSE 命令将记录拆分为各个字段。 有关此命令的说明,请参阅 REXX 功能和命令