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