An application itself can react to events of their own appointments in the appointment display, whereas the events of other appointments are handled by the appointment display. The criterion used by the application to differentiate between own and other appointments is the appointment type. You can differentiate between the following events:
Events in the framework of ABAP objects
The objects can react to the events for which they have registered (using set handler). This enables appointments of the application to react to events within their own application context according to their requirements.
Events using the appointment-type exit
A function module is called when an event of a specific appointment type occurs. This enables objects that do not exist in the current application context to also react to the events.
Activity management reacts to the event Double-click on appointments of the appointment type Activity plan appointment, in the appointment display. It registers for this event at runtime. If the user double-clicks on an activity plan appointment in the calendar for activity management, activity management then displays the associated activity.
If the calendar was not called within activity management but in another application context, this mechanism does not work because activity management is not running (is not instantiated) and is therefore not registered for the event. In this case, a function module is called using the appointment-type exit function. This function module calls the activity.
The CL_ORGANIZER class provides the following events:
This event is triggered if a user double-clicks on a free time period.
Start time and end time of the selected time interval
Date of the selected time interval
Indicates whether it is an all-day event, that is, whether the area above the time intervals was selected.
This event is triggered if a user double-clicks on an appointment.
Appointment ID of the selected appointment
Indicates whether the appointment was selected in display mode
The CL_ORGANIZER class provides a method (SET_REGISTERED_EVENTS) that you can use to restrict registration for an event to appointments of a certain type.
You use this method to handle events of appointments of a certain type.
IM_REGISTERED_EVENTS (APPT_TYPE name of appointment type and EVENT event)
All other events are handled using the appointment-dependent exit function (see API description).
After the appointment display is instantiated, you can register the application for the events that the CL_ORGANIZER class provides.
You can also configure the system so that the triggering of an event causes the flow logic of the subscreen container to run.It is useful to run the PAI and the PBO for the screen particularly if appointment-specific data, such as the appointment time and title, are to be displayed in specific screen fields.
The APPT_CREATE and APPT_SELECTED events are system events. A function code is generated for each system control event from the ABAP control framework. You have to register the function code at the ABAP control framework. You can react to this in PAI.
You have to implement a class to provide the handling methods for the events. You have to register the function codes at the control framework in these methods. You can also define the class locally in the function group of the subscreen container.
The example shows the procedure for registering an application for the APPT_SELECTED event.
Defining and implementing local handling classes
Local classes are usually defined in the top include of the function group. The implementation can be contained in separate includes.
The ON_APPT_SELECTED method of the LCL_HANDLER class stores the appointment ID specified by the event and registers a function code at the control framework.
Instantiating the control container and appointment display
In the subscreen container, a GUI container is made available and instantiated together with the appointment display.
Registering an application for events in the calendar framework
The application registers for the APPT_SELECTED event for appointments of the appointment type ORDER.
Registering own handling methods
The LCL_HANDLER class is instantiated and its event handling method is registered for the APPT_SELECTED event.
Displaying the organizer
The organizer is displayed when the SHOW method is called in the appointment display.
Reacting at PAI
The function codes for the GUI status and the function code for processing the APPT_SELECTED event are processed in the PAI of the subscreen container.
Process flow when the user double-clicks on an appointment
The following process flow shows the steps that the program goes through when the user double-clicks on an appointment: