Extending the Mobile Application Data Model
Efficient data distribution is one of the core capabilities of NetWeaver Mobile or DOE. Data distribution patterns could be defined during design time of a Mobile application data model according to the business use case being mobilized. Such application data models could be delivered from SAP or from an SAP partner / ISV as part of the Mobile solution. While mobilizing enterprise data, generic or specific distribution patterns could be modeled as part of distribution model expected to suit large set of customers using the Mobile solutions.
Customizations being a key factor and common practice while implementing an SAP solution, the readily available distribution patterns might not match all the requirements for the business scenarios for a customer. This factor is addressed by the feature ‘Extended Distribution Models’ available part of NetWeaver Mobile 7.30 release.
Service Order Scenario
Let’s take an example of a simple service order scenario to understand how extension or re-use of distribution models could be done.
The basic data model consists of data objects ‘Service Order’, ‘Customer’ and ‘Equipment’. As depicted in the diagram below, the objects ‘Customer’ and ‘Equipment’ are dependent on ‘Service Order’ or in DOE terms, both data objects follows ‘Service Order’ while getting distributed to a receiver.
Service Order gets distributed to the technician’s device based on the expertise of a technician in a particular brand of equipment.
Service Order Scenario Extension
As the business expanded with large number of customers and more number of technicians joining the company, there was a need to modify or extend the distribution pattern in the following manner
The company wishes to extend the above Service Order scenario in order to distribute customer history with all details of Service Orders placed by that customer for previous 1 year with each service order.
The distribution criteria of the Service Order also to be extended so that Order gets distributed based on technician’s expertise in a brand as well as expertise in a particular equipment type as depicted here.
As depicted in the diagram, a new data object ‘Customer History’ is added as a new data model with a dependency to the Customer data object as part of SWCV that extends the existing SWCV.
A dependency rule is added to this dependency to make sure that the customer history of last 1 year is only sent to the receivers.
A new distribution rule is created for Service Order defining the new distribution pattern.
Incorrect approaches for the above model changes
Without extension and DM re-use feature, following two options are only possible.
Editing the existing Data Model
- The SAP / Partner shipped Distribution Model should be edited in order to achieve new distribution criteria.
- Disadvantage of the above approach: Editing the existing model will cause merging issues during next model change from SAP/Partner with the next version of application.
Copy & Maintain another Data Model
- Second approach could have been to copy the entire existing Model into a new SWCV and then add the new data object along with the dependency and rule modifications.
- Disadvantages of this approach: With every change or correction on the shipped Model from SAP/Partner, the changes have to be incorporated manually in the new SWCV at the customer system.This increases the Total Cost of Development.
Efficient way of achieving the model changes
- Create a new Software Component Version (SWCV) with additional data objects
- In the attributes of new SWCV, maintain that it uses the existing data objects in old SWCV and that it extends the distribution model by checking the options ‘Uses Data Object’ and ‘Uses DM’ with ‘DM Usage Type’ = Extends DM.
- Create new distribution rules, dependency and dependency rule in the extended DM. The existing distribution rule could be deactivated and the new rule/dependency/dependency rule activated for runtime usage.
Advantages of this approach:
- No merging issues when model changes are shipped from SAP/Partner with new version of application
- TCD reduced as well as double maintenance is not required
- All the other data objects and distribution patterns defined in the existing SWCV is applicable for the devices as the new SWCV just maintains a reference to extended DM SWCV.
- Upgrading to the new SWCV/ new version of application will make sure to sent only delta data to the existing devices.
Disclaimer: This blog post is intended to provide advance information of an upcoming product release from SAP. Please refer to actual documentation / Ramp-Up Knowledge Transfer for detailed up-to-date information.