應用程式事件

應用程式事件是一種商業事件類型,其來自應用程式活動並包含應用程式資料。

您可以指定當應用程式發出任何事件啟用的 EXEC CICS API 指令時,或當起始應用程式時,發出事件。事件啟用的 EXEC CICS® 指令會顯示在擷取點中。有一組有限的 CICS 模組也已啟用事件,使您可以從中擷取事件,例如:來自 Atom 支援的檔案和暫時儲存體指令;由 CICS WebSphere® MQ 橋接器程式發出的 EXEC CICS LINK 指令;來自 CICS 範例和 CECI 交易的指令。

擷取規格會利用過濾器(例如交易 ID、程式名稱或 EXEC CICS 指令選項值),來定義事件發出的準則。可以過濾與指令相關聯的應用程式資料,進一步精簡這個擷取規格。 例如,您可以指定包含訂單值的 COMMAREA 欄位必須大於 10,000。擷取規格也會定義要擷取的資料位置。

應用程式邏輯中的事件位置視如何指定它而定。如果 CICS 應用程式包含相同 EXEC CICS API 指令的兩個實例,而且過濾器規格無法在兩個指令之間區分,則在發出這兩個指令時會發出事件。如果在兩個應用程式中發生相同的 EXEC CICS API 指令,且未過濾交易 ID 或程式名稱,則當這兩個應用程式執行時,就會發出事件。

擷取點

您可以在程式起始 (PGMINIT) 處和下列 EXEC CICS API 指令上擷取事件。可指定的擷取點如下表所示:

表 1. 應用程式事件擷取點
擷取點 主要述詞 過濾述詞 擷取資料
環境定義 事件選項 事件選項 應用程式資料
CONVERSE

交易 ID
現行程式
使用者 ID
回應碼
EIBAID
EIBPOSN

FROM
INTO-SET

DELETE FILE FILE

交易 ID
現行程式
使用者 ID
回應碼

FILE FILE RIDFLD
DELETEQ TD QUEUE

交易 ID
現行程式
使用者 ID
回應碼

QUEUE QUEUE
DELETEQ TS QNAME

交易 ID
現行程式
使用者 ID
回應碼

QNAME QNAME
INVOKE SERVICE SERVICE

交易 ID
現行程式
使用者 ID
回應碼

SERVICEOPERATIONURICHANNELURIMAP

SERVICEOPERATIONURICHANNEL
URIMAP

CHANNELSCOPE

LINK PROGRAM PROGRAM

交易 ID
現行程式
使用者 ID
回應碼

PROGRAMCHANNEL

PROGRAMCHANNEL

COMMAREA
CHANNEL

PROGRAM INIT PROGRAM

交易 ID
使用者 ID
回應碼

PROGRAMCHANNEL

COMMAREA
CHANNEL

PUT CONTAINER CONTAINER

交易 ID
現行程式
使用者 ID
回應碼

CONTAINERCHANNEL

CONTAINERCHANNEL

FROM
READ FILE

交易 ID
現行程式
使用者 ID
回應碼

FILEUPDATE

FILE

RIDFLD
INTO-SET

READNEXT FILE

交易 ID
現行程式
使用者 ID
回應碼

FILEUPDATE

FILE

RIDFLD
INTO-SET

READPREV FILE

交易 ID
現行程式
使用者 ID
回應碼

FILEUPDATE

FILE

RIDFLD
INTO-SET

READQ TD QUEUE

交易 ID
現行程式
使用者 ID
回應碼

QUEUE QUEUE INTO-SET
READQ TS QNAME

交易 ID
現行程式
使用者 ID
回應碼

QNAME QNAME INTO-SET
RECEIVE

交易 ID
現行程式
使用者 ID
回應碼
EIBAID
EIBPOSN

NONE NONE INTO-SET
RECEIVE MAP MAP

交易 ID
現行程式
使用者 ID
回應碼
EIBAID
EIBPOSN

MAPMAPSET

MAPMAPSET

INTO-SET
RETRIEVE

交易 ID
現行程式
使用者 ID
回應碼

NONE NONE INTO-SET
RETURN

交易 ID
現行程式
使用者 ID
回應碼

TRANSIDCHANNEL

TRANSIDCHANNEL

COMMAREA
CHANNEL

REWRITE FILE

交易 ID
現行程式
使用者 ID
回應碼

FILE FILE FROM
SEND

交易 ID
現行程式
使用者 ID
回應碼

NONE NONE FROM
SEND MAP MAP

交易 ID
現行程式
使用者 ID
回應碼

MAPMAPSETALARM

MAPMAPSET

FROM
SEND TEXT

交易 ID
現行程式
使用者 ID
回應碼

ALARM NONE FROM
SIGNAL EVENT 1 EVENT

交易 ID
現行程式
使用者 ID
回應碼

EVENTFROMCHANNEL

EVENTFROMCHANNEL

FROM
FROMCHANNEL

START TRANSID

交易 ID
現行程式
使用者 ID
回應碼

TRANSIDCHANNEL

TRANSIDCHANNEL

FROM
CHANNEL

WEB READ

FORMFIELD
HTTPHEADER
QUERYPARM

交易 ID
現行程式
使用者 ID
回應碼

NONE NONE

FORMFIELD
INTO-SET
VALUE

WEB READNEXT

FORMFIELD
HTTPHEADER
QUERYPARM

交易 ID
現行程式
使用者 ID
回應碼

NONE NONE

FORMFIELD
VALUE

WRITE FILE FILE

交易 ID
現行程式
使用者 ID
回應碼

FILE FILE RIDFLD FROM
WRITE OPERATOR

交易 ID
現行程式
使用者 ID
回應碼

NONE NONE TEXT 2
WRITEQ TD QUEUE

交易 ID
現行程式
使用者 ID
回應碼

QUEUE QUEUE FROM
WRITEQ TS QNAME

交易 ID
現行程式
使用者 ID
回應碼

QNAME QNAME FROM
XCTL PROGRAM

交易 ID
現行程式
使用者 ID
回應碼

PROGRAMCHANNEL

PROGRAMCHANNEL

COMMAREA
CHANNEL

所有擷取點都會定義相同的環境定義擷取項目,即 PROGRAM、TRANSID 與 USERID。

註: 1 SIGNAL EVENT API 指令的唯一用途是提供事件的資料。只有當 CICS 系統中啟用了相符的擷取規格時,才會發出事件。
註: 2 指定資訊來源標籤中的應用程式資料時若長度為 0,表示會一直擷取到資料區或儲存器的尾端。當您想發出 EXEC CICS WRITE OPERATOR 的內容時,即可參考此值。如需相關資訊,請參閱資訊來源標籤
如需您可以選取之擷取點的相關資訊,請參閱 CICS 事件連結編輯器中的擷取點標籤資訊來源標籤