Identify and check Output-Events (EXIEME)

Characteristics

This exit is available in COBOL and C language.

Description

Once the Output-Events have been produced by a Transformation-Rule, this exit can be used to:

  • Format them
  • Check them
  • Assign identifiers to them (Processing-Context-Out and Output-Event processing rules)
  • Enrich them

This feature is also provided in the ITR506 module (version RDJ 1.5.3.2). For more information, refer to section ITR506 compatibility with EXIEEN, EXIERG, and EXIEME

Operating principle

Depending on the implementation:

  • The C version of this exit is called, Output-Event by Output-Event, before identifying the Processing-Context-Out and processing the Output-Event
  • The COBOL version and the version compatible with 1.5.3.2 are called for each group of Output-Events generated, by applying a Transformation-Rule, before identifying the Processing-Context-Out and processing the Output-Events

The enriched data in the Output-Events is kept for the processing applied to the Output-Events and physically written to the output exchange zones.

Note   The COBOL version cannot manage interactive Output-Events.

Specific features

When an Output-Event is checked, the source Input-Event may be set to the anomaly state, in relation to the phase during which processing was performed
or the session may be closed.

Exchanged data for the C version

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/ Length Use

szSourceCode

Alphanumeric / 25

Processing-Context-In code associated with the session

nEntryCode

int

Entry point code

szIEventCode

Alphanumeric / 25

Name of the type of source Input-Event for the Output-Event

szIEventVersion

Alphanumeric / 25

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

  • Date in the YYYYMMDD format
  • Three-digit number

nIEventVersionType

int / 1

Version identification type of the processed Input-Event:

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

szIEventInstCode

Alphanumeric / 34

Impact UTF16
cf Note &1.1

Instance code of the source Input-Event for the Output-Event

szSegtCode

Alphanumeric / 25

Name of the segment on which the Transformation-Rule was applied.

nSegmentNumber

int / 4

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

szDateAppliRegle

Alphanumeric / 10

Rule application date in DD/MM/YYYY format

sSchemeNumber

int / 2

Source Financial-Case number for the Output-Event

sFillingSeqNumber

int / 2

Output-Event creation number

nNeedOSegt

int / 4

Flag that indicates if the Output-Event is to be enriched

sOSegtFormatCode

Alphanumeric / 2

Output-Event segment structure code

sOSegtContaining

Alphanumeric / 4000

Content of the Output-Event to be checked or enriched

nOSegtLenght

int / 4

Length of the Output-Event to be checked or enriched

nNeedCodeDestME

int

Flag indicating whether the Processing-Context-Out code must be set by the exit

szCodeDestME

Alphanumeric / 25

Identified Processing-Context-Out code
(if nNeedCodeDest is set)

nNeedCodeRegleAudit

int / 4

Flag indicating whether the Audit-Rule code must be identified

szCodeRegleAudit

Alphanumeric / 25

Identified Audit-Rule code
(if nNeedCodeRegleAudit is set)

nNeedCodeRegleEquil

int / 4

Flag indicating whether the Balancing-Rule code must be identified

szCodeRegleEquil

Alphanumeric / 25

Identified Balancing-Rule code
(if nNeedCodeRegleEquil is set)

nNeedCodeRegleAgreg

int / 4

Flag indicating whether the Aggregation-Rule code must be identified

szCodeRegleAgreg

Alphanumeric / 25

Code for Aggregation-Rule identified
(if nNeedCodeRegleAgreg is  set)

OUTPUT data

Name in C Characteristics Use

szErrorLabel

Alphanumeric / 50

Description of the anomaly detected

sOSegtContaining

Alphanumeric/ 4000 max

Content of the enriched and checked Output-Event

nOSegtLenght

int / 4

Length of the enriched and checked Output-Event

Return value

 

  • 0 zero (PLG_nNOERREUR)
  • 1 (PLG_nANOMALIE):Request to set the source Input-Event to the anomaly state
  • 9 (PLG_nERREURSYSTEME): If a system error is detected, in which case the session is closed

Exchanged data for the COBOL version

When you program this exit (TRT_ME section), you must use the L10LISTME table contents to process the information in REC-W8TABME table. For performance reasons, only the table entries that have been processed are reinitialized between two calls.

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

