Expression Type 
User-defined expression types can be used to enhance the functional scope of BRFplus by features that are not supported by the built-in expression types.
BRFplus comes with a number of predefined powerful expression types like decision table, search tree, or formula. While these predefined expression types cover a broad range of business rule usage scenarios, it can still happen that for a particular use case, the predefined expression types are not sufficient or not easy to use. To overcome such potential shortcomings, BRFplus offers you the option of creating your own company-specific expression types completely on your own.
The conceptual approach of user-defined expression types is exactly the same as for the built-in expression types. This means, the built-in expression types are set up by SAP using exactly the same technical infrastructure that you can make use of for your own expression types. Therefore, you can expect that your own expression types behave just like the built-in ones in terms of performance, access control, etc. because they are treated as a horizontal scope extension of the BRFplus concept rather than as a vertical add-on.
With the BRFplus element Expression Type being a completely generic vehicle for any kind of processing behavior whatsoever, it is necessary for you to provide a set of ABAP OO classes and interfaces that implement the desired system behavior. The following settings and objects have to be provided for a user-defined expression type:
Name |
Status |
Comment |
|---|---|---|
Action Type |
mandatory |
Indicates whether the expression type is used to perform an action or to return a result data object. |
Class |
mandatory |
ABAP OO class used to implement the business logic of the expression type. |
Interface |
mandatory |
ABAP OO interface used to access the public methods of the class. |
Query Class |
optional |
ABAP OO class used to search the BRFplus database for instances of the expression type and their attribute values. |
UI Class |
optional |
ABAP OO class used to access the Web Dynpro application associated with the expression type. |
Data Exchange Class |
optional |
ABAP OO class used to define a document type definition (DTD) and data conversion routines for XML-based data import and export related to the expression type. |
For user-defined expression types, you can maintain different texts with respect to the current activity that a user performs on an expression type instance. The activities for which you can maintain a text are:
Create
Change
Display
Delete
Note
This feature is supported only for compatibility with user-defined expression types that have been defined with BRF (application component BC-SRV-BRF), the predecessor solution of BRFplus. BRFplus itself does not make any use of the activity-specific texts that may have been maintained for an expression type. The sole motivation to keep such texts in the system is to make sure that already existing terminological decisions as well as translations into other languages are still reachable after the import of a legacy application.
For each user-defined expression type, it is necessary to define individual transport objects that take care of collecting all the required parts when it comes to transporting the expression from one system to another. The required information is stored in the following transport objects:
Customizing data (mandatory)
System data (mandatory)
Deployable data (optional)
For more information about transport objects, see Central Maintenance and Transport Objects.