The methodology for supporting CTG and EXCI Requests relies on the use of functionality provided by CICS Event Processing.

This article describes how to configure CICS Event Processing so that it will recognize requests that contain Request Correlation Data and invoke the CTG/EXCI Extractor. The approach outlined assumes that CICS TS version 5.2 (June 2014) or later is being used. In that version (or 5.1 with a PTF), CICS Event Processing was enhanced to permit the specification of DFHMIRS as the Current Program (i.e., DFHMIRS was “event enabled”).

The advantage of using CICS EP is that it supports the concept of an Event Capture Specification, which permits various types of filtering specifications. Thus, the example presented in this section is just one way that CICS EP might be configured to capture CTG and EXCI Requests that contain Request Correlation Data. Regardless of the details of a particular capture specification, the action taken is to invoke the CTG/EXCI Extractor; the Extractor then invokes the Annotator.

All screen shots are taken from CICS Explorer -- an Eclipse-based tool provided by IBM, which runs on a PC workstation. This is the recommended way to configure CICS Event Processing.

The following screen shots illustrate the components of a defined sample Event which will detect CTG and EXCI Requests that contain Request Correlation Data. The information in this section is not meant to be a tutorial on the use of CICS Explorer for configuration of CICS Event Processing. Instead, it is intended to reveal how CICS Event Processing can be used to detect CTG and EXCI Requests that contain Request Correlation Data.

Event Project Explorer

A properly configured event requires two components: An Event Binding specification and an Event Adapter Specification. Our Event Processing project is named htacEvent01. When that project folder is opened, there are two parts related to the Event Adapter and the Event Binding.

Event Binding – General Information

Selecting the Event Binding item causes the Event Binding screen to be displayed:

An Event Binding can include multiple Event Specifications. In our example, we have one: “LINK_from_DFHMIRS”. Due to the similar way in which CTG and EXCI Requests are handled by CICS, a single Event Specification can be used to intercept both types of requests.

Event Specifications

By selecting the LINK_from_DFHMIRS Event Specification, the Specifications screen is then displayed:

A single Event Specification can contain multiple Specifications. One this screen we can see that there are two Specifications defined – One for a LINK with that specifies a Channel to pass data to the user-specified program, and another for a LINK that specifies a COMMAREA.

This panel shows the General attributes that are common to Event Specification, regardless of which specific Specification is triggered. It illustrates that the Emitted Business Information will be a variable named OUSERCOR. Later screens will illustrate how this variable is assigned a value (which will be the Request Correlation Data).

Event Specification 1 - Capture Point

By selecting the LINK_with_DFHMIRS_with_CHANNEL specification, the following screen is displayed:

Note the 3 tabs at the top of the right side: Capture Point, Filtering and Information Sources. This is the Capture Point screen, and indicates that the Event Capture Point within CICS will be before a program LINKs to another program. This specification will be refined on the Filtering screen.

Event Specification 1 - Filtering

By selecting the Filtering tab, the following screen is displayed:

The criteria specified further refine the Capture Point specification. This screen indicates that a LINK from one program to another will only be captured if the Current Program is DFHMIRS. This screen also indicates that a LINK from DFHMIRS to another program will only be captured if a Container by the name of OUSERCOR is included in the set of Containers sent from the CTG or EXCI Client to the user-application program.

Event Specification 1 – Information Sources

By selecting the Information Sources tab, the following screen is displayed:

This indicates that the contents of the Container named OUSERCOR will be assigned to the Emitted Business Information Field named OUSERCOR. This Field was defined on the General event attributes screen as Emitted Business Information. The fact that the Container and the Field are both named OUSERCOR is coincidental and only used to make the example clearer.

Capture Point

We now go back to the Event Specifiations screen and select the other defined Event Specification: LINK_from_DFHMIRS_with_COMMAREA. The following screen is displayed:

Again, note the 3 tabs at the top of the right side: Capture Point, Filtering and Information Sources. This is the Capture Point screen, and indicates that the Event Capture Point within CICS will be before a program LINKs to another program. This specification will be refined on the Filtering screen.

Event Specification 2 - Filtering

By selecting the Filtering tab, the following screen is displayed:  

The criteria specified further refine the Capture Point specification. As before, this screen indicates that a LINK from one program to another will only be captured if the Current Program is DFHMIRS. This screen also indicates, in the Application Data section) that a LINK from DFHMIRS to another program will only be captured if a COMMAREA is present and starts with a particular value.

By selecting this line in the Application Data area, the full details can be seen. The COMMAREA must start with the value “OUSERCOR:”. This in only an example to illustrate the methodology of isolating Request Correlation Data within a COMMAREA.

Event Specification 2 – Information Sources

By selecting the Information Sources tab, the following screen is displayed:

This indicates that 8 bytes from the COMMAREA, starting at offset 9, will be assigned to the Emitted Business Information Field named OUSERCOR. This Field was defined on the General event attributes screen as Emitted Business Information. The fact that the COMMAREA started with characters “OUSERCOR:” and the Field is named OUSERCOR is coincidental and only used to make the example clearer.

Event Adapter Specification

On the Event Binding screen, there is an Adapter tab along the bottom. This tab can be seen on the previous screen shot. By selecting the Adapter tab, the screen below is displayed:

This indicates that if either of the defined Event Specifications are triggered, then they are to be handled by an Event Processing Adapter named eventAdapter1.

Event Adapter Implementation

Returning to the Project Explorer Screen…

… and selecting the Event Adapter item (eventAdapter1) causes the Adapter screen to be displayed:

This Screen defines the actions to be taken by CICS Event Processing when this Adapter is triggered by one of the events. This Adapter is configured to perform a synchronous LINK to program HBZCEP01, which is the CTG/EXCI Extractor. The CTG/EXCI Extractor will receive the Emitted Business Information fields defined in the Event Specification. In our example, there was one field named OUSERCOR. The CTG/EXCI Extractor will extract the Request Correlation Data being passed in this field and invoke the IUT Annotator.

© 2022 HostBridge Technology, LLC
Unless otherwise noted, all rights reserved.