Show TOC

InterfacesLocate this document in the navigation structure

Interface IF_GEF_BO_SERVICE

This is the central interface implemented by every geometry object.

Methods

Method APPLY_BUSINESS_CONTEXT

Typically, the framework will provide you with a list of geometry objects retrieved from the SAP HANA DB, each of which consists of GEF_OBJECTID, GEF_OBJTYPE, GEF_OBJKEY, GEF_GEOM_WKT, and probably other administrative attributes, depending on the Customizing and request parameters. You will enrich each object with your application business data and move both geometry data and business data to a combined structure.

You will need to remove invalid objects based on filter values from the Customizing activity, which will improve the performance of the query on the application in the APPLY_BUSINESS_CONTEXT method. The framework will still perform another round of filtering afterwards to ensure data accuracy.

By using parameter IO_REQ_CONTEXT, you have access to the context, such as geometry objects from the SAP HANA DB, geo object filters, and the combined structure. You should take this opportunity to perform application authorization check at the user level and data record level. You can remove invalid objects from the list based on your application logic.

Parameter

Description

IO_REQ_CONTEXT

The context of query request that the application needs to process the required action.

Type IF_GEF_REQ_QUERY_BO

ET_GEO_OBJECTS

Reference to data from table of records, each of which is a combined structure of both geometry data and business data.

Type DATA

Method INITIALIZE_ENTERPRISE_SEARCH

This method is where enterprise search settings such as connector ID, request ID, search keyword, are instantiated.

A generic logic is implemented in the class CL_GEF_APP_BO_ABS.

Parameter

Description

IO_REQ_CONTEXT

The context of query request that the application needs to process the required action.

Type IF_GEF_REQ_ES_BO

Method EXECUTE_ENTERPRISE_SEARCH

This method executes the enterprise search.

A generic logic is implemented in the class CL_GEF_APP_BO_ABS.

Parameter

Description

IO_REQ_CONTEXT

The context of query request that the application needs to process the required action.

Type IF_GEF_REQ_ES_BO

RT_RESULT

Result of a standard enterprise search.

Type GEFT_SEARCH_RESULT

Method COMPOSE_GEF_OBJKEY

Given a record of a business object, you provide the logic to compose a single key of 70 characters, GEF_OBJKEY, which is used in the SAP HANA DB. If your business object naturally has a single key, then you need to return this and it will be used as GEF_OBJKEY. If your business object has a compound key, you need to create a logic to come up with a 70-character value that, together with the business object ID, uniquely identifies a business object instance.

While the framework does not need to know how to decompose a GEF_OBJKEY, the application needs to store this logic somewhere so that when the framework asks the application to apply the business context in the APPLY_BUSINESS_CONTEXT method, the application side knows how to identify the business object.

Parameter

Description

IO_REQ_CONTEXT

The context of query request that the application needs to process the required action.

Type IF_GEF_REQ_QUERY_BO

IV_GEO_ID

Geo Object ID of IS_BO_DATA

Type GEF_GEO_ID

IS_BO_DATA

Record of a business object with business data attributes.

Type ANY

RV_GEF_OBJKEY

A 70-character key that is saved in the GIS database, which in conjunction with Business Object ID, represents a business object.

Type GEF_OBJKEY

Method VALIDATE_ADD

You perform necessary validation for the incoming request to add geometries, such as user level and record level checks.

Parameter

Description

IO_REQ_CONTEXT

The context of query request that the application needs to process the required action.

Type IF_GEF_REQ_EDIT

ET_FEATURE_ADD

Name of the entity type which is at the beginning of the navigation path, if there is a navigation.

Type GEFT_FEATURE_OBJECT

Method VALIDATE_UPDATE

You perform necessary validation for the incoming request to update geometries, such as user level and record level checks.

Parameter

Description

IO_REQ_CONTEXT

The context of query request that the application needs to process the required action.

Type IF_GEF_REQ_EDIT

ET_FEATURE_UPDATE

Name of the entity type which is at the beginning of the navigation path, if there is a navigation.

Type GEFT_FEATURE_OBJECT

Method APPLY_DYN_FILTER

This method applies the dynamic filter (if it exists) to the query results.

A generic logic is implemented in the class CL_GEF_APP_BO_ABS.

Parameter

Description

IO_REQ_CONTEXT

The context of a query request that the application needs to process the required action.

Type IF_GEF_REQ_EDIT

CT_OBJECTS

Table of records, each of which is a combined structure of both geometry data and business data.

Type DATA

Method VALIDATE_DELETE

You perform necessary validation for the incoming request to delete geometries, such as user level and record level checks.

Parameter

Description

IO_REQ_CONTEXT

The context of query request that the application needs to process the required action.

Type IF_GEF_REQ_EDIT

ET_FEATURE_DELETE

Name of the entity type which is at the beginning of the navigation path, if there is a navigation.

Type GEFT_FEATURE_OBJECT

Interface IF_GEF_UI_CONFIG

This interface allows the application side to modify the standard framework behavior on the SAP Geographical Enablement Framework UI by providing geo object specific configuration.

SAP has delivered the class CL_GEF_APP_BO_ABS as the default implementation of both interfaces IF_GEF_UI_CONFIG and IF_GEF_BO_SERVICE.

The application side can inherit their geo specific implementation classes from CL_GEF_APP_BO_ABS. Alternatively, they can also choose to implement both interfaces within one class from scratch as CL_GEF_APP_BO_ABS.

The application has to maintain the implementation class in the Customizing Activity Configure the Framework.

Methods

Method GET_GEO_EXTENT

