Browser Toolbars
Browser Toolbars
Browser Toolbars
User Guide
No part of this document may be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without the express written permission of TEMENOS Holdings NV.
Table of Contents
Overview.................................................................................................................................................. 4
Terminology ......................................................................................................................................... 4
Toolbars ............................................................................................................................................... 5
Tools .................................................................................................................................................... 5
The Applications ...................................................................................................................................... 6
BROWSER.TOOLS ............................................................................................................................. 6
BROWSER.TOOLBAR ........................................................................................................................ 9
Custom JavaScript (custom.js)............................................................................................................. 10
Enquiries ............................................................................................................................................ 11
Contracts ............................................................................................................................................ 12
Customising the Core Tools and Toolbars ............................................................................................ 13
Updating Core Records ..................................................................................................................... 13
Core Records ................................................................................................................................. 13
Enquiry Selection Screen Toolbars ................................................................................................ 14
Enquiry Selection Screen Tools ..................................................................................................... 14
Enquiry Results Screen Toolbars................................................................................................... 15
Enquiry Results Screen Tools ........................................................................................................ 15
Application Screen Toolbars .......................................................................................................... 17
Application Screen Tools ............................................................................................................... 17
Contract Screen Toolbars .............................................................................................................. 18
Contract Screen Tools.................................................................................................................... 18
Annexed Toolbars .............................................................................................................................. 19
How to Add Tools to the Core Enquiry Selection Screen .............................................................. 19
How to Add Tools to the Core Enquiry Results Screen ................................................................. 22
How to Add Tools to the Core Contract Screen ............................................................................. 24
Using the API ..................................................................................................................................... 26
Customising Enquiries ........................................................................................................................... 27
How to Remove the Toolbar from Enquiries ...................................................................................... 27
How to Add a Tool to a Specific Enquiry Toolbar .............................................................................. 30
How to Add a Tool to a All Enquiry Screen Toolbars ........................................................................ 34
Customising Contracts .......................................................................................................................... 35
How to Add a Tool to a All Contract Screen Toolbars ....................................................................... 35
How to Add a Tool Relating to a Field on a Contract Screen ............................................................ 36
How to Add a Hyperlink Tool on a Contract Screen .......................................................................... 40
File Hyperlinks ................................................................................................................................ 40
Overview
The purpose of this user guide is to provide an overview of how the T24 Browser screens can be
customised by creating and adding buttons that perform T24 or custom client functionality.
This user guide has been written in the form of a “How To” guide which will guide you through
customising different types of screens.
Terminology
A Toolbar is a group of buttons or hyperlinks that can perform specified functionality. A toolbar will
normally hold a related set of buttons and be displayed at the top of a contract or enquiry screen in
Browser.
A Tool is a button or hyperlink which can perform specified functionality. A tool will normally be added
to a toolbar, but can be displayed as an individual button on contract and enquiry screens.
T24 Browser comes with a pre-defined set of toolbars and tools which are used by the contract and
enquiry screens. There should be no need to change these and it is advised that they are not
changed as this will affect the behaviour of the core Browser functionality.
Toolbars
Toolbars can be added :-
• On to contract screens
• On to enquiry screens
• In to a Composite Screen frame
Tools
Tools can be added :-
• On to a toolbar on contract and enquiry screens
• On to a contract screen as part of the version record
• On to a contract screen next to (and relating to) a specific field on a version record
The Applications
Toolbars and tools in Browser are defined using two applications : namely BROWSER.TOOLS and
BROWSER.TOOLBAR. These applications are explained in the following sections.
BROWSER.TOOLS
This application defines the buttons to be used in any toolbars. Each button is described by a number
of fields in the application.
A brief summary of the fields is as follows :-
• TOOLTIP : A language field that defines the tooltip to be displayed on hovering over the
button
• TYPE : The type of button :-
− ACTION : This commits the current contract and passes the value of the TARGET field
back into T24 in the GTS.COMMON common variable OFS$TOOLBAR.TARGET.
This can then be used by client code.
− BACK : This button closes a contract and displays the application screen. This is used
on a contract screen.
− COMBO : This displays a tool in the form of a HTML combo box. The list of items is
taken from the TEXT multi-valued set. An example of this is used for the printing and
export options on the enquiry results screen.
− COMMIT : This commits the current contract using the function defined in the
FUNCTION field. This is used for the Commit, Authorise, Delete, etc buttons on a
contract screen.
− DO.API : This runs an API call. The Browser API is no longer supported, but may be
used by earlier clients.
− DO.DEAL : This runs the deal specified in TARGET in the current window. This can be
used to open a contract by using the command line syntax in the ITEM field.
− FIELD.BUTTON : This tool relates to field on a contract screen, which when pressed
will run the JavaScript function defined in the ITEM field passing the name of the field
to which the tool belongs and its current value. An example of this would be to have
an “email” button next to an Address field that would bring up Microsoft Outlook with
the To address pre-populated with the value from the Address field.
− HYPERTEXT : The button will appear as a HTML hyperlink and act as the DO.DEAL
button type.
− JAVASCRIPT : This button executes a JavaScript command. When pressed the
JavaScript function defined in the ITEM field will run. The JavaScript function can
either be a core T24 JavaScript function (e.g. “docommand” to process command line
requests) or a client custom written function as defined in the “custom.js” file. Static
parameters may be passed to the JavaScript function if required.
− LABEL : This setting is currently unused.
− PAGERANGE : This displays a page range control as used on the enquiry results
screen to allow a user to page through a set of enquiry results pages.
− REQUEST : This button calls a T24 UTILITY.ROUTINE as defined in the ITEM field
with the argument defined in the ATTRIBUTES field.
• TEXT : A language field, which contains the text to de displayed on the button. Can be used in
conjunction with the IMAGE field. Either the IMAGE or the TEXT field must be set (or both).
• ATTRIBUTES : Used to pass arguments in to UTILITY.ROUTINE requests. Used in
conjunction with a TYPE of REQUEST.
• IMAGE : The filename of an image to be used in displaying the button (e.g. “txncommit”). The
defined image must be placed in the tool image directory of the web client skin being used (i.e.
“BrowserWeb\plaf\images\default\tools”) and follow the sizing and colouring rules for the used
skin. The image must be in GIF format and the field not contain the “.gif” suffix. Can be used
in conjunction with the TEXT field. Either the IMAGE or the TEXT field must be set (or both).
• ITEM : This is the additional data to be sent to T24 with a commit. The contents of TARGET will
be set in the OFS$TOOLBAR.TARGET common available from the I_GTS.COMMON insert.
• ENABLED : This defines whether or not the button is enabled. For disabled tools a
“<imageName>_dis.gif” file should exist, which would normally be a greyed-out version of the
enabled image file.
• SHORTCUT.KEY : This is the shortcut key for the tool allowing fast keyboard access to the tool.
• FUNCTION : This is the function that will be used if the tool applies a commit to this contract.
This field contains the standard list of T24 functions (e.g. I, D, A, etc.) as well as being able to
specify an action :
− EDIT : Open a contract in Input mode.
− HLD : Place a contract on Hold.
− LOCK : View contract in see mode, but take a lock so that an Authorise, Delete,
Reverse, etc can be done.
− VAL : Validate a contract.
− VIEW : View a contract in See mode.
• PROV.CONF.PROMPT : This field specifies if a confirmation prompt is to be used when the
button is pressed. A confirmation prompt will display Yes / No options with the prompt
question defined in the PROMPT.TEXT field
• PROMPT.TEXT : This is a language field that defines the prompt question to be used if a
prompt is assigned to a button. Used in conjunction with the PROV.CONF.PROMPT field.
• DISPLAY.TYPE : This field specifies what the button is displayed as. It can be an Image, Text
or a combination of both (Text Image).
• TARGET : This field holds the data that will be used in different ways for different button types :
− ACTION : The contents of this field will be passed back to T24 with a commit.
− DO.DEAL : The contents of this field will be used as the basis for a command line
operation.
− DO.API : The contents of this field will be used as the parameter to be passed to the
API.
• DEFAULT.TOOL : This specifies a tool is to be used for the default operation of a page (i.e.
this tool will be run when Return is pressed). If more then one tool is set as default then the
first one in the toolbar is used.
• NAME : The name of the tool.
BROWSER.TOOLBAR
This application defines a Browser toolbar. Each toolbar is made up of a multi-value set of tools.
A brief summary of the fields is as follows :-
• TOOL.ID : A list of tools that make up a toolbar. This field must the key to a valid record on
BROWSER.TOOLS.
• TOOLBAR.TEXT : A language field that defines text to be displayed with a toolbar.
Enquiries
runEnquiryRequest enables the user to assign the name of an XSL document to be used to transform
the resultant enquiry request.
The above function can be implemented through a BROWSER.TOOLS record, which will be added to
the existing BROWSER.TOOLBAR for the existing enquiry selection screen. This will be done via the
concept of annexed toolbars.
Please refer to the section “Annexed Toolbars” for more information.
Contracts
runContractRequest enables the user to assign the name of an XSL document to be used to transform
the resultant contract information received from the server.
runContractRequest
The user enters the name of the style sheet to be used in the transform, via this function. This will
result in the contract response being transformed by the XSL document specified.
The above function can be implemented through a BROWSER.TOOLS record, which will be added to
the existing BROWSER.TOOLBAR for the existing contract screen. This will be done via the concept
of annexed toolbars.
Please refer to the section “Annexed Toolbars” for more information.
However, in some circumstances, it may be necessary (or desirable) to customise the functionality of
all applications and enquiries in the system. Changes to core tools and toolbars can be achieved
using three mechanisms :-
• Updating Core Records
• Using Annexed Toolbars
• Using the API
Core Records
The definition of core tool and toolbar records can be altered by changing the relevant
BROWSER.TOOLS and BROWSER.TOOLBAR records.
Please be aware that the changing these records during an implementation may require a restart of
the TCServer as the records are cached in memory for performance purposes.
The following sections describe the core toolbar and tool records used on Enquiry Selection, Enquiry
Results, Application, and Contract screens.
ENQUIRY.SELECTION This Toolbar is only used for Browser releases v2.1 and
lower. This is now redundant.
This used to hold the tool records to print and export an
enquiry in a defined format.
ENQUIRY.SELECTION.NO.EXPORT This Toolbar is only used for Browser releases v2.1 and
lower. This is now redundant.
This used to hold the tool records to print an enquiry.
ENQUIRY This Toolbar is only used for Browser releases v2.1 and
lower. This is now redundant.
This used to hold the tool records to go to the
next/previous/last page, toggle the timer, etc.
Annexed Toolbars
Annexed toolbars are a way of adding tools to an existing core toolbar (enquiry or contract) without
actually modifying the core toolbar record.
Annexed toolbars have a name of “U.<core_toolbar_name>” – i.e. a User defined toolbar addition.
For example, the core BROWSER.TOOLBAR record for the enquiry selection screen is called
ENQUIRY.SELECTION.MAIN. In order to add a new tool to this toolbar the user would create a new
BROWSER.TOOLBAR record called U.ENQUIRY.SELECTION.MAIN – the
ENQUIRY.SELECTION.MAIN annex. The Browser Tools defined in this toolbar record will then be
added to the annexed toolbar. This will prevent the core record from being overwritten whenever a
new release of the ENQUIRY.SELECTION.MAIN record is made.
New JavaScript functions can be developed for new Tools by placing them in the custom.js file.
Please refer to the section “Custom JavaScript (custom.js)” for more details.
Please refer to the section “Core Records” for the names of all of the core toolbar and tool records
supplied with T24.
As shown below :-
As shown below :-
As shown below :-
For more details on these API routines please refer to the ”Appendix A – API Specification” section of
this guide.
Customising Enquiries
This section details how to customise toolbars and tools on enquiry screens.
To do this :-
1. Define a new BROWSER.TOOL record for the new button (e.g. called
ENQ.NEW.CUSTOMER). The TYPE of the toolbar depends on the action that the button is to
perform. This is likely to be DO.DEAL if a command line syntax is required (e.g. “CUSTOMER
I F3”) or JAVASCRIPT if a custom defined JavaScript function is being (e.g. to make a call to
an external system).
2. Add the new BROWSER.TOOL to the ENQUIRY record in the TOOL.ID field.
3. Run the enquiry to display the button.
As shown below :-
Please note that the button will not be displayed if the NO.TOOLBAR option has been specified on the
enquiry.
Customising Contracts
This section details how to customise toolbars and tools on contract screens.
For example if “openOutlook” is placed into the ITEM field on BROWSER.TOOLS, the system looks
for the function “openOutlook” in custom.js and passes in the field name as the first parameter and the
field value as the second (where the button has been defined in a VERSION). Since the parameters
are pre-defined, brackets must not be used in the ITEM field.
It is therefore possible to pass in an email address under the field value and open up an email
application such as Outlook.
For the created Browser tool to function some JavaScript code must be added to the custom.js script
file: -
The highlighted text in the following example illustrates some JavaScript which can be changed to
dictate to the system what action to take for the custom button. Note that the function name
‘chequeIssue’ needs to match the value in the ITEM field on the BROWSER.TOOLS record: -
custom.js
The custom button is added to a version by applying the BROWSER.TOOLS record id to the
required HYPERLINK field on the VERSION record.
File Hyperlinks
By entering a hyperlink definition in the HYPERLINK field against a defined field, the field prompt text
will cause the target to be opened in a new window. This is useful for opening documents relating to
specific fields (e.g. customised HelpText, etc.).
If a hyperlink to a file is required then the path must be input into the HYPERLINK field with forward
slashes “/” as below: -
• Internet files must be input as: http://, or https://, or www. followed by the address.
• Files must be input as file:/// followed by the path.
In the above example, clicking on the fieldname prompt text in CUSTOMER,CLIENT displays the
document defined in the hyperlink in a separate window.
URL Hyperlinks
By entering a valid URL definition in the HYPERLINK field against a comment field a button will be
displayed that opens the target in a new window. This is useful for allowing access to internal or
external web sites from within the T24 Browser.
Tool Hyperlinks
To do this :-
1. Define a new BROWSER.TOOL record for the new button (e.g. called
TEST.NEW.CUSTOMER). The TYPE of the toolbar depends on the action that the button is
to perform. This is likely to be DO.DEAL or JAVASCRIPT if a command line syntax is
required (e.g. “CUSTOMER I F3”) or JAVASCRIPT if a custom defined JavaScript function is
being (e.g. to make a call to an external system).
2. Add the new BROWSER.TOOL to an EB.COMPOSITE.SCREEN record which has a
frame TYPE of TOOL and the tool name in the CONTENT.ARGS field.
3. Run the Composite Screen to display the button.
As shown below :-
To do this :-
1. Define new BROWSER.TOOL records for the new buttons required in the toolbar (e.g. called
TEST.NEW.CUSTOMER, TEST.NEW.ACCOUNT and TEST.GOOGLE ). The TYPE of the
toolbar depends on the action that the button is to perform. This is likely to be DO.DEAL if a
command line syntax is required (e.g. “CUSTOMER I F3”) or JAVASCRIPT if a custom defined
JavaScript function is being (e.g. to make a call to an external system).
2. Define a new BROWSER.TOOLBAR record that contains the new tool records by multi-
valuing the TOOL.ID field.
3. Add the new BROWSER.TOOLBAR to an EB.COMPOSITE.SCREEN record which has a
frame TYPE of TOOLBAR and the toolbar name in the CONTENT field.
4. Run the Composite Screen to display the button.
As shown below :-
A Tool Definition
Toolbars
EB.ADD.TOOLBAR
Description Adds the specified Toolbar in the specified location.
Arguments TOOLBAR.ID
TOOLBAR.LOCATION
Incoming
TOOLBAR.ID A valid BROWSER.TOOLBAR record.
TOOLBAR.LOCATION
Returned
Tools
EB.ADD.TOOL
Description Adds the specified Tool to the specified Toolbar.
Arguments TOOLBAR.ID
TOOL.ID
Incoming
TOOLBAR.ID The name of the Toolbar to add the Tool to.
Must be a valid BROWSER.TOOLBAR record.
TOOL.ID The name of the Tool to add.
Must be a valid BROWSER.TOOLS record.
Returned
EB.CHANGE.TOOL
Description Changes the specified Tool on the specified Toolbar.
Arguments TOOLBAR.ID
TOOL.ID
TOOLBAR, TOOL, ATTRIBUTE, NEW.VALUE
Incoming
TOOLBAR.ID The name of the Toolbar to change.
Must be a valid BROWSER.TOOLBAR record.
TOOL.ID The name of the Tool to change.
Must be a valid BROWSER.TOOLS record.
ATTRIBUTE The field of the tool to change as defined in “I_F.BROWSER.TOOLS”
insert file.
NEW.VALUE The value to set the attribute to.
Returned
Example Set the ENABLED field on the TXN.COMMIT tool to YES on the
CONTRACT toolbar.
EB.CHANGE.TOOL("CONTRACT", "TXN.COMMIT", BRTL.ENABLED,
"YES")
Appendix B – Troubleshooting
General Problems
One of the main problems encountered in the customisation of enquiries and contracts is that updates
are not being shown on Browser screens. This is normally due to the BROWSER.TOOLS and
BROWSER.TOOLBAR records being cached by T24 for performance reasons.
Therefore, during T24 implementations, the TCServer program should be restarted after changes to
these applications to ensure that the new definitions are re-read.
Specific Problems
Please refer to the table below if restarting the TCServer has not rectified the problem.
Tool JavaScript function is not called, not found, 1. Changes to custom.js will only take effect
or causes an error. after restarting the web server.
2. Check the setting of the CachingFilter
parameter MaxAgeInSeconds which
determines how often a cached file is
refreshed. This could be reduced to 1
second for an instant refresh.
3. Check that the JavaScript code for the
Tool is syntactically correct.
1. Check that the Tool record has been
Tool does not behave as expected.
defined correctly, especially the TYPE
field.
2. Check that any JavaScript function
defined for the Tool is correct and either
contained in a core JavaScript file or
custom.js.