Maintenance Objects
A maintenance object defines the configuration of a given “entity” in the system. It includes a primary table and any additional child tables that together capture the physical data for the entity. The application reads, adds, updates and deletes an entity as a single object by invoking its maintenance object service.
The following points briefly outline key aspects of application’s interaction with maintenance objects as illustrated in this diagram:
Database tables are maintained solely via the application’s Java layer. Direct updates to a table via its Java class is not common and typically reserved to special processes.
A maintenance object orchestrates the update to an entity’s primary table and its child tables as a single object.
A business object defines a logical representation of an entity, including all or a subset of the maintenance object’s tables and fields.
The more common way to maintain an entity is via its maintenance object, either directly or via one of its business objects. Most entities support the use of business objects and as such their maintenance is typically made via their business objects.
Direct access to database tables is supported for query purposes only.
The following sections further discusses concepts and guidelines related to defining tables.
Maintaining An Entire Object
A maintenance object includes a single primary table and one or more child tables where each child table can further have nested child tables. The table structure of a maintenance object represents the scope of data that should be maintained together as a single object:
When an object is added, data in added to each corresponding table.
When an object is updated, data in updated in each corresponding table.
When an object is read, data in retrieved from all the tables.
When an object is deleted, data in deleted from all the tables.
Algorithms
Several algorithm plug-in spots are also defined on the maintenance object, allowing for business rules that govern all records for this maintenance object.
Options
The maintenance object includes options that define important information related to the maintenance object that may be accessed for logic throughout the system.
Maintenance Objects vs. Business Objects
A maintenance object defines the physical structure of an entity as stored in the database. Different business objects may be defined on top of a maintenance object to represent different types of such entity. A business object includes only the relevant information applicable to the specific type of entity as well as enforces business rules applicable only to that type.
When a maintenance object supports business object configuration, the system uses the Determine Business Object maintenance object algorithm to determine the identifying business object that controls a given entity’s data structure and rules.
Refer to The Big Picture of Business Objects for more information.