In Tools 8.55, Oracle provided a supporting structure in PIA through which we can associate Peoplecode events to Application class Peoplecode. The main purpose is to provide consumers the ability to maintain the custom code independently without modifying the delivered code thereby eliminating any need to retrofit peoplecode after every upgrade.
The initial release of this functionality came with several restrictions which made it more of a concept, but oracle has been continuously delivering updates in their subsequent Peopletools versions to make it a more viable option for customizations.
People Code events that can be mapped to:
|Component||Page||Component Record||Component Record Field|
** 8.56 upgrade *8.58 upgrade
In 8.56 Peopletools version, along with new events Oracle introduced 2 very useful features:
- A reference page to search by application package and class. This helps in identifying the components, pages, records, and fields that have been configured with the specified application class.
- Multiple custom application class can be associated with a single PeopleCode event with control on the order of execution.
In the latest 8.58 version came several new updates to EMF:
- Additional peoplecode events can now be mapped to custom app classes.
- Records and record fields (including derived/work records) on subpages and secondary pages now supports event mapping.
- Peoplecodes to be executed in multiple events in a component can now be stored in single application class. A new event mapping parameter was introduced in the configuration for this purpose. Working example given by Oracle as follows:
The main drawback of using EMF still remains from its introduction. The peoplecode in the application class will fire either before or after the event associated with it. It is not possible to inject the code in-between the delivered peoplecode code present in the events. Also, we are still waiting for an option in application designer to indicate whether the current component has any mappings associated with it or not.
Even with these drawbacks, Event mapping framework has evolved to a form where developers can successfully implement the required customizations without modifying the delivered component.