Show TOC

Background documentationExpression 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.

Features

Settings and Objects

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:

Settings and Objects of 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.

Transport Objects

For each user-defined expression type in a transportable application, it is normally 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 the built-in standard expression types shipped by SAP, BRFplus uses the transport objects FDT0000 (Customizing), FDT0001 (system), and FDT0002 (deployment). These transport objects are reserved for the standard expression types. You can only use them for your own expression types under the following condition: The new expression type must be an exact copy of one of the standard expression types, with no extensions or changes whatsoever. Such a cloned expression type can be useful if you want to build your own non-standard UI for an expression type, or if you want to associate the expression type with specialized check routines that are not part of the standard shipment.

Note Note

For a user-defined expression type that does not perform any data manipulation whatsoever, it is not required to assign transport objects. For example, this would be true for an expression type designed to read some input data and to visualize them in a graphics control.

If you create user-defined expression types in a local application, there is no need to make any transport object settings. Consequently, the corresponding tab is not offered in the BRFplus workbench in that case.

End of the note.

For more information about transport objects, see Central Maintenance and Transport Objects.