L10TYPTRT

9 (1)

Code Entry point

F8CRE

Alphanumeric (4000)

Content of the source segment for the Output-Events

A table composed of 90 occurrences is created, each occurrence is structured as follows:

W8ME

Alphanumeric (4000)

Content of the Output-Event to be checked and enriched.

W8ADGAR

S9(4) COMP

Not used

W8NUMNIV

S9(4) COMP

Not used

W8ADGARNIV

S9(4) COMP

Not used

W8LGMAX

Numeric (4)

Length of the Output-Event to be checked and enriched

W8CDCHARGE

Alphanumeric (1)

Not used

W8CDECLAT

Alphanumeric (1)

Not used

W8CAR

Alphanumeric (1)

Not used

W8CDMAJ

Alphanumeric (1)

Output-Event update code

W8SIGNE-MT

Alphanumeric (1)

Not used

W8CDME

Alphanumeric (3)

Output-Event segment structure code

L10CDREGL

Alphanumeric (5)

Code of the source Transformation-Rule

L10LGCRE

Numeric (4)

Length of the source segment for the Output-Events

L10NOSCHE

Numeric (2)

Source Financial-Case number for the Output-Events

L10NOSEQ-ME

Numeric (2)

Output-Event creation sequence number

OUTPUT data

Name in COBOL Characteristics/ Length Use

L10RETOUR

Numeric (1)

Function return code

 

 

  • 0 zero: Function ends normally
  • 1: Input-Event rejection request
  • 9: If a system error is detected, the session is closed
A table composed of 90 occurrences is created, each occurrence is structured as follows:

W8ME

Alphanumeric (4000)

Content of the enriched and checked Output-Event

W8ADGAR

S9(4) COMP

Not used

W8NUMNIV

S9(4) COMP

Not used

W8ADGARNIV

S9(4) COMP

Not used

W8LGMAX

Alphanumeric (4)

Length of the enriched and checked Output-Event

W8CDCHARGE

Alphanumeric (1)

Not used

W8CDECLAT

Alphanumeric (1)

Not used

W8CAR

Alphanumeric (1)

Not used

W8CDMAJ

Alphanumeric (1)

Output-Event update code

W8SIGNE-MT

Alphanumeric (1)

Not used

W8CDME

Alphanumeric (3)

Output-Event structure code

Implementation

Description conventions

  Description

1.

By default, the return code is 0 (zero)

2.

By default, the Output-Event is identical to the Input-Event

3.

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

4.

Exits in C only

If nNeedCodeDest is undefined (value = 1), the Processing-Context-Out code must be set (this is an identification requirement used in the exit)

5.

Exits in COBOL only

For each of these Output-Events, a CDMAJ code is defined; the values taken into account are as follows:

  • S or space :The associated Output-Event is not generated as output of the session
  • M : The associated Output-Event is generated as output of the session
  • F :The associated Output-Event is generated as output of the session and it is the last one generated by applying the Transformation-Rule

Parameter settings

This exit can be executed during step T.

script.ges file

Keyword Description / Value to be defined
>Configuration< Section

 

Turnoff_Exit_OSegt

  • No: Do not cancel exit execution
  • Yes: Cancel exit execution

sys.dat file

Keyword Description / Value to be defined

> Enrich_ Exit< Section

 

OSegt

  • Yes_C: Execute EXIEME (C) in C
  • Yes_Cobol: Execute EXIEME in COBOL
  • No: Do not execute the exit

Module names

Implementation

Platform Directory Name C Program COBOL Program  Equivalent to C Program

Windows

%RDJ_EXEC%\exit

EXIEMEC.cplgdllh.h header file

EXIEME.cbl

UNIX

$RDJ_EXEC/exit

EXIEMEC.cplgdllh.h header file

EXIEME.cbl

MVS

&RDJEXEC..SRCLIB

EXIEMEC header plgdllh.h file

EXIEME

 

Processing Type Entry Point Label

Open

PLG_nINIT

TRT-INIT (typtrt = 1)

Close

PLG_nFERM

TRT-FIN (typtrt = 3)

Check and enrich Output-Events.

PLG_nIDENT_
ENRICHISSEMENT

TRT-ME (typtrt = 2)

Related Links