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.
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.
The basic event data container
CL_COM_IOITF_EDC
provided by the OITF contains the following 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
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
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.
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 |
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
When registering the event data containers listed above with OITF, you use the class name.
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.
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
You can use your application context container to pull information from the application ifyour application supports it.