Show TOC Entering content frame

Object documentation Event Data Container Locate the document in its SAP Library structure

Definition

An event data container holds information passed by an application when it raises an event or passed to an application after handling the event.

The event alone typically does not contain enough context information from either the application or the individual object. Context information is shared between the application and the individual object  using an event data container. In other words, an event data container is used to pass additional information when an event is raised (application à IOITF) and when it is handled (IOITF à application). Event data containers are categorized for use in an application or individual object context and they are associated to the relevant event types.

Use

Application Context (application à IOITF)

The application context holds information passed by an application (to IOITF) when it raises an event (equals, importing parameters).

Individual Object Context (application ß IOITF)

The individual object context holds information passed to an application by IOITF after event handling (equals exporting parameters).

Both application context and individual object context event data containers must be assigned to an event type. Different event types will likely have different application and individual object context event data containers assigned to them.

The event data container is implemented as an ABAP class. The IOITF provides a basic event data container class -- CL_COM_IOITF_EDC. An instance of this class acts as an event data container and its attributes act as fields that hold additional information. An application can either use this basic event data container provided by IOITF or extend it (see section Defining an Event Data Container below).

Like event types, an event data container must be registered with the IOITF before it can be assigned to an event type and used as an application context or individual object context. The basic event data container CL_COM_IOITF_EDC is already registered with IOITF.

Extending an Event Data Container

The basic event data container CL_COM_IOITF_EDC provided by the IOITF contains the following attributes:

CL_COM_IOITF_EDC Attributes

Fields in Event Data Container

Description

EVENT_NAME

Event Name

OBJECT_FAMILY

Object Family

IOBJ_GUID

Individual Object GUID

LOG_HANDLE

Application Log: Log handle

APPLICATION_ID

Application ID

PROCESS_ID

Process ID

TRIGGERING_OBJECT_GUID

Triggering Object GUID (<-- Master Object GUID)

TRIGGERING_APPL_OBJECT_TYPE

Slave Object Type

EHIO_STRUCTURE

Data required to write Event History for Individual Object

EVENT_NAME

Event Name

If CL_COM_IOITF_EDC contains sufficient information to manage the event then the it can be assigned as delivered to your event type as an application or individual object context.

If more information is required, create a new event data container as a sub-class of class CL_COM_IOITF_EDC and register the class as an IOITF event data container. Create a an ABAP Class, supply a name, and, in the Properties tab, specify CL_COM_IOITF_EDC as the Superclass. Save the entry. Extend it by specifying additionally required attributes (container fields) on the Attributes tab. Save again and activate your entry. Register your event data container with IOITF as follows:

From the SAP Implementation Guide (IMG), choose Customer Relationship Management à Master Data  ® Products à Individual Objects à Individual Object Integration Framework (IOITF) à Event Type à Event Data Container à Register Event Data Container.

To assign an event data container to an already registered event so it can be used for an application context or individual object context, proceed as follows:

From the IMG choose Customer Relationship Management à Master Data ® Products à Individual Objects à Individual Object Integration Framework (IOITF) à Event Type à Define/Register Event Types

Example

Two event data containers were created for the High Tech Software Entitlement Demo applications, CL_ISHT_REFMOD_EDC_A and CL_ISHT_REFMOD_EDC_O. These event data containers hold the application context and the individual object context respectively. Both of them extend the basic event data container, CL_COM_IOITF_EDC, provided by the IOITF.

CL_ISHT_REFMOD_EDC_A (ß used to hold application context)

Fields in Event Data Container

Description

EVENT_NAME

Event Name

OBJECT_FAMILY

Object Family

IOBJ_GUID

Individual Object GUID

LOG_HANDLE

Application Log: Log handle

APPLICATION_ID

Application ID

PROCESS_ID

Process ID

TRIGGERING_OBJECT_GUID

Triggering Object GUID (<-- Master Object GUID)

TRIGGERING_APPL_OBJECT_TYPE

Slave Object Type

EHIO_STRUCTURE

Data required to write Event History for Individual Object

ISHT_LEVEL

Support Level

ISHT_EXP_DATE_MAIN

Maintenance Expiration Date

ISHT_BIN_VER

Binary Version

EDL_EVENT_NAME

External Event Name

NEW_ENTITLEMENT

New Entitlement (Upgrade)

EVENT_NAME

Event Name

OBJECT_FAMILY

Object Family

CL_ISHT_REFMOD_EDC_O (ß used to hold individual object context)

Fields in Event Data Container

Description

EVENT_NAME

Event Name

OBJECT_FAMILY

Object Family

IOBJ_GUID

Individual Object GUID

LOG_HANDLE

Application Log: Log handle

APPLICATION_ID

Application ID

PROCESS_ID

Process ID

TRIGGERING_OBJECT_GUID

Triggering Object GUID (<-- Master Object GUID)

TRIGGERING_APPL_OBJECT_TYPE

Slave Object Type

EHIO_STRUCTURE

Data required to write Event History for Individual Object

ISHT_AUTH_CODE

Authorization Code

NEW_ENTITLEMENT

New Entitlement (Upgrade)

Note

When registering the event data containers listed above with IOITF, use the class name.

IOITF: Event Data Containers:

CL_ISHT_REFMOD_EDC_A

CL_ISHT_REFMOD_EDC_O

The event data containers registered with IOITF are then assigned to relevant events.

IOITF: Events

Event Name

Application Context

Individual Object Context

EHIO Relevant

ISHT_DOWNLOAD

CL_ISHT_REFMOD_EDC_A

CL_ISHT_REFMOD_EDC_O

 

ISHT_EXTEND_MAINTENANCE

CL_ISHT_REFMOD_EDC_A

CL_ISHT_REFMOD_EDC_O

 

ISHT_MAINTENANCE_EXPIRED

CL_ISHT_REFMOD_EDC_A

CL_ISHT_REFMOD_EDC_O

 

ISHT_MAINTENANCE_PURCHASED

CL_ISHT_REFMOD_EDC_A

CL_ISHT_REFMOD_EDC_O

 

ISHT_PRODUCT_REGISTERED

CL_ISHT_REFMOD_EDC_A

CL_ISHT_REFMOD_EDC_O

 

ISHT_PRODUCT_RETURNED

CL_ISHT_REFMOD_EDC_A

CL_ISHT_REFMOD_EDC_O

 

ISHT_UPGRADE

CL_ISHT_REFMOD_EDC_A

CL_ISHT_REFMOD_EDC_O

 

This graphic is explained in the accompanying text

You can use your application context container to pull information from the application if  your application supports it.

Leaving content frame