Data Object Model
An interface between the application data and the application logic. The data object model comprises a set of model classes that provide access to the application data.

The Data Orchestration Engine (DOE) developer uses the Data Object Builder to model a data object. The data object is then stored in the form of structures in the data object repository, which lies in the ABAP stack of the DOE. You can then import the stored data objects to create the data object models in the mobile project.
To use the data object definition in the project, you must import it into the mobile project. When you import this definition, the import process generates the data object model. This model contains model classes that you can use for context binding in the project.
The structure of an imported data object model comprises the following entities:
· Data Object Model
· DDIC Simple Type
It is the highest level data object that is defined by the name that you specified at the time of model import. A data object model represents the:
· Data object node as a model class
· Data object node properties as the model class attributes
· Data object node relations as model class relations

You can also define queries and composite classes, if required. These are also represented as model classes.
The following table describes the various classes in a model:
Class |
Description |
Model class |
Represents a data object node. A model class: · Includes the source node’s properties and relations as its attributes and relations, respectively · Can aggregate other model classes · Can be associated with other model classes · Contains the required methods to interact with the associated or aggregated model classes · Can be stored on the client device and synchronized to the DOE
When you import a data object, the IDE generates individual model classes for the root node and each child node in the data object hierarchy. More information: Example: Data Object Mapping. |
Query Class
|
A model class created for each user-defined query in a model. A query comprises the following parts: · Input object Defines the query input · Output object Defines the result set of the query execution and is a set of business objects · Query object Maintains the query definition that includes the query condition, sort order, and the relation between the input object and the output object
You can use an imported data object model class or a composite model class to define the query input and the query output objects, as required. |
Composite Class
|
A user-defined model class that allows you to select the attributes from more than one model class and maintain them collectively in a composite model class. For example, a query output object that derives its result set from more than one model class in the data object model. |
An atomic type that is derived from a built-in type, with additional information, constraints, enumeration, and text objects.
More information:
Providing Java Dictionary Tables and Data
Types

A data object model can contain two types of objects – local objects and objects for synchronization. The structure for both the object types are the same. the structure is derived from the data object that you import in the mobile project.
The data associated with local objects resides only on the client device and is never synchronized with the DOE.
Additionally, you can define query objects and composite objects in the data object model.