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 |
tableName |
Path | Yes | String | tableName of the business object to be returned |
keyValue |
Path | Yes | Integer | key value of the business object to be returned, this can be obtained from BusinessObjectField foreignTableId |
Responses¶
Name | Type | Description |
200 OK | BusinessObject | 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 |
key |
Integer | Key value for this meta table, unique | No | |
tableName |
String | Table Name for this meta table, used to generate REST requests | No | |
name |
String | Display / Friendly name for this meta table | No | |
description |
String | Description of this meta table, omitted if null | Yes | |
category |
String | Category of this meta table, omitted if null | Yes | |
tableTypeId |
Integer | Id value of the type of meta table, omitted if null | Yes | |
tableType |
String | Name of the table type, omitted if null | Yes | |
defaultNameFieldName |
String | Field Name of the field that should be used as the display name for rows in this object | No | |
uniqueFieldName |
String | Field Name of the field that contains the unique row identifier | No | |
permissions |
String | Permissions the user has on the BO. None / Read / Write | No | |
categories |
BusinessObjectFieldCategory | Array of Business Object Field Categories, defines all the visible categories | Yes | |
fields |
BusinessObjectField [] | 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 |
name |
String | Default display name of the field | No | |
fieldName |
String | Field Name used in REST requests | No | |
fieldTypeId |
Integer | Type of data the field stores in the database. See Field Types | No | |
displayFieldTypeId |
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 |
editorTypeId |
Integer | Type of control that should be used to allow the user to edit raw data for this field. | No | |
displayEditorTypeId |
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 |
fieldSize |
Integer | Maximum size of a string field | Yes | 0 |
comments |
String | Long comments describing use of the field | Yes | |
defaultValue |
String | Contains the default value that should be given to this field when creating a new row in a client UI. | Yes | undefined |
required |
Boolean | Defines if the can be set to ‘null’. | Yes | No |
lowerValue |
Float | Defines the absolute minimum value for an Integer/Float field | Yes | undefined |
upperValue |
Float | Defines the absolute maximum value for an Integer/Float field | Yes | undefined |
format |
String | Defines the display format for a field | Yes | undefined |
preventEditing |
Boolean | Prevent the user from editing the value in this field, only valid for native field types. | Yes | No |
category |
String | Category of the field, used to group like categories into ‘groups’ | Yes | BusinessObject.Name |
blankText |
String | Value displayed in edit field, when the field value is null | Yes | undefined |
formColumns |
Integer | Number of columns the field should consume on the form | Yes | 1 |
formVisible |
Boolean | Is the field visible on the form | Yes | True |
formOrder |
Integer | Order of the field when displaying as a form | Yes | 0 |
formCaption |
String | Caption used as the form caption | Yes | BusinessObjectField.name |
formShowCaption |
Boolean | Should the caption be shown for the field on the form. Visible by default. | Yes | True |
gridVisible |
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 |
gridOrder |
Integer | Order of the field when displaying as a grid | Yes | 0 |
gridCaption |
String | Caption used as the grid caption | Yes | BusinessObjectField.name |
mobileVisible |
Boolean | Should the field be visible for mobile style UIs | Yes | No |
mobileOrder |
Integer | Order of the field when displaying on a mobile UI. | Yes | 0 |
mobileCaption |
String | Caption used as the field caption for mobile UI’s. If not defined, use Name. | Yes | BusinessObjectField.name |
booleanTypeId |
Integer | The display type for Boolean fields | Yes | undefined |
isBooleanTypeImage |
Boolean | Is the above display type for boolean fields an image. | Yes | No |
foreignTableId |
Integer | The key for the foreign meta table this field refers to. | Yes | undefined |
subTableId |
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 |
unitId |
Integer | The key for the unit assigned to this field, only relevant for Float fields. | Yes | undefined |
lookupListId |
Integer | The key for the lookup list assigned to this field | Yes | undefined |
isLookupListImage |
Boolean | Is the display type for the lookup list. | Yes | No |
multiValue |
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 |
nestedField |
BusinessObjectField | 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 |
businessObjectName |
string | If this is a nested field, then the Business Object Name will be included here to allow further requests. | No | undefined |
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 |
name |
String | Display name of the category. | No | |
alignTop |
Boolean | Determines if the fields are positioned above the control, or to the left. | Yes | No |
comments |
String | Comments/Description that is displayed at the top of the category group, before any fields. | Yes | undefined |
columns |
Integer | Number of columns of fields to display in categories. | Yes | 2 |
hasImage |
Boolean | Determines if the category has an image that should be displayed at the top of the category group. | Yes | No |
imageUrl |
String | Specifies the relative Url to retrieve the image data for the category image, only valid if hasImage is Yes. |
Yes | undefined |
allowQuickFilter |
Bool | Specifies whether the filter allows quick filter searching in tables. | Yes | No |
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
}]
}