A business object is a view on the data of an application. Business objects come in two forms: a [[Invantive Studio/Repository/Concepts/Business Object|business object]] proper, whose name ends in `_v`, shows the rows of one table with the columns of the tables it refers to and accepts changes; a reporting view, whose name ends in `_r`, combines business objects for reporting and is read-only. The business objects proper of an application are listed under the application as "Business Objects" and its reporting views as "Reporting Objects"; a business object holds the folders "Elements", "Columns" and "Object Usages", a reporting object only "Columns". A table lists the business objects built on it under "Used by Business Objects".
The business objects of Invantive Estate:
![[20261004-studio-business-objects.png]]
The reporting objects, listed under "Reporting Objects":
![[20261004-studio-reporting-objects.png]]
A business object proper is composed from its [[Invantive Studio/Repository/Applications/View Elements|view elements]] and [[Invantive Studio/Repository/Applications/View Columns|view columns]]. A reporting view, or any view with "Hard Coded" switched on, takes its SQL text from "Hard Coded Definition" and its continuation fields. "Additional Where Clause" adds a condition to every query on the view, for instance to show only the rows of the user who is logged on.
## Fields
The details of a business object show these fields:
- "Application Code": Unique alphanumeric code of the application.
- "Code": Unique alphanumeric code.
- "Name": Name of the view.
- "Label Singular": Label of the business object for one row, as a resource code.
- "Label Plural": Label of the business object for several rows, as a resource code.
- "Label Singular as Reference": Label singular when referenced.
- "Label Plural as Reference": Label plural when referenced.
- "Additional Where Clause": Text to be added to the where clause of the view.
- "Additional Select Clause": Text to be added to the select clause of the view.
- "Order by Clause": Text to be added to the order by clause of the view.
- "Create": Whether the view will be created.
- "Create Temporary Table": Whether the database installation software should create a global temporary table with structure identical to this view. These are typically used for views used in reports to allow time travel.
- "Hard Coded": Whether the view is hardcoded.
- "Optimizer Hint": Hint for the database optimizer to be added after the 'select' keyword.
- "Definition": Definition of the result set of the view.
- "Example": Example of a resulting record.
- "Number of Rows": Expected number of rows, used for sizing.
- "Documentation": Documentation on the view.
- "Grant Select": Whether the application user role should be granted select privileges.
- "Grant Insert": Whether the application user role should be granted insert privileges.
- "Grant Update": Whether the application user role should be granted update privileges.
- "Grant Delete": Whether the application user role should be granted delete privileges.
- "Icon (URL)": URL for the icon of this view.
- "Hard Coded Definition": Part 1 of SQL-Statement for retrieving records for the view.
## Tabs
The summary window of a business object shows its related rows on these tabs:
- [[Invantive Studio/Repository/Applications/Applications|Application]]
- [[Invantive Studio/Repository/Applications/View Elements|View Elements]]
- [[Invantive Studio/Repository/Applications/View Columns|View Columns]]
- [[Invantive Studio/Repository/Applications/Modules|Module Pre Exec]]
- [[Invantive Studio/Repository/Applications/Module View Usages|Module View Usages]]
- [[Invantive Studio/Repository/Applications/Dataset Mappings|Dataset Mapping]]