This method is used to get the map extents of the current geo object from the geo-enablement application. The method allows the framework to change the default map extent for display mode and edit mode. This geo object has no geometry during an edit scenario.
Parameter Description
IV_GEO_ID

Geo Object ID

Type GEF_GEO_ID

IV_OBJKEY

Business Object Key

Type GEF_OBJKEY

IV_DEFAULT_EXTENT

Default map extent

Type GEFS_MAP_EXTENT

IO_MSG_LOG

Logger instance

Type Ref to CL_GEF_FRW_MSG_LOG

RS_MAP_EXTENTS

The map extent of display mode and edit mode

Type IF_GEF_UI_CONFIG=>GEFS_MAP_EXTENTS

Method GET_EDITING_ALLOWED

This method is used to render the Edit button between active or inactivate states in the Editor. The method allows the framework to deactivate the Edit button of a given geo object during an edit scenario. It also provides the cause as to why the button cannot be deactivated.
Parameter Description
IV_GEO_ID

Geo Object ID

Type GEF_GEO_ID

IV_OBJKEY

Business Object key

Type GEF_OBJKEY

IO_MSG_LOG

Logger instance

Type Ref to CL_GEF_FRW_MSG_LOG

RS_EDIT_ALLOWED

Edit button allowed

Type IF_GEF_UI_CONFIG=>GEFS_EDIT_ALLOWED

Method GET_DYNAMIC_FILTER

This method is used to get the dynamic filters for a specifc business object. The filters will be used to find other business objects that are related to the specified business objects. Filters are based on geo object type; one geo object can have one filter at most.

Some business logic is provided in the abstract class CL_GEF_APP_BO_ABS. Among others like it, the logic checks if filters only use attributes that are defined for the geometry type, and it will generate where the clause is for later use. It’s recommended to inherit the abstract class and provide application specific filters using the protected method GET_FILTERS_IN_RANGE.
Parameter Description
IV_GEO_ID

Geo Object ID

Type GEF_GEO_ID

IV_OBJKEY

Business Object Key

Type GEF_OBJKEY

IV_GROUP_ID

Current Business Layer group

Type GEF_BL_GROUP_ID

IV_BL_ID

Current Business Layer

Type GEF_BL_ID

IV_LANG

Language of the user (optional)

Type LANG

RT_FILTERS

Table of filters. Each filter consists of geometry type, selection range, description, and so on.

Type GEFT_BO_FILTER

Method GET_POINT_BUTTON_BEHAVIOUR

This method is used to get the geo object specific behavior for the Point button on the UI. The application side is allowed to modify the framework’s standard behavior (with certain restrictions) by specifying whether or not to hide or disable the Point button, or both.
Parameter Description
IV_GEO_ID

Geo Object ID

Type GEF_GEO_ID

IV_OBJKEY

Business Object key

Type GEF_OBJKEY

RS_BUTTON_BEHAVIOUR

Whether or not to hide or disable the button

Type IF_GEF_UI_CONFIG=>GEFS_BUTTON_BEHAVIOUR

Method GET_LINE_BUTTON_BEHAVIOUR

This method is used to get the geo object specific behavior for the Line button on the UI. The application side is allowed to modify the framework’s standard behavior by specifying whether or not to hide or disable the Line button, or both.

Parameter Description
IV_GEO_ID

Geo Object ID

Type GEF_GEO_ID

IV_OBJKEY

Business Object key

Type GEF_OBJKEY

RS_BUTTON_BEHAVIOUR

Whether or not to hide or disable the button

Type IF_GEF_UI_CONFIG=>GEFS_BUTTON_BEHAVIOUR

Method GET_POLYGON_BUTTON_BEHAVIOUR

This method is used to get the geo object specific behavior for the Polygon button on the UI. The application side is allowed to modify the framework’s standard behavior by specifying whether or not to hide or disable the Polygon button, or both.

Parameter Description
IV_GEO_ID

Geo Object ID

Type GEF_GEO_ID

IV_OBJKEY

Business Object key

Type GEF_OBJKEY

RS_BUTTON_BEHAVIOUR

Whether or not to hide or disable the button

Type IF_GEF_UI_CONFIG=>GEFS_BUTTON_BEHAVIOUR

Method GET_DELETE_BUTTON_BEHAVIOUR

This method is used to get the geo object specific behavior for the Delete button on the UI. The application side is allowed to modify the framework’s standard behavior by specifying whether or not to hide or disable the Delete button, or both.

Parameter Description
IV_GEO_ID

Geo Object ID

Type GEF_GEO_ID

IV_OBJKEY

Business Object key

Type GEF_OBJKEY

RS_BUTTON_BEHAVIOUR

Whether or not to hide or disable the button

Type IF_GEF_UI_CONFIG=>GEFS_BUTTON_BEHAVIOUR

Method GET_DEFAULT_EDITING_GEOMETRY

This method is used to get the default geometry type to edit on the UI. When you click Edit on the UI, the Edit Business Layer of the default geometry will be selected by the UI, which automates the user’s action of clicking the default geometry.

An edit relevant business layer for the default geometry must exist in the Customizing Activity Configure the Framework.

The default implementation of this method is a randomly selected geometry type that is delivered by SAP and has an edit relevant business layer for the geo object.

Parameter Description
IV_GEO_ID

Geo Object ID

Type GEF_GEO_ID

IV_OBJKEY

Business Object key

Type GEF_OBJKEY

RS_BUTTON_BEHAVIOUR

Default geometry type for UI editing

Type GEF_GEOM_TYPE