Business Objects
Retrieves information about a business object.
HTTP Request
GET /icweb.dll/bo/{tableName}
Additionally you can lookup a business object by it’s key, this is useful when you only have the key from a foreignTableId
field from within BusinessObjectField
GET /icweb.dll/boByKey/{keyValue}
URI Parameters
Name |
In |
Required |
Type |
Description |
|
Path |
Yes |
String |
tableName of the business object to be returned |
|
Path |
Yes |
Integer |
key value of the business object to be returned, this can be obtained from BusinessObjectField |
Responses
Name |
Type |
Description |
200 OK |
OK |
|
404 Not Found |
Business object with specified tableName was not found. |
BusinessObject
The business object result type, describes a business object, henceforth referred to as meta table.
Name |
Type |
Description |
Optional |
Default |
|
Integer |
Key value for this meta table, unique |
No |
|
|
String |
Table Name for this meta table, used to generate REST requests |
No |
|
|
String |
Display / Friendly name for this meta table |
No |
|
|
String |
Description of this meta table, omitted if null |
Yes |
|
|
String |
Category of this meta table, omitted if null |
Yes |
|
|
Integer |
Id value of the type of meta table, omitted if null |
Yes |
|
|
String |
Name of the table type, omitted if null |
Yes |
|
|
String |
Field Name of the field that should be used as the display name for rows in this object |
No |
|
|
String |
Field Name of the field that contains the unique row identifier |
No |
|
|
String |
Permissions the user has on the BO. None / Read / Write |
No |
|
|
Array of Business Object Field Categories, defines all the visible categories |
Yes |
||
|
Array of Business Object Fields, defines all fields in Business Object. |
Yes |
BusinessObjectField
The business object field result type, describes a field in a business object, henceforth referred to as meta field.
Name |
Type |
Description |
Optional |
Default |
|
String |
Default display name of the field |
No |
|
|
String |
Field Name used in REST requests |
No |
|
|
Integer |
Type of data the field stores in the database. See Field Types |
No |
|
|
Integer |
The display type of the field type, this may differ to fieldTypeId, for example fieldTypeId may be calculated, but displayFieldTypeId may be string, must be a simple type. |
Yes |
fieldTypeId |
|
Integer |
Type of control that should be used to allow the user to edit raw data for this field. |
No |
|
|
Integer |
Type of control that should be used to allow the user to edit the display value of this field, used for filtering, reports |
Yes |
editorTypeId |
|
Integer |
Maximum size of a string field |
Yes |
0 |
|
String |
Long comments describing use of the field |
Yes |
|
|
String |
Contains the default value that should be given to this field when creating a new row in a client UI. |
Yes |
undefined |
|
Boolean |
Defines if the can be set to ‘null’. |
Yes |
No |
|
Float |
Defines the absolute minimum value for an Integer/Float field |
Yes |
undefined |
|
Float |
Defines the absolute maximum value for an Integer/Float field |
Yes |
undefined |
|
String |
Defines the display format for a field |
Yes |
undefined |
|
Boolean |
Prevent the user from editing the value in this field, only valid for native field types. |
Yes |
No |
|
String |
Category of the field, used to group like categories into ‘groups’ |
Yes |
BusinessObject.Name |
|
String |
Value displayed in edit field, when the field value is null |
Yes |
undefined |
|
Integer |
Number of columns the field should consume on the form |
Yes |
1 |
|
Boolean |
Is the field visible on the form |
Yes |
True |
|
Integer |
Order of the field when displaying as a form |
Yes |
0 |
|
String |
Caption used as the form caption |
Yes |
BusinessObjectField.name |
|
Boolean |
Should the caption be shown for the field on the form. Visible by default. |
Yes |
True |
|
Boolean |
Is the field visible on the grid, True, visible by default, False, not visible, null, not visible by default but can be turned on. |
Yes |
null |
|
Integer |
Order of the field when displaying as a grid |
Yes |
0 |
|
String |
Caption used as the grid caption |
Yes |
BusinessObjectField.name |
|
Boolean |
Should the field be visible for mobile style UIs |
Yes |
No |
|
Integer |
Order of the field when displaying on a mobile UI. |
Yes |
0 |
|
String |
Caption used as the field caption for mobile UI’s. If not defined, use Name. |
Yes |
BusinessObjectField.name |
|
Integer |
The display type for Boolean fields |
Yes |
undefined |
|
Boolean |
Is the above display type for boolean fields an image. |
Yes |
No |
|
Integer |
The key for the foreign meta table this field refers to. |
Yes |
undefined |
|
Integer |
The key for the sub event/aig table this field refers to. Only valid when field type is FT_TABLE. See Field Types |
Yes |
undefined |
|
Integer |
The key for the unit assigned to this field, only relevant for Float fields. |
Yes |
undefined |
|
Integer |
The key for the lookup list assigned to this field |
Yes |
undefined |
|
Boolean |
Is the display type for the lookup list. |
Yes |
No |
|
Boolean |
If this field is a PassThru field, it may be a one-to-many relationship, in which case this will be true, as the values for this field will be the display values of each row ‘,’ separated. |
Yes |
No |
|
If this field is linked to another business object field, such as PassThru or Global Lookup, then this contains the information about the nested field for formatting and display. |
No |
undefined |
|
|
string |
If this is a nested field, then the Business Object Name will be included here to allow further requests. |
No |
undefined |
|
Boolean |
Does this meta table support approvers being configured, also see |
Yes |
No |
|
Boolean |
Does this meta table have approvers configured, when true, change requests can be submitted for rows in this table if the user has read-only permissions. |
Yes |
No |
BusinessObjectFieldCategory
The business object fields category type, describes a category for a field, used when displaying the fields in a form, and optionally in a grid.
Name |
Type |
Description |
Optional |
Default |
|
String |
Display name of the category. |
No |
|
|
Boolean |
Determines if the fields are positioned above the control, or to the left. |
Yes |
No |
|
String |
Comments/Description that is displayed at the top of the category group, before any fields. |
Yes |
undefined |
|
Integer |
Number of columns of fields to display in categories. |
Yes |
2 |
|
Boolean |
Determines if the category has an image that should be displayed at the top of the category group. |
Yes |
No |
|
String |
Specifies the relative Url to retrieve the image data for the category image, only valid if |
Yes |
undefined |
Example
Request
GET /icweb.dll/bo/Workpack
Response
{
"key": 136,
"tableName": "Workpack",
"name": "Workpack",
"defaultNameFieldName": "Name",
"uniqueFieldName": "Workpack_ID",
"category": "Work Scoping",
"tableTypeId": 11,
"tableType": "System Table",
"permissions": "write",
"categories": [{
"name": "Budget"
}, {
"name": "Status"
}, {
"name": "Timing"
}],
"fields": [{
"name": "",
"fieldName": "Guid",
"fieldTypeId": 17,
"editorTypeId": 3,
"formVisible": false,
"gridVisible": false
}, {
"name": "Workpack_ID",
"fieldName": "Workpack_ID",
"fieldTypeId": 3,
"editorTypeId": 4,
"fieldSize": 4,
"formColumns": 1,
"formVisible": false,
"gridVisible": false
}, {
"name": "Workpack Group",
"fieldName": "WPG_ID",
"fieldTypeId": 3,
"displayFieldTypeId": 1,
"editorTypeId": 13,
"fieldSize": 4,
"formColumns": 2,
"formOrder": 1,
"foreignTableId": 138
}, {
"name": "Cost Code",
"fieldName": "CC_ID",
"fieldTypeId": 3,
"displayFieldTypeId": 1,
"editorTypeId": 13,
"fieldSize": 4,
"category": "Budget",
"formColumns": 1,
"formOrder": 20,
"gridVisible": false,
"foreignTableId": 31
}, {
"name": "Revision",
"fieldName": "Revision_ID",
"fieldTypeId": 3,
"displayFieldTypeId": 1,
"editorTypeId": 13,
"fieldSize": 4,
"category": "Status",
"formColumns": 2,
"formOrder": 5,
"foreignTableId": 97
}, {
"name": "Name",
"fieldName": "Name",
"fieldTypeId": 1,
"editorTypeId": 3,
"fieldSize": 50,
"required": true,
"formColumns": 2
}, {
"name": "Abbreviation",
"fieldName": "Abbreviation",
"fieldTypeId": 1,
"editorTypeId": 3,
"fieldSize": 10,
"formColumns": 2,
"formOrder": 2,
"gridVisible": false
}, {
"name": "Actual Start",
"fieldName": "Actual_Start",
"fieldTypeId": 9,
"editorTypeId": 8,
"fieldSize": 16,
"category": "Timing",
"formColumns": 2,
"formOrder": 7
}, {
"name": "Description",
"fieldName": "Description",
"fieldTypeId": 1,
"editorTypeId": 3,
"fieldSize": 100,
"formColumns": 2,
"formOrder": 3,
"gridVisible": false
}, {
"name": "Read Only",
"fieldName": "ReadOnly",
"fieldTypeId": 5,
"editorTypeId": 5,
"fieldSize": 1,
"required": true,
"category": "Status",
"formColumns": 2,
"formOrder": 6,
"booleanTypeId": 9
}, {
"name": "Personnel",
"fieldName": "SU_ID",
"fieldTypeId": 3,
"displayFieldTypeId": 1,
"editorTypeId": 13,
"formColumns": 1,
"formVisible": false,
"gridVisible": false,
"foreignTableId": 86
}, {
"name": "Task Time",
"fieldName": "Task_Time",
"fieldTypeId": 40,
"displayFieldTypeId": 6,
"editorTypeId": 11,
"displayEditorTypeId": 4,
"category": "Timing",
"formColumns": 1,
"formOrder": 8,
"gridVisible": false
}, {
"name": "Work Hours (per day)",
"fieldName": "Hours_Per_Day",
"fieldTypeId": 6,
"editorTypeId": 4,
"category": "Timing",
"blankText": "Number of effective work hours per day.",
"formColumns": 1,
"formOrder": 9,
"gridVisible": false
}, {
"name": "Duration (Estimated)",
"fieldName": "Estimated_Duration",
"fieldTypeId": 40,
"displayFieldTypeId": 6,
"editorTypeId": 11,
"displayEditorTypeId": 4,
"category": "Timing",
"formColumns": 1,
"formOrder": 10,
"gridVisible": false
}, {
"name": "Duration (Contingency)",
"fieldName": "Duration_Contingency",
"fieldTypeId": 6,
"editorTypeId": 4,
"category": "Timing",
"blankText": "Enter a value to add a contingency to the estimated duration",
"formColumns": 1,
"formOrder": 11,
"gridVisible": false,
"unitId": 36
}, {
"name": "Duration (Override)",
"fieldName": "Override_Duration",
"fieldTypeId": 6,
"editorTypeId": 4,
"category": "Timing",
"blankText": "Enter a value to override the estimated duration",
"formColumns": 1,
"formOrder": 12,
"gridVisible": false,
"unitId": 36
}, {
"name": "Actual End",
"fieldName": "Actual_End",
"fieldTypeId": 40,
"displayFieldTypeId": 9,
"editorTypeId": 11,
"displayEditorTypeId": 8,
"category": "Timing",
"formColumns": 2,
"formOrder": 13
}, {
"name": "Day Rate",
"fieldName": "Day_Rate",
"fieldTypeId": 6,
"editorTypeId": 4,
"category": "Budget",
"blankText": "Used to calculate cost based on day rate",
"formColumns": 1,
"formOrder": 14,
"gridVisible": false
}, {
"name": "Cost based on Day Rate",
"fieldName": "Cost_Day_Rate",
"fieldTypeId": 40,
"displayFieldTypeId": 6,
"editorTypeId": 11,
"displayEditorTypeId": 4,
"category": "Budget",
"formColumns": 1,
"formOrder": 15,
"gridVisible": false
}, {
"name": "Costs (Fixed)",
"fieldName": "Fixed_Cost",
"fieldTypeId": 6,
"editorTypeId": 4,
"category": "Budget",
"formColumns": 1,
"formOrder": 16,
"gridVisible": false
}, {
"name": "Cost (Total)",
"fieldName": "Total_Cost",
"fieldTypeId": 40,
"displayFieldTypeId": 6,
"editorTypeId": 11,
"displayEditorTypeId": 4,
"category": "Budget",
"formColumns": 1,
"formOrder": 17,
"gridVisible": false
}, {
"name": "Cost (Override)",
"fieldName": "Override_Cost",
"fieldTypeId": 6,
"editorTypeId": 4,
"category": "Budget",
"blankText": "Enter a value to override the calculated total cost",
"formColumns": 1,
"formOrder": 18,
"gridVisible": false
}, {
"name": "Final Estimate",
"fieldName": "Cost",
"fieldTypeId": 40,
"displayFieldTypeId": 6,
"editorTypeId": 11,
"displayEditorTypeId": 4,
"category": "Budget",
"formColumns": 1,
"formOrder": 19,
"gridVisible": false
}, {
"name": "Asset",
"fieldName": "Component_ID",
"fieldTypeId": 3,
"displayFieldTypeId": 1,
"editorTypeId": 13,
"formColumns": 2,
"formOrder": 4,
"gridVisible": false,
"foreignTableId": 30
}, {
"name": "Tasks",
"fieldName": "Task_Count",
"fieldTypeId": 3,
"editorTypeId": 4,
"formColumns": 1,
"formVisible": false
}, {
"name": "Task Breakdown",
"fieldName": "Task_Breakdown",
"fieldTypeId": 1,
"editorTypeId": 3,
"formColumns": 1,
"formVisible": false,
"gridVisible": false
}]
}