Aggregate Input-Events (EXAEEN)

This exit is available in COBOL (ITR025) and C language.

Note   Restriction: This exit is only available in File mode.

Characteristics

Description

This exit is used to enrich or check the content of Input-Event segments:

  • Before they are aggregated
  • After they are aggregated
  • If they are passed to the aggregation function but must not be aggregated

Operating principle

The exit is called for each detail or aggregated segment in the session.

This exit is always called before extracting the segment trace, if an audit rule is in Input-Event pre-processing.

Specific features

When these segments are checked, the current Input-Event may be rejected
or the session may be closed. The subsequent functions in the processing phases are then applied to the enriched contents of the Input-Event segments output by this exit.

Exchanged data

Five entry points are available:

  • Init: Called before reading the first Input-Event segment
  • Detail: Called for an Input-Event segment before it is aggregated
  • Aggregated: Called for an Input-Event segment resulting from an aggregation
  • Non_aggregated: Called for an Input-Event segment on which there has been no aggregation
  • Close: Called after processing the last Input-Event segment

Alphanumeric fields may have different descriptions depending on the programing language and the Latin or UTF-16 format used. For more information, refer to Exits and external calls.

INPUT data

Name in C Characteristics Use

szSourceCode

Alphanumeric / 25

Processing-Context-In code associated with the session (only data available on initialization)

nEntryCode

Numeric / 1

Entry point code

szIEventCode

Alphanumeric / 25

Name of the type of processed Input-Event

szIEventVersion

Alphanumeric / 25

Reference value defining the version of the processed Input-Event:

  • Date in YYYYMMDD format
  • Three-digit number

cIEventClassVersion

Alphanumeric / 1

Version identification type of the processed Input-Event:

  • 1: Version defined by number
  • 2: Version identified by the date value (above)

szInstanceCode

Alphanumeric / 34

Instance code of the processed Input-Event

nSegmentNumber

Numeric / 4

Segment number in the processed Input-Event (nth segment)

szSegmentCode

Alphanumeric / 2

Segment code of the processed Input-Event

szRulesAppliDate

Alphanumeric / 10

 

Rule application date in DD/MM/YYYY format

szAggregRuleCode

 

Alphanumeric / 25

Name of the Aggregation-Rule to be applied (empty for entry_code = Non_Aggregated)

lAggregEndRuleDate

Alphanumeric / 10

Validity end date (in DD/MM/YYYY format) of the Aggregation-Rule to be applied
(empty for entry_code = Non_Aggregated)

Segment

Alphanumeric / 4000 max.

Content of the segment to be enriched or checked

nSegmentLenght

Numeric / 4

Length of the segment to be enriched or checked

 

OUTPUT data

Name in C Characteristics Use

Segment

Alphanumeric / 4000 max.

Content of the enriched and checked segment

nSegmentLenght

Numeric / 4

Length of the enriched and checked segment

szErrorLabel

Alphanumeric / 200

Error message (if a system error is detected or the Input-Event rejected)

Return value

 

  • 0 (EXI_nNOERREUR)
  • 1 (EXI_nREJET), Input-Event rejection request
  • 9 (EXI_nERREURSYSTEME), if a system error is detected, in which case the session is closed

Compatibility with RDJ version 1.5.3.2 (ITR025)

Five entry points are available:

  1. Initialize the module and open the files
  2. Called for each segment before the aggregation process, it is used to enrich the segment with the name of the aggregation rule to be applied for example Restriction: This entry point is only valid for the 1.5.3 version (not used in the Rule Engine version)
  3. Called for an Input-Event segment resulting from the aggregation process
  4. Called for an Input-Event segment to be aggregated before the aggregation process
  5. Close the files

Alphanumeric fields may have different descriptions depending on the programing language and the Latin or UTF-16 format used. For more information, refer to Exits and external calls.

INPUT data

Name in COBOL Characteristics / Length Use

L10CRE-1

Aphanumeric / 4000

Content of the segment to be enriched or checked

L10TYPTRT

9 (1)

Type of processing to be performed

L10LGCRE

9 (4)

Length of the segment to be enriched or checked

 

OUTPUT data

Name in COBOL Characteristics/ Length Use

L10CRE-1

Alphanumeric / 4000

Content of the enriched and checked segment

L10LGCRE

9 (4)

Length of the enriched and checked segment

L10CDRET

9 (2)

Function return code:

  • 0 (zero): Function successful
  • 1: Input-Event rejection requested
  • 9: System error (the session is closed)

L10MSG1

Alphanumeric /72

Error message (if the return code is not zero)

Implementation

Description conventions

  Description

1.

The identifiers set in the communication zone cannot be changed
If the values are changed, they are ignored when the session is executed

2.

By default, the return code is 0 (zero)

3.

By default, the output segment is identical to the input segment

4.

If you request that the Input-Event be rejected (return code = 1) or if there is a program error, you must set the error message field

Parameter settings

The exit can only be executed if Input-Event aggregation is enabled

sys.dat file

Keyword Description/ Value to be defined
>ScriptConfiguration< Section

 

I_Exit_Aggregation_Ievent

  • Yes_C: Execute EXAEEN exit
  • Yes_Cobol: No COBOL program exist
  • Yes_rdj53: Executes ITR025.cbl
  • No: Do not execute the exit

Module names

Implementation

Platform Directory / Library Name C Program COBOL Program  Compatible with 1.5.3.2

Windows

%RDJ_EXEC%\exit

EXAEENC.c
exidllh.h header file

ITR025.cbl

UNIX

$RDJ_EXEC/exit

EXAEENC.c
exidllh.h header file

ITR025.cbl

MVS

&RDJEXEC..SRCLIB

EXAEENC
exidllh.h header file

ITR025

 

Processing Type Label Entry Point

Open

TRT-INIT (typtrt = 1)

EXI_nINIT

Close

TRT-FIN (typtrt = 9)

EXI_nFERM

Assign an Aggregation-Rule code

TRT-CDREGL (typtrt = 2)

1.5.3 version only

 

Process segment before aggregation

TRT-CTRLDET (typtrt = 4)

EXI_nDETAIL

Process segment resulting from aggregation

TRT-CTRLCRE (typtrt = 3)

EXI_nAGREGE

Related Links