This is the central interface implemented by every geometry object.
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.
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.
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
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
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.
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
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 |
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.
Method GET_GEO_EXTENT
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
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.
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
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 |