应用程序事件

应用程序事件是业务事件的一种类型,源于应用程序活动,并包含应用程序数据。
您可以指定在应用程序发出任何启用了事件的 EXEC CICS® API 命令时或在应用程序启动时发出事件。 启用了事件的 EXEC CICS 命令显示在 表 1中。 还启用了一组有限的 CICS 模块,以便您可以从以下位置捕获事件: 来自 Atom 支持的文件和临时存储器命令; CICS-MQ 网桥程序发出的 EXEC CICS LINK 命令; 来自 CICS 样本和 CECI 事务的命令。

捕获规范通过使用过滤器 (例如事务标识,程序名或 EXEC CICS 命令选项值) 来定义事件发出条件。 可以通过过滤与命令关联的应用程序数据来进一步优化此捕获规范。 例如,您可以指定包含订单值的 COMMAREA 字段必须大于 10,000。 捕获规范还定义要捕获的数据的位置。

事件在应用程序逻辑中的位置取决于指定事件的方式。 如果 CICS 应用程序包含同一 EXEC CICS API 命令的两个实例,并且过滤器规范未区分这两个命令,那么发出这两个命令时会发出事件。 如果同一 EXEC CICS API 命令发生在两个应用程序中,并且没有针对事务标识或程序名的过滤器,那么当两个应用程序都运行时将发出事件。

捕获点

您可以在程序启动 (PGMINIT) 和以下 EXEC CICS API 命令时捕获事件。 下表中显示了可以指定的捕获点:

表 1. 应用程序事件捕获点
捕获点 主谓词 过滤器谓词 捕获数据
上下文 事件选项 事件选项 应用程序数据
CONVERSE
事务标识
当前程序
用户标识
响应代码
EIBAID
EIBPOSN

INTO-SET
DELETE FILE FILE
事务标识
当前程序
用户标识
响应代码
FILE FILE RIDFLD
DELETEQ TD QUEUE
事务标识
当前程序
用户标识
响应代码
QUEUE QUEUE
DELETEQ TS QNAME
事务标识
当前程序
用户标识
响应代码
QNAME QNAME
INVOKE SERVICE SERVICE
事务标识
当前程序
用户标识
响应代码
服务
OPERATION
URI
CHANNEL
URIMAP
服务
OPERATION
URI
CHANNEL
URIMAP
通道
作用域
LINK PROGRAM PROGRAM
事务标识
当前程序
用户标识
响应代码
程序
通道
程序
通道
COMMAREA
通道
PROGRAM INIT PROGRAM
事务标识
用户标识
响应代码
程序
通道
COMMAREA
通道
放入容器 #dfhep_applicationevents__PUT64-CONTAINER-note CONTAINER
事务标识
当前程序
用户标识
响应代码
容器
通道
容器
通道
FROM
PUT64 集装箱 #dfhep_applicationevents__PUT64-CONTAINER-note CONTAINER
事务标识
当前程序
用户标识
响应代码
容器
通道
容器
通道
FROM
READ FILE
事务标识
当前程序
用户标识
响应代码
文件
更新
FILE
ridfld
into-set
READNEXT FILE
事务标识
当前程序
用户标识
响应代码
文件
更新
FILE
ridfld
into-set
READPREV FILE
事务标识
当前程序
用户标识
响应代码
文件
更新
FILE
ridfld
into-set
READQ TD QUEUE
事务标识
当前程序
用户标识
响应代码
QUEUE QUEUE INTO-SET
READQ TS QNAME
事务标识
当前程序
用户标识
响应代码
QNAME QNAME INTO-SET
RECEIVE
事务标识
当前程序
用户标识
响应代码
EIBAID
EIBPOSN
NONE NONE INTO-SET
RECEIVE MAP MAP
事务标识
当前程序
用户标识
响应代码
EIBAID
EIBPOSN
地图
MAPSET
地图
MAPSET
INTO-SET
RETRIEVE
事务标识
当前程序
用户标识
响应代码
NONE NONE INTO-SET
RETURN
事务标识
当前程序
用户标识
响应代码
TRANSID
通道
TRANSID
通道
COMMAREA
通道
REWRITE FILE
事务标识
当前程序
用户标识
响应代码
FILE FILE FROM
SEND
事务标识
当前程序
用户标识
响应代码
NONE NONE FROM
SEND MAP MAP
事务标识
当前程序
用户标识
响应代码
地图
地图集
警报
地图
MAPSET
FROM
SEND TEXT
事务标识
当前程序
用户标识
响应代码
ALARM NONE FROM
信号事件 #dfhep_applicationevents__SIGNAL-EVENT-note EVENT
事务标识
当前程序
用户标识
响应代码
事件
FROMCHANNEL
事件
FROMCHANNEL

FROMCHANNEL
START TRANSID
事务标识
当前程序
用户标识
响应代码
TRANSID
通道
TRANSID
通道

通道
WEB READ
事务标识
当前程序
用户标识
响应代码
NONE NONE
FORMFIELD
INTO-SET
WEB READNEXT
事务标识
当前程序
用户标识
响应代码
NONE NONE

WRITE FILE FILE
事务标识
当前程序
用户标识
响应代码
FILE FILE RIDFLD FROM
WRITE OPERATOR
事务标识
当前程序
用户标识
响应代码
NONE NONE 文本 3
WRITEQ TD QUEUE
事务标识
当前程序
用户标识
响应代码
QUEUE QUEUE FROM
WRITEQ TS QNAME
事务标识
当前程序
用户标识
响应代码
QNAME QNAME FROM
XCTL PROGRAM
事务标识
当前程序
用户标识
响应代码
程序
通道
程序
通道
COMMAREA
通道

所有捕获点均定义相同的上下文捕获项、PROGRAM、TRANSID 和 USERID。

注:
  1. 对于 JCICS com.ibm.cics.server.Container 类,可以使用 PUT64 CONTAINER 捕获点捕获两个 put 方法和 putString 方法。
  2. SIGNAL EVENT API 命令的唯一用途是提供事件的数据。 仅当在 CICS 系统中启用了匹配的捕获规范时,才会发出事件。
  3. 在 "信息源" 选项卡中指定应用程序数据时,长度为 0 表示捕获到数据区或容器的末尾。 当您想要发出 EXEC CICS WRITE OPERATOR的内容时,此值很有用。 有关更多信息,请参阅 CICS Explorer 产品文档中的 "信息源" 选项卡

有关您可以选择的捕获点的更多信息,请参阅 CICS Explorer 产品文档中的 "捕获点" 选项卡 CICS Explorer 产品文档中的 "信息源" 选项卡