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]]