应用程序事件
应用程序事件是业务事件的一种类型,源于应用程序活动,并包含应用程序数据。
您可以指定在应用程序发出任何启用了事件的 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 命令时捕获事件。 下表中显示了可以指定的捕获点:
| 捕获点 | 主谓词 | 过滤器谓词 | 捕获数据 | ||
|---|---|---|---|---|---|
| 上下文 | 事件选项 | 事件选项 | 应用程序数据 | ||
| 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。
注:
- 对于 JCICS com.ibm.cics.server.Container 类,可以使用 PUT64 CONTAINER 捕获点捕获两个 put 方法和 putString 方法。
- SIGNAL EVENT API 命令的唯一用途是提供事件的数据。 仅当在 CICS 系统中启用了匹配的捕获规范时,才会发出事件。
- 在 "信息源" 选项卡中指定应用程序数据时,长度为 0 表示捕获到数据区或容器的末尾。 当您想要发出 EXEC CICS WRITE OPERATOR的内容时,此值很有用。 有关更多信息,请参阅 CICS Explorer 产品文档中的 "信息源" 选项卡。
有关您可以选择的捕获点的更多信息,请参阅 CICS Explorer 产品文档中的 "捕获点" 选项卡 和 CICS Explorer 产品文档中的 "信息源" 选项卡。