
CRMV_EVENT | TCODE | CRM Events |
|
CRMC_EVENTS | Table | Events |
|
CRMV_EVENTS | View | Events |
|
CRMC_OBJECTS | Table | Objects |
|
CRMC_EVENT_STRUC | Table | Object Event/Structure |
|
CRMV_EVENT_STRUC | View | Object Event/Structure |
|
CRMC_OBJ_FUNC | Table | Object Functions |
|
CRMV_OBJ_FUNC | View | Object Functions |
|
CRMV_OBJECT_FUNC | View | Object/Object Function |
|
CRMV_EVENT_EXTI | View | Execution Times |
|
CRMV_FUNC_ASSIGN | View | Object Event/Handlers |
|
CRMV_EVC_CALL | View | Combining all together | SAP use only |
CRMV_EVENT_CUST | View | Combining all together | For Customer use |
CRMC_EVENT_CUST | Table | Combining all together | For Customer use |
CRM_EVENT_PUBLISH_OW | FM | Event Publishing FM and takes care of the events that are to be processed immediately by calling respective event handlers |
|
CRM_EVENT_SET_EXETIME_OW | FM | Takes care of non-immediate events. |
|
“_EC” | FM | All event handler methods end with “_EC”. |
|
Mechanism used by SAP to further separate the BusinessObject-specific logic from the rest of the general business transaction logic in the SAP CRM system.
It allows for the dynamic execution of business logic based on the type of business transaction, segment of data in the business transaction, and activity performed.
This framework allows SAP to separate specific business process logic from the general business transaction logic.
The logic is executed through a series of function module calls, which are defined through customizing tables maintained in Transaction CRMV_EVENT.
This framework is useful when the standard delivered BADIs for the business transaction are not executed at the proper time required for a business requirement.
The BTE framework allows for the processing of logic based on logical events within the lifecycle of the business transaction. Data segments of the business transaction are known as objects within the framework. Objects can be used to further restrict the selection of logic to be processed.
A primary benefit of creating this framework is that you no longer have to code all of the logic for all business object types in the general framework of the business transaction. This means you can further separate SAP BusinessObject-specific application logic from the remainder of the business transaction processing logic.
Additionally, this provides a side effect of a highly flexible user-exit style framework that allows you to insert your specific business logic into the SAP CRM system when the delivered BAdIs for the business won’t meet your requirements.
The BTE framework consists of three main components: customizing data, framework code, and event handler function modules.
The heart of the BTE framework is a series of customizing tables that define what events will be raised, what logic can be invoked, and when that logic can be invoked. The Customizing for the BTE framework can be accessed through Transaction CRMV_EVENT. For most SAP customers, the customizing data in Transaction CRMV_EVENT will serve as a reference, as SAP has provided a customer-specific customizing area that is accessed through a separate menu path in the IMG.
The BTE lifecycle has been split up into three areas that are defined by the customizing tables as structured in the CRMV_EVENT main screen, shown previously in Figure 4.1.
The first area focuses on the timing, the second area focuses on the data being acted upon, and the last area focuses on what should be executed.
The Events and Times sections are used to define the timing of the lifecycle. Events define what actions could occur during the lifecycle, and Times are the possible execution times for business logic during the lifecycle.
The Objects, Object Functions, and Object/Object Function sections describe the parts of the business transaction.
Finally, the Object Function/Callback and Callback for Cat./Obj./Event describe what logic can be executed in the form of a function module.
The customizing tables for the framework are grouped into the following sections: Events, Objects, Object/Event Structure,
Object Functions, Object Function/Callback, Times, and Callback for Cat./Obj./Event. The primary section is the Callback for
Cat./Obj./Event. This is a customizing table that contains a listing of function modules, also known as event handlers, that will be executed at a particular point in the lifecycle of processing a business transaction in SAP CRM.
Events are predefined points in time in the business transaction that describes a particular activity. This activity could be classified as initialize, check, change, delete, save, or general. Some examples of events include INIT, BEFORE_CHANGE, AFTER_CHANGE, AFTER_DELETE, SAVE, and CONFIRM, as shown in Figure 4.2.
Objects in the BTE framework correspond to the logical data segments of the business transaction. If you look at Figure 4.3, you can see a few examples of the objects defined in the SAP CRM system for the BTE framework. These objects correspond 1:1 to the logical business transaction data model; however, there may be cases where there isn’t a complete match between models. These objects are defined in the CRMV_OBJECTS view, which is a logicaljoin on Table CRMC_OBJECTS and Table CRMC_OBJECTS_T. The entries for this view consist of two primary fields: the technical name of the object and the object description.
The object/event structure defines data structures that will be passed to an event function module when called. The assignment is made based on the combination of the object of the business transaction and event. This definition is stored in Table CRMC_EVENT_STRUC and maintained using the CRMV_EVENT_STRUC view, as shown in Figure 4.4.
Object functions provide a logical grouping of event handlers to make it easier to determine what handlers are available for a given transaction type. These are stored in Table CRMC_OBJ_FUNC and maintained through the CRMV_OBJ_FUNC view. In Figure 4.5, you see a listing of object functions that can be found in your SAP CRM system.
Assigning an object function to an object, which is accessed through the Object/Object Function button on the initial screen of Transaction CRMV_EVENT, allows you to permit a more specific separation of event handlers for a given object type. This data is maintained using the CRMV_OBJECT_FUNC view. As shown in Figure 4.6, the ACTIVITY_H object is mapped to three different object functions, which makes it possible to create distinct event handlers mapped to each object function instead of the entire object.
To access the Execution Times table, click the Times button in the initial screen of Transaction CRMV_EVENT shown earlier in Figure 4.1. Describe when the actual invocation of an event handler function module will occur. These are stored and maintained through the maintenance view CRMV_EVENT_EXTI. Figure 4.7 shows the execution times in the SAP CRM system that will be used for most business transactions.
CRMV_EVC_ALL is the primary maintenance view that defines the actual business logic that will be invoked based on several attributes. The entries maintained through CRMV_EVC_ALL are the core of the BTE framework logic. Figure 4.9 shows a listing of entries in the CRMV_EVENT_CALL view for the ACTIVITY_H object. All of the previous tables that you’ve explored support the definition of entries in this table.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.