Show TOC

 Event Data Container

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 object. Context information is shared between the application and the 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 → OITF) and when it is handled (OITF → application). Event data containers are categorized for use in an application or object context and they are associated to the relevant event types.

Use

Application Context (application à OITF )

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

Object Context (application ß OITF)

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

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

The event data container is implemented as an ABAP class. The OITF 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 OITF or extend it (see section Defining an Event Data Container below).

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

Extending an Event Data Container

The basic event data container CL_COM_IOITF_EDC provided by the OITF 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

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 Object

EVENT_NAME

Event Name

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

If more information is required, you can create a new event data container as a sub-class of class CL_COM_IOITF_EDC and register the class as an OITF event data container. You create an ABAP class, supply a name, and, in the Properties tab, specify CL_COM_IOITF_EDC as the Superclass . You can then e xtend it by specifying additionally required attributes (container fields) on the Attributes tab.

Once you have saved and activated your entry, you can register your event data container with OITF in Customizing by choosing Start of the navigation path Customer Relationship Management Next navigation step Master Data Next navigation step Products Next navigation step Objects Next navigation step Object Integration Framework (OITF) Next navigation step Event Type Next navigation step Event Data Container Next navigation step Register Event Data Container. End of the navigation path

You can assign an event data container to an already registered event so it can be used for an application context or object context in Customizing by choosing Start of the navigation path Customer Relationship Management Next navigation step Master Data Next navigation step Products Next navigation step Objects Next navigation step Object Integration Framework (OITF) Next navigation step Event Type Next navigation step Define/Register Event Types. End of the navigation path

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 object context respectively. Both of them extend the basic event data container, CL_COM_IOITF_EDC , provided by the OITF.

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

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 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 object context)

Fields in Event Data Container

Description

EVENT_NAME

Event Name

OBJECT_FAMILY

Object Family

IOBJ_GUID

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 Object

ISHT_AUTH_CODE

Authorization Code

NEW_ENTITLEMENT

New Entitlement (Upgrade)

Note Note

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

End of the note.

OITF: Event Data Containers:

CL_ISHT_REFMOD_EDC_A

CL_ISHT_REFMOD_EDC_O

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

OITF: Events

Event Name

Application Context

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

Note Note

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

End of the note.