SAP Geographical Enablement Framework uses object hierarchy to model business objects and their
associated geometry information. The object hierarchy consists of a business object, geo
object, business layer, and geometry layer.
A business object is a model of a real-world object such as a business partner. A geo object is a subset of the parent business object with definite semantic meaning, such as organization and employee. It defines a set of technical attributes such as processing class, object structure, and field definitions. A business layer is a logical layer on the UI map. This layer groups all the object instances of your geo object and can be manipulated on the map (toggle on/off). It has a geometry context and multiple geometry layers. A business layer is exposed as a feature service that was developed based on the specifications of the Esri feature service.
For example, your technician can have allocated service areas. You want to show all the service areas of only your technicians, but not all employees can have allocated service areas. Similarly, you can have another business layer for salespersons with assigned sales areas. You define a geo object, Employee. You define two business layers for technician with the context, Service Area and Default Location, and a business layer for salesperson with the geometry context Sales Area.
A geometry layer could be of a geometry type point, line, or polygon. In our running example of business object Business Partner, you might have a point geometry layer for the customer sites and a polygon geometry layer for responsible service areas for a technician.
The hierarchy of this example is as follows:
For more information on business objects and their customizing in SAP Geographical Enablement Framework, please refer to the business objects section under Customizing.
Essentially, the framework is responsible for retrieving geometry data for business objects (together with their attributes), searching for business objects with their geometry, and the CRUD operations of the geometry data stored in SAP HANA database The framework is also responsible for analyzing the request, dispatching the request, and preparing a response, in addition to other framework tasks such as error handling, security check, and so on.
Scenario: DB View for Geometry Data
When the framework receives a query request, it will retrieve the geometry records from the SAP HANA database and ask the application to apply a business context to these records, such as enriching them with business data and performing certain authorization checks both on the user level or record level. This is applied to the execution scenario without replication of business data.
Scenario: DB View for Geometry and Business Data
It is possible to use this scenario if you have your business data in SAP HANA DB as primary DB or if you replicate your data to SAP HANA DB. For this scenario, you need to create SAP HANA views, which combine geometry and business data. Query processing will be much faster in this case. For more information on how to create a custom view in SAP HANA DB (combines both application and geometry data), please refer to the Create an Implementation for Scenario DB View for Geometry and Business Data section of this document.
You still need to check authorizations in the apply_ business_context method that needs to be developed by the application. The application will return to the framework records that consist of both business data and geometry data; the framework will then prepare the response according to the protocol.
There is a special type of query for enterprise search. The framework will first perform a standard enterprise search on the search keyword received and ask the application side to provide the corresponding object keys (GEF_OBJKEY) of objects in the enterprise search result set. Then the same program flow of a regular query for the scenario DB View for Geometry Data (1) will be executed and then retrieve geometry records for the object keys from the SAP HANA DB, apply business context by the application side, and return properly formatted data to the client.
For more information, refer to the Configuring Enterprise Search of this document.
In the cases of create, update, and delete operations for geometries, the application has an opportunity to validate the request and check authorizations, if necessary. Authorizations to create, update, and delete the geometry of this business object will be checked by the framework. The framework also handles the database persistence of geometry data. It's possible that the application allows you to create, update, and delete actual business objects by this operation. Nevertheless, caution must be exercised when allowing these operations as this is not the main function of the framework.