CICS flattened event (CFE) format

The CICS® Flattened Event (CFE) format option specified assembles the event context and data values as a programming data structure.

You specify the event format you want to use by using the event binding editor. For more information about adapter properties and supported formats, see Specifying EP adapter and dispatcher information in the CICS Explorer product documentation.

The CFE format has a static portion containing context data and a dynamic portion containing the data specific to each event.

The data can be consumed by using one of the mapping structures shown in the following table, in conjunction with a layout of the named event defined in the event binding editor:
Table 1. Mapping structures
Name Language Library
DFHEPFED Assembler SDFHMAC
DFHEPFEH C/C++ SDFHC370
DFHEPFEL PL/I SDFHPL1
DFHEPFEO COBOL SDFHCOB
The EPFE structure consists of contextual data associated with the event. For example:
  • EPFE
    • EPFE_Context_Data
      • The event context identifier.
      • The event context version.
      • The event context event binding name.
      • The event binding user tag.
      • The event business name.
      • The network unit of work ID.1
      • The network qualified applid.
      • The capture date and time.2
      • The capture specification name.
Note:

1The network unit of work ID is set to binary zeros (NULL) for a policy event or system event.

2 All events are emitted with Coordinated Universal Time (UTC) timestamps in RFC3339 format.

The dynamic portion of the event follows EPFE_Context_Data in a section called EPFEEventData. This data is in a non-XML, text-based format. The length and order of each item in the EPFEEventData section is as defined in the event specification. The length and order of the items is specified in the Emitted Business Information section in the event binding editor.

You can use the event binding editor to export a COBOL copybook that describes the EPFEEventData portion of the CFE event. If you have an event binding that was not created by using the event binding editor, you can load it into the event binding editor to export the corresponding copybook, or to get the expected contents of the event from the EventInformationItem details in the event binding.

When a format length is specified as Automatic in the Emitted Business Information table in the event binding editor, this indicates that the length of the emitted business information item is derived from the length and type of the captured field. (When there is more than one capture specification, the first one is used.) This is useful for avoiding the situation where the specified length is too small, which results in the data being truncated or emitted as asterisks.

Another option, the capture length specified for a data item in the capture specification Information Sources, is where a length of 0 means capture up to the end of the data area or container. This is useful when emitting, for example, the contents of a container regardless of its length.

When the event binding editor cannot determine the length required for the emitted business information, an error window opens on the copybook export and a copybook cannot be created. This is the case, for example, when the format length for a CHAR or HEX item is Automatic and the capture length is 0. You should specify a nonzero length for the emitted data item; otherwise, any application that consumes the event needs to know how to interpret the data items. Similarly, when floating point data is formatted as numeric or text, the length of the emitted business information depends on the value of the data field and is not known until run time. You should specify a nonzero length and possibly also a precision value for the emitted business information item.

When null-terminated strings are captured, the formatted event data is not null-terminated, so that the processing program can use the correct function for character arrays that are not null-terminated. The data types in DFHEPDE are CHARZ or HEXZ (rather than CHAR or HEX) so that the EP adapter can create the null-terminated item again, if required.

Truncated data is handled in the following ways:
  • Numeric data where the size exceeds the value of the Format length field is emitted as asterisks, to indicate that an overflow has occurred. The Format length is the length specified for the Emitted business information field in the event binding editor.
  • Text data where the size exceeds the value of the Format length field is truncated.
  • Hex data which is of the type Hexadecimal in the capture specification and which exceeds the value of the Format length field is truncated if the format type is Character, or it is emitted as asterisks if the format type is numeric.