Feature Rich
Rapid Application Development
Helping you or your customers
Manage their Business

All pages rendered on the system use UDB commands to insert different elements on to the page.
For example, if you want to put the page title onto a template then you can insert the command {PAGE_TITLE}. This will be replaced with the current page title whatever page is being displayed.
If you want to add a link to a another page on the system then you can add {LINK(1013, Contact)}. This will create a link to the page number 1013 and add the text "Contact" (Contact).

All of the commands need to be enclosed in { } when used on the page and the command needs to be entered in upper case. They may also have parameters. These are enclosed in ( ). Most of the time it is easier to enter the parameters by position separated by commas. So in the LINK example above, the first parameter is the Object ID of the page you want to link to and the second parameter is the text you want to be displayed on the page. Sometimes there may be a larger number of parameter options and using lots of commas to get to the correct parameter can be awkward and confusing to read. In this case, you can use a JSON list of parameters. So for the example above, you can use {LINK(1013, {"text":"Contact","class":"btn btn-primary"})}. The JSON list of parameters can only be used as the last parameter. A list of all the parameters are detailed in the command help.

You can also pass in an array of parameters using an array variable. To do this add a JSON parameter "param_array":"V_ARRAY". All the values in the V_ARRAY variable will be used as parameters.

When adding an Object ID as a parameter, it is a good idea to precede it with "#:". This helps the system to identify the number as an Object ID. This is essential if you are writing an application to be shared by other organisations as the Object IDs will need to be changed by the system when they import your application. So the example above, should be written {LINK(#:1013, Contact)}. See OBJ_ID for more info.

If a parameter includes a comma it must be quoted {LINK(1013, "Contact John Doe or, a member of the team")}. If the parameter includes quotes and commas, quotes are escaped with another quote {LINK(1013, "Contact John ""The Man"" Doe or, a member of the team")}. 

Parameter values are individually interpreted before they are passed to the command for processing. This can be prevented by preceeding the parameter value with two exclamation marks!!

See below for a full list of commands and their explanations.

Page 1 of 1
Name Description Structure
API_CALL Make a call to a prepared API service {API_CALL(api_alias, result_alias, path, method, params)}
API_CLEAR_RESULT Clears an API result from memory {API_CLEAR_RESULT(result_alias)}
API_DATA Returns a data field from an API response {API_DATA(result_alias, data_field)}
API_DATA_TO_XML Converts one or more API resource fields to an XML string {API_DATA_TO_XML(result_alias, data_fields)}
API_FOR_EACH Itterates over items in an API result {API_FOR_EACH(result_alias, data_field, row_alias)}
API_HEADER_SET Adds an HTTP header to send with an API call {API_HEADER_SET(alias, name, value)}
API_HEADER_UNSET Unsets a previously set HTTP header, or all, for the API call. {API_HEADER_UNSET(alias, name)}
API_QTY Returns the number of elements in an API result {API_QTY(result_alias, data_field)}
API_SETUP Prepares for use of an API service {API_SETUP(api_alias, url, params, method, response)}
CHAT_SEND Send a Chat Message to another User {CHAT_SEND(user_id, text, level)}
CHAT_USERS Displays a list of Users for use in the Chat System. {CHAT_USERS(user_qty)}
COMPONENT Add one or more components to the current page. Use a list of IDs {COMPONENT(...)}
COOKIE_DEL Delete a cookie {COOKIE_DEL(name)}
COOKIE_GET Get the value of a cookie {COOKIE_GET(name, default)}
COOKIE_SET Set a cookie {COOKIE_SET(name, life, value)}
CSV_DATA Get data from imported CSV {CSV_DATA(alias, column)}
CSV_DATA_TO_XML Convert the imported CSV data to XML {CSV_DATA_TO_XML(alias, data_fields)}
CSV_FOR_EACH Loop through all CSV data rows {CSV_FOR_EACH(alias)}
CSV_GET Get the contents of a CSV file. {CSV_GET(alias, url)}
FILE_WRITE Write the contents of a variable to a file {FILE_WRITE(name, root, folder, file_name)}
FORGET Tell the system to remove query from cache {FORGET(obj_id, query)}
INCLUDE Include the content of one or more objects inline in the page. {INCLUDE(...)}
INPUT_LIVE_DEP {INPUT_LIVE_DEP( , )}
IOT_DATA Get IOT data from list {IOT_DATA(row_number, part)}
IOT_DELETE Delete IOT device data by {IOT_DELETE(dev_id, time, sys_time)}
IOT_FOR_EACH Iterates through the items in the current IOT List {IOT_FOR_EACH(forwards)}
IOT_LIST Show a list of devices by Device ID. {IOT_LIST(obj_id)}
IOT_LIST_GET Get a list of IOT entries. {IOT_LIST_GET(dev_id, from_time, to_time, flag)}
IOT_LIST_POS Returns the current position in the IOT List {IOT_LIST_POS}
IOT_LIST_SIZE Returns the size of the current IOT List {IOT_LIST_SIZE}
IOT_MOD Modify IOT entry Flag value. {IOT_MOD(dev_id, time, sys_time)}
IOT_NEW Create a new IOT device data entry. {IOT_NEW(dev_ref, time, data, flag)}
JSON_ENCODE Encode a string as JSON ready for sending {JSON_ENCODE(string)}
LOGIN_KEY Provide a login key while creating an API {LOGIN_KEY(hours)}
NOLOCK Stop rendering when Locking an item {NOLOCK}
REDIRECT Redirect to an external web page. {REDIRECT(url)}
REQUEST_ALL Return all the parameters passed to the page via the URL {REQUEST_ALL(type)}
SUPPORT Add a User Support button to the page {SUPPORT(options, help)}