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
BROWSER_UNSUPPORTED Returns TRUE if the users Browser is unsupported {BROWSER_UNSUPPORTED}
CHOICE Display a checkbox that allows you to choose if other text is displayed. {CHOICE(obj_id, tag, class, target)}
CHOICES Displays a drop-down box on the page to allow for the selection of text to be inserted. {CHOICES(rel_id)}
CODE_LOOKUP Provide an input box and search button to lookup an object based on its ID, Code or Friendly Name {CODE_LOOKUP(list_id, part)}
GET_OBJECTS Adds multiple objects to the caching system in one database read. {GET_OBJECTS(id, id, id, id...)}
GET_SEQUENCE Return the next number from an object and increment {GET_SEQUENCE(obj_id)}
KEY_LIST Get elements from a list based on list of Keys {KEY_LIST(needle, haystack)}
LIST_DATA Returns data about the currently rendered list {LIST_DATA(elem_id)}
LIST_REL Return the List Relationship ID {LIST_REL}
LIST_ROOT Return the List Root Object ID {LIST_ROOT}
LOCKED Returns TRUE if the specified Object is locked {LOCKED(obj_id)}
LOGGED_IN Return TRUE or FALSE indicating if the current user is logged in or not. {LOGGED_IN}
LOOKUP Lookup an item within a List of items {LOOKUP(item, list)}
MAIN_TEMP Returns the ID of the object's Main Template if the object it is placed on has a main template associated to it. {MAIN_TEMP}
MINION_OBJECT Returns TRUE if the Object is a MINION Object or FALSE if not. {MINION_OBJECT(obj_id)}
OBJ Return information on the state of the result of the query or the data within the object {OBJ(query, limit, method)}
OBJ_DATA Retrieves Data from an Object {OBJ_DATA(query, part)}
OBJ_PREV Get the Previous Object ID in a list of Objects {OBJ_PREV(obj_id, rel_type, order)}
OBJ_ROOT Return the root object ID of the specified object. {OBJ_ROOT(obj_id, obj_type)}
PAGE_URL Provides a URL to the specified page {PAGE_URL(obj_id, parameters)}
QUERY_REQ Query Request {QUERY_REQ(action, query)}
REL_DATA Return data about a particular relationship between two objects {REL_DATA(parent_id, rel_type, child_id, part)}
REQUEST Request element from URL {REQUEST(name, default, data_type)}
SERVER Return Web Server Variable values {SERVER(name)}
SESSION_CONSTANT Retreive a session Constant {SESSION_CONSTANT(name)}
SYS_VAL Return a System Value {SYS_VAL(name)}
TIME Return current Unix timestamp {TIME}
TIMEZONE Returns the Users Current Timezone {TIMEZONE}
TIMEZONE_OFFSET Return the users Time Zone offset {TIMEZONE_OFFSET}
URL_DATA Scrape data from an external website {URL_DATA(url, tag)}
USER Returns TRUE if the current user is not a visitor. {USER}
USER_DATA Retreive User Data {USER_DATA(user_id, element)}
USER_TIME Returns the correct time from the users current time zone {USER_TIME(format)}