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

supportsApprovers

Boolean

Does this meta table support approvers being configured, also see approversConfigured.

Yes

No

approversConfigured

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

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

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