Avaya Interaction Center Database Designer Application Reference Guide



Similar documents
Avaya Engagement Assistant Web Portal Administration

Avaya Microsoft Lync Integration User Guide for IP Office

Using Avaya Communicator for Microsoft Lync 2010 on IP Office Platform

IP Office Embedded Voic Mailbox User Guide

Avaya Identity Engines Ignition Server Release: Avaya Inc. All Rights Reserved.

IP Office Contact Center Contact Recorder Configuration Task Based Guide

IP Office Phone User Guide Issue 04a - (16 January 2015)

IP Office Release 7.0 IP Office Embedded Voic User Guide

IP Office 8.1 Using Voic Pro in Intuity Mode

Avaya Identity Engines Ignition Server Getting Started. Avaya Identity Engines Ignition Server Release 7.0

IP Office IP Office Softphone Installation

IP Office Platform. Avaya IP Office Platform Embedded Voic User Guide (IP Office Mode) Issue 15b - (22 January 2015)

Using Avaya Aura Messaging

NN Avaya Aura Contact Center Performance Management

IP Office Avaya Radvision Interoperation Notes

Router - Network Address Translation (NAT)

BCM Rls 6.0. Remote Access. Task Based Guide

Using Avaya IP Office Contact Center for Windows

Avaya Visualization Performance and Fault Manager VPFM SCOM Connector Fundamentals

Using Avaya B189 Conference IP Phone

Avaya 2033 IP Conference Phone User Guide. Avaya Business Communications Manager

Deploying Avaya Contact Center Select Software Appliance

Auto Attendant Setup & Operation

IP Office Essential Edition IP Office Essential Edition - Quick Version Phone Based Administration

ACD Setup & Operation

Accessing and Managing Avaya Aura Utility Services

Overview of Avaya Aura System Platform

Using Avaya Communicator for Windows on IP Office

Using Avaya Aura Messaging

Using IP Office Web Collaboration Agent

Avaya Aura Contact Center Integration with salesforce.com for Access to Knowledge Management

Administering Avaya one-x Agent with Central Management

Avaya Contact Center Express Release 5.0 Database Deployment and Management User Guide

Administering Avaya Communicator for Microsoft Lync on IP Office Platform

Avaya Extension to Cellular User Guide Avaya Aura TM Communication Manager Release 6.0

Installing Avaya Control Manager

Administering Avaya IP Office Contact Center Dialer

Accessing and Managing Utility Server

Wake On LAN Technical Configuration Guide. Ethernet Edge Switch NN Engineering

IP Office Platform 9.1

Initial Installation Single SCS Server

IP Office. T7000 Telephone User Guide. - Issue 02d - (25 June 2014)

Administering Avaya Collaboration Services

Avaya CMS Supervisor Reports

Upgrading to Avaya Aura Experience Portal 7.0.1

IP Office 9.1. IP Office Video Collaboration Solution - Installation Notes. Issue 07a - (02 July 2015)

BCM Rls 6.0. Feature Codes. Task Based Guide

Administering Avaya Video Conferencing Solution Advanced Topics

Avaya 9400 Series Digital Deskphone User Guide for Avaya Aura Communication Manager

Avaya Microsoft Lync Integration User Guide for Avaya CS 1000 and Cisco Unified Communication Manager

Modular Messaging. Release 4.0 Service Pack 4. Whitepaper: Support for Active Directory and Exchange 2007 running on Windows Server 2008 platforms.

Avaya Web Conferencing User Guide

Avaya one-x Mobile Preferred for IP Office Administration Guide

Configuration Backup Restore

Avaya 9400 Series Digital Deskphone User Guide for Avaya Aura Communication Manager

Avaya Visualization Performance and Fault Manager Discovery Best Practices

Call Detail Recording System Administration Guide. Avaya Business Communications Manager

Configuring the Avaya Session Border Controller for IP Office Remote Workers

Deploying IP Office Platform Server Edition Solution

Avaya Contact Center Select Business Continuity

IP Office Phone Manager User Guide

IP Office Deploying Server Edition Servers as Virtual Machines Issue 02h - (17 May 2016)

IP Office 9.0 Deploying IP Office Server Edition Solution

IP Office Basic Edition IP Office Basic Edition - Quick Mode Phone Based Administration

Avaya Proactive Contact 4.1 Internet Monitor Release Notes

Modular Messaging. Release 3.0 / 3.1. Diminished Permissions for Exchange.

Avaya 1608/1608-I IP Deskphone User Guide

Avaya 1616/1616-I IP Deskphone User Guide

Avaya IP Office Platform in a Branch Environment Reference Configuration

IP Office Platform 9.1

Administering Avaya Communicator for Microsoft Lync on Avaya Aura

IP Office. T7100 Telephone User Guide. - Issue 02d - (25 June 2014)

M7208 Telephone User Guide

Deploying Avaya Aura applications from System Manager

Avaya Call Management System Software Installation, Maintenance, and Troubleshooting for Linux

IP Office Platform 9.1

Deploying and Updating Avaya Aura Media Server Appliance

Avaya CallPilot Fax Set Up and Operation Guide. Avaya Business Communications Manager

Deploying Avaya Aura Experience Portal in an Avaya Customer Experience Virtualized Environment

Deploying IP Office Server Edition Solution IP Office 8.1

Software Update Manager User Guide

Configuring and Managing Avaya Identity Engines Single-Sign-On

IP Office 9.0. SIP Extension Installation. - Issue 3c - (21 August 2013)

P R O V I S I O N I N G O R A C L E H Y P E R I O N F I N A N C I A L M A N A G E M E N T

Ross Video Limited. DashBoard Server and User Rights Management User Manual

IP Office one-x Portal for IP Office User Guide

BlackShield ID Agent for Terminal Services Web and Remote Desktop Web

EMC Documentum Composer

Administering Communication Manager for Avaya one-x Agent

Implementing Avaya one-x Communicator

Event Manager. LANDesk Service Desk

BrightStor ARCserve Backup for Linux

StreamServe Persuasion SP5 Ad Hoc Correspondence and Correspondence Reviewer

IP Office 7.0 one-x Portal for IP Office User Guide

Scribe Online Integration Services (IS) Tutorial

EPM Performance Suite Profitability Administration & Security Guide

Administering Avaya IP Office Contact Center IVR Editor

Avaya Scopia XT Series User Guide

Voic Setup & Operation

Transcription:

Avaya Interaction Center Database Designer Application Reference Guide Release 7.3.x May 2015

2015 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is complete and accurate at the time of printing, Avaya assumes no liability for any errors. Avaya reserves the right to make changes and corrections to the information in this document without the obligation to notify any person or organization of such changes. Documentation disclaimer "Documentation" means information published by Avaya in varying mediums which may include product information, operating instructions and performance specifications that Avaya may generally make available to users of its products and Hosted Services. Documentation does not include marketing materials. Avaya shall not be responsible for any modifications, additions, or deletions to the original Published version of documentation unless such modifications, additions, or deletions were performed by Avaya. End User agrees to indemnify and hold harmless Avaya, Avaya's agents, servants and employees against all claims, lawsuits, demands and judgments arising out of, or in connection with, subsequent modifications, additions or deletions to this documentation, to the extent made by End User. Link disclaimer Avaya is not responsible for the contents or reliability of any linked websites referenced within this site or documentation provided by Avaya. Avaya is not responsible for the accuracy of any information, statement or content provided on these sites and does not necessarily endorse the products, services, or information described or offered within them. Avaya does not guarantee that these links will work all the time and has no control over the availability of the linked pages. Warranty Avaya provides a limited warranty on Avaya hardware and software. Refer to your sales agreement to establish the terms of the limited warranty. In addition, Avaya's standard warranty language, as well as information regarding support for this product while under warranty is available to Avaya customers and other parties through the Avaya Support website: http://support.avaya.com or such successor site as designated by Avaya. Please note that if you acquired the product(s) from an authorized Avaya Channel Partner outside of the United States and Canada, the warranty is provided to you by said Avaya Channel Partner and not by Avaya. "Hosted Service" means a hosted service subscription that you acquire from either Avaya or an authorized Avaya Channel Partner (as applicable) and which is described further in Hosted SAS or other service description documentation regarding the applicable hosted service. If you purchase a Hosted Service subscription, the foregoing limited warranty may not apply but you may be entitled to support services in connection with the Hosted Service as described further in your service description documents for the applicable Hosted Service. Contact Avaya or Avaya Channel Partner (as applicable) for more information. Hosted Service THE FOLLOWING APPLIES IF YOU PURCHASE A HOSTED SERVICE SUBSCRIPTION FROM AVAYA OR AN AVAYA CHANNEL PARTNER (AS APPLICABLE), THE TERMS OF USE FOR HOSTED SERVICES ARE AVAILABLE ON THE AVAYA WEBSITE, HTTP://SUPPORT.AVAYA.COM/ LICENSEINFO UNDER THE LINK "Avaya Terms of Use for Hosted Services" OR SUCH SUCCESSOR SITE AS DESIGNATED BY AVAYA, AND ARE APPLICABLE TO ANYONE WHO ACCESSES OR USES THE HOSTED SERVICE. BY ACCESSING OR USING THE HOSTED SERVICE, OR AUTHORIZING OTHERS TO DO SO, YOU, ON BEHALF OF YOURSELF AND THE ENTITY FOR WHOM YOU ARE DOING SO (HEREINAFTER REFERRED TO INTERCHANGEABLY AS "YOU" AND "END USER"), AGREE TO THE TERMS OF USE. IF YOU ARE ACCEPTING THE TERMS OF USE ON BEHALF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE AUTHORITY TO BIND SUCH ENTITY TO THESE TERMS OF USE. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT WISH TO ACCEPT THESE TERMS OF USE, YOU MUST NOT ACCESS OR USE THE HOSTED SERVICE OR AUTHORIZE ANYONE TO ACCESS OR USE THE HOSTED SERVICE. YOUR USE OF THE HOSTED SERVICE SHALL BE LIMITED BY THE NUMBER AND TYPE OF LICENSES PURCHASED UNDER YOUR CONTRACT FOR THE HOSTED SERVICE, PROVIDED, HOWEVER, THAT FOR CERTAIN HOSTED SERVICES IF APPLICABLE, YOU MAY HAVE THE OPPORTUNITY TO USE FLEX LICENSES, WHICH WILL BE INVOICED ACCORDING TO ACTUAL USAGE ABOVE THE CONTRACT LICENSE LEVEL. CONTACT AVAYA OR AVAYA'S CHANNEL PARTNER FOR MORE INFORMATION ABOUT THE LICENSES FOR THE APPLICABLE HOSTED SERVICE, THE AVAILABILITY OF ANY FLEX LICENSES (IF APPLICABLE), PRICING AND BILLING INFORMATION, AND OTHER IMPORTANT INFORMATION REGARDING THE HOSTED SERVICE. Licenses THE SOFTWARE LICENSE TERMS AVAILABLEON THE AVAYA WEBSITE, HTTP://SUPPORT.AVAYA.COM/LICENSEINFO OR SUCH SUCCESSOR SITE AS DESIGNATED BY AVAYA, ARE APPLICABLE TO ANYONE WHO DOWNLOADS, USES AND/OR INSTALLS AVAYA SOFTWARE, PURCHASED FROM AVAYA INC., ANY AVAYA AFFILIATE, OR AN AVAYA CHANNEL PARTNER (AS APPLICABLE) UNDER A COMMERCIAL AGREEMENT WITH AVAYA OR AN AVAYA CHANNEL PARTNER. UNLESS OTHERWISE AGREED TO BY AVAYA IN WRITING, AVAYA DOES NOT EXTEND THIS LICENSE IF THE SOFTWARE WAS OBTAINED FROM ANYONE OTHER THAN AVAYA, AN AVAYA AFFILIATE OR AN AVAYA CHANNEL PARTNER; AVAYA RESERVES THE RIGHT TO TAKE LEGAL ACTION AGAINST YOU AND ANYONE ELSE USING OR SELLING THE SOFTWARE WITHOUT A LICENSE. BY INSTALLING, DOWNLOADING OR USING THE SOFTWARE, OR AUTHORIZING OTHERS TO DO SO, YOU, ON BEHALF OF YOURSELF AND THE ENTITY FOR WHOM YOU ARE INSTALLING, DOWNLOADING OR USING THE SOFTWARE (HEREINAFTER REFERRED TO INTERCHANGEABLY AS "YOU" AND "END USER"), AGREE TO THESE TERMS AND CONDITIONS AND CREATE A BINDING CONTRACT BETWEEN YOU AND AVAYA INC. OR THE APPLICABLE AVAYA AFFILIATE ("AVAYA"). License type(s) Copyright Except where expressly stated otherwise, no use should be made of materials on this site, the Documentation, Software, or hardware provided by Avaya. All content on this site, the documentation and the Product provided by Avaya including the selection, arrangement and design of the content is owned either by Avaya or its licensors and is protected by copyright and other intellectual property laws including the sui generis rights relating to the protection of databases. You may not modify, copy, reproduce, republish, upload, post, transmit or distribute in any way any content, in whole or in part, including any code and software unless expressly authorized by Avaya. Unauthorized reproduction, transmission, dissemination, storage, and or use without the express written consent of Avaya can be a criminal, as well as a civil offense under the applicable law. Third party components "Third Party Components" mean certain software programs or portions thereof included in the Software or Hosted Service may contain software (including open source software) distributed under third party agreements ("Third Party Components"), which contain terms regarding the rights to use certain portions of the Software ("Third Party Terms"). As required, information regarding distributed Linux OS source code (for those Products that have distributed Linux OS source code) and identifying the copyright holders of the Third Party Components and the Third Party Terms that apply is available in the Documentation or on Avaya's website at: http://support.avaya.com/copyright or such successor site as designated by Avaya. You agree to the Third Party Terms for any such Third Party Components. THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL USE OF A CONSUMER OR OTHER USES IN WHICH IT DOES NOT RECEIVE REMUNERATION TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD ("AVC VIDEO") AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A PERSONAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PROVIDER LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM. Note to Service Provider The Product or Hosted Service may use Third Party Components subject to Third Party Terms that do not allow hosting and require a Service Provider to be independently licensed for such purpose. It is your responsibility to obtain such licensing. Preventing Toll Fraud "Toll Fraud" is the unauthorized use of your telecommunications system by an unauthorized party (for example, a person who is not a corporate employee, agent, subcontractor, or is not working on your company's behalf). Be aware that there can be a risk of Toll Fraud associated with your system and that, if Toll Fraud occurs, it can result in substantial additional charges for your telecommunications services. Avaya Toll Fraud intervention If you suspect that you are being victimized by Toll Fraud and you need technical assistance or support, call Technical Service Center Toll Fraud Intervention Hotline at +1-800-643-2353 for the United States and Canada. For additional support telephone numbers, see the Avaya Support website: http://support.avaya.com or such successor site as designated by Avaya.

Suspected security vulnerabilities with Avaya products should be reported to Avaya by sending mail to: securityalerts@avaya.com. Trademarks The trademarks, logos and service marks ("Marks") displayed in this site, the Documentation, Hosted Service(s), and Product(s) provided by Avaya are the registered or unregistered Marks of Avaya, its affiliates, or other third parties. Users are not permitted to use such Marks without prior written consent from Avaya or such third party which may own the Mark. Nothing contained in this site, the Documentation, Hosted Service(s) and Product(s) should be construed as granting, by implication, estoppel, or otherwise, any license or right in and to the Marks without the express written permission of Avaya or the applicable third party. Avaya is a registered trademark of Avaya Inc. All non-avaya trademarks are the property of their respective owners. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Downloading Documentation For the most current versions of Documentation, see the Avaya Support website: http://support.avaya.com or such successor site as designated by Avaya. Contact Avaya Support See the Avaya Support website: http://support.avaya.com for Product or Hosted Service notices and articles, or to report a problem with your Avaya Product or Hosted Service. For a list of support telephone numbers and contact addresses, go to the Avaya Support website: http://support.avaya.com (or such successor site as designated by Avaya), scroll to the bottom of the page, and select Contact Avaya Support.

Contents Chapter 1: Introduction..................................... 12 Purpose............................................ 12 Intended audience...................................... 12 Document changes since last issue............................ 12 Related resources...................................... 13 Documentation...................................... 13 Training.......................................... 16 Viewing Avaya Mentor videos............................. 16 Support............................................ 17 Chapter 2: Database Designer fundamentals......................... 18 Prerequisites......................................... 19 Overview of Database Designer.............................. 20 Tree view......................................... 21 Properties tab and Children tab............................ 22 Menus........................................... 23 Database configuration................................... 26 Overview of the ADL file................................... 27 How to open an ADL file................................. 28 How to set the in-house version............................ 28 System IC Scripts...................................... 29 How to delete the include paths for system IC Scripts................ 30 How to find items in the tree view............................. 30 How to view messages................................... 31 How to set permissions................................... 31 Chapter 3: Application design................................. 32 Application design files................................... 32 Application components.................................. 33 The application component hierarchy......................... 34 Overview of focuses..................................... 38 Overview of Applications................................ 39 How to modify application behavior............................ 39 How to customize an application............................ 40 Chapter 4: Physical DB connections and DB connection sets................ 42 Overview of Physical DB connections........................... 42 The role of the Data server................................. 43 Supported databases.................................... 44 Database Designer Application Reference Guide May 2015 4

How to create a physical DB connection.......................... 45 General physical database connection parameters.................. 45 Database-specific connection parameters....................... 46 Overview of DB connection sets.............................. 51 How to create a DB connection set........................... 52 How to add Logical DB connections.......................... 53 How to delete Logical DB connections......................... 53 How to configure a DB connection set for IC Repository................. 54 How to configure a primary logical DB connection.................... 54 Overview of secondary logical DB connections...................... 55 How to configure a secondary logical DB connection in the same database instance 55 How to configure a secondary logical DB connection in a different database instance 57 How to delete a DB connection set............................. 58 How to change a DB connection set............................ 58 Chapter 5: Tables and fields.................................. 60 Overview of database tables................................ 60 Relationship between tables in Database Designer and the application database. 61 Table properties..................................... 61 How to create a table.................................. 64 How to change a table.................................. 65 How to delete a table.................................. 66 Overview of database fields................................. 67 Data types........................................ 67 Field properties..................................... 68 How to create a field................................... 73 How to change a field.................................. 75 How to delete a field................................... 75 Overview of database keys................................. 75 How to create a key................................... 77 How to change a key.................................. 77 How to delete a key................................... 78 Chapter 6: Table sets and table aliases............................ 80 How to create a table set.................................. 80 How to change a table set.................................. 81 How to view table properties for a table alias....................... 81 How to determine where a table set is used........................ 82 How to delete a table set.................................. 82 5 Database Designer Application Reference Guide May 2015

How to create a table alias................................. 82 How to change a table alias................................. 84 How to delete a table alias................................. 84 Chapter 7: Application browsers................................ 86 Overview of search browsers................................ 86 Search browser properties............................... 87 How to create a search browser............................ 88 How to change a search browser............................ 88 How to delete a search browser............................ 89 Overview of search browser columns........................... 89 Search browser column properties........................... 89 How to create a search browser column........................ 91 How to change a search browser column....................... 91 How to delete a search browser column........................ 92 Overview of in-form browsers............................... 92 In-form browser properties............................... 93 How to create an in-form browser........................... 94 How to change an in-form browser........................... 95 Overview of in-form browser columns........................... 95 In-form browser column properties.......................... 96 How to create an in-form browser column....................... 100 How to change an in-form browser column...................... 101 How to delete an in-form browser column....................... 101 Chapter 8: Forms, groups, and objects............................ 102 Overview of forms...................................... 103 Form properties..................................... 103 How to create a form.................................. 105 How to change a form.................................. 106 How to delete a form................................... 106 Overview of groups..................................... 106 Group properties..................................... 107 How to create a group.................................. 109 How to delete a group.................................. 110 How to change a group................................. 110 How to create right-click menus.............................. 111 How to delete a right-click menu item......................... 112 How to change a right-click menu item........................ 112 How to set the order of items in a right-click menu.................. 112 Database Designer Application Reference Guide May 2015 6

Overview of objects..................................... 113 How to constrain user access to an object...................... 114 How to automatically create objects.......................... 114 Common properties for most non button objects................... 115 Check box objects...................................... 116 How to create a check box object........................... 117 Combo box objects..................................... 117 How to create a box object............................... 119 How to set box values for multilanguage usage.................... 119 Date time objects...................................... 120 How to create a date time object............................ 122 Label objects......................................... 122 Long text objects...................................... 122 How to create a long text object............................ 124 Text box objects....................................... 125 How to create a text box object............................. 128 In-form browser objects................................... 129 How to create an in-form browser object....................... 132 1 to N link objects...................................... 132 How to create a foreign field using a 1 to N link object................ 137 M to N link objects...................................... 138 How to create a foreign field using an M to N link object............... 140 ActiveX control objects................................... 140 How to create an ActiveX control object........................ 142 Standard button objects................................... 142 How to create a standard button............................ 146 Custom button objects................................... 147 How to create a custom button............................. 148 How to change an object.................................. 148 How to delete an object................................... 149 Chapter 9: Layout Editor for form design........................... 150 Overview of the Layout Editor............................... 151 How to change Layout Editor modes.......................... 151 How to view forms.................................... 151 How to view invisible controls............................. 151 How to use the grid................................... 152 How to select multiple controls............................. 152 How to group or ungroup controls........................... 152 7 Database Designer Application Reference Guide May 2015

Overview of modifying groups and controls........................ 153 How to move groups and controls........................... 154 How to align groups and controls........................... 154 How to space controls evenly............................. 154 How to center groups and controls in view...................... 155 How to size groups and controls............................ 155 How to change the caption............................... 156 How to change the accelerator keys for buttons................... 156 How to set the tab order................................... 156 How to change only part of the tab order....................... 157 How to revert to the saved tab order.......................... 157 How to set form dimensions................................ 158 How to specify the application GUI colors......................... 158 How to test the layout.................................... 158 Chapter 10: Modules and relations............................... 160 Overview of modules.................................... 160 Module properties.................................... 161 How to create a module................................. 165 How to change a module................................ 166 How to delete a module................................. 167 Overview of relations.................................... 167 Overview of 1 to N relations................................. 167 1 to N relation properties................................ 168 How to create a 1 to N relation............................. 169 How to change a 1 to N relation............................ 170 How to delete a 1 to N relation............................. 170 Overview of M to N relations................................ 170 M to N relation properties................................ 171 How to create an M to N relation............................ 173 How to change an M to N relation........................... 174 How to delete an M to N relation............................ 174 Overview of relation sets.................................. 174 Fill direction....................................... 175 Relation set properties................................. 175 How to create a relation set............................... 176 How to change a relation set.............................. 177 How to delete a relation set............................... 177 Database Designer Application Reference Guide May 2015 8

Chapter 11: IC Scripts...................................... 178 How to organize IC Scripts................................. 179 How to use IC Scripts in IC applications.......................... 179 Overview of the IC Script Editor.............................. 180 How to search in an IC Script.............................. 180 How to insert text.................................... 181 Text selection...................................... 181 Keyboard shortcuts................................... 181 How to manage IC Scripts.................................. 182 IC Script components.................................. 183 How to automatically load IC Script files........................ 183 How to save IC Scripts................................. 184 How to edit an IC Script................................... 184 How to add comments to IC Scripts.......................... 185 How to break an IC Script statement across multiple lines.............. 185 How to create an IC Script................................. 185 Overview of IC Script string table messages....................... 186 Guidelines for using string table messages...................... 187 Example: Error message in ActionUpdate IC Script................. 187 How to create string table messages.......................... 189 How to delete string table messages.......................... 190 How to check the syntax of IC Scripts........................... 190 Uploading IC Scripts..................................... 191 Chapter 12: Script Debugger.................................. 192 Overview of the Script Debugger.............................. 192 Keyboard shortcuts................................... 193 Overview of the Script Debugger.............................. 194 How to run IC Scripts.................................. 194 How to pause an IC Script................................ 195 How to stop an IC Script................................ 195 How to trace IC Script execution............................ 195 How to determine procedure calls by an IC Script.................. 196 Overview of breakpoints.................................. 196 Start Debugging Partway through an IC Script.................... 196 Continue debugging outside the current subroutine................. 197 Debug selected portions of an IC Script........................ 197 How to remove breakpoints............................... 198 How to use watch variables................................. 198 9 Database Designer Application Reference Guide May 2015

To add watch variables................................. 199 How to delete watch variables............................. 199 How to modify the value of a watch variable..................... 200 Chapter 13: Database configuration.............................. 202 Overview of database configuration............................ 203 Overview of stored procedures............................... 203 q_create_lock...................................... 204 q_drop_lock....................................... 204 q_refresh_locks..................................... 204 q_clean_locks (LockLife)................................ 205 q_next_key........................................ 205 How to configure a database................................ 205 Configuration for Japanese databases......................... 206 Special considerations for DB2............................. 206 How to use Configure with Run............................. 206 How to use Configure with Test............................ 207 How to configure multiple DB2 databases....................... 209 How to import seed data.................................. 210 Overview of reconfiguring a database........................... 210 How to use Reconfigure with Run........................... 211 How to use Reconfigure with Test........................... 212 How to verify a database.................................. 212 How to copy a database................................... 213 How to drop a database................................... 214 How to associate a database with a client application.................. 215 Chapter 13: Generating an IC application........................... 216 Overview of IC applications................................. 216 IC Application properties................................ 217 How to create an IC application............................. 218 How to change IC application settings......................... 219 How to delete an IC application............................. 219 Overview of application focuses.............................. 219 How to specify an IC Script............................... 220 How to update application information in the database................. 220 Dynamic form generation................................ 220 Shortcut operators for the application icon...................... 221 How to generate application data............................ 221 Database Designer Application Reference Guide May 2015 10

Appendix A: Naming requirements and restricted names.................. 224 Requirements for names.................................. 224 Summary of restricted names............................... 224 Appendix B: Localization requirements............................ 226 How to enable Database Designer for localization.................... 226 How to customize a localized IC application........................ 228 How to localize the money field............................. 229 How to translate string table messages........................ 229 How to translate forms................................. 231 How to translate search browsers........................... 233 How to translate in-form browser............................ 234 How to translate enumeration field labels....................... 235 Index........................................... 236 11 Database Designer Application Reference Guide May 2015

Chapter 1: Introduction Purpose The purpose of this guide is to provide detailed information about Avaya Interaction Center (IC). This guide describes the prerequisites for installing and configuring Avaya IC. Intended audience This guide is for the customers using Avaya Interaction Center. You must use this guide for adding, modifying, deleting, and monitoring Avaya IC servers on your IC system. The audience for this guide includes: Application consultants. Integration consultants. Avaya Business Partners. Customers. Document changes since last issue References of List Management is removed from this document. Database Designer Application Reference Guide May 2015 12

Related resources Documentation See the following related documents at http://support.avaya.com. Title Use this document to: Audience Avaya Interaction Center and Avaya Operational Analyst Overview and Specification IC Installation Planning and Prerequisites IC Installation and Configuration IC Administration Guide IC Client SDK Programmer Guide get information about the new features and enhancements in Avaya Interaction Center. get information about the planning and third-party software required to deploy an Avaya Interaction Center system. get information about how to install and configure an out-of-the-box Avaya Interaction Center. get information about Avaya Interaction Center (Avaya IC). This guide describes domain and server administration using Avaya IC Manager. get information about the Client Software Development Kit (Client SDK) for Avaya Interaction Center. Sales Engineers Supervisors Business Partners Customers Business partners Customers Implementation engineers Sales Engineers Supervisors Business Partners Customers Sales Engineers Supervisors Administrators Business Partners Customers Sales Engineers Business Partners Implementation engineers Customers 13 Database Designer Application Reference Guide May 2015

Title Use this document to: Audience IC Client and Server Programmer Design Guide Agent Web Client Customization IC Workflow Designer User Guide Agent Script Workflow Reference IC Workflow API Reference Agent Data Unit Server Programmer Guide get information about Avaya Interaction Center (Avaya IC). The purpose of this guide is also to provide an overview of the Avaya IC ORB Toolkit, and a list of components in the Avaya IC product set. get information about how to customize Avaya Agent Web Client. get information about Avaya Workflow Designer and how to use Workflow Designer to create and customize workflows for Avaya Interaction Center. get information about the blocks you can use with agent script workflows and other reference information to help you understand and create agent script workflows for Avaya Interaction Center. get information about the extensions and methods specific to the Application Programming Interface (API) for workflow blocks in Avaya Interaction Center. get information about configuring and managing the Agent Data Unit (ADU) server, which is responsible for tracking the state of agents at the contact center. Sales Engineers Business Partners Implementation engineers Customers Supervisors Administrators Business Partners Administrators Supervisors Administrators Business Partners Administrators Supervisors Administrators Business Partners Administrators Implementation engineers Customers Supervisors Administrators Business Partners Administrators Implementation engineers Supervisors Administrators Business Partners Administrators Implementation engineers Database Designer Application Reference Guide May 2015 14

Title Use this document to: Audience Core Services Programmer Guide Electronic Data Unit Server Programmer Guide IC Telephony Connectors Programmer Guide get information for programming and changing the configuration of your IC Core Services. get detailed information about the Electronic Data Unit (EDU) server, which was previously named the Voice Data Unit (VDU) server, the EDU server configuration, the alarms, and the event monitoring. get information on the Avaya Telephony Connector server. Supervisors Administrators Business Partners Administrators Implementation engineers Supervisors Administrators Business Partners Administrators Supervisors Administrators Business Partners Administrators Finding documents on the Avaya Support website Use this procedure to find product documentation on the Avaya Support website. 1. Use a browser to navigate to the Avaya Support website at http://support.avaya.com. 2. At the top of the screen, enter your username and password and click Login. 3. Click Documents. 4. In the Enter your Product Here search box, type the product name and then select the product from the drop-down list. 5. If there is more than one release, select the appropriate release number from the Choose Release drop-down list. 6. Use the Content Type filter on the left to select the type of document you are looking for, or click Select All to see a list of all available documents. For example, if you are looking for user guides, select User Guides in the Content Type filter. Only documents in the selected category will appear in the list of documents. 7. Click Enter. 15 Database Designer Application Reference Guide May 2015

Training The following courses are available on the Avaya Learning website at www.avaya-learning.com. In the Search field, enter the course code, and click Go to search for the course. Course Code ATC01175WEN ATC01176IEN AUCC100010695 ATC100011017 Course Title IC and OA Overview Interaction Center Administration and Configuration IC-Siebel Integration IC-Siebel Integration, Installation and Troubleshooting Viewing Avaya Mentor videos Avaya Mentor videos provide technical content on how to install, configure, and troubleshoot Avaya products. Videos are available on the Avaya Support website, listed under the video document type, and on the Avaya-run channel on YouTube. To find videos on the Avaya Support website, go to http://support.avaya.com and perform one of the following actions: - In Search, type Avaya Mentor Videos to see a list of the available videos. - In Search, type the product name. On the Search Results page, select Video in the Content Type column on the left. To find the Avaya Mentor videos on YouTube, go to www.youtube.com/avayamentor and perform one of the following actions: - Enter a key word or key words in the Search Channel to search for a specific product or topic. - Scroll down Playlists, and click the name of a topic to see the available list of videos posted on the website. Videos are not available for all products. Database Designer Application Reference Guide May 2015 16

Support Go to the Avaya Support website at http://support.avaya.com for the most up-to-date documentation, product notices, and knowledge articles. You can also search for release notes, downloads, and resolutions to issues. Use the online service request system to create a service request. Chat with live agents to get answers to questions, or request an agent to connect you to a support team if an issue requires additional expertise. 17 Database Designer Application Reference Guide May 2015

Chapter 2: Database Designer fundamentals CCQ and repository are two databases within Avaya Interaction Center (IC). These databases store: All the contact data collected by agents using Avaya Agent or the Avaya Agent Web Client. Storing this information in the database has all agents see the history for all customers and customer contacts in the IC system. For more information about these agent applications, see the Avaya Agent User Guide and the online help included with the Avaya Agent Web Client. All agent property settings. Properties control such things as which Avaya Agent layout to use when the agent uses Avaya Agent and what filters to apply when the agent opens the Address Book in the Avaya Agent Web Client. For more information, see IC Administration Guide. The GUI definition for the out-of-the-box Report Wizard application. If you change the GUI for either of these applications, you can save the changes to the database and all users will see the new GUI the next time they log into the application. For more information, see IC Administration Guide. Database Designer facilitates you to: Customize the out-of-the-box database structure by creating and modifying tables, fields, table sets, relations, modules, and other application components. Implement business rules within an IC application by creating, editing, and then uploading IC Scripts that determine how the application responds when a user selects a button or enters a value in a field. Set user-level access. Generate search constraints. Configure, reconfigure, and administer your databases. Generate the Report Wizard. Some of the terminology such as table, browser, or group has unique definitions in Database Designer. These definitions are discussed in this manual and the Avaya IC Glossary. This section contains the following topics: Overview of Database Designer on page 20 Database configuration on page 26 Database Designer Application Reference Guide May 2015 18

Overview of the ADL file on page 27 System IC Scripts on page 29 How to find items in the tree view on page 30 How to view messages on page 31 How to set permissions on page 31 Prerequisites To use Database Designer: Your Windows logon ID must have administrator privileges on the machine running Database Designer. If your ID does not have administrator privileges, see your System Administrator. With languages other than English, enable it for localization as described in How to enable Database Designer for localization on page 226. Important:! Important: You do not have to be a Database Administrator (DBA) to use Database Designer. However, a DBA must be involved in the creation, deployment, and support of any IC application and the environment. 19 Database Designer Application Reference Guide May 2015

Overview of Database Designer The definition of every IC application is stored in four application files: <appname>.adl, <appname>.adf, <appname>.adc, and <appname>.alm file. These files contain: File Extension Contains Comments ADL (Application Design Language) ADF (Application Design Forms) ADC (Application Database Connection) ALM (Application Language Messages) Data model information, including tables, table sets, browsers, and modules, and the GUI. Definitions for the application GUI elements, including forms, groups, and objects such as buttons, text boxes, and check boxes. Details about the connections between the application databases to both Database Designer and any IC applications defined in the ADL file. IC Script string table entries, including error messages and warnings. This file is the main application file. When you open an ADL file, Database Designer automatically reads the information in the associated ADF and ALM files. When you save an ADL file, Database Designer automatically updates the information in the ADF and ALM files. For more information, see Chapter 9: Layout Editor for form design. The information in this file is based on the DB Connection and DB Connection Set information. For more information, see Chapter 4: Physical DB connections and DB connection sets. The default filename for the English version of an ALM file is <appname>.alm, but you can add as many ALM files as you need. For more information, see Overview of IC Script string table messages on page 186. Database Designer Application Reference Guide May 2015 20

! CAUTION: CAUTION: Always use Database Designer to make changes to the ADL file. Serious problems will occur if you make changes to the ADL file in a text editor. When you open an ADL file, Database Designer parses that file along with the associated ADF and ALM files, and then displays the application components in the tree view in the left-hand pane. The ADL file also displays the properties of the selected component in the Properties tab in the right-hand pane. Depending on which IC components are in your system and the level of customization, you might use one or more of the following components of Database Designer: Component Tree view Properties tab and Children tab Layout Editor IC Script Editor Location and Purpose In the left-hand pane of the Database Designer window. Displays a tree view of the components associated with the application. For more information, see Tree view on page 21. In the right-hand pane of the Database Designer window. Properties tab. Provides information about the properties and settings of the selected component and lets you modify them. Children tab. Shows the next level of hierarchy beneath the selected component. For more information, see Properties tab and Children tab on page 22. Available through the Edit menu. Lets you specify and rearrange the placement of groups, fields, buttons, and other elements of the out-of-the-box IC applications. For more information, see Layout Editor for form design on page 150. Available through the Edit menu. Lets you create new IC Scripts and modify existing IC Scripts to add business rules to your IC application. For more information, see IC Scripts on page 178. Tree view The application ADL file is the root of the tree view in the left pane. When you expand the tree view, the second level consists of placeholders for applications and components. The Applications placeholder contains placeholders for the IC applications. Each application placeholder contains placeholders for all focuses in the application. The Components placeholder contains placeholders for Tables, Table Sets, Browsers, Forms, Modules, Physical DB Connections, DB Connection Sets, and IC Scripts. These placeholders contain the related child elements used by all applications. To expand or contract the tree view, double-click an element on the tree in the left pane. 21 Database Designer Application Reference Guide May 2015

The following is a typical Database Designer window with the tree view expanded and the Activity table selected: Properties tab and Children tab When you select an ADL file element in the tree view, the following tabs in the right pane display information about that element: Properties tab: Displays the associated properties of the ADL file element. Children tab: Displays the next level of elements beneath the selected tree view element, but provides more information about the children than double-clicking the element in the tree view. To display the properties of an element, select the element in the tree view and select the Properties tab in the right pane. To display the children of an element, select the element in the tree view and select the Children tab in the right pane. For many items, you can move from the Properties tab of one item to the Properties tab of an associated item. When you move within the Properties tab, the selected item in the tree view changes appropriately. Database Designer Application Reference Guide May 2015 22

Menus The tasks performed when you select some menu options are unique to Database Designer. File menu Unique Options Save Save As Revert To Saved Generate Windows Application Database Administration Task Performed Saves the ADL and all supporting files. For example ADF, ADC, ALM. Saves the ADL file in the chosen directory with the chosen name. Also saves the supporting files in the same directory with the same name as the ADL file. For example, if you rename the ADL file to george.adl, the supporting files are saved as george.adf, george.adc, and george.alm. Rejects all changes made to the ADL and supporting files since the last save. Displays the Generate Windows application dialog box, that facilitates you to save all changes to the application forms, IC Scripts, the messages and the help files to the database. For more information, see How to update application information in the database on page 220. Configures and administers the database from Database Designer. For more information, see Overview of database configuration on page 203. Edit menu Unique Options IC Scripts Permissions Form Layout Meaning Opens the IC Script Editor. For more information, see How to edit an IC Script on page 184. For tables, for table fields, and for modules, the options opens the Permissions dialog box. For more information, see How to set permissions on page 31. Opens the Layout Editor for forms. For more information, see Layout Editor for form design on page 150. 23 Database Designer Application Reference Guide May 2015

Unique Options Localize Money Fields Find Meaning Opens the New money symbol and the scale dialog box that lets you set a new default currency symbol and scale. For more information, see Currency symbol and money scale on page 71. Opens the Find dialog box. For more information, see How to find items in the tree view on page 30. New menu Select an option from the New menu to create a new: View menu Component such as Physical DB Connection, DB Connection Set, Table, Table Set, Search Browser, In-Form Browser, Form, or Module. Application Field Relation Relation Set Group Object Search Browser Column In-Form Browser Column Option Children View Property View Error Message Meaning Displays the Children tab for the selected component or application. Displays the Property tab for the selected component or application. Opens the Error Message window. For more information, see How to view messages on page 31. Database Designer Application Reference Guide May 2015 24

Tools menu Option Export for Cognos catalog Print Data model information Migrate IC Scripts Database Migration Meaning Generates a Cognos catalog by entering the catalog name, the Cognos database name, and your user name and password. For more information, see Generating Cognos catalogs Outputs data model information for the application to either datamodel.htm or datamodel.txt, depending on whether you select HTML format or Text format. Updates IC Scripts that were created in an older version of IC to the new IC Script standards. Merges an existing ADL file with the current out-of-the-box ADL file when you are migrating from an older release of IC. For more information about using this functionality, see IC/OA Software Upgrade and Data Migration. Generating Cognos catalogs! CAUTION: CAUTION: In Avaya Operational Analyst, if a new Catalog (for repository, ccq, or oadb) is generated using Database Designer, some of the preexisting reports that use the catalog will not work. Either the data shown on the report is incorrect or the user gets an error message saying, "This report will result in a 'cross product' query. This User Profile prevents the use of 'cross product' reports." Therefore, Avaya recommends that you make minor changes using the Impromptu Administrator. If the need to generate a new catalog using Database Designer occurs, you might have to redo the data queries in the existing reports. You might have to redo the existing reports to make the reports work with the newly generated catalog. You can generate new reports for the new catalog without any problems. Before you can use the Export for Cognos catalog option: Cognos Impromptu must be installed on the same machine as Database Designer The database for the ADL must exist in the database A logical database name must be created in Impromptu. For more information, see the Operational Analyst Release 7.0 Reports Reference. To create a Cognos catalog, select Tools > Export for Cognos catalog and select a name and location for the catalog. If you generate a Cognos catalog with the same name as an existing catalog file, Database Designer automatically makes a backup copy of the file in the parent directory, with the extension.cat.bak. 25 Database Designer Application Reference Guide May 2015

CAUTION:! CAUTION: If you get an error during the catalog generation, such as "Database value is not defined" or "Error in Catalog Generation", the Cognos catalog is not properly generated even if displays in the directory. Ensure that you have created the database definition in Impromptu Administrator, then regenerate the catalog. Database configuration Database Designer generates all application data needed to configure your application databases. Perform the following: 1. Open the application ADL file. 2. Modify the Physical DB Connection and DB Connection Set with the required information about your database. For more information, see Chapter 4: Physical DB connections and DB connection sets on page 42. 3. Configure your database with the data model information from the ADL file. For more information, Chapter 13: Database configuration on page 202. 4. Upload any changes to the database and, optionally, generate an IC application. For more information, see How to update application information in the database on page 220. You can customize the out-of-the-box Report Wizard application to meet the needs of your company. For more information, see Application design on page 32. Database Designer Application Reference Guide May 2015 26

The following diagram shows how Database Designer works with the other Avaya Interaction Center (IC) components: Different applications can use different connection sets. However, a connection set specified for an application is overridden if the same application is regenerated with a different connection set. Overview of the ADL file When you open an ADL file, the Properties tab displays properties that apply to the ADL file, instead of individual components. This tab displays the following fields: File Name: Name of the ADL file that is currently open. File Path: Path of the directory where the ADL file is located. 27 Database Designer Application Reference Guide May 2015

Upload scripts from these directories: The directories that Database Designer searches for IC Script files that end with the extension QSC, when you generate an application and push the scripts to the database. Ensure that all system script file paths are in this property. The default system paths are IC_INSTALL_DIR\IC73\design\common and IC_INSTALL_DIR\IC73\design\qconsole. For more information, see System IC Scripts on page 29. Tip: Tip: When you push the IC Scripts to the database, Database Designer loads all the QSC files from the directories. If you want to modify an out-of-the-box IC Script file and also keep both versions in the same directory, ensure you change the out-of-the-box file extension to be.old or anything other than.qsc. Script files available for uploading. Shows the names of all IC Scripts in the directories specified above. System IC Scripts are used by the application, but are not specifically associated with an ADL or ADF file component. In-house Version. The number or letter assigned by your company to the current version of your IC application. The in-house version is an optional property that companies use that might have multiple versions of a customized application, or release the application to users in various stages of customization. For more information, see How to set the in-house version on page 28. Before you make any changes to the ADL file, Avaya recommends that you make a backup copy of the out-of-the-box application design folder. Default location: IC_INSTALL_DIR\IC73\design. How to open an ADL file To open one of the out-of-the-box ADL files: 1. Select File > Open. 2. Select one of the following: design\callcenterq\ccq.adl for the ccq database. design\repository\repository.adl for the repository database, the Report Wizard application, Avaya Agent, Routing Engine, and Prompter How to set the in-house version The in-house version is an optional alphanumeric value that companies use that might have multiple versions of a customized application, or release the application to users in various stages of customization. Database Designer Application Reference Guide May 2015 28

To set an in-house version number for your ADL file: 1. Select the ADL file at the top level of the tree view. 2. In the Properties tab of ADL, enter the version code in the In-house Version field. 3. Select File > Save to save your updated ADL file. System IC Scripts IC system uses System IC ScriptIC ScriptsIC, but are not specifically associated with an ADL or ADF component. To use a system IC Script with your application, you must specify the directory path for the IC Script in the Script files available for uploading field. The default system paths are IC_INSTALL_DIR\IC73\design\common and IC_INSTALL_DIR\IC73\design\qconsole. The IC Script directory list must include all directories where system IC Scripts are located to ensure each IC Script is: Visible in the IC Script Editor Pushed to the database when you generate the application If an IC Script is located in more than one of the included directories, Database Designer pushes the version from the directory listed first in the Upload scripts section. To specify an include path for a system IC Script: 1. Select the ADL file at the top level of the tree view to open the Properties tab of ADL. 2. Select the (ellipsis) button next to the Script files available for uploading field. 3. In the ADL Include Path dialog box, select Add. 4. In the Browse for Folder dialog box, navigate to the folder where the IC Script is located, then select OK. 5. Repeat step 4 for each directory that you want to include. 6. In the ADL Include Path dialog box, select OK. 7. Select File > Save to save the updated ADL file. 8. Select File > Close to close the ADL file, and then File > Open to reopen it using the new include paths. 29 Database Designer Application Reference Guide May 2015

How to delete the include paths for system IC Scripts To delete an include path for a system IC Script: 1. Select the ADL file at the top level of the tree view to open the ADL s Properties tab. 2. Select the (ellipsis) button next to the Script files available for uploading field. 3. In the ADL Include Path dialog box, select the directory that you remove, then select Remove. 4. Repeat step 3 for each directory that you want to remove. 5. In the ADL Include Path dialog box, select OK. 6. Select File > Save to save the updated ADL file. How to find items in the tree view If you are looking for a lower level component, such as an object or a table alias, but cannot find the component, you can use the Find tool. Find does not cycle through the tree view, or through the properties of each component. To find an item in the tree view: 1. Select Edit > Find to open the Find dialog box. 2. Enter the name you want to find from the String to Find list. 3. Check the type of component you want to find from the Type of Components to Find list box. 4. In the Find dialog box, select one or more options: Visible only. Finds items only if currently displayed. Match case. Makes search case sensitive. Match whole word. Finds item only if item name matches search text letter-for-letter. 5. Select: Next to display the next occurrence of the component. Previous to display the previous occurrence of the component. Done to end the search. Database Designer Application Reference Guide May 2015 30

How to view messages You might see the following message types: Error. Displays severe errors in your ADL file. You cannot load an ADL file that contains errors. Warning. Displays less severe messages that can affect the stability and predictability of your application. Report. Displays informational messages only. Debug. Displays detailed messages designed to help you identify error conditions. All message types are enabled by default. To view messages: 1. Select View > Error Message to open the Error Message window 2. Select a message type from the Message Type list. Database Designer displays the selected type of error messages in the dialog box. To disable messages for a reporting level: 1. Select View > Error Message. 2. In the Error Message window, select a message type from the Message Type list. 3. Clear the Enable Messages of this Type check box. How to set permissions Database Designer uses the Avaya Login user ID and password, as defined in IC Manager, to define permissions within applications. When an application starts, the application uses the Avaya Login to authenticate the identity of the user and then set permissions. The Directory server does the authentication by comparing it against the user name or password specified in the employee table. The application then retrieves the list of roles to which the user belongs to as defined in IC Manager, based on the group membership of the employee. The DCO checks all the permissions by comparing the permissions assigned to the table, module, and field in Database Designer against this list. When the permissions are defined in Database Designer, the group names are typed in or selected from a list of names used previously. Database Designer assumes these names are already defined in IC Manager. Users are added to the groups as appropriate. During Configure/Reconfigure Database Designer also generates the necessary GRANT/REVOKE statements to apply the specified permissions directly in the database. Therefore, even if the user accesses the database directly using DBMS Vendor tools, the permissions still apply. 31 Database Designer Application Reference Guide May 2015

Chapter 3: Application design You can create an IC application to automate contact centers for sales, service, and customer complaints. Each application can collect information about customers, products, fulfillment packages, and about other agent tasks. The application can then organize and store the raw information in the database and make it available to users and for management reports. For example, an agent in a contact center takes an order from a customer. The agent records the name, address, and the products that the customer ordered. The order is filled and shipped. One product does not work, so the customer returns it to the service center. A few weeks later, when the customer has not received a replacement, then the customer calls the contact center. The agent can pull up the original order of the customer, to determine if the return was received, and provide information about the status. An IC application consists of components that define the data model, the application interface, and the business logic. You customize the application by modifying the components while maintaining the component relationships. Many application components are part of other components. For example, tables contain fields, and forms contain groups. Some application components are used with other components, such as IC Scripts attached to forms, and foreign field links between components. Therefore, changing one component can affect the functionality of another component. Some of the terminology such as table, browser, or group might seem familiar. However, those words have unique definitions in Database Designer and IC applications which are discussed in this manual and the Avaya IC Glossary. This section contains the following topics: Application design files on page 32 Application components on page 33 How to modify application behavior on page 39 Application design files As described in Overview of Database Designer on page 20, Database Designer uses an ADL, ADF, and one or more ALM files to define an IC application. The ADF file contains the form information needed to run your IC application. Database Designer generates and loads these files into the application database. Database Designer Application Reference Guide May 2015 32

For more information about generating and uploading files to the database, see How to update application information in the database on page 220. Application components The tree view in the left pane of Database Designer displays the components of the ADL file and the hierarchy under the following placeholders: Applications. Includes all IC applications that can be generated from the ADL file, the focuses, the modules, and the relations. Components. Includes the data model, application interface, Physical DB Connection, and business logic components, such as tables, table sets, browsers, forms, modules, Physical DB Connections, DB Connection Sets, IC Scripts, and the children. Whether you are using an out-of-the-box IC application or creating one, you begin by updating the Physical DB Connections and DB Connection Sets with connection information for your database, as described in Chapter 4: Physical DB connections and DB connection sets on page 42. Then, if you are creating or customizing the application, you start with the tables and work up the hierarchy to the modules. 33 Database Designer Application Reference Guide May 2015

The following figure shows the parent and child relationships between components in the tree view: The application component hierarchy When you create or customize an IC application, you must work with the components in the order shown in this section. Physical DB connections and DB connection sets Physical DB Connections and DB Connection Sets provide your IC application with information about a database instance and the Data server. The application uses this information to access tables in a database on the Data server. For more information, see Chapter 4: Physical DB connections and DB connection sets on page 42. Database Designer Application Reference Guide May 2015 34

Tables Fields Keys The tables, table fields, and table relations in an application are defined by the data model, which is contained in the application ADL file. Each table contains: Rows that are unique and hold a single database record. Columns that are unique and identify a specified segment of the record such as the last name or the phone number. Fields where a row and a column intersect. Each field contains the segment of a database record that matches a column heading. For more information, see Fields on page 35. Keys that identify the database records and segments, define 1 to N relations between tables, and improve search performance. For more information, see Keys on page 35. For more information, see Overview of database tables on page 60. In your database, the tables consist of rows, columns, and fields. A field is the intersection of a row and a column. Each field contains the piece of the database record in the row that is identified by the column. For more information, see Overview of database fields on page 67. Each table can contain one or more keys that are associated with fields. The keys identify data in database records for searches and links between tables. A table can contain one or more primary, foreign, unique, or index keys. For more information, see Overview of database keys on page 75. Table aliases Table aliases establish a link between groups in the GUI and tables in the database. Each group in a GUI form is anchored by a table alias, known as the anchor table alias. If objects in the group are linked to table fields, those fields must be in the table represented by the anchor table alias. A table alias can, and often has the same name as the table. However, tables can have more than one alias, so that the table can be used in different ways by different components. For example, two groups in a form can update two different records in the same table if the groups use different table aliases. In the same way, two IC Scripts can use the same table simultaneously if the IC Scripts refer to different table aliases. By using multiple table aliases to address a single database table, you can implement different business rules for a table that is used in several places and ways throughout the application. You create table aliases through the Table Set Properties tab. For more information, see How to create a table alias on page 82. 35 Database Designer Application Reference Guide May 2015

Table sets A table set is a group of table aliases that constrains the tables that can be displayed and updated in a form or browser. A form contains groups and browsers, which are linked to a table by an anchor table alias. The table set for a form must contain every table alias linked to a group or browser in the form. The table set, the form, and browsers are then included in the same module. If a table alias is not included in the table set, then that group cannot retrieve or display information from the anchor table alias. For more information, see How to create a table set on page 80. Browsers Forms Browsers are search tools that gather records from a database table for an IC application. Two types of browsers are as follows: search browsers and in-form browsers. You can use browsers in two ways: A Search button in the GUI activates a browser search based on constraints that is set by the application user. The browser returns the search results in the GUI form. This form is known as a front-end browser and is in most common use. An IC Script activates a browser search. The browser holds the search results. The search results are known as a back-end browser. This works like a declared buffer. For information on, see Chapter 7: Application browsers on page 86. Forms define the workflow of your application and provide the users with the sequence of steps needed to perform a task. For example, in the Contact form, an agent can search for and enter all the information needed when a customer calls in to the contact center, including the name and the contact information of the customer. The agent can also search the information by which product related is the customer calling about, and the date, time, issues, and other details about the specific contact. In the background, each form sets the GUI layout through groups and the objects, and connects to the application database through the associated table set. As a result, each form must: Groups Contain one or more groups Be associated with a table set For more information, see Overview of forms on page 103. Forms must contain one or more groups. Each group must: Be associated with a unique table alias. For example the anchor table alias. Database Designer Application Reference Guide May 2015 36

Be associated with a browser, that is, to search against the database table. Contain one or more objects. For more information about, see Overview of groups on page 106. Objects Modules Groups can contain several different objects, depending on the type of data. These objects has users edit and adds link to database records with standard interface controls. You can set the data displayed in objects so the user can: Edit the information Add to the information which is either append or prepend Only read the information Each object is associated with a field in the database table that corresponds to the group s anchor table alias. To search for records in the anchor table alias, the user enters values in one or more objects to constrain the search. The search results appear in the browser associated with the group. For more information, see Overview of objects on page 113. Modules package lower-level components together into a building block for your IC application. You create one or more modules to define a focus in your application. A focus combines one or more forms and creates a task workflow for the users. For more information, see Overview of modules on page 160. Relations A relation module defines the database relation between tables and lets you create objects that agents can use to link records in two database tables. You can link database tables in the following relations: 1 to N (one-to-many) M to N (many-to-many) For more information, see Overview of relations on page 167. Relation sets Relation sets declare a list of existing relations between table aliases in a module. Relation sets can only include relations that are defined within the table set relation module. 37 Database Designer Application Reference Guide May 2015

You must specify a relation set for every search function to constrain the search to a subset of tables and, therefore, reduce the amount of time needed to perform a database search. A relation set also constrains the tables that is backfilled when the user selects a browser record. For example, a user searches for contacts from a particular customer. The search browser checks the anchor table alias of the group and any related field information in the tables included in a relation set with the anchor table alias. When the user selects a record from the search browser, the objects in the group are backfilled with data from the table and the related tables. For more information, see Overview of relation sets on page 174. Overview of focuses A focus module packages other modules and can contain one or more nested modules. For information about how a module is constructed, see Overview of modules on page 160. A focus defines a workflow. Each workflow is a related sequence of activities that an application user is expected to perform. In an IC application, a focus appears in a window with one or more buttons that has the user access the forms in the focus. Unlike other modules, focus modules are displayed beneath the Focuses placeholder under the application component in the Database Designer tree view. In Database Designer, when you open the Focuses placeholder beneath each application, the tree view displays all focus (f_) modules that make up the application. The tree view displays the Avaya (q_) and IC Script (qsc_) modules which are not really focus modules together with the (f_) modules. For each focus (f_) module beneath the Focuses placeholder, the Properties tab of the focus in the right pane displays: Label, that is, the name of the focus in the application interface Description of the focus List of the nested modules that make up the focus Tip: Tip: The name of the focus is visible in the Properties tab of the focus, but is greyed out and unavailable. However, if you select the Go To button, the Properties tab of the focus module opens where you can access and modify all of the properties of the focus module. If, when you test a focus in the application, a GUI component is missing or does not work, you must check the nested module that includes that GUI item and the components of the module. For more information about how a module is constructed, see Modules on page 37. Database Designer Application Reference Guide May 2015 38

Overview of Applications When you open the Applications placeholder, the top level displays the applications that you can generate from the ADL file. For example, you can generate the following application from ccq.adl: interaction_center (for use with IC systems). For information about using the Report Wizard application, see IC Administration Guide. All available applications are displayed beneath the Application placeholder in the Database Designer tree view. When you select an application in the tree view, the Properties tab in the right pane displays the application name, the application title, that is shown in the application launch splash screen. The tab also displays the focuses in the application, and the IC Scripts that launch with the application. The Children tab lists the focuses in the application and the number of modules nested in each focus. After you design and configure the components of your IC application, you generate the application and load it into the database. A contact center agent or some other application user works with the generated application. The components that define a module can be identified in the generated application. How to modify application behavior You can modify the behavior of an IC application by customizing application components, and by attaching custom scripts, called IC Scripts, to the components. CAUTION:! CAUTION: All changes to an application must be made in Database Designer. Changes made to the table structure in the database remain in the database and do not affect the table definition in the application ADL file, nor are they propagated throughout the data model. Further, all changes made directly to the database are overwritten the next time you generate the ADL file in Database Designer. Using components The IC application creates basic interactions by linking components together. You can modify the behavior of the application by adding new components, modifying existing components, and redefining the relations between components. For example, when you select the Search button in a group, the results of the search appear in the browser. 39 Database Designer Application Reference Guide May 2015

Using IC Scripts IC applications use custom scripts, called IC Scripts, to model the workflow or the business logic in an application. In an IC application, you can attach IC Scripts to table aliases, browsers, forms, groups, right-click menu items, and also buttons. How to customize an application In Database Designer, Avaya recommends that you: Edit the ADL file. The ADL and ADF files are synchronized by Database Designer when you save the ADL file. You cannot edit an ADL file unless the corresponding ADF file is in the same directory. Generate the application in an application directory. Database Designer creates a new ADL file in the destination directory. The components in your application are linked together. To change and generate a new application: 1. Update the Physical DB Connection for your application to specify a new development database. For more information, see Physical DB connections and DB connection sets on page 42. 2. Create a table with one or more fields to store application data. The data type for a field determines how the data is displayed in the generated application. For more information, see Tables and fields on page 60. 3. Add one or more tables to a table set using table aliases. A table alias links table information to a group and a browser. To enforce table-level business rules, attach an IC Script to a table alias. For more information, see Table sets and table aliases on page 80. 4. Define a browser or modify the columns in an existing browser to display search results for a group. To enforce table-level business rules, run an IC Script before a search is run against a table. For more information, see Application browsers on page 86. 5. Define the workflow of your application by creating one or more forms. The groups and objects in a form determine the table information that can be displayed to the user. To perform interface-level checking, attach IC Scripts to groups and objects. For more information, see Forms, groups, and objects on page 102. 6. Create a focus-level module or update the table set, the browser, and form information in an existing module. To establish relations between tables, update the relation information. To constrain searching across relations, update relation set information. For more information, see Modules and relations on page 160. 7. Configure the application database and schema using the Database Administration dialog. For more information, see Database configuration on page 202. Database Designer Application Reference Guide May 2015 40

8. Generate a new IC application. This process loads the form definition XML files, the ADL file, and the IC Scripts into the database. For information about, see How to update application information in the database on page 220. 41 Database Designer Application Reference Guide May 2015

Chapter 4: Physical DB connections and DB connection sets Physical DB Connections and DB Connection Sets connect the IC system to your application database tables and any external database tables that are not managed by the application. This section contains the following topics: Overview of Physical DB connections on page 42 The role of the Data server on page 43 Supported databases on page 44 How to create a physical DB connection on page 45 Overview of DB connection sets on page 51 How to configure a DB connection set for IC Repository on page 54 How to configure a primary logical DB connection on page 54 Overview of secondary logical DB connections on page 55 How to delete a DB connection set on page 58 How to change a DB connection set on page 58 Overview of Physical DB connections Physical DB Connections define the properties needed to access a database through the Data server. Each Physical DB Connection represents one Logical DB Connection where tables used by an application are located. You use the Logical DB Connection connection name when you define a table to let Database Designer and the application know where the table is located. A DB Connection Set links the Logical DB Connections with the physical Physical DB Connections. Each DB Connection Set contains one or more of the Logical DB Connections used in the application. If you need to access tables from more than one Logical DB Connection in your application, such as the application database and IC Repository, include a connection for each Logical DB Connection in your DB Connection Set. Within a DB Connection Set, you must nominate one Logical DB Connection as the primary Logical DB Connection. Any other Logical DB Connections included in the DB Connection Set are considered secondary Logical DB Connections. Database Designer Application Reference Guide May 2015 42

Database Designer configures the primary Logical DB Connection by creating the database, all the tables in the Logical DB Connection, and all the application system tables. When you generate your application, Database Designer then uploads the design file, IC Scripts, forms, and help files to the primary Logical DB Connection. Using Database Designer, you can establish a connection between IC and a secondary database by defining a secondary Logical DB Connection. With this connection IC can retrieve information from the secondary database, but it cannot configure the structure of the Logical DB Connection, nor update the information in the secondary database. When you generate an application, Database Designer generates the datasource automatically with the name <appname>. You can view the details of the datasource that the IC servers are using through IC Manager. The role of the Data server The client applications and Database Designer connect to a supported database through the Data server. The Data server eliminates the need to install database libraries and support files on every machine that runs the IC application. IC Application Database Designer Data server RDBMS Before you create or modify a Physical DB Connection, you need to set up: RDBMS for the IC application database a Data server For more information on the Data server, supported databases, and setting up the Data server, see IC Installation and Configuration. Tip: Tip: The Data server version must be kept in sync with the version of the qwdco.dll. The Data server version typically does not change. However, if you see the following error, "You are using the wrong version of the Data server", your Data server is a different version from the qwdco.dll. 43 Database Designer Application Reference Guide May 2015

Supported databases To associate an IC application with a new database and Data server configuration, you need to create a Physical DB Connection. For all Physical DB Connections, no matter which type of database you use, you need to specify the following in the DB Connection Properties tab: General connection information in the General group Database-specific information in the Database Connection Parameters group The database settings that you specify can affect the performance of your database. For details about the impact of these parameters, see you database documentation. For detailed information about supported databases, see IC Installation Planning and Prerequisites. You can create the following types of physical database connections: Oracle - In Oracle, your application database maps to a DB User. This connection can be either primary or secondary. SQL Server - In SQL Server, your application database maps to a SQL Server database. This connection can be either primary or secondary. DB2 - In DB2, your application database maps to a schema within a DB2 database. The database resides inside a DB2 instance. For example, for a ccq database in DB2: 1. Create a DB2 instance named db2inst2. 2. Within db2inst2, create a database named ICDB. 3. Within ICDB, create a schema named ccq1. 4. ccq1 maps to the application database name ccq. If IC Manager is not installed on the server, you will need to copy the files vesp.imp, and vespidl.pk from <ServerMachine>/<AvayaDir>/IC70/etc to <ICManagerMachine>/<AvayaDir>/IC70/etc. ODBC - This type of connection specifies the properties needed for the application to access an external, non-ic database using ODBC. This cannot be your primary connection. It can only be used to connect to a secondary database that is read, but not updated, by an IC application. Database Designer Application Reference Guide May 2015 44

Com OLE - This type of connection specifies the properties needed for the application to access an external, non-ic database using Com OLE. This cannot be your primary connection. It can only be used to connect to a secondary database that is read, but not updated, by an IC application. How to create a physical DB connection To create a physical database connection: 1. Open the ADL file in Database Designer. 2. In the left-hand pane, right-click on Physical DB Connections and select New Physical DB Connection from the pop-up menu. Database Designer creates a new physical database connection and displays the Properties tab in the right-hand pane. 3. Enter the general connection properties for the connection. For more information, see General physical database connection parameters on page 45. 4. In the Database Connection Parameters group, select the type of connection you want to create from the Database type drop-down list. Database Designer displays the database-specific properties for that type of connection in the Parameter Value list box. 5. Enter the database-specific properties for the connection. For more information, see Database-specific connection parameters on page 46. 6. Select File > Save to save the ADL file and your new physical DB connection. General physical database connection parameters The following parameters in the General group are common to all types of connections: Name (required) - Avaya recommends creating a connection name using the convention of <appname>dbconnection where <appname> is the name of the application. For example, a connection to the ccq database would be ccqdbconnection. This name is case sensitive. Description - An optional description of the database connection. 45 Database Designer Application Reference Guide May 2015

Timeout (required) - The database timeout indicates the maximum number of seconds that the client application waits for a response to a database request before the application assumes the connection to the database or Data server is lost. If this connection is going to be used by Outbound Contact Management to manipulate a large number of records, you should increase the timeout value so that the connection remains active until all database processing is complete. If no response is returned within the specified time, the client application closes the connection to the Data server and returns an error. The client application attempts to create a new connection to the database on the next database request. The default timeout value is 60 seconds. Display time (required) - The display time setting specifies how DateTime data from the database is presented in the client application: DBMSTIME. DateTime data is displayed in database time. It is not adjusted to local time. LOCALTIME. DateTime data is adjusted to local time on the client. HOSTTIME. DateTime data is adjusted to the local host time, adjusting also for small differences between system clocks. Database-specific connection parameters The database specific connection parameters appear in the Database Connection Parameters group when you select the appropriate database type from the Database type drop-down list. For details, see: Oracle connection parameters on page 46 SQLServer connection parameters on page 48 DB2 connection parameters on page 49 ODBC connection parameters on page 50 COMOLEDB connection parameters on page 50 Oracle connection parameters The Oracle-specific connection parameters are: Dataserver Type/Alias (required) - The Data server type or alias that this connection would be using. Database Designer Application Reference Guide May 2015 46

If you want VESP domain failover, then you should always use a type here. Also load can be distributed this way by dividing the agents into multiple domains and thus each agent talks to the Data server in its domain. TNS Name (required) - The net service name that you configured to access your oracle database using the Net Configuration Assistant. (This name actually points to the database instance you are going to use for your IC database.) For more information about the TNS name, please consult your Oracle documentation. Database Name (required) - The database to use for this physical DB connection. If your database server is running more than one database, make sure you enter the right database name for this connection. This name maps to an Oracle user. Database Designer creates that user when it configures the database. This name is case sensitive. Other naming restrictions are database-specific. See your database administrator for more information. Client Library Home Directory (required) - The directory path of the Oracle client library that is running on the same machine as the IC Data server. It should be the same as the $ORACLE_HOME value. For example opt/oracle/8.1.5. Oracle database versions 8.1 and higher for Windows require that you specify the database home. If you specify the database home directory for other versions of Oracle databases on Windows, this setting overrides any information in the Registry. Default Tablespace Name - The default tablespace for the user. All the tables created for the user go to this tablespace. For Oracle Database 12c, the value for the Default Tablespace Name field must be set to USERS. This table space must be created by the System Administrator. Default Tablespace Size - The quota on the default tablespace you specified in Default Tablespace Name. For example, if you specify 10 here that means that 10M in the default tablespace will be available for this user. For Oracle Database 12c, the value for the Default Tablespace Size field must be set to UNLIMITED. Temp Tablespace Name - Temporary tables store database-generated intermediate sorting files and client session information for Oracle databases. If you do not specify a location for temporary tables, the location is specified by the database management system. For Oracle Database 12c, the value for the Temp Tablespace Name field must be set to TEMP. This table space must be created by the System Administrator. 47 Database Designer Application Reference Guide May 2015

Temp Tablespace size - The quota on the temp tablespace you specified in Temp Tablespace Name. For example, if you specify 10 here that means that 10M in the default tablespace will be available for this user. This parameter is only applicable when you specify a temporary tablespace name. Do not enter a value for this parameter unless you also fill in the Temp Tablespace Name parameter. SQLServer connection parameters The SQL Server-specific connection parameters are: Dataserver Type/Alias (required): The Data server type or alias that this connection would be using. If you want VESP domain failover, then you should always use a type here. Also load can be distributed this way by dividing the agents into multiple domains and thus each agent talks to the Data server in its domain. Database Server (required): The name of the server where your database is installed or resides in the Database Server text box. For a SQL Server database, this is the TCP/IP name of the server where the database is running (example: support.company.com). The database server (or database identifier) names the engine instance of a database for the named database. If you do not specify the database server, it defaults to the schema name. Database Name (required): The name to use for this physical DB connection. If your database server is running more than one database, make sure you enter the right database name for this connection. This name is case sensitive. Other naming restrictions are database-specific. See your database administrator for more information. ODBC Driver Name: The name of the ODBC driver that you want to use for the physical DB connection. You must correctly enter the ODBC driver name that you installed on the Data server. In IC 7.3.3, you must specify the value for the ODBC Driver Name field before configuring the ccq and repository databases. The valid values are: SQL Server SQL Server Native Client 10.0 SQL Server Native Client 11.0 Database location - The filename where the database s data files are stored. You should only enter a value for this parameter if you want to override the default set by your DBMS. Database Designer Application Reference Guide May 2015 48

Default Size - The amount of space, in megabytes (MB), that the configured application database occupies. You should only enter a value for this parameter if you want to override the default set by your DBMS. Log location - The physical file name for the IC database logs that store cumulative transaction information. Log size - The amount of space that the database-generated log files can occupy, in megabytes (MB). You should only enter a value for this parameter if you have entered a Log location. DB2 connection parameters The DB2-specific connection parameters are: Dataserver Type/Alias (required) - The Data server type or alias that this connection would be using. If you want VESP domain failover, then you should always use a type here. Also load can be distributed this way by dividing the agents into multiple domains and thus each agent talks to the Data server in its domain. DB2 Database Name (required) - The name of the DB2 database within which the schema for IC resides. IC Schema Name (required) - The schema within the specified database that the database connection should access. If your database includes more than one schema, make sure you enter the right schema name for this connection. This name is case sensitive. DB2 6.1 allows a maximum of eight characters for database and schema names. Database Territory (required) - The territory that represents the locale of the database that includes the IC Repository schema. The territory defines the language and locale of the database. For more information, see your DB2 documentation. Cataloged Node - The remote node on the machine that hosts the Data server. Complete this field if you host your Data server on a different machine from the IC databases. This parameter is required if you are creating a connection to the IC Repository database. Tablespace Name - The name of the tablespace used by the database. Complete this field if you created a dedicated tablespace for the repository or ccq database. 49 Database Designer Application Reference Guide May 2015

Avaya OA requires dedicated tablespaces. For more information, see Avaya OA Installation Planning and Prerequisites. ODBC connection parameters The ODBC-specific connection parameters are: Dataserver Type/Alias (required) - The Data server type or alias that this connection would be using. The default is DataServerODBC. Database Server (required) - The ODBC Data Source Name (DSN) as it is configured in the ODBC data sources. Database Name (required) - The name to use for this physical DB connection. If your database server is running more than one database, make sure you enter the right database name for this connection. This name is case sensitive. Other naming restrictions are database-specific. See your database administrator for more information. COMOLEDB connection parameters The Com OLE-specific connection parameters are: Dataserver Type/Alias (required) - The Data server type or alias that this connection would be using. Database Server (required) - The Com OLE system Logical DB Connection name, as it appears in the associated Data server record. Database Name (required) - The to use for this physical DB connection. If your database server is running more than one database, make sure you enter the right database name for this connection. This name is case sensitive. Other naming restrictions are database-specific. See your database administrator for more information. Database home directory - The directory path of the installed database management system. Database Designer Application Reference Guide May 2015 50

Overview of DB connection sets A DB Connection Set links one or more Logical DB Connections referenced in the table definitions with one or more Physical DB Connections. Before creating a DB Connection Set, you need to know the names of the Logical DB Connections used by the tables, which Physical DB Connection each Logical DB Connection uses, and which Logical DB Connection will be the primary Logical DB Connection. There is no limit on the number of DB Connection Sets you can define for your application. For example, you can define different DB Connection Sets for the development database and for the production database. The typical combinations of Logical DB Connections in database DB Connection Sets are: Multiple Logical DB Connections in the same database instance Multiple Logical DB Connections in different database instances If you are creating a DB Connection Set with multiple Logical DB Connections, you must specify one Logical DB Connection as the primary Logical DB Connection. All other Logical DB Connections accessible through connections and DB Connection Sets are considered secondary Logical DB Connections. The primary Logical DB Connection can be updated and configured through Database Designer. For example, if you use Database Designer to add a field or change the name of a column in a table, Database Designer updates the table in the primary Logical DB Connection when you configure the database and generate the application. Database Designer also uploads the design file, IC Scripts, forms, and help files to the primary Logical DB Connection when you generate your application. The application retrieves these files from the primary Logical DB Connection during initialization. Database Designer cannot update or configure the structure of tables in a secondary Logical DB Connection. However, you can use Database Designer to include access to tables from secondary Logical DB Connections in your application design. For example, you can create a browser that searches tables in a sales database and retrieves information into fields in the GUI. The DB Connection Set used by Database Designer to upload the design and other files should also be the one specified in the ADC file that the client machines use to connect to the database. When you install the ADC file on the client machines, the client application uses: DB Connection Set specified by the -x operator in the application icon s command line OR QConnections DB Connection Set, if no -x option is specified The DB Connection Set s Properties tab lets you create DB Connection Sets with a primary Logical DB Connection and one or more secondary Logical DB Connections. 51 Database Designer Application Reference Guide May 2015

How to create a DB connection set When you create a DB Connection Set, you include one Logical DB Connection and its associated Physical DB Connection. After you create a DB Connection Set, you can add Logical DB Connections and their Physical DB Connections, and configure the Logical DB Connections. For more information, see: How to add Logical DB connections on page 53 How to configure a primary logical DB connection on page 54 Overview of secondary logical DB connections on page 55 To create a DB Connection Set: 1. Select New > Component. 2. In the New Component dialog, select DB Connection Set, and then select OK. Database Designer opens the New DB Connection Set Wizard. 3. In the New Connection dialog box: a. Enter the DB Connection Set name. Database Designer uses the DB Connection Set name to reference the DB Connection Set. b. Select Next. 4. In the Map Logical DB Connection to a Connection dialog box: a. Select a Logical DB Connection. The drop-down list includes all Logical DB Connections that are currently associated with a Physical DB Connection. If your Logical DB Connection is not listed, you must create a Physical DB Connection before continuing (see Supported databases on page 44). CAUTION:! CAUTION: If you specify a Physical DB Connection that does not exist, Database Designer will crash and you will lose all unsaved changes to the ADL file. b. Select a physical connection definition from the drop-down list. c. If the selected Logical DB Connection is to be your primary Logical DB Connection, select the Primary Connection box. d. Select Finish. 5. Select File > Save to save your new DB Connection Set. Database Designer Application Reference Guide May 2015 52

How to add Logical DB connections You add Logical DB Connections to an existing DB Connection Set by mapping the Logical DB Connection to a Physical DB Connection. To add a Logical DB Connection to a DB Connection Set: 1. Select the DB Connection Set in the Database Designer tree view. 2. In the DB Connection Set Properties tab, select Add. 3. In the Map Logical DB Connection to a Connection dialog box: a. Select a Logical DB Connection from the drop-down list. If the Logical DB Connection is not listed, enter the Logical DB Connection name in the text box. b. Select a Physical DB Connection from the drop-down list. If the Physical DB Connection is not listed, create a connection for the Logical DB Connection (see Supported databases on page 44). c. If this Logical DB Connection is the primary Logical DB Connection, select the Physical Connection box. d. Select Finish. How to delete Logical DB connections! CAUTION: CAUTION: Do not remove a Logical DB Connection if it contains tables used by the application. To delete a Logical DB Connection from a DB Connection Set: 1. Select the DB Connection Set in the Database Designer tree view. 2. In the DB Connection Set Properties tab: a. Select a Logical DB Connection from the Logical DB Connections list box. b. Select Remove. c. Select Yes to confirm the deletion. 53 Database Designer Application Reference Guide May 2015

How to configure a DB connection set for IC Repository IC Repository stores information about historical contacts across all media, and the organization infrastructure for your contact center, including: Employees Workgroups Queues Products IC Repository exists in the same database instance as your application database. The out-of-the-box application includes DCO joins between the application database and IC Repository. These joins enable Report Writer to run reports that reference fields in IC Repository, including fields in the employee, queue, and product tables. To ensure that the DCO joins and the reports work correctly, the DB Connection Set in the IC Repository and application ADL files must specify that IC Repository and your application database use the same Physical DB Connection, as follows: <application>.adl - Application database is the primary Logical DB Connection, and IC Repository is a secondary Logical DB Connection with the External Database flag set. repository.adl - IC Repository database is the primary Logical DB Connection, and Application database is a secondary Logical DB Connection with the External Database flag set. How to configure a primary logical DB connection You do not have to set login properties for the primary Logical DB Connection. Database Designer requires you to log in to this database when you administer the database or generate an application. The application can use a variety of different methods, including logging in to the database with the application. To configure a primary Logical DB Connection: 1. Select the DB Connection Set in the Database Designer tree view. 2. In the DB Connection Sets Properties tab: a. Select the Logical DB Connection. If the Logical DB Connection is not in the Logical DB Connections list box, see How to add Logical DB connections on page 53. b. Select the Primary Logical DB Connection box. 3. Select File > Save to save the configuration. Database Designer Application Reference Guide May 2015 54

Overview of secondary logical DB connections Secondary Logical DB Connections are typically read-only. You use a secondary Logical DB Connection when your application needs access to information stored in another Logical DB Connection or requires read-only access to certain tables in the primary Logical DB Connection. By designating a Logical DB Connection as a secondary Logical DB Connection, you make sure that: Database Designer cannot reconfigure the structure of the tables An IC application can access, but not update or alter, the information in the tables Application users can access the most recent information in the secondary Logical DB Connection, either in real-time or the most recent update When logging in to a secondary Logical DB Connection, client machine uses the login ID and password specified for the primary Logical DB Connection. An application user is automatically logged in to the secondary Logical DB Connection by the application. A secondary Logical DB Connection can be: In the same database instance as the primary Logical DB Connection In a different database instance as the primary Logical DB Connection How to configure a secondary logical DB connection in the same database instance You can include tables from a Logical DB Connection that is in the same database instance from the primary Logical DB Connection. To include these tables, specify the secondary Logical DB Connection as the location of the tables in the table definitions and create a connection to the secondary Logical DB Connection. Because a secondary Logical DB Connection uses the same login ID and password as the primary Logical DB Connection, you can establish a single Physical DB Connection to the database server, which accesses both Logical DB Connections. Tables in the secondary Logical DB Connection are then accessed through the primary connection by fully qualifying table names with the database name specified in the DB Connection Set. For example, in systems that include IC Repository, the repository database is located in the same database instance as the application database. When a user searches a table in IC Repository, the IC application uses the primary Physical DB Connection to log in, then browses IC Repository and displays the search results. 55 Database Designer Application Reference Guide May 2015

You, therefore, specify that IC Repository is a secondary Logical DB Connection to ensure that: Database Designer cannot change the table structure during a reconfigure, so that the structure of tables included in the application ADL file duplicates the structure of the table in IC Repository IC application users cannot use the Update feature to change the information in IC Repository IC application users have real-time access to the most up-to-date information in IC Repository The following illustration of the Properties tab of DB Connection shows the configuration for IC Repository as a secondary Logical DB Connection in the same database instance as the primary Logical DB Connection. To configure a secondary Logical DB Connection in the same database instance as the primary database: 1. Select the DB Connection Set in the Database Designer tree view. 2. In the DB Connection Sets Properties tab, select the secondary Logical DB Connection from the Logical DB Connections list box. 3. From the Physical Connection Definition drop-down list, select the Physical DB Connection for the primary Logical DB Connection. 4. Make sure the Primary check box is not selected. 5. Select the Use external DB/Schema check box. 6. Enter the database or schema name of the secondary Logical DB Connection in the External DB/Schema name text field. Database Designer uses this information to override the database name specified in the connection definition used by the primary Logical DB Connection. 7. Select File > Save to save the DB Connection Set. Database Designer Application Reference Guide May 2015 56

How to configure a secondary logical DB connection in a different database instance You can include tables from a Logical DB Connection that is in a different database instance from the primary Logical DB Connection. To include these tables, specify the secondary Logical DB Connection as the location of the tables in the table definitions and create a connection to the secondary Logical DB Connection. For example, if your application uses a Microsoft SQL Server database, and your vendor file is maintained by a separate group in an Oracle database, you can link the application to the Oracle database. You can create a Vendor table that displays information from the Oracle database. When a user searches the Vendor table, the IC application logs in to and browses the Oracle database, then displays the information. You, therefore, specify that the Vendor table is in a secondary Logical DB Connection to ensure that: Database Designer cannot change the table structure during a reconfigure, so that the structure of the Vendor table duplicates the structure of the table in the other database IC application users cannot use the Update feature to change the information in the other database IC application users have real-time access to the most up-to-date information in the original database The following illustration of the Properties tab of DB Connection shows the configuration for a secondary Logical DB Connection in the same database instance as the primary Logical DB Connection. 57 Database Designer Application Reference Guide May 2015

To configure a secondary Logical DB Connection in a different database instance than the primary Logical DB Connection: 1. Select the DB Connection Set in the Database Designer tree view. 2. In the DB Connection Sets Properties tab, select Add. 3. Select one of the predefined names or enter a new name for the connection in the Select a Logical DB Connection combo box. 4. Select a physical database connection from the Physical DB Connection drop-down list. 5. Verify that the Primary check box is not selected. 6. Select Finish. 7. Make sure that the Use external DB/Schema check box is not selected. 8. Select File > Save to save the DB Connection Set. How to delete a DB connection set To delete a DB Connection Set: 1. Select the DB Connection Set in the tree view of the Database Designer window. 2. Select Remove and confirm the deletion at the prompt. How to change a DB connection set To change a DB Connection Set: 1. Select the DB Connection Set in the tree view. 2. Modify the DB Connection Set properties in the Properties tab. For more information about specific properties, see: How to configure a primary logical DB connection on page 54 Overview of secondary logical DB connections on page 55 Database Designer Application Reference Guide May 2015 58

59 Database Designer Application Reference Guide May 2015

Chapter 5: Tables and fields Tables store information in the database used by IC applications. The tables, table fields, and table relations in an application are defined by the data model. The data model is contained in the following definitions in the application ADL file: Tables Fields Keys All out-of-the-box tables are locked because the tables contain system table fields. When you expand the Table entity in Database Designer, locked tables are designated with the following icon: You cannot delete a locked table, nor can you delete or alter the system table fields and keys in locked tables. You can only: Add new fields. Modify the values and properties of out-of-the-box system table fields. Tip: Tip: The field type determines which values are available to be modified. For example, you can modify the length of variable character fields and the enumerated and default values of enumeration fields. For more information about the structure of locked tables in your application, see that the data model of the application on the IC product CD in the directory docs\data_models. This section contains the following topics: Overview of database tables on page 60 Overview of database fields on page 67 Overview of database keys on page 75 Overview of database tables All table definitions in an ADL file are displayed beneath the Tables placeholder in the Database Designer tree view. Each table contains: Rows. That are unique and hold a single database record. Database Designer Application Reference Guide May 2015 60

Columns. That are unique and identify a specified segment of the record such as last name or the phone number. Fields. Where a row and a column intersect. Each field contains the segment of a database record that matches a column heading. Keys. That identify database records and segments, define 1 to N relations between tables, and improve search performance. As shown in the following diagram, Database Designer uses Physical DB Connections, also defined in the ADL file, to connect to the database through the Data server. Table Connection Data server RDBMS Table Fields For more information about tables and how the tables relate to other application components, see Tables on page 35. Relationship between tables in Database Designer and the application database A direct correlation between a table definition in Database Designer and the table in an application database is there. The table definition contains the name of the table in the database and the name of the Logical DB Connection that points to the database where the table is located. During database administration tasks, Database Designer uses the information in the table definition to locate and configure the table in the database. Database tables store the information collected and used by an IC application. To ensure that application users can easily and quickly access, display, and save information, many application components link to tables directly or through other components. Database Designer maintains some of these links, propagating changes to table definitions throughout the ADL file. For example, if you change the table name in the definition, Database Designer automatically updates the table name in all table aliases assigned to that table. Table properties The table properties are: 61 Database Designer Application Reference Guide May 2015

Table name on page 62. Table description on page 62. DB table on page 62. Logical DB connection on page 63. ORDER BY clause on page 63. History field on page 63. Table location on page 64. Keys on page 64. Table name Minimum extent and maximum extent on page 64 (Oracle only) The table name, required case sensitive less than 30 characters, is used by Database Designer to reference the table. Although you are not required to use this name to define the database name of the table in the configured application database see DB table on page 62, Avaya recommends that you do so. To change a table name, specify a name in the Name field. Table description DB table The table description (optional) is a place to keep information that identifies the table and the type of information stored in the table. To change the description for a table, type a description in the Description field. The database table, which is case sensitive, is the internal database table used by Database Designer to configure the table. Although the database table name does not have to be the same as the table name see Table name on page 62, Avaya recommends that you use the same name for both.! CAUTION: CAUTION: Do not change the internal database table name for a table in your production database. If you do so, you might have to modify the SQL commands and manually apply the SQL commands to the database to reflect changes to table names. To change the database table name for a table, specify a name in the DB Table field. Database Designer Application Reference Guide May 2015 62

Logical DB connection The Logical DB Connection is where the database table is located. When you create a table, you must associate the table with a Logical DB Connection. The Logical DB Connection must have a Physical DB Connection within a DB Connection Set definition. An application must have one primary Logical DB Connection. Database Designer automatically configures tables using the primary Logical DB Connection. An application might also have one or more secondary Logical DB Connections for tables that the application accesses, but does not manage. To change the Logical DB Connection that is associated with the table, select a new Logical DB Connection in the Logical DB Connection box. If the Logical DB Connection is not in the list, define the Logical DB Connection in the appropriate DB Connection Set. For more information, see Overview of DB connection sets on page 51. ORDER BY clause An ORDER BY clause (optional) is a SQL statement that specifies how to return the results of a query against the table. You can specify an ORDER BY clause to return search results in either ascending or descending alphabetic order. For more information about ORDER BY clauses, see your database documentation. To change the ORDER BY clause for the table, specify an SQL string in the ORDER BY field. History field The History field (optional) maintains transaction information for one or more fields in a table. The history field must have a Text data type. History field transaction information is displayed in the application by a Long Text object see Long text objects on page 122. To select a field to store transaction information, select the field from the History Field box. The drop-down list contains all the fields in the table that are of type Text. To record transaction information for a specified field in the History field, you must also select the History option see History on page 73 in the properties of the field. To ensure that the record name for a foreign field record appears in the History field, instead of the key number of the record. For example, Reporter: John Milton instead of Reporter: 1 (Key), identify the foreign field as the primary info field see Primary info on page 72. 63 Database Designer Application Reference Guide May 2015

Table location The table location is the physical device where the table is configured. By default, all tables in an IC application are configured on a single device. However, you can use more than one physical device to reduce potential controller contention and improve database performance. To configure a table on a specific device, enter the device name in the Table Location field. This setting overrides the Table Location specified in the Physical DB Connection of the application. Keys The Keys group contains the keys for the table. For more information, see Overview of database keys on page 75. Minimum extent and maximum extent For an Oracle database, you can specify a range to determine the size of an extent that can be added by Oracle to a tablespace of a table. The minimum extent is the minimum amount of space that can be dynamically added to the tablespace. The maximum extent is the maximum amount of space that can be dynamically added to the tablespace. Oracle uses the minimum and the maximum extent values to determine the size of the extent value added. To change the minimum or the maximum amount of dynamic space, specify an integer value in megabytes (MB) in the Minimum Extent and Maximum Extent text boxes. For more information about extents, see your Oracle documentation. How to create a table Before you create a table with Database Designer, you must establish a connection to the database by specifying a valid connection. For more information, see How to create a physical DB connection on page 45. To create a table, perform the following: 1. Select New > Component. 2. In the New Component dialog box, select Table and then select OK. Database Designer displays the New Table Wizard. 3. In the first Wizard dialog box: Database Designer Application Reference Guide May 2015 64

a. Enter the name of the table in the Name field. A table name is case-sensitive and must be less than 30 characters. For more information, see Naming requirements and restricted names on page 224. b. Enter a description of the contents and purpose of the table in the Description field. c. Select Next. 4. In the second Wizard dialog box: a. Select the Logical DB Connection where the table must be located from the drop-down list. If the Logical DB Connection is not in the drop-down list, you must create a Physical DB Connection for that Logical DB Connection before creating the table see How to create a physical DB connection on page 45. b. Select Next. 5. In the third Wizard dialog box: a. Enter the name of the table in the database in the top field. By default, the Wizard enters the table name from the first dialog box. b. Enter an ORDER BY string, if required, in the bottom field. c. Select Next. 6. In the fourth Wizard dialog box: a. Enter the primary key name in the Primary Key Name field. b. Enter the primary key field name in the Table Field for the Key field. c. Select Finish. 7. Review the properties of your new table and you can make any necessary modifications. For more information, see Table properties on page 61. 8. Select the lock icon in the upper right of the table s Properties tab to set the permissions for the table. For more information, see How to set permissions on page 31. 9. Select File > Save to save your new table definition. Database Designer creates the table with a single field for the primary key. To add more fields to your table, see How to create a field on page 73. How to change a table You modify a table by changing the properties in the Table Properties tab, then reconfiguring your application database see Overview of reconfiguring a database on page 210. 65 Database Designer Application Reference Guide May 2015

If your IC application includes Web Management, you must update the Persistent Data Manager (PDM) XML file when you make changes to the structure of certain tables. For more information, see IC Administration Guide. If you use the escalation capability in an IC application, you cannot change the properties of any of the following out-of-the-box tables: Employee, Owner alias of Employee, Groupmember, and Workgroup. To change the properties for a table: 1. Select the table in the tree view of the Database Designer window. 2. Select the Properties tab. 3. Modify the required table properties in the Properties tab. For more information about specific table properties, see Table properties on page 61. How to delete a table Before deleting a table, delete all references to the table from the following components: Table aliases Table sets Browser columns Objects Groups Forms Relations Relation sets To delete a table: 1. Select the table in the tree view of the Database Designer window. 2. Select Edit > Delete. If the table is referenced by other components, Database Designer alerts you to remove the remaining associations before deleting the table. Database Designer Application Reference Guide May 2015 66

Overview of database fields In a database, a table field defines a single data item. The data item is grouped with other data items to form a record. In the ADL file, the fields identify the columns and segments of a database row. Each field is named according to the heading of a column. All the fields in a table include a row and, therefore, contain all the segments in one database record. You can specify a default value for a table field that is inserted in the database when you create a new record. However, the default value can be overwritten by the default or specified value of the corresponding object in an IC application. Data types Database Designer supports several data types and also displays the data types in one or more object types. For more information about object types see How to automatically create objects on page 114. Avaya recommends you use following data type formats for your application design: Use the data type To display data in an object type of For example Binary not for use with an object an image Although the Binary data type can be used to provide a place in a database table to store, for example, a binary image, there is currently no IC object that can display or accept data of this type. Byte Check Box or Text Box an integer value from 0 to 256 Character Text Box a fixed length string such as CA, NY, or TX Date Date Time Select the button to display the Calendar widget and specify a date or range of dates 21 May 1999 67 Database Designer Application Reference Guide May 2015

Use the data type To display data in an object type of For example Date Time Date Time Select the button to display the Calendar widget and specify a date and time or a range of dates 14 May 1999 10:02:02 Double Text Box 1.7e+/-5 (6 digits) Enumeration Combo Box Select a value for the field from the drop-down a fixed list of alphanumeric values, such as: Red Yellow Blue Float Text Box 3E +/- 37 (7 digits) Integer Text Box or Check Box 7500 Interval Text Box 14:30:00 Money Text Box $2.25 Serial Text Box 1, 2, 3, The Serial data type is an Integer data type for which numbers are generated serially for use as key values. Only one field for each table can have a Serial data type. Short Integer Text Box -32,768 to 32,767 Text Long Text Select to add text to a long text field. a string that might be more than 255 characters long Variable Char Text Box or Multi-Line a string value of variable length A char becomes nchar and varchar becomes nvarchar data type for unicode. Field properties The field properties are: Field name on page 69. Field description on page 69. Database Designer Application Reference Guide May 2015 68

Field name Database field name on page 69. Type on page 70. Label on page 70. Length on page 70. Minimum and maximum values on page 70. Default value on page 71. Enumerated values on page 71. Currency symbol and money scale on page 71. Read only on page 72. Required on page 72. Primary info on page 72. Case sensitive on page 73. Left anchored on page 73. History on page 73. The field name, which is required case sensitive and must be less than 30 characters, is used by Database Designer to reference the field. Although you are not required to use this name to define the name of the field in the configured application database see Database field name on page 69, Avaya recommends that you do so. To change the field name, type the new name in the Name field. Field description The field description (optional) is a place where you can keep information that identifies the field and the information the field contains. To change the description for a field, type the new description in the Description field. Database field name The database name, which is case sensitive, for a field is the internal database name used by Database Designer to configure the field. Although this name does not have to be the same as the field name see Field name on page 69, Avaya recommends that you use the same name for both. 69 Database Designer Application Reference Guide May 2015

! CAUTION: CAUTION: Do not change the internal database name for a field in your production database. If you change a field name in the production database, you might have to modify the SQL commands and manually apply the SQL commands to the database to reflect changes to field names. To change the database name for a field, type the new name in the Database Field Name field. Type Label Length Database Designer supports several data types for storing data see Data types on page 67. While you can change some data types for fields, you cannot change a Serial data type to another type.! CAUTION: CAUTION: If you are modifying an existing application that contains data, ensure the new data type supports the existing data. If the new data type cannot support existing data, the data is lost when you reconfigure. To change the data type for a field, select the new data type from the Type box. The field label (optional) is displayed in the History long text field. The value of the field appears to the right of the label. To change the label for the field, type the new label in the Label field. The length (optional) is the maximum number of characters that can be stored in fields with char and var char data types. To set the maximum length for character and variable char data type, specify an integer value in the Length field. Minimum and maximum values The minimum and the maximum values (optional) specify a range of valid integer values for the following data types. Double Float Integer Short integer. Database Designer Application Reference Guide May 2015 70

The application manages range checking, and configures the database field with these settings where possible. To specify a range of valid values, specify a positive integer value in both the Minimum and Maximum text boxes. Ensure that the minimum value is smaller than the maximum value. Default value You can specify a default value (optional) for a field. However, the value for the field might be overwritten by the default or specified value of the corresponding object for the field in an IC application. To specify a default value for a non-enumerated data type, specify a value in the Default field. Leave the field blank if you do not want to specify a default. To select a default enumerated value, select a value from the Default box. Select No Default if you do not want to specify a default value. Enumerated values A field with a data type of enumeration can contain one or more values. You can specify one or more values, and the order, in the Enumerated Values field. In the IC application, the enumerated data type appears in a box object. The user can select a value from the list. To add or change an enumerated value: 1. Enter a value in the Enumerated Values field. 2. Select Enter to separate each value. To arrange the current values for the field in alphabetic order, select Sort. Currency symbol and money scale A field with a data type of money can specify: the currency symbol to be used the number of digits after the decimal point facilitated in this field For example, if you specify the dollar sign ($) for the currency symbol and 1 for the money scale, a valid entry is $2.5, but $2.50 is disallowed. By default, IC uses the currency symbol and the money scale from the regional or local settings of the system. 71 Database Designer Application Reference Guide May 2015

To change this information, select Edit > Localize Money Fields, then modify the entry in the New money symbol and text box. If you want to change the money scale, you must also enter a value in the New Money Symbol field. Database Designer ignores the scale if it is entered by default. Read only Required The read only option prevents the user from changing the field value. Database Designer manages read-only fields. This option does not prevent an IC Script from computing a value in the field. To apply the read only property to a field, verify that the Read Only check box is selected. The required option requires the user to specify a value for the field. The IC application manages required fields. The application configures the database field to be not nullable where possible. To apply the required property to a field, verify that the Required check box is selected. Primary info The primary info option identifies the field in a table that contains the most relevant information. This field is called the primary info field. Only one field in the table can be selected as the primary info field. For example, in the Employee table, the full name of the employee is usually the most relevant field and, therefore, is selected as the primary info field. To identify a field as "primary info", verify that the Primary Info check box is selected. This primary info field displays in the History field, see History field on page 63, as a foreign field. To ensure that the record name for a foreign field record displays in the History field, instead of the key number of the record, for example, Reporter: John Milton, instead of Reporter: 1 (Key), identify the foreign field as the primary info field. Database Designer Application Reference Guide May 2015 72

The History field, shown in the following figure, is displayed in a long text object and contains foreign field information from the Agent, Customer, and Product tables: 1 1. The foreign field information that appears here is determined by the primary info field in each of the associated tables. Case sensitive The case sensitive option requires the user to search for text in fields with Character and Variable Char data types on a case-sensitive basis. For example, searching for flex in a field with the case sensitive option selected returns flexibility, but not Flexor. To apply the case sensitive property to a field, verify that the Case Sensitive check box is selected. Left anchored History The left anchored option makes all data in the field searchable only from the first character in the string, from left to right. For example, searching for flex in a field with the left anchored option selected return flexibility, but not reflex. To apply the left anchored property to a field, verify that the Left Anchored check box is selected. The history option maintains transaction information for the field in a History field see History field on page 63. The information maintained in the label of the field and the current value. To apply the history property to a field, verify that the History check box is selected. How to create a field Before you create a field, you must know: 73 Database Designer Application Reference Guide May 2015

The name of the table where the field is located. What type of data is stored in the field. Depending on the data type, whether you are imposing length constraints on the data that can be stored in the field. Whether the user can edit the field. Whether the field is required. The default value of the field, if any. To create a field: 1. In the tree view, select the table where you want to add the field. 2. Select New > Field. Database Designer displays the New Field Wizard. 3. In the first Wizard dialog box: a. Enter the name of the field in the top field. A field name is case-sensitive and must be less than 30 characters. For more information, see Naming requirements and restricted names on page 224. b. Enter a description of the contents of the field and purpose in the bottom field. c. Select Next. 4. In the second Wizard dialog box: a. Enter the name of the field in the database in the top field. By default, the Wizard uses the field name from the first dialog box. b. Select the data type from the drop-down list. A data type of the field constrains the type of object you can use to display data from the field to the user. For information, see Data types on page 67. c. Enter the maximum length for the field. This field is not available for all data types. d. Select the Yes option to make the field read-only to the user, or No for the user to edit the field. e. Select the Yes option to require the user to complete this field, or No for the user to leave out this information. f. Select Next. 5. In the third Wizard dialog box, specify a default value for the field, if required, then select Finish. 6. Review the properties for your new field and modify them if required. For more information, see Field properties on page 68. 7. Select the lock icon in the upper right of the Field properties page to set the permissions for the field. For more information about permissions, see How to set permissions on page 31. 8. Select File > Save to save your new field definition. Database Designer Application Reference Guide May 2015 74

How to change a field You modify a field by changing the properties in the Field Properties tab. You must reconfigure your application database to test any changes to a field see Overview of reconfiguring a database on page 210. If you use the escalation capability in an IC application, you cannot change the fields in any of the following out-of-the-box tables: Employee, Owner alias of Employee, Groupmember, and Workgroup. To change a field: 1. Select the field under the appropriate table in the tree view. 2. Select the Properties tab. 3. Modify the required properties in the Properties tab. For more information about specific field properties, see Field properties on page 68. How to delete a field You cannot delete a field if the table is associated with an object or a key. Database Designer alerts you to remove the remaining associations. To delete a field: 1. Select the field from the tree view. 2. Select Edit > Delete. Overview of database keys Each table can contain one or more keys that are associated with fields. The keys identify data in database records for searches and links between tables. A table can contain one or more of the following keys: Primary. Uniquely identifies each record in a table. When you create a table, Database Designer automatically generates the primary key and associates it with a pkey field. The pkey field is a read-only field with a serial data type. Foreign. Defines a 1 to N relation between two tables. Unlike the other keys, you create foreign keys through the New Relation Wizard. The field associated with a foreign key must have the same data type as the primary key field in the foreign table. 75 Database Designer Application Reference Guide May 2015

Unique. Ensures that the data in a field is unique. You must associate a unique key with a single field. Index. Improves search performance across records by providing data specific to a field. You can associate an index key with one or more table fields.! Important: Important: The combined length of all the fields in a key of a table cannot exceed 900 bytes. Some minor differences in the way different DBMS platforms create indexes are there. Microsoft SQL Server Oracle DB2 In SQL Server: Database automatically creates an index for the primary keys. Database automatically creates an index for the unique keys. Database does not create indexes for foreign keys unless specifically stated to. If the key used as primary key is also made to be a foreign key and then the foreign key is indexed the database creates another index for this key. The database creates another index for this key even though this same key was already indexed because it was a primary key. The same holds good with unique keys. In Oracle: In DB2: Cannot create an index for a field that is already indexed (Database Designer complains). Database automatically creates an index for the primary keys. Database automatically creates an index for the unique keys. Database does not create indexes for foreign keys unless specifically stated to. If the key used as primary key is also made to be a foreign key and then if this foreign key is indexed the database complains because there already exists an index on this key. The same holds good with unique keys. The database complains if you try to create and index for a field that is already indexed. Database automatically creates an index for the primary keys. Database automatically creates an index for the unique keys. Database does not create indexes for foreign keys unless specifically stated to. Database Designer Application Reference Guide May 2015 76

The database complains if you try to create an index for a field that is already indexed. If the key used as primary key is also made to be a foreign key and then if this foreign key is indexed the database complains because there already exists an index on this key. The same holds good with unique keys. How to create a key To create a key: 1. In the tree view, select the table. 2. In the Keys group of the Properties tab, select New Key. Database Designer displays the New Key Wizard. 3. In the first Wizard dialog box: a. Enter the name of the key. b. Select the type of key that you want to create. c. Select Next. 4. In the second Wizard dialog box: a. Select a field you want the key to contain and select Add. Repeat this process until the Fields of the Key box contains all the associated fields. The fields are added in the order that you select the fields. For primary, foreign, and unique keys, Avaya recommends that you associate the key with only a single field. You can associate an index key with one or more fields. b. Select Finish. 5. Select File > Save to save your new key definition. How to change a key A key must be associated with a field. For primary, foreign, and unique keys, Avaya recommends that you associate the key with only a single field. You can associate an index key with one or more fields. You cannot change the field associated with a primary key in locked tables. After you create a custom table, Avaya recommends that you do not change the field associated with a primary key. 77 Database Designer Application Reference Guide May 2015

How to add a field to a key To add a field to a key: 1. In the tree view, select the table. 2. In the Keys group of the Properties tab, select the required key from the Key Name box. 3. Select Add field and select a field from the list. Database Designer displays the field name in the Fields in Key field. How to delete a field from a key To delete a field from a key: 1. In the tree view, select the table. 2. In the Keys group of the Properties tab, select the required key in the Key Name box. 3. Select a field from the Fields in Key field. 4. Select Delete. How to delete a key Before you delete a key, you must remove any references to the key in one or more relations. A key is associated with a field, but deleting the key does not delete the associated field. To delete a key from a table: 1. In the tree view, select the table. 2. In the Properties tab, select the required key in the Key name box. 3. Select Delete. If the key is in use, Database Designer alerts you to remove any remaining associations. Database Designer Application Reference Guide May 2015 78

79 Database Designer Application Reference Guide May 2015

Chapter 6: Table sets and table aliases A table alias is another name for a table that your IC application uses to link groups in the user interface to tables in the database. Each group in a GUI form uses an anchor table alias to search, read, and update information in a database table. A table alias can, and often has the same name as the table. However, you can assign more than one table alias to a table, so that the table can be used in different ways by different components. For example, two groups in a form can simultaneously update two different records in the same table if the groups use different table aliases. In the same way, two IC Scripts can use the same table simultaneously if the IC Scripts see different table aliases. You add the table aliases for all groups in a form to the table set of the form. A form cannot display information in a group if the table set does not contain the anchor table alias of groups. You then add the table set to the same module as the form. A form can only be added to a module if the module already contains the table set linked to that form. This section contains the following topics: How to create a table set on page 80 How to change a table set on page 81 How to view table properties for a table alias on page 81 How to determine where a table set is used on page 82 How to delete a table set on page 82 How to create a table alias on page 82 How to change a table alias on page 84 How to delete a table alias on page 84 How to create a table set Although table aliases are part of table sets, you must create the table set before you can create the aliases for the set. You create table sets in the Table Set Properties tab. To create a table set: 1. Select New > Component. 2. In the New Component dialog box, select Table Set and select OK. Database Designer displays the New Table Set Wizard. Database Designer Application Reference Guide May 2015 80

3. In the New Table Set Wizard dialog box, enter the name of the table set in the field. The table set name is case sensitive. Avaya recommends that you name a table set according to the main table in the table set. 4. Select Finish. Database Designer creates the table set. To add table aliases to the table set, see How to create a table alias on page 82 5. Select File > Save to save your new table set. How to change a table set You can change the name of the table set and the aliases in the table set in the Table Set Properties page. To change a table set: 1. Select the table set in the tree view of the Database Designer window. 2. In the Table Set Properties tab: a. To change the table set s name, modify the name in the Name field. If you rename a table set, any components linked to the table set are updated to reflect the new name. b. To add a table alias to the table set, select Add. Select a table from the drop-down list, and enter the table alias name in the Alias for the Table dialog box. This step creates a new table alias for the table set. For more information about the properties of the table alias, see How to create a table alias on page 82. c. To delete a table alias from the table set, select the table alias in the Table Aliases list, then select Remove. 3. Select File > Save. How to view table properties for a table alias To view the properties of a table associated with a table alias in a table set: 1. Select the table set in the tree view of the Database Designer window. 2. In the Table Set Properties tab, select the table alias, then select Go To. Database Designer jumps to the selected table. 81 Database Designer Application Reference Guide May 2015

Tip: Tip: To return to the table set you were viewing, select the Previous icon in the toolbar. How to determine where a table set is used To see which modules contain the current table set: 1. Select the table set in the tree view of the Database Designer window. 2. In the Table Set Properties tab, select Used in. 3. Select a module to open the module s Properties tab. How to delete a table set You can delete a table set after you delete all references to the table set from any modules or forms including groups and objects that link to an alias in the table set in the application. To delete a table set: 1. Select a table set in the tree view 2. Select Edit > Delete. Database Designer ensures that you do not accidentally delete a table set that is in use. If the table set is currently referenced, Database Designer alerts you to remove the remaining associations first. Tip: Tip: To determine where a table set is used, select Used in on the Properties tab of the table set. How to create a table alias Before you create a table alias, you must know: Which table the alias represents Which group the alias anchors Database Designer Application Reference Guide May 2015 82

You create the table alias from the table set in the tree view of Database Designer, then add the table alias properties in the Table Alias Properties tab. To create a table alias: 1. Select the table set in the tree view of the Database Designer window. 2. Right-click the table set and select New Table Alias. 3. In the New Table/Alias Wizard: a. Select the table from the drop-down list. b. Enter the alias for the table in the Table/Alias Name field. Tip: Tip: You can use the same name for the table and the table alias. c. Select Finish. Database Designer creates the table alias, adds it to the table set, and opens the Table Alias Properties tab. 4. In the Table Alias Properties tab, review the following properties for your new table alias and modify, if required: a. Name must be case sensitive: modify the name in the Name field. Database Designer automatically enters the name you gave to the table alias in this text field. If you rename the table alias, all associated components reflect the new name. b. Condition (optional): enter a SQL string in the Condition field to change the WHERE clause for a table alias. A condition is a search constraint, specified in SQL that filters the returned rows in a search and lets the user search a subset of the records in a table. A condition is included in the WHERE clause for all searches against the table alias. For example, the Employee table has several aliases, including resolver and confirmer. Each alias uses a different WHERE clause to remove unwanted records and return a different subset of records from the Employee table. For more information about WHERE clauses, see your database documentation. c. Description (optional): type a description in the Description field. The table alias description is a place to keep information that identifies the table alias. d. IC Scripts For (optional): select one of the following events to run an IC Script then associate an IC Script with a table alias: New. This event is the default event. The attached IC Script runs when a new record is created after a primary key is created, but before the record is submitted to the database. Before Search. The attached IC Script runs before a query is run against the table. Before Update. The attached IC Script runs before a record is updated. After Update. The attached IC Script runs after a record is updated. 83 Database Designer Application Reference Guide May 2015

Delete. The attached IC Script runs before a record is deleted. e. IC Script Attach (optional): Change the attached IC Script by clicking the down arrow in the IC Script box and selecting an IC Script from the drop-down list. You can attach an IC Script to enforce business rules on all transactions against the table alias. Before you attach an IC Script, you must select an event to run the IC Script. The attached IC Script runs against the table alias not the associated table. If a table has more than one table alias, you can attach a different IC Script to each table alias. 5. Select File > Save to save your new table alias. How to change a table alias You can modify the settings for a table alias in the Table Alias Properties tab. To change a table alias: 1. Select the table alias which is under the appropriate table set in the tree view. 2. Modify the required table alias properties in the Properties tab. For more information about specific table alias properties, see How to create a table alias on page 82. To view the properties for the table associated with the table alias, select the table name displayed to the right of the Alias of Table label. How to delete a table alias You can delete a table alias from a table set after you delete all references to the table alias from the following components: Relations Browsers Forms include groups and objects that link to an alias in the table set. To delete a table alias from a table set: 1. Select a table alias from the list in the Table Set Properties tab 2. Select Remove. Database Designer Application Reference Guide May 2015 84

85 Database Designer Application Reference Guide May 2015

Chapter 7: Application browsers Browsers are search tools that gather records from a database table for an IC application. You can use browsers to search as follows: A Search button in the GUI activates a browser search based on constraints set by the application user. The browser returns the search results in the GUI form. This browser is known as a front-end browser, and the browser is the most common use. An IC Script activates a browser search. The browser holds the search results. This is known as a back-end browser, and it works as a declared buffer. Depending on the information you display and how you display it, you can use either of the following application browsers: Search browser - Gathers information from the database through the anchor table alias, and displays the information at the top of the form after a user selects the Search button in a group. When the user selects a record from the browser, the fields in the group are back filled with the record information see Overview of search browsers on page 86. In-form browser (IFB) - Provides an enhanced facility for entering, viewing, and manipulating multiple records, and provides column and row summaries. You can use an IFB to view the Many side of a 1 to Many relationship, such as customer records from a customernames table related to a second organization table see Overview of in-form browsers on page 92. This section contains the following topics: Overview of search browsers on page 86 Overview of search browser columns on page 89 Overview of in-form browsers on page 92 Overview of in-form browser columns on page 95 Overview of search browsers A search browser works with a group. When the user specifies search constraints in a group, the search results appear in the browser. Selecting a record in the browser fills the group with field information. To display search results for a group: The group must be associated with a browser. The browser must have the same anchor table alias as the group. Database Designer Application Reference Guide May 2015 86

Search browser properties For information about search browser properties, see: Search browser name on page 87 IC Script for Before Search event on page 87 Column order on page 87 Search browser name The search browser name which must be case-sensitive, references the browser. If you rename a browser, the modules that link to the browser are updated to reflect the new name. When naming a search browser, Avaya recommends that you use the convention <alias>browser where <alias> is the name of the anchor table alias of the search browser. To change the browser name, modify the name in the Name field. IC Script for Before Search event You can attach an IC Script to enforce business rules against a search browser. The IC Script runs after a user requests a search, but before the search is run against the anchor table alias. For example, you can attach an IC Script that converts any search constraints to uppercase before the search runs. Search constraints are converted to uppercase after a search is requested, but before a search is run against the table. This request is done so that the search constraints in the application interface do not change. You need not attach an IC Script to a search browser. To specify an IC Script that runs before a search: 1. Select the browser in the tree view. 2. Select an IC Script from the Script for Before Search Event box. Column order The column order in the browser s Properties tab determines the order, from left to right, that columns appear in a browser. For more information, see Overview of search browser columns on page 89. The columns that are listed in the Browser columns field from top to bottom are displayed in a search browser from left to right. The records in a browser are sorted by column, from left to right. To move a browser column to the left in the application, select Up. To move a browser column to the right in the application, select Down. 87 Database Designer Application Reference Guide May 2015

How to create a search browser After you create a search browser, you can add columns to display field information from the anchor table alias and any foreign fields. See Overview of search browser columns on page 89. To create a search browser: 1. Select New > Component. 2. In the New Component dialog box, select Search Browsers, then select OK. Database Designer displays the New Search Browser Wizard. 3. In the first Wizard dialog box: a. Enter the search browser name in the field. Avaya recommends that you name a search browser according to the convention <alias>browser, where <alias> is the name of the anchor table alias for the browser. b. Select the table alias to be associated with the search browser from the drop-down list. This table must be the same table alias that you use as the anchor table alias for the group which is associated with the search browser. c. Select Next. 4. In the second Wizard dialog box, select the fields that makes up the browser columns, then select Finish. Database Designer creates the search browser and a column for each field you selected. 5. In the Browser Properties tab, review the properties for your new search browser and modify, if required. For more information, see How to change a search browser on page 88. 6. Select File > Save to save your new search browser. How to change a search browser Use the Properties tab of the browser to change the properties for a search browser You cannot change the anchor table alias after you create a search browser. To change the settings for a Search browser: 1. Select the required browser in the tree view. 2. Modify the required browser properties in the Properties tab. If you rename a browser, the modules that link to the browser are updated to reflect the new name. For more information about specific search browser properties, see Search browser properties on page 87. Database Designer Application Reference Guide May 2015 88

How to delete a search browser You can delete a search browser after you delete all references to the browser in all forms and modules. To delete a search browser: 1. Select the required search browser in the tree view. 2. Select Edit > Delete. Overview of search browser columns A search browser consists of one or more columns. Each column displays search results for a field. A column can display field information from the anchor table alias of the browser and one or more foreign fields. The number of columns in a browser must be determined by the workflow of the corresponding group: Create For User Scenario a simple browser (fewer columns) a robust browser (several columns) a robust group (several objects) a simple group (fewer objects) Search on several fields, then select a record to view record information in the group Search on one or two fields, display record information in browser Search browser column properties You can see the properties of a search browser column in the Browser Column Properties tab. For more information about the search browser column properties, see: Column name on page 90 Column heading on page 90 Table alias on page 90 Table field on page 90 Sort order on page 90 89 Database Designer Application Reference Guide May 2015

Column name The column name, which is case sensitive, references the column. When naming a search browser column, Avaya recommends that you follow the convention browser<fieldname> where <fieldname> is the name of the associated field. To change the column name, modify the name in the Name field. Column heading The column heading describes the contents of a field and is displayed at the top of the column. To change the column heading, modify the name in the Heading field. Table alias The table alias associated with a column constrains the field information that can be displayed in the column. To change the table alias associated with a browser column, select an alias from the Table alias box. Table field A field displays field information in a column for one or more records. The available fields are constrained by the table alias associated with the column. A browser can contain fields from different databases on the same server. However, a browser cannot contain fields from different databases on different servers. To change the field for which search results can be displayed, select a field from the Table field box. Sort order The sort order specifies how to display search results in a column. This setting must be specified for each column. For more information, see Column order on page 87. The search browser sorts records by column, from left to right. To display search results in ascending alphabetic order Select Ascending Database Designer Application Reference Guide May 2015 90

To display search results in descending alphabetic order database order (as the records appear in the database) Select Descending Do not sort How to create a search browser column To create a search browser column: 1. In the tree view, right-click the browser. 2. Select New Browser Column from the right-click menu. Database Designer displays the New Browser Column Wizard. 3. In the first Wizard dialog box: a. Enter the search browser column name in the field. When naming a Search browser column, Avaya recommends that you follow the convention browser<fieldname> where <fieldname> is the associated name of the field. b. Enter the caption that appears at the top of the browser column in the GUI. c. Select Next. 4. In the second Wizard dialog box, select: a. Table alias for the browser column. b. Table field whose information that the column displays. c. An option for the sort order see Sort order on page 90. d. Select Finish. Database Designer creates the search browser column and opens the Browser Column Properties tab. 5. In the Properties tab, review the properties for your new search browser and modify, if required. For more information, see Search browser column properties on page 89. 6. Select File > Save to save your new column. How to change a search browser column You change the settings for a search browser column in the Browser Column Properties tab. To change a browser column: 1. Select the browser column, under the appropriate search browser, in the tree view. 91 Database Designer Application Reference Guide May 2015

2. Modify the required search browser column properties in the Properties tab. For more information about specific search browser column properties, see Search browser column properties on page 89. How to delete a search browser column To delete a search browser column: 1. Select the column from the tree view. 2. Select Edit > Delete. Overview of in-form browsers In-Form Browsers (IFBs) provide an enhanced facility for entering, viewing, and manipulating multiple records. You can use an IFB to view the many (N) side of a 1 to many (1 to N) relationship, such as customer records from a customernames table related to a second organization table. Instead of appearing above the form as search browsers, IFBs appear within the form. An IFB facilitates the viewing and manipulation of multiple rows of customer records "simultaneously" and implements column and row summaries. To have the user enter a new row, an IFB has a blank row after the last populated row in New or Update mode. When the user enters data in the blank row, the IFB creates a new blank row. The user can perform the following with IFBs: Select a row by single clicking the square button at the beginning of the row. Delete a row by selecting and right-clicking the row. Sort a column by clicking a column header. Prompt for entry or some other activity in a field by clicking the field. The following IFB has 6 columns that can edit and 2 summary rows: Database Designer Application Reference Guide May 2015 92

In-form browser properties You can see the properties of an IFB in the Properties tab of the in-form browser. For more information about the in-form browser properties, see: In-form browser name on page 93 Column order on page 93 Browser summary on page 94 In-form browser name The in-form browser name which must be case sensitive, is used by Database Designer to reference the browser. If you rename a browser, any modules that link to the browser are updated to reflect the new name. The heading Text1 at the top of the IFB Example in Overview of in-form browsers on page 92 is not the browser name. This heading is created by the label entered in the definition of the IFB object. See How to create an in-form browser object on page 132. When naming an in-form browser, Avaya recommends that you use the convention <alias>ifbrowser where <alias> is the anchor table alias for the browser. To change the browser name, modify the name in the Name field. Anchor table alias The anchor table alias determines the table alias in which the browser gathers and displays record information. After you create an IFB, you cannot change the anchor table alias. You must delete the IFB, and create a new IFB with the correct anchor table alias. Column order The columns listed in the Browser columns field from top to bottom appear in a browser from left to right. The records in a browser are sorted by column, from left to right. To move a browser column to the left, select Up. To move a browser column to the right, select Down. 93 Database Designer Application Reference Guide May 2015

Browser summary The browser summary rows appear at the bottom of an IFB. The browser calculates the values of summary rows from a specified formula using the values available in browser columns. In the example in Overview of in-form browsers on page 92, Tax and Total are summary rows. The total tax can be calculated from the values in the visible Cost column, or from a sum of individual taxes in an invisible Tax column associated with the browser. Summary rows are displayed in the browser one above another. The top summary row in the list is displayed at the top in the browser. In the example in Overview of in-form browsers on page 92, Tax appears above Total. To add a Summary Row: 1. In the Properties tab of the in-form browser, select Add. 2. In the dialog box, enter: Name, which displays in the Summary Rows field. Caption, which displays in the IFB. In the example in Overview of in-form browsers on page 92, the caption is "Tax". Formula, which is used to calculate the value that is displayed in the Summary Row. To store the value calculated from the formula in a field in the group anchor table alias, enter that name of the field in the Target field. For more information about IFB formulas, see IC Scripts Language Reference. To change a Summary Row Name: 1. Double-click the summary row name in the Summary Rows field. 2. Enter the new name in the Summary Row Name dialog box 3. Select OK. How to create an in-form browser To create an in-form browser: 1. Select New > Component. 2. In the New Component dialog box, select In-Form Browsers, then select OK. Database Designer displays the New In-Form Browser Wizard. 3. In the first Wizard dialog box: a. Enter the in-form browser name in the field. Avaya recommends that you name an in-form browser according to the convention <alias>ifbbrowser, where <alias> is the name of the anchor table alias for the browser. Database Designer Application Reference Guide May 2015 94

b. Select the table alias to be associated with the IFB from the drop-down list. c. Select Next. 4. In the second Wizard dialog box, select the fields that makes up the browser columns, then select Finish. Database Designer creates the in-form browser and a column for each field you selected. 5. In the in-form browser Properties tab of the in-form browser, review the properties for your new in-form browser and modify them if required. For more information, see In-form browser properties on page 93. 6. Select File > Save to save your new IFB. How to change an in-form browser You can change the properties of an IFB in the Properties tab of the in-form browser. However, after you create an IFB, you cannot change its anchor table alias. You need to delete the IFB, and create a new IFB with the correct anchor table alias. The anchor table alias determines the table alias in which the browser gathers and displays record information. To change the settings for an in-form browser: 1. Select the browser in the tree view. 2. Modify the desired in-form browser properties in the Properties tab. For more information, see In-form browser properties on page 93. Overview of in-form browser columns An in-form browser consists of one or more columns. Each column displays search results for a field. A column can display field information from the anchor table alias of the browser and one or more foreign fields. An IFB can contain fields from different databases on the same server. However, an IFB cannot contain fields from different databases on different servers. 95 Database Designer Application Reference Guide May 2015

In-form browser column properties You can see the properties for an IFB column in the Properties tab of the in-form browser column. For more information about the in-form browser column properties, see: Column name on page 96 Column heading on page 96 Formula type on page 96 Anchor field on page 97 Foreign field on page 97 Sort order on page 99 Modes on page 100 Column summary on page 100 Column name The column name, which must be case-sensitive references the column. When naming an IFB column, Avaya recommends that you follow the convention IFBbrowser<fieldname>, where <fieldname> is the name of the associated field. To change the column name, modify the name in the Name field. Column heading The column heading describes the contents of a field and is displayed at the top of the column. In the example in Overview of in-form browsers on page 92, Product Name is a column heading. To change the column heading, modify the name in the Heading field. Formula type The formula calculates values for a column according to the entry in the Formula field. You can only select one of the Formula Type, Anchor Field, or Foreign Field option for a column. To change the formula associated with a browser column: 1. Select the Formula Type option. Database Designer Application Reference Guide May 2015 96

2. Change the entry in the Formula field. For more information, see IC Scripts Language Reference. Anchor field In the Anchor Field option you can change the field in the anchor table alias for which the column displays search results. You can only select one of the Formula Type, Anchor Field, or Foreign Field options for a column. To change the formula associated with a browser column: 1. Select the Anchor Field option. 2. Select a field from the Table Field list. Foreign field Alias In the Foreign field option you can change the foreign field that is associated with the browser column. You can only select one of the Formula Type, Anchor Field, or Foreign Field options for a column. To set the foreign field for a browser column: 1. Verify that the field type is set to Foreign Field. 2. Select the Foreign Field option. 3. Select components from the following drop-down lists: Alias Field Relation Relation set Fill direction Browser The alias, which is required for a foreign field column specifies the name of the foreign table that is associated with the 1 to N link. The 1 to N link associates a record in the anchor table alias to a record in a foreign table. Before you can create a 1 to N link, the 1 to N relation must be defined between the anchor table alias and the foreign table. 97 Database Designer Application Reference Guide May 2015

Field Relation To change the foreign table associated with the 1 to N link, select a table from the Alias field. The field name, which is required for a foreign field column, specifies the field in the foreign table displayed in the 1 to N link. The data type of the field must be a text string such as Variable Char or Integer. To change the field name, select a field name from the Field. In a 1 to N link, a relation, which is required for a foreign field column, identifies the name of the 1 to N relation that links the anchor table alias to the foreign table. The 1 to N relation associated with the 1 to N link permits the user to link several records in the anchor table alias to a record in the foreign table. For more information about relations, see Relations on page 37. To change the 1 to N relation associated with the 1 to N link, select a relation from the Relation box. If the relation is not in the list, confirm that it links the anchor table alias of the browser to the foreign table selected from the Field list. Relation set A relation set, which is required for a foreign field column, is a group of relations that constrain the tables included in a search. In a 1 to N link, the relation set defines the relations used to find the related record in the foreign table and reduces the number of records returned in the 1 to N drop-down list of the link. For example, in the Defect group, the 1 to N link to Component is constrained to display related records that also have a related Product and Workgroup. This relation set can prevent the search from returning a list of all components in the drop-down list of the object. If no related tables are there to constrain the search, you can perform an unconstrained search against all records in the foreign table. A relation set must be defined in a module before you can link the relation set to a 1 to N link. Database Designer has two predefined relation sets: cqlocal. Returns all records in the associated table, which is, also called an unconstrained search or local search. cqdefault. Searches across all relations in the focus. To select a relation set, select a relation set from the Relation Set field. Database Designer Application Reference Guide May 2015 98

Fill direction For a 1 to N link, a fill direction, which is required for a foreign field column, specifies how related records are displayed in the drop-down list of the object: Browser Backward. Finds related records that are unique to the table you are searching. Avaya recommends using this option for constrained searches. Forward. Finds related records that are not unique to the table you are searching. This option is not often used. Both. Enables both forward and backward functionality. To set the fill direction for a 1 to N link, select a fill direction from the Fill Direction field. The browser, which is required for a foreign field column, specifies the IFB that gathers records in the foreign table and this displays search results in the 1 to N drop-down list of the link. Only IFBs that are associated with the same anchor table alias as the foreign table appear in the list. Select an IFB that: Displays field information included in the specified relation set to ensure that field data not included in the relation set does not appear in a browser column. Contains fields that come from the same table as the foreign field. To change the browser that gathers and displays records from the foreign table, select a browser from the Browser field. Sort order The sort order specifies how search results are displayed in a column. Sorting is available for database fields only. Formula columns cannot be sorted. For more information, see Column order on page 93. The browser sorts records by column, from left to right. To display search results in ascending alphabetic order descending alphabeticorder database order (as the records appear in the database) Select Ascending Descending Do not sort 99 Database Designer Application Reference Guide May 2015

Modes The mode determines whether the user sees the column in the IFB and, if the column is visible, whether the user can edit the data. Select one or more of the following check boxes: Visible: The user can see and edit the column in the application interface. Column summary Read Only: The user can see, but cannot edit the column. Required: The user must complete the field. The label of a column summary and the column summary are frequently associated with different IFB columns. For example, the column summary label SubTotal in the example in Overview of in-form browsers on page 92 is associated with the Product Name column, while the column summary is associated with the Cost column. To set up a column summary in a browser: 1. In the Properties tab of the in-form browser column, select the appropriate browser column, then select the Label option and enter the text that describes a column summary in a browser. For example, you might enter Subtotal. 2. Select the appropriate in-form browser column, then select the Formula option and enter the formula that calculates the column summary. 3. To format the calculated value in the column summary, select a Formula return type of None, Integer, Float, or Money. For more information, see IC Scripts Language Reference. How to create an in-form browser column To create an in-form browser column: 1. In the tree view, right-click the IFB. 2. Select New Browser Column from the right-click menu. Database Designer displays the New Browser Column Wizard 3. In the first Wizard dialog box: a. Enter the IFB column name in the field. When naming an IFB column, Avaya recommends that you follow the convention IFBbrowser<fieldname> where <fieldname> is the name of the associated field. b. Enter the caption that appears at the top of the IFB column in the GUI. c. Select Next. Database Designer Application Reference Guide May 2015 100

4. In the second Wizard dialog box, select: a. One of the following options to determine which type of column that you are creating: Formula Type or Database Field. b. The table alias for the browser column. c. The table field whose information that the column displays. d. An option for the sort order. See Sort order on page 99. e. Select Finish. Database Designer creates the IFB column and opens the Properties tab of the in-form browser column. 5. In the Properties tab, review the properties for your new column and modify, if required. For more information, see In-form browser column properties on page 96. 6. Select File > Save to save your new column. How to change an in-form browser column To change an IFB column: 1. Select the browser column, under the appropriate in-form browser, in the tree view. 2. Modify the required IFB column properties in the Properties tab. For more information about specific IFB column properties, see In-form browser column properties on page 96. How to delete an in-form browser column To delete an in-form browser column: 1. Select the column in the tree view. 2. Select Edit > Delete. 101 Database Designer Application Reference Guide May 2015

Chapter 8: Forms, groups, and objects Forms define the appearance and workflow of your application, and provide the users with a task workflow. The workflow is a recommended sequence of steps to be performed by the user to complete a task. Forms are organized by type of data, such as calls or customers, and by specific task, such as data entry and data management. For example, you can create a Contact form, in which a user can search for and enter all the information needed when a customer calls. This information includes the contact information of the customer, also the purpose of the call, and other details. This section contains the following topics: Overview of forms on page 103 Overview of groups on page 106 How to create right-click menus on page 111 Overview of objects on page 113 Check box objects on page 116 Combo box objects on page 117 Date time objects on page 120 Label objects on page 122 Long text objects on page 122 Text box objects on page 125 In-form browser objects on page 129 1 to N link objects on page 132 M to N link objects on page 138 ActiveX control objects on page 140 Standard button objects on page 142 Custom button objects on page 147 How to change an object on page 148 How to delete an object on page 149 Database Designer Application Reference Guide May 2015 102

Overview of forms A form: Contains one or more groups. Each group displays record information from an anchor table alias. Is associated with a table set. The table set constrains the table information that can appear within the groups in a form. Creates a workflow. A workflow is a recommended sequence of steps that the user is likely to perform. Tip: Tip: When defining the workflow for a form, remember that the user can search, create, and update records in all the groups in a form. You create and modify the workflow within a form in Database Designer by adding groups and objects that reflect the tasks that the user must perform. When you have created the form, groups, and objects: Add the form to a module. In the module, you link the tables that appear in a form by creating relations and use the relations to create a relation set. A relation set enables you to define the relations that are used to search in and across tables. See Modules and relations on page 160. Create objects, using the relations in the module, that enable the user to view and link related records from another table. See Overview of objects on page 113. Finish the layout of your form using the Layout Editor. See Layout Editor for form design on page 150. Form properties You can see the properties of a form in the Form Properties tab. For more information about the form properties, see: Form name on page 104 Title on page 104 Form table set on page 104 Groups in the form on page 104 IC Scripts on form activate and deactivate on page 104 103 Database Designer Application Reference Guide May 2015

Form name Title The form name, which must be case, sensitive references the form. If you rename a form, all modules that link to the form are updated to reflect the new name. To change a form name, modify the name in the Name field. The form title describes the contents of a form and is the title of the button in the IC application. Avaya recommends that you specify a form title of the workflow of the form. To change the title of a form, change the name in the Title field. Form table set The form table set is the table set associated with the form. The list of table sets available are the table sets that contain all the anchor table aliases associated with the groups within the form. To change the form table set, select a new table set in the Form Table Set box. Groups in the form Each group displays search results in an associated browser. The search browsers for all the groups in a form appear in the browser area. You can specify the order of browsers in the browser area. The browser order, from left to right, corresponds to the group order in the form, from top to bottom. You can specify the order of browsers in the browser area. The browser order, from left to right, corresponds to the group order in the form, from top to bottom. To change the browser order: 1. Select a group from the Groups in the form field. 2. Move the browser associated with the selected group: Select Up to move the group up in the list and the associated browser to the left in the application Select Down to move the group down in the list and the associated browser to the right in the application IC Scripts on form activate and deactivate You can run IC Scripts on Form Activate and Form Deactivate events. Form activate is the event that occurs when a user selects on the button for a form, including the first time the user visits that form. Database Designer Application Reference Guide May 2015 104

Form deactivate is the event that occurs when the user navigates away from the current form or closes the entire focus. To set IC Scripts for form activate or form deactivate events: 1. In the Script For box, select the down arrow and select the appropriate event. 2. In the IC Script field, select the down arrow and select an IC Script. How to create a form Before you create a form, consider the workflow that you want the form to support, and the table aliases that are required to provide information to support the workflow. The table set associated with a new form must contain a table alias for each table where the user creates and update records. After you create a form: Create one or more groups and objects. The anchor table alias for each group must be defined in the table set associated with the form. See How to delete a form on page 106 Position and size the groups and objects in an application form using the Layout Editor. See Layout Editor for form design on page 150 To create a form: 1. Select New > Component. 2. In the New Component dialog box, select Form, then select OK. Database Designer displays the New Form Wizard. 3. In the Wizard dialog box: a. Enter the form name in the top field. When naming a form, Avaya recommends that you use a name that describes the workflow. For example, an agent uses the Contact form to perform the workflow associated with contacts. b. Enter the title of the form in the bottom field. The title appears on the button at the top of every form in the same focus. c. Select the table set associated with the form from the drop-down list. This table set must include all table aliases that you used as anchor table aliases for the groups in the form. d. Select Finish. 4. In the Form Properties tab, review the properties for your new form and modify, if required. For more information, see How to change a form on page 106. 5. Select File > Save to save your new form. 105 Database Designer Application Reference Guide May 2015

How to change a form You can change the properties of a form in the Form Properties tab. After you create a form or make any changes to a form, including changes to any groups or objects, you must set the size of the form and position the groups and objects in the Layout Editor. See Layout Editor for form design on page 150. To change a form: 1. Select the form in the Database Designer tree view. 2. Modify the required form properties in the Properties tab. For more information, see Form properties on page 103. How to delete a form You can delete a form after you delete all references to the form from any modules. To delete a form: 1. Select a form in the Database Designer tree view. 2. Select Edit > Delete. Database Designer deletes the form, including all groups and objects. Overview of groups A form contains one or more groups. Each group displays record information from an anchor table alias. Within a group, an IC application user can create and update records in the anchor table alias. The table set associated with a form constrains the table aliases that can be used as an anchor table alias for a group. IC applications can record transaction information for the anchor table alias. This transaction information is stored in the History field. You can display a linked record from another table in a group. A user can change which record is associated with the group, but cannot edit the record. Database Designer Application Reference Guide May 2015 106

Group properties You can see all the properties for a group in the Properties tab of the group. For more information about the group properties, see: Group name Label Group name on page 107 Label on page 107 Available browsers on page 107 Default active browser on page 108 IC Scripts on page 108 Right-click menu items on page 108 The group name that must be case sensitive, references the group. If you rename a group, any linked components are updated to reflect the new name. To change a group name, modify the name in the Group Name field. The group label describes the contents of a group and is displayed in an application in: The heading for the group The tab for the associated browser Avaya recommends that you use the name of the anchor table alias as the label for the group. To change the group label, modify the name in the Label field. Available browsers An available or valid browser is a browser with the same anchor table alias as the group. Each group must have at least one valid browser in the list of available browsers. A group with more than one valid browser can have multiple available browsers. However, you must select one browser to be the default active browser. To add a valid browser to the list of available browsers: 1. Select the Add button next to the Available Browsers field. 2. Select a browser from the list of all available browsers. The newly added browser becomes the default active browser. 107 Database Designer Application Reference Guide May 2015

3. Select another browser in the list to make it the default active browser. If no valid browsers are available, a message pops up indicating that no more browsers defined for the table alias used by the group are there. To delete a browser from the list of available browsers: 1. Select the browser from the Available Browsers field. 2. Select Remove. Default active browser The default active browser gathers and displays records for the group. A user cannot gather and display records for a group that does not have a default active browser. A group and must have the same anchor table alias as the default active browser. To change the default active browser, select a browser from the Available Browsers field. IC Scripts You can attach an IC Script to the associated browser. You can associate an IC Script with the following events: After Search. The IC Script runs on all records in the search, after the browser has run the search against the table, but before the browser displays the search results. Back Fill. The IC Script runs when the user selects a record in the browser and while the application fills in the fields in the form with the information of the record. To attach an IC Script to a browser: 1. Select an event from the Script For box. 2. Select the down arrow in the IC Script box and select an IC Script from the drop-down list. Right-click menu items All groups in IC applications have right-click menus that contain Local Search and Delete items. You can create additional right-click menu items, including items with the same behavior as a button. Avaya recommends that you create right-click menu items to perform actions that are not part of a standard workflow of a group. For example, you can create a right-click menu item to run a custom IC Script. To create a right-click menu item, see How to create right-click menus on page 111. Database Designer Application Reference Guide May 2015 108

How to create a group A group lets a user create and update a record in the anchor table alias. The anchor table alias is the table alias with the group. One or more objects in the group display field information for a record. The user creates and updates a record by modifying the value in an object.! Important: Important: Do not create more than one group in a form with the same anchor table alias. A group displays fields from the anchor table alias and any foreign fields. A foreign field is a linked record in another table. The user can link a record in the anchor table alias to a foreign field using the following objects: 1toN link. See 1 to N link objects on page 132 M to N link. See M to N link objects on page 138 A group is associated with a browser. The browser displays all records in a search. The browser and group must be associated with the same anchor table alias. See Overview of search browsers on page 86. The group label identifies the associated browser tab and in the heading for the group. After you create a group in an IC application, you can add one or more right-click menu items. See How to create right-click menus on page 111. To save time, when you create a group in the New Group Wizard, you can also create objects in the group that represent fields in the anchor table alias. You cannot add a group to a form that is open in the Layout Editor. To create a group: 1. Select the form to which you want to add the group in the tree view. 2. Select New > Group. Database Designer displays the New Group Wizard. 3. In the first Wizard dialog box: a. Select an anchor table alias for the group from the drop-down list. The anchor table alias must be included in the table set for the form. b. Enter the group name in the top field. Tip: Tip: Avaya recommends that you use a name that describes the associated table alias. c. Enter a label for the group in the bottom field. The label is displayed in the form as the heading for the group and the tab for the associated search browser. Avaya recommends that you use the name of the anchor table alias as the label for the group. 109 Database Designer Application Reference Guide May 2015

d. Select Next. 4. In the second Wizard dialog box: a. Select one or more fields from the anchor table alias to be the objects in the group. The Wizard automatically creates an object for each field that matches the data type of the field. To create an object in the group for more than one field, use Control+click. See How to automatically create objects on page 114. b. Select Finish. 5. In the Properties tab of the group, review the properties for your new group and modify, if required. For more information, see Group properties on page 107. 6. Select File > Save to save your new group. How to delete a group When you delete a group, all objects in the group are also deleted. To delete a group: 1. Select a group from a form in the Database Designer tree view. 2. Select Edit > Delete. How to change a group You can change all properties for a group in the Properties tab of group except the anchor table alias. You must delete and recreate a group to change the anchor table alias. To go to the properties for the anchor table alias, select the hypertext link next to Anchor Table Alias in the Properties tab of the group. To change a group: 1. Select the group in the Database Designer tree view. 2. Modify the required group properties in the Properties tab. For more information, see Group properties on page 107. Database Designer Application Reference Guide May 2015 110

How to create right-click menus In an IC application, you can create one or more right-click menu items with the same functionality as a button. Avaya recommends that you create right-click menu items to perform actions that are not part of a group s standard workflow. For example, you can create a right-click menu item to run a custom IC Script. All groups in IC applications have right-click menus that contain Local Search and Delete items. You can create additional right-click menu items, including items that have the same behavior as a button. Avaya recommends that you create right-click menu items to perform actions that are not part of a group s standard workflow. For example, you can create a right-click menu item to run a custom IC Script. To create a right-click menu item: 1. Select the group in the tree view. 2. In the Right-click Menu Items group of the Properties tab, select Add. Database Designer displays the New Menu Item Wizard. 3. In the first Wizard dialog box, complete the following fields: a. Menu Item Caption: enter the name in the top field. IC displays the menu item caption in the right-click menu of an application. b. Menu Item Name: Database Designer automatically enters the name of the menu item, using the table alias and caption. c. Select Next. 4. In the second Wizard dialog box, select the following from the drop-down lists: a. Class. The class determines the button behavior for the menu item. For information on available classes, see Standard button objects on page 142. b. Fill Direction. The fill direction specifies how related records appear in the drop-down list of the object: Backward. Finds related records that are unique to the table you are searching. Avaya recommends using this option for constrained searches. Forward. Finds related records that are not unique to the table you are searching. In general, this option is not used. Both. Enables forward and backward search functionality. c. Relation Set (search-class menu items only). A relation set is a group of relations that constrains the tables included in a search from a search-class menu item. If you do not constrain a search with a relation set, the search includes all the relations defined in the module. Database Designer has two predefined relation sets: cqlocal. Returns all records in the associated table. 111 Database Designer Application Reference Guide May 2015

cqdefault. Searches across all relations in the focus. If the relation set is not in the drop-down list, define a relation set in a module. See Overview of relation sets on page 174. d. Attached IC Script (optional). You can attach an IC Script that runs when a user selects the right-click menu item. e. Select Finish. How to delete a right-click menu item To delete a right-click menu item: 1. Select a menu item from the Menu Item Names field. 2. Select Remove. How to change a right-click menu item The class of the right-click menu item determines what changes you can make to the item. To change a right-click menu item: 1. Select a menu item from Menu Item Names field. 2. Modify the required right-click menu item properties in the Right-click Menu Items group of the Properties tab. For more information, see How to create right-click menus on page 111. How to set the order of items in a right-click menu After you create a menu item, you can set the order that the item appears in the menu. To set the order of an item in a right-click menu: 1. Select a menu item from the Menu Item Names field. 2. Set the order of the item in the right menu: Select Up to move the item up in the menu order. Select Down to move the item down in the menu order. Database Designer Application Reference Guide May 2015 112

Overview of objects After you create a group, you add one or more objects, depending on the workflow of the form. You can: Add objects that permit a user to search for related records. This workflow works well in certain forms, such as the Calls form, where a related record must be selected from one or more large tables before the user can create a new record. Add objects that can have a user create a record. This workflow works well in a group that contains related records in one or more smaller tables. An IC application user sees the objects as fields, text boxes, combo boxes, and as buttons within a group in a form. For more information about the objects that you can create, see: Objects that display data: - Check box objects on page 116 - Combo box objects on page 117 - Date time objects on page 120 - Label objects on page 122 - Long text objects on page 122 - Text box objects on page 125 - In-form browser objects on page 129 - ActiveX control objects on page 140 Objects that link records: - 1 to N link objects on page 132 - M to N link objects on page 138 Objects that run scripts or methods: - Standard button objects on page 142 - Custom button objects on page 147 You cannot add an object to a form that is open in the Layout Editor. 113 Database Designer Application Reference Guide May 2015

How to constrain user access to an object You can create an object that is not visible to the user of an IC application. For example, you can create an invisible object and have the associated field value updated by an IC Script without the IC application user seeing the object. To set the visibility of an object in an IC application: Select the Visible check box to make the object visible to an IC application user. Clear the Visible check box to make the object invisible to an IC application user. How to automatically create objects In the New Object Wizard, you can create several objects simultaneously. You must associate each object with the anchor table alias of the group. The New Object Wizard creates objects according to the data type of the selected field. A field data type of Is used with an object type of For example Binary not for use with an object an image Although the Binary data type can be used to provide a place in a database table to store, for example, a binary image, no IC object that can display or accept data of this type that are there. Byte Check Box or Text Box an integer value of 0 to 256 Character Text Box a fixed length string such as CA, NY, TX, Date Date Time Date Time Select the button to display the Calendar widget and specify a date or range of dates Date Time Select the button to display the Calendar widget and specify a date and time or a range of dates 21 May 1999 14 May 1999 10:02:02 Double Text Box 1.7e+/-5 (6 digits) Enumeration Combo Box Select a value from the drop-down a fixed list of alphanumeric values, such as: Red, Yellow, Blue Database Designer Application Reference Guide May 2015 114

A field data type of Is used with an object type of For example Float Text Box 3.4E +/- 38 (7 digits) Integer Text Box or Check Box 7500 Interval Text Box 14:30:00 Money Text Box $2.25 Serial Text Box 1, 2, 3, The Serial data type is an Integer data type for which numbers are generated serially for use as key values. Only one field for each table can have a Serial data type. Short Integer Text Box -32,768 to 32,767 Text Long Text Select to add text to a long text field. a string that might be more than 255 characters long Variable Char Text Box or Multi-Line a string value of variable length To create several objects simultaneously: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Objects Related to Fields in the Primary Table, then select Next. 3. Select the fields from the list of fields in the anchor table alias. Use Control+click to select more than one field from the list. 4. Select Finish. After you define an object, you cannot change the object type. To change the object type, you must delete and recreate the group. Common properties for most non button objects You must complete the following properties for most non button objects: Object name Associated field Label 115 Database Designer Application Reference Guide May 2015

Check box objects A check box enables the user to specify a binary value for a field. A check box displays as the following in the application interface: For more information about the check box object properties, see: Object name Object name on page 116 Associated with field on page 116 Visible on page 116 Label on page 117 Default value on page 117 The object name, which must be case sensitive, is used by Database Designer to reference the object. Avaya recommends that you name an object using the convention <anchortable><fieldname> where <anchortable> is the name of the anchor table alias for the group, and <Fieldname> is the name of the field in the table. To change an object name, modify the name in the Name field. Associated with field Visible The associated field, required, supplies the data for the object. An object can only display data from a field in the anchor table alias for the group. The associated field for a check box must be either Byte or Integer which is the minimum value of 0 and maximum value of 1. To change the associated field, select a field from the Associated with Field box. You can create an object that is not visible to the user. For example, you can create an invisible object and have the associated field value updated by an IC Script without the user seeing the object. To set the visibility of an object: Select the Visible check box to make the object visible to a user. Clear the Visible check box to make the object invisible to a user. Database Designer Application Reference Guide May 2015 116

Label The label (optional) is the text that appears to the left of the object in the application interface. To change the label, type the label text in the Label field. Default value The default value is automatically entered in the check box when the user opens the form. Enter one of the following values in the Default Value field: 0. Check box is automatically unchecked in the application interface. 1. Check box is automatically checked in the application interface. How to create a check box object To create a check box object: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Generic object, then select Next. 3. Enter a caption such as a label and a name, then select Next. 4. Select the Check Box object type from the list, then select Finish. The Wizard creates the check box object based on your selections. After you create a check box, you must associate it with a field that has a data type of Byte or Integer. The data type or the integer is of a minimum value of 0 and maximum value of 1. 5. In the object s Properties tab, review the properties for your new object and modify, if required. For more information, see Check box objects on page 116. 6. Select File > Save to save your new object. Combo box objects A box lets a user select a value from a drop-down list 117 Database Designer Application Reference Guide May 2015

An application user can use a box to search for one or more values by selecting the "Or.." value from the list. This value is set by Database Designer and is only available to search for records. For more information about the box object properties, see: Object name on page 118 Object name Associated with field on page 118 Visible on page 118 Label on page 118 Value of the box on page 119 Default value on page 119 The object name, which must be case sensitive is used by Database Designer to reference the object. Avaya recommends that you name an object using the convention <anchortable><fieldname> where <anchortable> is the name of the anchor table alias for the group, and <Fieldname> is the name of the field in the table. To change an object name, modify the name in the Name field. Associated with field Visible Label The associated field, required, supplies the data for the object. An object can only display data from a field in the anchor table alias for the group. The associated field for a box must have the data type Enumeration. To change the associated field, select a field from the Associated with Field box. You can create an object that is not visible to the user. For example, you can create an invisible object and have the associated field value updated by an IC Script without the user seeing the object. To set the visibility of an object: Select the Visible check box to make the object visible to a user Clear the Visible check box to make the object invisible to a user The label (optional) is the text that appears to the left of the object in the application interface. To change the label, type the label text in the Label field. Database Designer Application Reference Guide May 2015 118

Value of the box An application user sees box values in the drop-down menu. Avaya recommends that you set the order of the menu items in the object to match the order of the values specified in the associated field. To set your box values in another language, see How to set box values for multilanguage usage on page 119. To set the values for a box: 1. Enter the values in the order the values need to appear in the interface in the Value of the Box field. 2. Select Enter after each item. Default value The default value is automatically entered in the check box when the user opens the form. To set the default value, enter the default value in the Default Value field. How to create a box object To create a box: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Objects Related to Fields in the Primary Table, then select Next. 3. From the list, select the field to be associated with the box. A box must have an Enumeration data type. 4. Select Finish. The Wizard creates the object based on your selections. 5. In the Properties tab of the object, review the properties for your new object and modify, if required. For more information, see Combo box objects on page 117. 6. Select File > Save to save your new object. How to set box values for multilanguage usage If you developed your combo box object using English, and attached an IC Script that contains English values for items a user can select to determine certain actions, you can set the combo box values to present the values in another language. 119 Database Designer Application Reference Guide May 2015

You can insert correspondences for the values in the Value of the Combo Box list box, instead of editing the IC Script to set the values for another language. For example, if your combo box and IC Script need to be translated from English to French, you can insert correspondences in the Value of the combobox list box. If the English value is New, edit that list box entry to read, New=neuf. Date time objects A date time object lets the user specify date and the time information. In the example as follows, the user can edit date and the time information by selecting the button to display a Calendar widget. 1 2 For more information about the Date time object properties, see: Object name Object name on page 120 Associated with field on page 121 Visible on page 121 Label on page 121 Default value on page 121 1. Calendar widget 2. Date/Time object The object name, which must be case sensitive is used by Database Designer to reference the object. Avaya recommends that you name an object using the convention <anchortable><fieldname> where <anchortable> is the name of the anchor table alias for the group, and <Fieldname> is the name of the field in the table. Database Designer Application Reference Guide May 2015 120

To change an object name, modify the name in the Name text box. Associated with field The associated field, required, supplies the data for the object. An object can only display data from a field in the anchor table alias for the group. To change the associated field, select a field from the Associated with Field combo box. The associated field for a date time object must have one of the following data types: Date Time. Manages date and time information, or a range of dates Date. Manages date information, or a range of dates Visible Label You can create an object that is not visible to the user. For example, you can create an invisible object and have its associated field value updated by an IC Script without the user seeing the object. To set the visibility of an object: Select the Visible check box to make the object visible to a user Clear the Visible check box to make the object invisible to a user The label (optional) is the text that appears to the left of the object in the application interface. To change the label, type the label text in the Label text box. Default value The default value is automatically entered in the check box when the user opens the form. Enter one of the following values in the Default Value text box: A string value now to insert the current date and time as the default today to insert the current date as the default 121 Database Designer Application Reference Guide May 2015

How to create a date time object To create a date time object: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Objects Related to Fields in the Primary Table, then select Next. 3. From the list, select the field to be associated with the date time object. A date time object must have a Date or Date Time data type. 4. Select Finish. The Wizard creates the date time object. 5. In the object s Properties tab, review the properties for your new object and modify, if required. For more information, see Date time objects on page 120. 6. Select File > Save to save your new object. Label objects A label object displays text. A label object does not link to a field in the database and cannot run an IC Script. You create a label object to display text within a group. For example, you use a label object to create a horizontal rule. To create a label object: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Generic object, then select Next. 3. Enter caption such as label and name, then select Next. 4. Select the Label object type from the list, then select Finish. The Wizard creates the label object based on your selections. Long text objects A long text object lets an application user view and enter text in a scrollable field. Database Designer Application Reference Guide May 2015 122

In the following example, the application user appends notes about the contact by selecting the button to display the Long Text box. 1 2 1. Select to open the Long Text box. 2. Append text here. For more information about the long text object properties, see: Object name Object name on page 123 Associated with field on page 123 Visible on page 124 Label on page 124 Edit mode on page 124 The object name, which must be case sensitive is used by Database Designer to reference the object. Avaya recommends that you name an object using the convention <anchortable><fieldname> where <anchortable> is the name of the anchor table alias for the group, and <Fieldname> is the name of the field in the table. To change an object name, modify the name in the Name text box. Associated with field The associated field, required, supplies the data for the object. An object can only display data from a field in the anchor table alias for the group. The associated field for a long text object must have the data type Text. To change the associated field, select a field from the Associated with Field combo box. 123 Database Designer Application Reference Guide May 2015

Visible Label You can create an object that is not visible to the user. For example, you can create an invisible object and have the associated field value updated by an IC Script without the user seeing the object. To set the visibility of an object: Select the Visible check box to make the object visible to a user Clear the Visible check box to make the object invisible to a user The label (optional) is the text that appears to the left of the object in the application interface. To change the label, type the label text in the Label text box. Edit mode You can select one of the following edit modes for a long text object: Edit. The user can edit the text in the field. Append. The user can add text to the field. The additional text is added at the end of the record. Prepend. The user can add text to the field. The additional text is added at the beginning of the record. Read only. The user can only view the text in the field. To set the edit mode, select the radio button for the required edit mode. How to create a long text object To create a long text object: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Objects related to fields in the primary table, then select Next. 3. Select a field from the list that has a data type of Text. The list only contains fields in the anchor table alias for the group. 4. Select Finish. The Wizard creates the long text object with a default edit mode of Append. 5. In the Properties tab of the object, review the properties for your new object and modify, if required. For more information, see Long text objects on page 122. Database Designer Application Reference Guide May 2015 124

6. Select File > Save to save your new object. Text box objects A text box lets users view and enter alphanumeric data. You can also use a text box to display field data or computed values. Computed values are generated with an IC Script and are not stored in the database. For more information about the text box object properties, see: Object name on page 125 Object name Associated with field on page 125 Visible on page 126 Label on page 126 Multiline on page 126 IME mode on page 127 Default value on page 127 Mask value on page 128 The object name which must be case sensitive is used by Database Designer to reference the object. Avaya recommends that you name an object using the convention <anchortable><fieldname> where <anchortable> is the name of the anchor table alias for the group, and <Fieldname> is the name of the field in the table. To change an object name, modify the name in the Name text box. Associated with field The associated field, required, supplies the data for the object. An object can only display data from a field in the anchor table alias for the group. The associated field for a text box object must have one of the following data types: Byte Character Double Float Integer 125 Database Designer Application Reference Guide May 2015

Interval Money Serial Short Integer Variable Char You can create a text box that is not associated with a field to display a computed value from an IC Script. To change the associated field, select a field from the Associated with Field combo box. To create a text box that is not associated with a field, select None from the Associated with Field combo box. Visible Label You can create an object that is not visible to the user. For example, you can create an invisible object and have the associated field value updated by an IC Script without the user seeing the object. To set the visibility of an object: Select the Visible check box to make the object visible to a user. Multiline Clear the Visible check box to make the object invisible to a user. The label (optional) is the text that appears to the left of the object in the application interface. To change the label, type the label text in the Label text box. You can create a text box that appears as a multiline text box in an IC application. A multiline text field lets the user enter more than one line of text in the text field. As the user enters text, if required, the text wraps to the next line. You can set the default number of lines in a multiline text box to display one or more lines. If a text object contains more text than can be displayed, a blue bar highlights the right side of the object. The application user clicks inside the text box to display the rest of the text. To add multiline support for a text box, select the Multi-line check box and set the default number of lines using the arrows in the Visible Lines box. Although the multiline option can be used with other data types, the multi line is usually only appropriate for Variable Char. Database Designer Application Reference Guide May 2015 126

IME mode You use the Input Method Editor if you are developing an IC application with Far-East languages. To set the IME Mode, select: The appropriate IME option for Far-East languages. No IME for European languages. IME Mode uses the following values: IME Mode Value None On Off Disable Hiragana DBC Katakana DBC Katakana SBC Alphanumeric DBC Alphanumeric SBC Hangul DBC Hangul SBC Description This value indicates "No control to IME". This value indicates that the IME is on and characters specific to Simplified Chinese or Japanese can be entered. This setting is valid for Japanese, and Simplified Chinese IME only. This mode indicates that the IME is off. This setting is valid for Japanese, and Simplified Chinese IME only. This mode is similar to IME Mode off, except that this value disables IME. With this setting, the users cannot turn the IME on from the keyboard. This setting is valid for Japanese IME only. Hiragana double-byte characters (DBC). This setting is valid for Japanese IME only. Katakana double-byte characters. This setting is valid for Japanese IME only. Katakana single-byte characters (SBC). This setting is valid for Japanese IME only. Alphanumeric double-byte characters. This setting is valid for Japanese IME only. Alphanumeric single-byte characters. This setting is valid for Japanese IME only. Hangul double-byte characters. This setting is valid for Korean IME only. Hangul single-byte characters. This setting is valid for Korean IME only. Default value The default value (optional) is automatically entered in the check box when the user opens the form. 127 Database Designer Application Reference Guide May 2015

To set the default value, enter a value in the Default Value text box. Mask value A mask value determines the input mask for the object. Input masks are place holders that fill spaces between literal characters such as parentheses and hyphens. IC application users enter text in the spaces created by input masks. For example, you can use the pound sign (#) to fill spaces between parentheses and hyphens in a Phone text box. A mask value of (###)###-#### displays as follows: Supported mask characters include: Mask character Description # Digit placeholder (entry optional). For example: 0 to 9. & Character placeholder (entry optional). Valid values for this placeholder are ANSI characters in the following ranges: 32 to 126 and 128 to 255.? Letter placeholder (entry optional). For example: a to z or A to Z. 9 Sign/digit placeholder (entry optional). For example: +, -, 0 to 9. A a C Alphanumeric character placeholder (entry required). For example: a to z, A to Z, or 0 to 9. Alphanumeric character placeholder (entry optional). Character or space placeholder (entry optional). To change the mask value, enter a string in the Mask text box. How to create a text box object To create a text box object: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Objects Related to Fields in the Primary Table, then select Next. 3. Select a field from the list. The field can have one of the following data types: Database Designer Application Reference Guide May 2015 128

Byte Character Double Float Integer Interval Money Serial Short Integer Variable Char 4. Select Finish. 5. In the Properties tab of object, review the properties for your new object and modify, if required. For more information, see Text box objects on page 125. 6. Select File > Save to save your new object. In-form browser objects An in-form browser (IFB) object gives users an enhanced facility for entering, viewing, and manipulating multiple records. For more information on IFBs, see Overview of in-form browsers on page 92. An IFB object with search and edit capabilities appears at the top of the IFB. For example, see the Product Name field as follows: For more information about the in-form browser object properties, see: Object name on page 130 Visible on page 130 Associated in-form browser on page 130 129 Database Designer Application Reference Guide May 2015

Object name Visible Label on page 130 Script on page 131 Relation on page 131 Allow on page 131 Target on page 132 The object name references the IFB object. When naming an IFB object, Avaya recommends that you use the convention <string>ifbrowser, where <string>ifbrowser is the name of the associated in-form browser. To change an object name, modify the name in the Name text box. You can create an object that is not visible to the user. For example, you can create an invisible object and have the associated field value updated by an IC Script without the user seeing the object. To set the visibility of an object: Select the Visible check box to make the object visible to a user Clear the Visible check box to make the object invisible to a user Associated in-form browser Label The associated in-form browser is the in-form browser associated with the IFB object. You can only associate an in-form browser with an IFB object if: The anchor table alias of the IFB lies on the N side of a 1-to-N relation AND The IFB object s group lies on the 1 side of the same relation Database Designer lists all valid in-form browsers in the In-Form Browser combo box. To change the associated in-form browser, select the new browser from the In-Form Browser combo box. The label is the text that appears to at the top of the in-form browser. To change the label, type the label text in the Label text box. Database Designer Application Reference Guide May 2015 130

Script You can attach an IC Script to an IFB object for the following events: Relation Allow RowSelect. The application user double-clicks a row. CellChange. The application user has changed a cell, and the IC application has completed the recalculation. AfterDelete. The application user has deleted a row, and the IC application has completed the recalculation. To attach an IC Script to an IFB object: 1. Select the required event in the IC Script combo box. 2. Select the down arrow in the IC Script for the IFB combo box and select an IC Script from the drop-down list. In an IFB object, a relation identifies the name of the 1 to N relation that links the anchor table alias of the IFB group of the object with the anchor table alias of the IFB. For more information, see Overview of relations on page 167. To change the 1 to N relation associated with the IFB, select a relation from the Relation combo box. The users can select the following edit options: Add New Records. A user can enter new anchor table alias records through the in-form browser. Delete Records. A user can delete anchor table alias records through the in-form browser. Change Records. A user can change anchor table alias records through the in-form browser. To select edit options for an IFB object, check one or more of the edit options under the Allow label. 131 Database Designer Application Reference Guide May 2015

Target Target tables provide users with greater control when the tables link to a record in an IFB field. When a user clicks on the cell that corresponds to the target table, a popup browser lets them select a record from the associated table. How to create an in-form browser object To create an in-form browser object: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Objects of type In-Form Browser, then select Next. 3. Select an in-form browser. Tip: Tip: The IFB list only includes IFBs which are on the many side of the 1 to N relation. If no IFBs match this requirement, the list is empty. 4. Enter an object name and caption (label). 5. Select Finish. 6. In the Properties tab of the object, review the properties for your new object and modify, if required. For more information, see In-form browser objects on page 129. 7. Select File > Save to save your new object. 1 to N link objects A 1 to N link object lets the user link a selected record in a table to a record in another table using a 1 to N relation. You must associate the 1 to N link object with a field in a table alias that is not the anchor table alias for the group. Database Designer Application Reference Guide May 2015 132

A 1 to N link object is a text box object linked to a field in a foreign table. Therefore, a 1 to N link object must have an object type of Text Box and display string data. For example, fields of type Variable Char or Integer. Before creating a 1 to N link object, you must: Add the associated form, table set, and the browsers to a module Create a 1 to N relation between the tables that you link. See Overview of 1 to N relations on page 167 For more information about the 1 to N link object properties. see: Object name on page 133 Object name Associated with field on page 133 Visible on page 134 Label on page 134 IC Script for foreign search on page 134 IME mode on page 134 Default value on page 134 Alias on page 135 Field on page 135 Relation on page 135 Relation set on page 135 Fill direction on page 136 Browser on page 136 Target on page 137 The object name which must be case sensitive references the 1 to N link object. Avaya recommends that you name a 1 to N link object using the convention <anchortable><foreigntable> where <anchortable> is the name of the anchor table alias for the group, and <Foreigntable> is the name of the table to which you can link a record. To change an object name, modify the name in the Name text box. Associated with field A 1 to N link object is associated with a field in a foreign table. To associate a 1 to N link with a foreign table and field, select Foreign Table Field from the Associated with Field combo box. 133 Database Designer Application Reference Guide May 2015

Visible Label You can create an object that is not visible to the user. For example, you can create an invisible object and have the associated field value updated by an IC Script without the user seeing the object. To set the visibility of an object: Select the Visible check box to make the object visible to a user Clear the Visible check box to make the object invisible to a user The label is the text that appears next to the 1 to N link object. To change the label, type the label text in the Label text box. IC Script for foreign search You can associate an IC Script with the foreign field selected for the 1 to N link object. To associate an IC Script with the field selected in the Field combo box: 1. Select the down arrow in the IC Script for Foreign Search combo box. 2. Select an IC Script from the drop-down list. IME mode You use the Input Method Editor if you are developing an IC application with Far-East languages. To set the IME mode, select: The appropriate IME option for Far-East languages No IME for European languages For more information about IME mode values, see IME mode on page 127. Default value You can set a default value (optional) that is displayed automatically when the user opens the form. To set a default value for a 1 to N link, enter a value in the Default Value text box. Database Designer Application Reference Guide May 2015 134

Alias Field Relation A 1 to N link object associates a record in the anchor table alias to a record in a foreign table. The alias for the 1 to N link object specifies the table alias name of the foreign table. Before you create a 1 to N link object, you must define a 1 to N relation between the anchor table alias and the foreign table. If the Alias list is unavailable, ensure you have specified a foreign field as the associated field. To change the foreign table associated with a 1 to N link object, select a table from the Alias combo box. The field name specifies the field in the foreign table that is displayed in the 1 to N link object. The data type of the field must be a text string, such as Variable Char or Integer. If the Field list is unavailable, ensure you have specified a foreign field as the associated field. To change the field name, select a field name from the Field combo box. In a 1 to N link object, a relation identifies the name of the 1 to N relation that links the anchor table alias to the foreign table. The 1 to N relation, associated with the 1 to N link object, lets the IC application user link several records in the anchor table alias to a record in the foreign table. If the Relation list is unavailable, ensure you have specified a foreign field as the associated field. To change the 1 to N relation associated with the 1 to N link object, select a relation from the Relation combo box. Relation set In a 1 to N link object, the relation set defines the relations used to find related records in the foreign table. You specify a relation set to reduce the number of records that are returned in the 1 to N link object s drop-down list. For example, in the Defect group, the 1 to N link to Component is constrained to display related records that also have a related Product and Workgroup. This constraint can prevent the search from returning a list of all components in the object s drop-down list. If no related tables to constrain the search are there, you can run an unconstrained search against all records in the foreign table. If the Relation Set list is unavailable, ensure you have specified a foreign field as the associated field, and defined the relation set in a module. 135 Database Designer Application Reference Guide May 2015

Two predefined relation sets that you might find useful are as follows: cqlocal. Returns all records in the associated table, also called an unconstrained search or local search. cqdefault. Searches across all relations in the focus. To select a relation set for a 1 to N link object, select a relation set from the Relation Set combo box. Fill direction The fill direction specifies how related records appear in a 1 to N link object s drop-down list. You can select one of the following options: Browser Backward. Finds related records that are unique to the table you are searching. Avaya recommends using this option for constrained searches. Forward. Finds related records that are not unique to the table you are searching. In general, this option is not used. Both. Enables forward and backward search functionality. If the Fill Direction list is unavailable, ensure you have specified a foreign field as the associated field. To set the fill direction for a 1 to N link object, select a fill direction from the Fill Direction combo box. The browser name refers to the browser that gathers records in the foreign table and displays search results in the 1 to N drop-down list of the link. In a 1 to N link, the browser resembles the following: When selecting a browser for a 1 to N link object, Avaya recommends that you use a browser that displays field information that is included in the specified relation set. Field data that is not included in the relation set does not appear in the browser column for a 1 to N link object. The foreign table alias associated with the 1 to N link object constrains the browsers that appear in the Browser combo box. Valid browsers must be associated with the same anchor table alias as the foreign table alias. To change the browser that gathers and displays records from the foreign table, select a browser from the Browser combo box. Database Designer Application Reference Guide May 2015 136

Target Target forms provide IC application users with greater control when selecting a foreign record. You link a target form to a hyperlinked label in a 1 to N link object. When a user clicks the hyperlink, the application displays the associated form. The user can search for a record using several constraints, then return to the original form. The record selected in the target form is displayed in the 1 to N link object. If you associate the target form of a 1 to N link with the same form where the object is defined, the 1 to N hyperlink is displayed as text. The IC application user can search for and select a record in a related table without switching to another form, and the record appears in the 1 to N link. To change the Target form, select a form from the Target combo box. The following is a sample 1 to N link object with the target specified in another form: 1 1. Select the hyperlink to view a target form with a group that has the same anchor table alias as the 1 to N link. Link icons You can edit the preferences of an IC application to display a 1 to N link object with a link icon. The link icon is displayed after the user selects a related record. The link icon behaves as an MtoN link. 1. The link icon appears here. 1 You edit the preferences for IC applications in IC Manager. For more information, see IC Administration Guide. How to create a foreign field using a 1 to N link object To create a 1 to N link object: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Objects Related to a foreign field in the Primary Table, then select Next. 3. Select an alias, field, and relation, then select Next. 137 Database Designer Application Reference Guide May 2015

4. Enter a caption (label) and name, then select Finish. 5. In the Properties tab of the object, review the properties for your new object and modify, if required. For more information, see 1toN link objectson page 132. 6. Select File > Save to save your new object. M to N link objects An M to N link object lets a user link one or more records in one table to one or more records in another table using an M to N relation. To have the user link records, create an M to N link in two related groups. For example, group A and group B, then add the M to N link to both groups using the same M to N relation. Before creating an M to N link in a group, you must: Add the associated form, table set, and the browsers to a module Create an M to N relation between the tables see Overview of M to N relations on page 170 For more information about the M to N link object properties, see: Object name on page 138 Object name Associated with field on page 139 Visible on page 139 Label on page 139 MtoN display options on page 139 Relation on page 140 Target on page 140 The object name, which must be case sensitive, references the object. Avaya recommends that you name an M to N link using the convention <anchortable><targettable> where <anchortable> is the name of the anchor table alias for the group, and <Targettable> is the name of the table to which you can link one or more records. To change an object name, modify the name in the Name text box. Database Designer Application Reference Guide May 2015 138

Associated with field Visible Label The associated field, required, supplies the data for the object. An object can only display data from a field in the anchor table alias for the group. To associate the object with a field, select a field from the Associated with Field combo box. You can create an object that is not visible to the user. For example, you can create an invisible object and have the associated field value updated by an IC Script without the user seeing the object. To set the visibility of an object: Select the Visible check box to make the object visible to a user Clear the Visible check box to make the object invisible to a user The label is the text that appears in the application interface next to the M to N link object. To change the label, type the label text in the Label text box. MtoN display options You can select between the following display options for an M to N link object: MtoN. Displays an M to N link as follows: - A link icon, for linked records - An unlink icon for unlinked records MultiOption. Displays the records from the related table in a floating dialog box. With MultiOption, a search returns all records that match the selected records. Avaya recommends that you select MultiOption only if the number of records is relatively few and the records do not change often. To change the appearance of an M to N link, select one of the following from the M to N Display option: M to N MultiOption 139 Database Designer Application Reference Guide May 2015

Relation Target In an M to N link object, a relation is the M to N relation that links two tables to an intermediate table. The M to N relation, associated with the M to N link, enables the user to link several records in each table together. To change the M to N relation associated with the M to N link, select a relation from the Relation combo box. Target forms provide users with greater control when linking to a record in an M to N link object. You link a target form to a button in an M to N link object. When the user clicks the button, the application displays the target form. The user can search for a record using several constraints, then return to the original form. The record selected in the target form backfills in the M to N link object. If you associate the target form of an M to N link object with the same form as the object, the M to N link button is displayed as text. The user can search for and select a record in the related group without switching to another form. To change the Target form, select a form from the Target combo box. How to create a foreign field using an M to N link object To create an M to N link: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Generic objects, then select Next. 3. Enter caption (label) and name, then select Next. 4. Select the M to N Link object type from the list, then select Finish. 5. In the object s Properties tab, review the properties for your new object and modify, if required. For more information, see M to N link objects on page 138. 6. Select File > Save to save your new object. ActiveX control objects An ActiveX control object can run any ActiveX control registered on a workstation or server. For example, to run a Prompter script as part of your IC application, create an ActiveX control object for the Prompter control. Database Designer Application Reference Guide May 2015 140

The ActiveX control must be registered in your Windows Registry machine. You cannot create an ActiveX control object for a nonregistrable DLL file. For more information about ActiveX control object properties, see: Object name Visible Label Object name on page 141 Visible on page 141 Label on page 141 Program ID on page 141 IC Scripts on page 142 The object name references the ActiveX control object. When naming an ActiveX control object, Avaya recommends that you use the convention <Qfunctionality><version number> where <Qfunctionality> is the name of the IC application using the ActiveX control (such as Prompter), and <version number> is the IC application version number. To change an object name, modify the name in the Name text box. The visibility determines whether the object appears in the IC application user interface. For example, you can create an invisible ActiveX control object and have the associated field value updated by an IC Script without the IC application user seeing the object. To set the visibility of an ActiveX control object: Select the Visible check box to make the object visible to a user Clear the Visible check box to make the object invisible to a user The label is the text that appears in the application interface next to the ActiveX control object. To change the label, type the label text in the Label text box. Program ID The Program ID contains the full name of the ActiveX control associated with the ActiveX control object. This field is for your information only and you cannot change the information. To change the ActiveX control associated with an ActiveX control object, delete the object and create a new ActiveX control object. 141 Database Designer Application Reference Guide May 2015

IC Scripts You can attach an IC Script to events associated with an ActiveX control object. To attach an IC Script to an event associated with an ActiveX control object: 1. Select on an event in the Event column. 2. Select in the IC Scripts column of the Event and select an IC Script from the drop-down menu. You might notice a brief pause after you select in the IC Scripts column and before the drop-down menu appears. How to create an ActiveX control object To create an ActiveX control object: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Generic ActiveX Control, then select Next. 3. Select an ActiveX control from the list of registered controls in the Insert Control dialog box, then select OK. 4. Enter a control name in the ActiveX control name text box, then select Finish. 5. In the Properties tab of the object, review the properties for your new object and modify, if required. For more information, see ActiveX control objects on page 140. 6. Select File > Save to save your new object. Standard button objects A standard button runs a predefined method. The method that runs depends on the class of the button. In each group, you create standard buttons to perform standard database transactions against the anchor table alias. You cannot edit the method associated with a class. You can attach an IC Script to run before, after, or instead of the method. Database Designer Application Reference Guide May 2015 142

The following classes are available: Create a button with a class of ChangeUpdate Clear Delete Local New Search To add A button that enables the user to edit a record and write the changes to the database. A ChangeUpdate class button has two states, Change and Update. After the user selects a record, selecting the Change button locks the record in the database. To unlock and write changes to a record in the database, the user must select the Update button. The ChangeUpdate class runs an attached IC Script when the user selects either the Change or Update button. To run an IC Script at each button event, ensure the IC Script checks the state of the button before it runs. The only difference between a ChangeUpdate class button and an Update class button is that the ChangeUpdate class button executes an IC Script for both Change and Update states. However the Update class button executes an IC Script only in the Update state. A button that enables the user to discard any changes to a selected record and reset all the fields in a group. After the user confirms that all changes can be discarded, the selected database record is unlocked and the group is reset. A button that enables the user to delete a record from the anchor table alias of the associated group. Deleting a record from the data model can introduce anomalies that cannot be corrected. If the you have the user delete records, Avaya recommends that you create a right-click menu item instead of a button. For information on right-click menus, see How to create right-click menus on page 111. A button that enables the user to search for records in the associated table. The Local button functions in exactly the same way as the Search button using the cqlocal relation set. A button that enables the user to create a new blank record in the anchor table alias for the group. Data is populated in the table when the user selects the Update button. See also the classes ChangeUpdate and Update. A button that enables the user to search for records in a table using a set of relations. You can also set a fill direction to determine how related records are returned. 143 Database Designer Application Reference Guide May 2015

Create a button with a class of Selected Update To add A button that is active only when the user selects a record. The effect of the button is determined by the attached IC Script. A button that enables the user to edit a record and write the changes to the database. An Update class button has two states, Change and Update. After the user selects a record, selecting the Change button locks the record in the database. To unlock and write changes to a record in the database, the user must select the Update button. The Update class runs an attached IC Script only when the user selects the Update button. The only difference between an Update class button and a ChangeUpdate class button is that the Update class button executes an IC Script only in the Update state. However the ChangeUpdate class button executes an IC Script for both Change and Update states. A class of None is available for running a custom IC Script. For more information, see Custom button objects on page 147. For information about the standard button object properties, see: Button name on page 144 Button name Visible Visible on page 144 Label on page 145 Class on page 145 IC Script for button control on page 145 Relation set on page 146 Fill direction on page 146 The name which must be case sensitive references the button. Avaya recommends that you name a button using the convention <anchortable><class> where <anchortable> is the name of the anchor table alias for the group, and <Class> is the class of the button. To change a button name, modify the name in the Name text box. You can create an object that is not visible to the user. For example, you can create an invisible object and have the associated field value updated by an IC Script without the user seeing the object. Database Designer Application Reference Guide May 2015 144

Label Class To set the visibility of an object: Select the Visible check box to make the object visible to a user Clear the Visible check box to make the object invisible to a user The label is the text that appears on the button. Database Designer aligns the label at the top of the button. You cannot change either the label text or the accelerator key for a ChangeUpdate or an Update button. You can change the label text and the accelerator key for Clear, Delete, Local, New, Search, and Selected buttons. To enable an accelerator key for a button, type an ampersand (&) before a letter in the label. The letter is underlined in the application interface. An accelerator key is useful for buttons that an IC application user selects frequently. To use the accelerator key instead of selecting the button, the user presses the Alt key and the underlined letter. Available classes for standard buttons are: ChangeUpdate Clear Delete Local New Search Selected Update For information about these classes, see Standard button objects on page 142. IC Script for button control To attach an IC Script to a button: 1. Select the down arrow in the IC Script for the Button Control combo box. 2. Select an IC Script from the drop-down list. 145 Database Designer Application Reference Guide May 2015

Relation set A relation set is a group of relations that can be used to constrain the tables that are included in a search. For example, the customer group must only invoke query information from the customer and organization tables. If you define a search that is not constrained by a relation set, the search includes all the relations defined in the module. Relation Set applies only to Search buttons. If the relation set is not in the drop-down list, you must define the relation set in the module. See Overview of relation sets on page 174. You might find the following predefined relation sets useful: cqlocal. Returns all records in the associated table. cqdefault. Searches across all relations in the focus. To select a relation set for a Search button, select a relation set from the Relation Set for the Button combo box. Fill direction For a Search button, the fill direction specifies how related records appear in the object s drop-down list: Backward. Finds related records that are unique to the table being searched. Avaya recommends using this option for constrained searches. Forward. Finds related records that are not unique to the table being searched. In general, this option is not used. Both. Enables forward and backward search functionality. To set the fill direction for a Search button, select a fill direction from the Fill Direction for the Button combo box. How to create a standard button To create a standard button: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Standard Buttons, then select Next. 3. Create a button for each selected class. Use Ctrl+click to select more than one class. 4. Select Finish. Database Designer Application Reference Guide May 2015 146

5. In the object s Properties tab, review the properties for your new object and modify, if required. For more information, see Standard button objects on page 142. 6. Select File > Save to save your new object. Custom button objects A custom button has a class of None. You create a custom button in an IC application to run an attached IC Script. For more information about the custom button object properties, see: Button name on page 147 Button name Label Class Label on page 147 Class on page 147 Attached IC Script on page 148 The name,which must be case sensitive, references the button. Avaya recommends that you name a custom button using the convention <anchortable><label> where <anchortable> is the name of the anchor table alias for the group, and <Label> is the text that appears on the button. To change a button name, modify the name in the Name text box. The label is the text that appears on the button. To enable an accelerator key for a custom button, type an ampersand (&) before a letter in the label. The letter is underlined in the application interface. An accelerator key is useful for buttons that an IC application user selects frequently. To use the accelerator key instead of selecting the button, the user presses the Alt key and the underlined letter. A custom button must have a class of None. No predefined method for the None class is there. You must attach an IC Script to a custom button. 147 Database Designer Application Reference Guide May 2015

Attached IC Script You must attach an IC Script to run when the IC application user presses a custom button. To attach an IC Script to a custom button: 1. Select the down arrow in the IC Script for the Button Control combo box. 2. Select an IC Script from the drop-down list. How to create a custom button To create a custom button: 1. Right-click a group and select New Objects. Database Designer displays the New Object Wizard. 2. In the New Object Wizard, select Custom button, then select Next. 3. Enter caption (label) and name, then select Finish. 4. In the object s Properties tab, review the properties for your new object and modify, if required. For more information, see Custom button objects on page 147. 5. Select File > Save to save your new object. How to change an object You modify the properties of an object in the Properties tab of the object. For more information about the properties of various objects, see: Check box objects on page 116 Combo box objects on page 117 Date time objects on page 120 Label objects on page 122 Long text objects on page 122 Text box objects on page 125 In-form browser objects on page 129 1 to N link objects on page 132 M to N link objects on page 138 ActiveX control objects on page 140 Standard button objects on page 142 Database Designer Application Reference Guide May 2015 148

Custom button objects on page 147 To change the properties of an object: 1. Select the object, under the appropriate form and group, in the tree view. 2. Modify the settings, as required, in the Properties tab of the object. 3. Select File > Save to save your changes. How to delete an object To delete an object: 1. Select an object from a group 2. Select Edit > Delete. 149 Database Designer Application Reference Guide May 2015

Chapter 9: Layout Editor for form design The Layout Editor defines the look and feel of the IC application interface. You can create a user friendly application interface in the Layout Editor from the forms you created in Database Designer. You cannot add an object or a group to a form that is open in the Layout Editor. When you create a group, Database Designer automatically adds that group to the bottom of the form. Within the group, Database Designer adds objects in the order you create them. With Layout Editor, you transform these elements into a user-friendly application interface by: Setting the form s dimensions Positioning and sizing groups within the form Positioning and sizing objects within the groups Setting the tab order Selecting a color theme In the Layout Editor, you can place the elements of a form as you want them to appear to IC application users. In the IC application interface, scroll bars appear if the user resizes the display area smaller than the form. Groups are boxed sections within the form. Objects within groups appear as the object type you selected, such as a text box, check box, or button. Tip: Tip: Avaya recommends that you generate the out-of-the-box Report Wizard application as described in IC Installation and Configuration, and then become familiar with that application GUI before you begin using the Layout Editor. This section contains the following topics: Overview of the Layout Editor on page 151 Overview of modifying groups and controls on page 153 How to set the tab order on page 156 How to set form dimensions on page 158 How to specify the application GUI colors on page 158 How to test the layout on page 158 Database Designer Application Reference Guide May 2015 150

Overview of the Layout Editor The separate elements of an object, the label, boxes, and buttons, are referred to as controls. The following features of the Layout Editor make aligning and moving the controls and groups easier: Grid settings Selecting multiple controls and groups Grouping and ungrouping controls and groups How to change Layout Editor modes The Layout Editor has two modes: Design mode where you can make changes to the layout Run mode where you can select buttons, tab through fields, and otherwise test your layout in a simulated application environment If you change from Design mode to Run mode without saving your layout changes, the Layout Editor prompts you to save your changes. To change from one mode to another, select Layout > Edit View. How to view forms To view a form in the Layout Editor: 1. Select the form in the Database Designer tree view. 2. Select Edit > Form Layout. Database Designer opens the Layout Editor. How to view invisible controls If you have set some of your controls to be invisible to the agent, you can make them visible in the Layout Editor to help with creating your layout. In Layout Editor, invisible controls look exactly the same as visible controls. To show invisible controls, select Layout > Show Invisible Controls. 151 Database Designer Application Reference Guide May 2015

How to use the grid Turning the grid on can help you align groups and objects. With the grid on, you move and position controls to the nearest grid marks. To turn the grid on and off, toggle the Grid icon on the tool bar. Changing the grid settings To change the grid settings: 1. Select Layout > Grid Settings. 2. In the Grid Settings dialog box: Select the Show Grid check box to display the grid Select the Snap to Grid check box to align all controls with the grid Select the Snap to Center check box to align all controls with the center of the grid Enter values in the Spacing group to specify the spacing between grid marks Enter values in the Guidelines group to specify where the blue guidelines appear in the Layout Editor. Tip: To Tip: turn the guidelines off, set this value to 0. 3. Select OK. How to select multiple controls You can simultaneously select and move several controls in the same group. However, you cannot select and move controls in different groups, unless you first group those controls. To select multiple controls, hold down the Shift key while you select the controls, or, without selecting any controls and starting from an unoccupied place in the grid, draw a box around the controls you want to select. How to group or ungroup controls Depending on the field data type, an object can have more than one control. For example, a character type object has a label control and a text box control, and a date type object has a text box control and a Calendar widget button control. By default, the controls that make up a single object are grouped to make sure they stay together and aligned when you position them. Database Designer Application Reference Guide May 2015 152

You can ungroup the controls in an object. You can group several objects together to make sure that they do not lose their alignment to each other when you move them. Objects lose their grouping when you close the Layout Editor. However, the default grouping of controls in the same object remains when you re-open the Layout Editor. To group controls: 1. Select the desired controls using Shift+click or by drawing a box around them. 2. Select Draw > Group > Group. Ungrouping controls When you ungroup controls, all controls in the group are affected including the label, text box, and icon of an object. To revert to the default grouping of these controls, save your layout changes, close the Layout Editor, then re-open the Layout Editor. To ungroup controls: 1. Click the grouped controls. 2. Select Draw > Group > Ungroup. Overview of modifying groups and controls You can modify groups and controls by re-positioning them, re-sizing them, changing the caption, and changing the accelerator keys. You cannot make layout changes if the Layout Editor is in Run mode. To change to design mode, see How to change Layout Editor modes on page 151. You can position a group anywhere in the form, and a control anywhere within the boundaries of its form group. For more information, see: How to move groups and controls on page 154 How to align groups and controls on page 154 How to space controls evenly on page 154 How to center groups and controls in view on page 155 You cannot use the Layout Editor to move a control to another group within a form. To move a control to a different group, use the tree view of Database Designer. 153 Database Designer Application Reference Guide May 2015

How to move groups and controls You can move a group anywhere in the form, and a control anywhere within the boundaries of its form group. When you move a group, all objects in the group move with it. To move a group or control: 1. Select a group, control, or grouped items to display the selection handles. 2. Move the selected item(s) by using one of the following methods: Drag the selected item(s) by the handles Use the arrow keys to move the selected item(s) to the new position Enter a numerical value in the Left, Top, Width, and Height fields on the Layout Bar, selecting Enter after each entry 3. Select Edit > Save to save your changes. How to align groups and controls You can align: Two or more groups Two or more controls within a group Two or more controls in different groups The Layout Editor aligns all selected groups or controls with the first item that you selected. To align groups or controls: 1. Select two or more groups or controls. 2. Select Layout > Align Objects, then select the desired alignment option. 3. Select Edit > Save to save your changes. How to space controls evenly You can make sure that the horizontal or vertical spacing between three or more controls is the same. You cannot use Space Evenly for grouped controls. For example, you need to ungroup a text box from its label before you can use Space Evenly on the text box. Database Designer Application Reference Guide May 2015 154

To space controls evenly: 1. Select three or more controls. The controls must be lined up either horizontally or vertically. 2. Select Layout > Space Evenly. 3. Select: Across to make sure the spaces between horizontal controls are the same Down to make sure the spaces between vertical controls are the same 4. Select Edit > Save to save your changes. How to center groups and controls in view You can position groups or controls in the center of your view of the Layout Editor. However, Center in View does not position groups in the center of a form, nor controls in the center of a group. To center groups or controls within the Layout Editor view: 1. Select the group or control. 2. Select Layout > Center in View. 3. Select Vertical or Horizontal. 4. Select Edit > Save to save your changes. How to size groups and controls You can change the size of groups or controls in the Layout Editor. If you group controls first, the grouped controls are re-sized proportionately. To change the size of a group or control: 1. Select a group, control, or group of controls to display the selection handles. 2. Drag the appropriate selection handle to increase or decrease the size of the selected item(s). Make same size To have consistency in your user interface, you can ensure that two or more controls have the same width, the same height, or are exactly the same size. To make two or more controls the same size: 1. Select the group or control. 155 Database Designer Application Reference Guide May 2015

2. Select Layout > Make Same Size. 3. Select Width, Height, or Both. 4. Select Edit > Save to save your changes. How to change the caption You can change the caption of a group or control in Layout Editor. Changing the caption updates the name in the label text box of the group or object s Properties tab. To change a group or control caption: 1. Double-click the group or control. 2. In the New Caption dialog box, edit the name. 3. Select OK. 4. Select Edit > Save to save your changes. How to change the accelerator keys for buttons You can change the accelerator key for buttons that are frequently clicked by IC application users. To use the accelerator key, the user presses the Alt key and the underlined letter. To change an accelerator key for a button: 1. Double-click the button control. 2. In the dialog box, move the ampersand (&) before the letter that will be the accelerator key, then select OK. 3. Select Edit > Save to save your changes. How to set the tab order When an IC application user presses the Tab key, the cursor moves from object to object within the form. The cursor movement is the tab order. By default, the tab order of the cursor is the order in which you created the objects in Database Designer. You can change the tab order in the Layout Editor to follow the usual workflow of the form. To set the tab order of objects in a form: 1. Select the group in which you want to set the tab order. Database Designer Application Reference Guide May 2015 156

2. Select Layout > Tab Order. White numbered squares showing the tab order are displayed above each object. 3. Select the objects in the order you want them to appear in the tab order. 4. Select Edit > Save to save your changes. If you are going to be localizing this application, Database Designer uses the tab order that you set for the English version for the localized version as well. Therefore, if you need a specific tab order in the localized version, you need to set that tab order in the English version and then create your localized application. How to change only part of the tab order If you add a new object, or move an object to a different position in the layout, you can change only part of the tab order. For example, if you add a new object that needs to be item 10 in the tab order, you use the New Index function to only change the tab order for items 10 and on. To change only part of the tab order: 1. Select Layout > New Index. 2. In the New Index dialog box, enter the number of the item where you want to start changing the tab order. For example, if you want to start re-numbering the tab order with item 10, enter 10 in the New Index dialog box. 3. Select the group in which you want to change the tab order. 4. Select Layout > Tab Order. White numbered squares showing the tab order are displayed above each object. 5. Select the object that you want to become the next item in the tab order. In the above example, select the object that you want to become item 10 in the tab order. The object that was previously item 10 becomes item 11 and so on. 6. Select any other objects whose tab order you want to change. 7. Select Edit > Save to save your changes. How to revert to the saved tab order If you make changes to the tab order, but do not save those changes, you can easily revert to the previously saved tab order. After you save your changes to the tab order, you cannot use this option. Revert to Saved Tab Order only reverts to the most recently saved version. 157 Database Designer Application Reference Guide May 2015

To revert to the saved tab order, select Layout > Revert to Saved Tab Order. How to set form dimensions You can set the dimensions of a form by re-sizing the Layout Editor. The dimensions are displayed in the lower right corner of the status bar. To set the dimensions of a form: 1. Drag the corner of the Layout Editor window to re-size the form to the desired dimensions. 2. Select Edit > Save to save your changes. How to specify the application GUI colors You can either set the colors for each GUI element by hand or you can select one of the following color themes for your IC application interface: Ocean blue Twilight Comfort Grapevine Hunter Neutral For details about setting the application color properties, see IC Administration Guide. How to test the layout After you have designed your interface, you need to test the layout to make sure all the controls work properly, that the tab order is accurate and helpful to the user, and that the version the IC application user sees matches your layout. Database Designer Application Reference Guide May 2015 158

Some variations in size, spacing, and positioning of groups and controls in the generated application interface may result from differences between the measurements used by the Layout Editor and those used by Visual Basic in the IC application. Using Run mode - You can do preliminary tests on the tab order and the functionality of your controls in the Layout Editor s Run mode. To use Run mode for preliminary layout tests, press Ctrl+E to toggle from Design mode to Run mode. Generating a test application - You also need to generate and run a test application to make sure that the interface layout seen by the IC application user matches your layout. For information on generating application data, see How to generate application data on page 221. 159 Database Designer Application Reference Guide May 2015

Chapter 10: Modules and relations Modules define relations and relations sets and are the building blocks for an IC application. This section contains the following topics: Overview of modules on page 160 Overview of relations on page 167 Overview of 1 to N relations on page 167 Overview of M to N relations on page 170 Overview of relation sets on page 174 Overview of modules A module defines relations and relation sets, using: A relation to link tables in the database and create objects that enable application users to link records A relation set to constrain the relations included in a search. You create one or more modules to define a focus in your application. A focus provides a workflow for the user. You specify the application interface and its database structure in one or more modules, using: Table sets that constrain the tables that can be displayed and updated in a form or browser. Browsers that gather and display data from anchor tables. Forms that are associated with a table set. The groups in a form can display records within the tables of the associated table set. Relations that define how the tables in one or more table sets are related, using 1 to N and M to N relations. Relation sets that are a collection of relations that constrain a search. Each module defines a focus in an IC application. You can nest additional modules within a focus to add additional table sets, forms, browsers, relations, and relation sets. For information about setting permissions for modules, see Database Designer Application Reference Guide May 2015 160

In the sample focus below, the Product form displays records from the Product and QuickCall tables. The user can create and update records in both tables, and link records together using an M to N relation defined in the module. To find related records in each table, the relation set linked to the Search buttons includes the M to N relation. The user can link a record in the Product group to a record in the Quick Call group. The M to N link requires an M to N relation between the tables. There is an M to N relation between the Product and QuickCall tables. Module properties You can view the module properties, or add and remove shared components from modules, in the module s Properties tab. For details about module properties, see: Module name on page 162. Label on page 162. Invisible on page 162. Description on page 162. Table sets on page 162. 161 Database Designer Application Reference Guide May 2015

Forms on page 163. Browsers on page 163. Nested modules on page 164. Form order on page 164. Changes to focus module properties are automatically reflected in the properties of the associated focus. Module name Label Invisible The module name (required; case sensitive) references the module. If you rename a module, all linked components are updated to reflect the new name. To change a module name, modify the name in the Name text box. The label is the title of the module and should correspond to the workflow. For a focus-level module, the title is displayed in the title bar of the focus window. To change the label for a module, change the name in the Label text box. You can create module that is not visible to the user of an IC application. To set the visibility of a module: Select the Invisible check box to make the object invisible to an application user. Description Clear the Invisible check box to make the object visible to an application user. The module description (optional) is a place where you can keep information that identifies the module. To change the description for a module, type a description in the Description text box. Table sets Table sets in modules specify the table information needed to: Add a form. By default, a form is associated with a table set. Create a relation. A module defines the relations that link tables together. The relations that you can create are constrained by the table aliases in the table sets. Database Designer Application Reference Guide May 2015 162

Forms To add a table set to a module: 1. Select Add. 2. Select a table set from the pop-up list. To remove a table set from a module: 1. Select a table set from the Table Sets list. 2. Remove all associated components from the table set. 3. Select Remove. You can add forms based on the table sets in the modules, including any shared table sets in a nested module (see Nested modules on page 164 and Form order on page 164). To add a form to a module: 1. Select Add. 2. Select a form from the pop-up list. To remove a form from a module: 1. Select the form from the Forms list. 2. Remove all associated components from the form. 3. Select Remove. Browsers A browser gathers and displays search results. All browsers associated with groups or objects are automatically added to the module. You can add a browser that is not associated with a group or object. For example, a browser used in an IC Script to gather and update records. To add a browser to a module: 1. Select Add. 2. Select a browser from the pop-up list. To remove a browser from a module: 1. Select the browser from the Browsers list. 2. Remove all associated components from the browser. 3. Select Remove. 163 Database Designer Application Reference Guide May 2015

Nested modules All properties of a nested module are shared in the module, including relations and relation sets. To add a nested module: 1. Select Add. 2. Select a module from the pop-up list. To remove a nested module: 1. Select a module from the Modules list. 2. Remove all associated components from the nested module. 3. Select Remove. Form order In a focus-level module (see Focuses in application on page 218), you set the form order to define the tab order, from left to right, in the application interface. The form order of a focus-level module overrides a form order specified in nested modules. You must set the form order for a focus-level module in the module s Properties tab. To change the order of forms in a focus-level module: 1. Select a focus-level module in the Database Designer tree view. 2. In the Properties tab of the module, select Form Order. Database Designer displays all forms and nested modules in the Form Order list. The top to bottom order of the forms determines the left to right order of the forms in the focus. 3. Select a form from the list, then: Select Up to move the form up Select Down to move the form down. 4. When you are finished, select OK. Database Designer Application Reference Guide May 2015 164

How to create a module The pre-defined modules that ship with IC applications are designed to be reused. The naming convention for modules reflects their use. Avaya recommends that you follow the naming convention: If name begins with f_ q_ r_ c_ tr_ ir_ qsc_ They are Focus modules. These are the primary modules that make up an application. IC modules. These deal with addressibility. They should be included in your application. They should not be modified. Relation modules. These provide reusable relation set definitions. Component modules. These contain those items necessary to create a functioning form (form, browsers, relation sets). Table-set relation modules. These provide relations within a table set. Inter-table-set relation modules. These provide relations between table sets. IC Script modules. These contain those items necessary for running an IC Script. Do not use the following module names: qw_system, qw_system#1, or q_escalation because they are already in use for internal system modules. If you want to reuse relations across modules, Avaya recommends that you create a separate module to define relations. After you create a module, add the following components, then create one or more relations and relation sets: Table sets Forms Browsers Nested modules. To create a module: 1. Select New > Component. 2. In the New Component dialog box, select Module then select OK. Database Designer displays the New Module Wizard. 165 Database Designer Application Reference Guide May 2015

Tip: 3. Enter the module name in the text box. Avaya recommends that you use the convention described above when naming a module. 4. Enter a label for the module in the middle text box. The label is the title of the module and should correspond to the workflow contained in the module. 5. Type a description of the module in the bottom text box. 6. Select Finish. 7. In the module s Properties tab, review the properties for your new module and modify, if necessary. For details, see Module properties on page 161. 8. Select File > Save to save your new module. How to change a module You can change the module settings, or add and remove any of the following shared components from modules in the module s Properties tab. How to view properties for a shared component To view the properties for a shared component: 1. Select the component in the module s Properties tab. 2. Select Go to. How to view the properties for a nested module To go to the properties for a module where the current module nests: 1. Select Used in. 2. Select a module. How to change a module To change a module: 1. Select the module in the Database Designer tree view. 2. Modify the desired module properties in the Properties tab, as described in Module properties on page 161. To set permissions for the module, select the lock icon in the Properties tab of the module or select Edit > Permissions. For more information, see How to set permissions on page 31. Database Designer Application Reference Guide May 2015 166

How to delete a module To delete a module: 1. Select the module in the Database Designer tree view. 2. Select Edit > Delete. Overview of relations A relation defines a database relation between tables in a module. For details about the types of relations that Database Designer supports, see: Overview of 1 to N relations on page 167 (one to many) Overview of M to N relations on page 170 (many to many) The tables within a module s table sets constrain the relations that you can define in the module. If you nest other modules within the module, you can create relations between any of the tables in the nested modules. After you create a relation, you can create: Objects that enable the user to link records (see 1 to N link objects on page 132 and M to N link objects on page 138). One or more relation sets to constrain the relations included in a search (see How to create a relation set on page 176). Overview of 1 to N relations A 1 to N (one-to-many) relation links a single record in a table to one or more records in another table. The New Relation Wizard can create the foreign key that defines the 1 to N relation between the From and To tables. 167 Database Designer Application Reference Guide May 2015

An example of a 1 to N relation is shown below. The call table is the one side of the relation (or the From table), and the task table is the N side of the relation (or the To table). The 1 to N relation between the call table and the task table is maintained by the foreign key in the task table named call_fkey. Primary key - PKey call table 1toN relation 10 task table 21 10 Foreign key - call_fkey 1 to N relation properties You can view the properties for a 1 to N relation in the relation s Properties tab. After you define a relation, you cannot change its relation type. 1 to N relation properties are: Relation name on page 168. Relation description on page 169. From table on page 169. To table on page 169. Foreign key on page 169. Relation name The relation name (required; case sensitive) references the 1 to N relation. A relation name must be unique; it cannot be duplicated within an ADL file. When naming a 1 to N relation, Avaya recommends that you use the convention <FromTable><ToTable> where <FromTable> is the table where a single record can be linked to one or more records using the foreign key in <ToTable>. If you rename a relation, Database Designer updates all linked components to reflect the new name. To change the name for a 1 to N relation, change the name in the Name text box. Database Designer Application Reference Guide May 2015 168

Relation description The relation description (optional) is a place where you can keep information that identifies the relation. To change the description for the relation, type a description in the Description text box. From table To table The From table is the table where several records can be linked to a record in the To table. To change the From table, select a table from the From Table combo box. The To table is the table which contains the foreign key needed to link a record to several records in the From table. The To table must contain a foreign key that can be used to define a relation to the From table. To change the To table, select a table from the To Table combo box. Foreign key The foreign key is the key in the To table that maintains the relation to the From table. To change the foreign key in the To table, select a foreign key from the Foreign Key combo box. How to create a 1 to N relation After creating a 1 to N relation, you can create a 1 to N link object which enables an application user to link records between tables (see 1toN link objectson page 132). To create a 1 to N relation: 1. Select the module in the Database Designer tree view. 2. Select New > Relation. Database Designer displays the New Relation Wizard. 3. In the first Wizard dialog box: a. Enter the relation name in the text box. The name must be unique within the ADL file. Tip: Avaya recommends that you use the names of the From and To tables to name a 1 to N relation. For example: calltask. b. Select the 1 to N radio button to set the relation type. c. Select Next. 169 Database Designer Application Reference Guide May 2015

4. In the second Wizard dialog box, select: a. The table that forms the 1 side of the 1 to N relation from the From drop-down list. b. The table that forms the N side of the 1 to N relation from the To drop-down list. c. The foreign key field from the To table that maintains the 1 to N relation. 5. Select Finish. 6. In the relation s Properties tab, review the properties for your new relation and modify, if necessary. For details, see 1 to N relation properties on page 168. 7. Select File > Save to save your new 1 to N relation. How to change a 1 to N relation You change the properties of a 1 to N relation in the relation s Properties tab. After you define a relation, you cannot change its relation type. To change the relation type, you must delete the relation and create a new relation. To change a 1 to N relation: 1. Select the relation in the Database Designer tree view. 2. Modify the desired 1 to N relation properties in the Properties tab of the relation. For more information about specific relation properties, see 1 to N relation properties on page 168. How to delete a 1 to N relation To delete a 1 to N relation: 1. Select the relation from the Database Designer tree view. 2. Select Edit > Delete. Overview of M to N relations An M to N (many-to-many) relation links multiple records between two target tables. The target tables are the From and To tables. An M to N relation links the target tables to an Intermediate table. The intermediate table stores foreign key information between the target tables. Each target table is linked to the intermediate table with a 1 to N relation. Database Designer Application Reference Guide May 2015 170

The foreign keys in the intermediate table maintain the relation between the target tables. PKey PKey theater table 10 30 movie table 10 30 Foreign key theatertheatermovie_fkey 21 theatermovie intermediate table Foreign key movietheatermovie_fkey M to N relation properties You view the properties for an M to N relation in the relation s Properties tab. After you define a relation, you cannot change its relation type. You must delete the relation and create a new relation with the correct relation type. M to N relation properties are: Relation name on page 171. Relation description on page 172. From table on page 172. To table on page 172. Intermediate table on page 172. Relation 1 on page 172. Relation 2 on page 172 Relation name The relation name (required; case sensitive) references the M to N relation. A relation name must be unique. The name cannot be duplicated in an ADL file. When naming an M to N relation, Avaya recommends that you use the convention <fromtable><totable> where <fromtable> is the name of the From table and <totable> is the name of the To table, for example, productcall. If you rename a relation, Database Designer updates all linked components to reflect the new name. To change the name of an M to N relation, change the name in the Name text box. 171 Database Designer Application Reference Guide May 2015

Relation description The relation description (optional) is a place where you can keep information identifies the relation. To change the description for the relation, type a description in the Description text box. From table To table You can link several records in the From table to records in the To table. In an M to N relation, the order that you specify for the From and To tables is not important. To change the From table, select a table from the From Table combo box. You can link several records in the To table to records in the From table. In an M to N relation, the order that you specify for the To and From tables is not important. The To table in an M to N relation does not use a foreign key. An M to N relation consists of two 1 to N relations that link the From and To tables to an Intermediate table. To change the To table, select a table from the To Table combo box. Intermediate table The Intermediate table maintains the foreign key information between the From and the To tables. The New Relation Wizard can automatically create the Intermediate table. If you change the Intermediate table in an M to N relation, you must update the 1 to N relations that link the From and To tables to the foreign keys in the new Intermediate table. To change the Intermediate table in an M to N relation, select a table from the Intermediate Table combo box. Relation 1 Relation 1 is the 1 to N relation between the From table and the Intermediate table. This relation must use a foreign key in the Intermediate table. To change the relation between the From table and Intermediate table, select a relation from the Relation 1 combo box. Relation 2 Relation 2 is the 1 to N relation between the To table and the Intermediate table. This relation must use a foreign key in the Intermediate table. Database Designer Application Reference Guide May 2015 172

To change the relation between the To table and Intermediate table, select a relation from the Relation 2 combo box. How to create an M to N relation After you create an M to N relation, you can create an M to N link object which enables an application user to link records between the From and To tables (see M to N link objects on page 138). To a create an M to N relation: 1. Select the module in the Database Designer tree view. 2. Select New > Relation. Database Designer displays the New Relation Wizard. 3. In the first Wizard dialog box: a. Enter the relation name in the text box. This name must be unique within the ADL file. Tip: Avaya recommends that you use the names of the From and To tables to name an M to N relation. For example, theatermovie. b. Select the M to N radio button to set the relation type. c. Select Next. 4. In the second Wizard dialog box: a. Select the table that forms the From side of the M to N relation from the From drop-down list. b. Select the table that forms the To side of the M to N relation from the To drop-down list. c. Select Next. d. If the intermediate table does not already exist, Database Designer asks if you want it to create the intermediate table for you. Select Yes to continue. e. In the New Table or Field Name dialog box, change the proposed name of the intermediate table if desired, then select OK to continue. f. Select OK to acknowledge that Database Designer has created the necessary components. 5. In the relation s Properties tab, review the properties for your new relation and modify, if necessary. For details, see M to N relation properties on page 171. 6. Select File > Save to save your new M to N relation. 173 Database Designer Application Reference Guide May 2015

How to change an M to N relation You change the properties for an M to N relation in the relation s Properties tab. After you define a relation, you cannot change its relation type. If you need to change the relation type, you must delete the relation and create a new relation with the correct relation type. To change an M to N relation: 1. Select the relation in the Database Designer tree view. 2. Modify the desired M to N relation properties in the Properties tab. For more information, see M to N relation properties on page 171. How to delete an M to N relation To delete an M to N relation: 1. Select the relation from the Database Designer tree view. 2. Select Edit > Delete. Database Designer automatically deletes the M to N relation and the two 1 to N relations that were used to create it. 3. If desired, delete the intermediate table that was being used for the relation. For details, see How to delete a table on page 66. Overview of relation sets A relation set is a collection of one or more 1 to N relations that constrain the tables included in a search. For example, the customer group should only invoke query information from the customer and organization tables. By using relation sets, you ensure that searches return consistent results and prevent a circular relation (which can include all relations defined in a module and return inconsistent search results). After you create a relation set, you can add and remove any relations defined within the module where the relation set belongs (including relations that belong to nested modules) To include an M to N relation in a relation set, add the 1 to N relations between the From and To tables and the Intermediate table. If you do not use a relation set to constrain a search, the search uses all of the relations in the focus-level module. Database Designer Application Reference Guide May 2015 174

A relation set name must be unique. The name cannot be duplicated in an ADL file. Fill direction A fill direction determines which tables in the relation set will fill or backfill when you select a record in a group. You can select one of three fill direction options: Backward. Finds related records that are unique to the table being searched. For example, searching and selecting a Call record displays a unique Customer record. Avaya recommends using this option for constrained searches. Forward. Finds related records that are not unique to the table being searched. For example, searching and selecting a Customer record displays several related records from the Call table. In general, this option is not used. Both. Enables forward and backward search functionality. In the diagram below, a backward fill direction finds related records in tables that are linked against the direction of the linking arrow, and a forward fill direction finds related records in tables that are linked with the direction of the linking arrow. call Setting the fill direction to Backward backfills Customer information for a Call. customer org contract Relation set properties You can view the settings for a relation set in the Properties tab of the relation set. Relation set properties are: Relation set name on page 176. Relation set description on page 176. Relations on page 176. 175 Database Designer Application Reference Guide May 2015

Relation set name The relation set name (required; case sensitive) references the relation set. A relation set name must be unique. The name cannot be duplicated in an ADL file. When naming a relation set, Avaya recommends that you begin the name with r_. If you rename a relation set, Database Designer updates all linked components to reflect the new name. To change the name of a relation set, change the name in the Name text box. Relation set description The relation set description (optional) is a place where you can keep information that identifies the relation set. To change the description for the relation set, type a description in the Description text box. Relations You can add and remove any relations defined within the module where the relation set belongs (including relations that belong to nested modules). To add a relation to a relation set: 1. Select Add. 2. Select a relation from the pop-up list. To remove a relation from a relation set: 1. Select a relation from the Relation Names list box. 2. Select Remove. How to create a relation set To create a relation set: 1. Select the module in the Database Designer tree view. 2. Select New > Relation Set. Database Designer displays the New Relation Set Wizard. 3. Enter the relation set name in the text box. This name must be unique within the ADL file. Tip: When naming a relation set, Avaya recommends that you begin the name with r_. 4. Select a relation from the Relations Available list box, then select Add to add them to the Relations in the Set list box. Repeat this step until you have added all relations to the relation set. Database Designer Application Reference Guide May 2015 176

5. Select Finish. 6. In the relation set s Properties tab, review the properties for your new relation and modify, if necessary. For details, see Relation set properties on page 175. 7. Select File > Save to save your new relation set. How to change a relation set To change a relation set: 1. Select the relation set in the Database Designer tree view. 2. Modify the desired relation set properties in the Properties tab of the relation set. For more information about specific relation set properties, see How to change a relation set on page 177. How to delete a relation set To delete a relation set: 1. Select the relation set in the Database Designer tree view. 2. Select Edit > Delete. 177 Database Designer Application Reference Guide May 2015

Chapter 11: IC Scripts The IC Script language is a VBA (Visual Basic for Applications) compatible scripting language. You can use the IC Script functions and methods to create custom IC Scripts that you can attach to application and database events in IC applications, Avaya Agent, and the Avaya Agent Web Client. You can attach IC Scripts to application events to override or add to the default action, or to implement business rules. For more information about the IC Script language, see the IC Scripts Language Reference. For information about how to customize Avaya Agent, see Avaya Agent Integration. For information on how to customize the Avaya Agent Web Client, see Avaya Agent Web Client Customization. You modify IC Scripts using the IC Script Editor in Database Designer. The IC Script Editor can locate IC Scripts within large files, verify script syntax, and maintain proper header information. IC applications use IC Scripts to: Constrain button or right-menu searches in non-standard ways Script a search to return all calls assigned to the user s database login ID Fill in defaults automatically when creating a new record (depending on the application context) Notify interested parties when a record is updated (depending on the state of the record). This section contains the following topics: How to organize IC Scripts on page 179 How to use IC Scripts in IC applications on page 179 Overview of the IC Script Editor on page 180 How to manage IC Scripts on page 182 How to edit an IC Script on page 184 How to create an IC Script on page 185 Overview of IC Script string table messages on page 186 How to check the syntax of IC Scripts on page 190 Uploading IC Scripts on page 191 Database Designer Application Reference Guide May 2015 178

How to organize IC Scripts IC Scripts are stored in ASCII files that end with the QSC extension. Each file may contain one or more IC Scripts. You can modify any of the standard IC Scripts. However, to create new IC Scripts or make major changes to existing ones, you should create a separate file. Many customers create a custom.qsc file or use a naming convention relevant to their defined business-based behavior. If a new IC Script relates to the workflow of an IC Script contained in an existing QSC file, you can add the new IC Script to that file. CAUTION:! CAUTION: Standard IC Script files may be overwritten when you upgrade to a new version, deleting your modified IC Script. Therefore, if you add new IC Scripts to a standard QSC file, save the file separately before upgrading your IC applications, then make the modifications to the new IC Script file. For details about migration, see IC/OA Software Upgrade and Data Migration. How to use IC Scripts in IC applications You can attach IC Scripts to an IC application in a variety of ways, including application interface objects, browsers, search buttons, and database events. A typical implementation works as follows: 1. The IC application user selects a Search button in the interface. An IC Script associated with the Search button runs against the field values in the group. The field values are stored as search constraints. 2. An IC Script associated with the browser runs against the stored search constraints. 3. The resulting SQL is run against the table. 4. The browser area is filled with the results of the search. The user selects a record from the browser. 5. When the user selects the record from the browser, a Backfill event occurs which runs the IC Script associated with the group. For example, the IC Script could compute the value of a field based on data in two or more columns, such as call age. 6. The user selects the Update button. An IC Script associated with the button runs against the field values in the group. 7. The field values are collected and run against an IC Script associated with the table alias (for example, a beforeupdate event). 179 Database Designer Application Reference Guide May 2015

8. The specified field values correspond with the IC Script. The SQL is computed and run against the table. The record is updated. 9. After the update, an IC Script runs against the table alias (for example, afterupdate event). Overview of the IC Script Editor You create, view, and modify IC Scripts in the IC Script Editor in Database Designer. You can also use the IC Script Editor to check the syntax of an IC Script. The IC Script Editor lets you place the cursor anywhere within your IC Script, including in "empty spaces." (Empty spaces are areas within the IC Script that do not contain text, such as a tab s expanded space or the area beyond the last character on a line.)! CAUTION: CAUTION: When copying and pasting text into the IC Script Editor, you cannot paste more than 256 characters. If you exceed this maximum line length, the IC Script Editor truncates the text. To open the IC Script Editor, select Edit > IC Scripts. The IC Script Editor window includes the following: IC Script pane. Top pane that displays the names, file locations, and other information about IC Scripts. The IC Script Editor points to an IC Script in a file. Edit pane. Bottom pane that contains the code for the IC Script selected in the IC Script pane. Split bar. A divider at the bottom of the Edit pane. Drag the split bar to view and edit a second IC Script. How to search in an IC Script You can use the IC Script Editor s Find/Replace dialog box to search for and replace text strings in a selected IC Script. To find a text string in a script: 1. In the IC Script Editor, select a script from the list. 2. Open the Find/Replace dialog box by selecting Edit > Find/Replace. 3. In the Find/Replace dialog box, enter the text string that you want to find in the Find String field: To find text with specific capitalization, type the text as it should be capitalized and select the Match Case option Database Designer Application Reference Guide May 2015 180

To find a whole string, type the string and select the Match Whole Word option. 4. Select the direction that you want to search in the IC Script. If you do not click inside the IC Script, the search starts at the top of the IC Script. Select Up to search above the current insertion point Select Down to search below the current insertion point. 5. Select Find Next. The next occurrence of the string is highlighted in the IC Script. 6. To replace the selected text with another text string, type the replacement text in the Replace With field and select Replace. How to insert text When you enter certain types of text in IC Script Editor, the text automatically appears in a distinctive color. The colors are: Keywords appear in blue Identifier text appears in black Comments (in lines beginning with an apostrophe) appear in green. For more information, see How to break an IC Script statement across multiple lines on page 185. Text selection In IC Script Editor, you can select either a portion of one line or whole lines. You cannot select a portion of one line plus one or more lines. When you select multiple lines and part of a line, IC Script Editor automatically extends the selection to include the entire line. When you select an entire line, extend your selection far enough to include the hidden end-of-line character that inserts a new line in your IC Script. Keyboard shortcuts You can use keyboard shortcuts to move the cursor within your IC Script. When you use a keyboard shortcut to move the cursor, the IC Script Editor scrolls the new cursor location into view if it is not already displayed. 181 Database Designer Application Reference Guide May 2015

In addition to the standard keyboard shortcuts, the IC Script Editor provides the following shortcuts: Key(s) PgUp PgDn Ctrl+PgUp Ctrl+PgDn Ctrl+Home Ctrl+End Ctrl+G Function Moves the insertion point up by one window Moves the insertion point down by one window Scrolls the insertion point left by one window Scrolls the insertion point right by one window Places the insertion point before the first character in the IC Script Places the insertion point after the last character in the IC Script Opens the Goto Line dialog box (cursor must be in Edit pane) Editing shortcuts In addition to the standard keyboard shortcuts, the IC Script Editor provides the following shortcuts to help you perform editing operations: Key(s) Ctrl+Y Shift+any navigating shortcut Function Deletes the entire line containing the insertion point without placing it on the Clipboard Selects the text between the initial location of the insertion point and the point to which the keyboard shortcut would normally move the insertion point. (For example, Shift+Ctrl+Left arrow selects the word to the left of the insertion point while Shift+Ctrl+Home selects all the text from the location of the insertion point to the start of your IC Script.) How to manage IC Scripts IC Scripts are stored locally. Avaya recommends that you edit IC Scripts on your local system, and save any changes to your local system. To test your changes in the application, load the QSC files on your local system to the database. A QSC file can contain one or more IC Scripts. Avaya recommends that you create a QSC file for each functional area in your application. For example, you could create: calls.qsc for all IC Scripts associated with calls defects.qsc for all IC Scripts associated with defects Database Designer Application Reference Guide May 2015 182

person.qsc for all IC Scripts associated with records for employees or customers. IC Scripts have a size limitation of 65535 bytes. If your IC Script exceeds this size, break it into two or more smaller IC Scripts. IC Script components Most IC Scripts contain the following components: Header. The header contains IC Script tracking information required by the IC Script Editor and the application. The header is not normally visible in the IC Script Editor, but can be seen in the ASCII IC Script file. Avaya recommends that you do not edit IC Scripts outside the IC Script Editor. Comments. Script lines containing information about the IC Script that begin with a single quote and are ignored by the application. Declarations. Declarations are made using standard VBA. Most declarations begin with the Dim statement. Business-based Logic. Business-based logic is the set of instructions made up of standard VBA and IC-specific extensions. These instructions may be a self-contained program or may include subroutines, subfunctions, or calls to external scripts or programs. Error Handling. Error handling tells the program what to do in the event of an error. How to automatically load IC Script files The IC Script Editor automatically loads any QSC files that are: Tip: Stored in the directories that are referenced in the ADL file that you are editing In the same directory as the ADL file you are editing. Tip: Avaya recommends that you save any application-specific QSC files to the same directory as your application ADL file. If you create a QSC file that is not specific to an application, store the file in a separate directory. To confirm whether a QSC file loaded automatically in the IC Script Editor, verify the path and name of the QSC file in the IC Script pane. If the path and name do not appear, the QSC file was not automatically loaded. 183 Database Designer Application Reference Guide May 2015

How to save IC Scripts In the IC Script Editor, you can save changes to all of the loaded QSC files to your local system. To save the loaded QSC files to your local system, select File > Save. If you are modifying an IC Script for an IC application, you must update the application information to load the IC Scripts into the database (see How to update application information in the database on page 220). For information about uploading individual IC Scripts to the database, see Uploading IC Scripts on page 191. How to edit an IC Script You can use the IC Script Editor to edit one or more IC Scripts. To edit an IC Script: 1. Select Edit > IC Scripts to open the IC Script Editor. 2. If desired, filter the IC Scripts that are displayed: To display All IC Scripts IC Scripts attached to a form IC Scripts attached to a table Select All the Form option, then select the form that you want from the Form drop-down the Table option, then select a table alias from the Table drop-down 3. Select an IC Script from the IC Script pane. The IC Script Editor displays the file name, main entry for the IC Script, and location of the QSC file. 4. In the Edit pane, perform your edits. 5. When you finish, save your changes locally by selecting File > Save. IC Scripts have a size limitation of 65535 bytes. If your IC Script exceeds this size, you need to break it into two or more smaller IC Scripts. If you are modifying an IC application, you must update the application information to load the IC Scripts into the database (see How to update application information in the database on page 220). Database Designer Application Reference Guide May 2015 184

How to add comments to IC Scripts You can add comments to an IC Script to remind yourself or others of how your code works and what the IC Script does. Comments are ignored when your IC Script is executed. In an IC Script, an apostrophe ( ) indicates that the text from the apostrophe to the end of the line is a comment. You can add a comment at the end of a line of code. When the IC Script is run, the code in the first portion of the line is executed, but the comment text after the apostrophe is ignored. If you place executable code at the end of a line containing a comment, that code will not be executed. How to break an IC Script statement across multiple lines In IC Script Editor, a single IC Script statement can extend only as far as the right margin. Each line break represents a new statement. However, you can override this default and break a long statement across multiple lines. To break an IC Script statement across multiple lines: 1. Type the IC Script statement on multiple lines, exactly the way you want it to appear. 2. Place the insertion point at the end of the first line in the series. 3. Press the Spacebar once to insert a single space. 4. Type an underscore ( _ ). (The underscore is the line-continuation character. It indicates that the IC Script statement continues on the following line.) 5. Repeat steps 2 through 4 to place a line-continuation character at the end of each line in the series except the last. When you run your IC Script, the code on this series of lines will be executed as a single IC Script statement, just as if you had typed the entire statement on the same line. How to create an IC Script You can create a new IC Script in an existing QSC file or in a new QSC file. If a QSC file is not associated with an ADL file or ADF file component, the QSC file will not be available through the IC Script Editor. 185 Database Designer Application Reference Guide May 2015

For more information about creating IC Scripts and the IC Script language, see the IC Scripts Language Reference. To create an IC Script: 1. In the IC Script Editor, select New. 2. In the New Script dialog box: a. Enter the name of the IC Script in the Name field. b. Enter the path and file name of the QSC file where you are storing the IC Script in the File Name field. To select an existing QSC file, select Browse and select a QSC file. c. Specify the name of the IC Script s subroutine (the main point-of-entry) in the Entry field. d. In the Type field: Select Application Builtin User For IC Scripts that Are attached to the application components and are loaded the first time the application calls the IC Script. The IC Scripts that ship with the standard IC applications are of this type. Are loaded on application startup and are called from within the application. These IC Scripts are not loaded by the servers. Are loaded on application startup and are attached to the application components. These IC Scripts are loaded by the servers. IC Scripts that load on application startup can be global functions and can be called by other procedures. 3. In the Edit pane, edit the IC Script. 4. Save your changes locally by selecting File > Save. Overview of IC Script string table messages String tables are used to store error and confirmation messages used by some out-of-the-box IC Scripts in order to simplify the process of translating IC Script messages for IC international releases. Database Designer stores IC Script string table messages, including error and confirmation messages, in one or more XML files with an ALM extension. Database Designer generates the ALM files when you save your ADL file. Database Designer Application Reference Guide May 2015 186

The out-of-the-box IC Scripts that use IC Script messages from the string table include IC Scripts for Avaya Agent and Avaya Agent Web Client, and some IC Scripts that are common to all IC applications. In these out-of-the-box IC Scripts, the error handling code in the IC Script: Includes the arguments required by the string Points to a string code that represents the message text stored in the string table By default, the string table for each application is installed in the design folder for that application and called appname.alm. When you select the Messages option and generate your application, Database Designer: Uploads the ALM files to the application database Creates the qw_message table in the application database Stores the string table messages in the qw_message table. For more information, see How to generate application data on page 221. Guidelines for using string table messages Use the following guidelines to determine whether you should use a string table message in your IC Script: Do not use the string table to store messages for custom IC Scripts. Retrieving the message text from the string table requires a database call and, therefore, can impact application performance. Do not change the message text for out-of-the-box IC Scripts. Most string table messages are used in more than one IC Script. If you need a different message than the default, change the reference to a new error message. If you must create a new string table message, always include a reference to the IC Script name as an argument, and use the following naming convention for the string code: custom_description where description identifies the purpose of the message. For more information, see How to create string table messages on page 189. Example: Error message in ActionUpdate IC Script The following example shows how the ActionUpdate IC Script uses the string table to create an error message. String table messages require the following two components to function: String code and text in the string table s Properties tab in Database Designer 187 Database Designer Application Reference Guide May 2015

Message reference in the IC Script With these components working together, if the ActionUpdate IC Script encounters an error while updating an action record, the message displayed to the user would be similar to the following: ActionUpdate error 52 Record not found. String code and text The ActionUpdate IC Script uses the CCQ_ErrorHandler string code, which is a standard error message for IC Scripts. If you do not know the name of the string code used by an IC Script, you need to check the code of the IC Script. The message text of the CCQ_ErrorHandler string code is displayed in the string table s Properties tab as follows: where %1 is the IC Script name, %2 is the error number, and %3 is the error description. You state the values of these arguments in the message reference in the IC Script. Message reference in the IC Script If you look at the ActionUpdate IC Script in the IC Script Editor, you can see that the error message reference is divided between: %1 error %2: %3 An On Error statement at the beginning of main section of the IC Script to determine what happens if an error occurs. A message reference at the end of the IC Script functions that uses the convention: iapp.usermsg iapp.getmessagetext("string_code", "IC_Script_name", argument) where string_code is the name of the message string in the string table, IC_Script_name is the name of the IC Script, and argument is one or more values for the arguments required by the message string. The On Error statement in the ActionUpdate IC Script reads as follows: On Error GoTo ERROR_HANDLER WriteLogMessage 3, "IC Script: ActionUpdate" This statement determines that: If an error occurs while updating an action record, then the IC Script goes to the Error_Handler statement in the IC Script. If an error does not occur, and you have set logging to level 3, the message "IC Script: ActionUpdate" is written in the log. Database Designer Application Reference Guide May 2015 188

The Error_Handler statement in the ActionUpdate IC Script reads as follows: ERROR_HANDLER: iapp.usermsg iapp.getmessagetext("ccq_errorhandler", "ActionUpdate", Err.Number, Err.Description), ebcritical WriteLogMessage 0, "IC Script: error " & CStr(Err) & ": " & Error$ ActionUpdate = False In the Error_Handler statement, iapp.getmessagetext: Retrieves the message string from CCQ_ErrorHandler Inserts values for the arguments required by CCQ_ErrorHandler. How to create string table messages Tip: Tip: Before creating a new string table message, see Guidelines for using string table messages on page 187. To work with string tables in Database Designer: 1. Open your application ADL file. 2. Expand the Components placeholder and select String Table. Database Designer displays the default application string table. 3. In the Properties tab, you can: Add an entry to the current string table by selecting Insert and entering the Message Code and Text in the String Table Item dialog box. Tip: Tip: Avaya recommends that you name your messages using the convention custom_description, where description identifies the purpose of the message. Delete an entry by selecting it and then selecting Delete. Search for an item by selecting Find and entering the text you want to find in the Find Message dialog box. Add another one of the out-of-the-box string tables to your ADL by selecting the Open File button and navigating to the directory in which the string table is stored. Select the appropriate ALM file and select Open. After creating the new string table entry: 1. Add a reference to the message string in the applicable IC Scripts, including values for the arguments required by the string. 189 Database Designer Application Reference Guide May 2015

2. Upload the messages to the database (see How to generate application data on page 221). How to delete string table messages! CAUTION: CAUTION: Do not delete out-of-the-box string table messages. These messages are used by more than one IC Script. If you delete a string table message used by an application, a message will not be displayed to the user. To delete a custom string table message. 1. Select the String Table placeholder in the tree view. 2. In the Properties tab of the string table, select the custom message to be deleted. 3. Select Delete. How to check the syntax of IC Scripts When you try to run or debug an IC Script whose syntax hasn't been checked, the IC Script Editor performs a syntax check automatically. If an IC Script includes user-defined types as arguments, such as AddressInfo and ItemInfo which are used in some out-of-the-box IC Scripts, the Check Syntax option may not recognize those arguments. You may, therefore, get a syntax error, such as "Invalid Entry Point". However, the IC Script Editor will compile the IC Script and upload it to the database with other IC Scripts. To perform a syntax check without running the IC Script: 1. Select Tools > Check Syntax. IC Script Editor either indicates that no errors have been found or displays an error message that specifies the first line in your IC Script where an error has been found and briefly describes the nature of that error. 2. Select OK. If IC Script Editor has found a syntax error, the line containing the error is highlighted on your display. 3. Correct the syntax error. 4. Repeat steps 1 through 3 until you have found and corrected all syntax errors. Database Designer Application Reference Guide May 2015 190

Uploading IC Scripts You can upload an individual IC Script to the IC application database from the IC Script Editor. For information about uploading all IC Scripts to the database, see How to generate application data on page 221. If an IC Script includes user-defined types as arguments, such as AddressInfo and ItemInfo which are used in some out-of-the-box IC Scripts, the IC Script Editor will not upload it as an individual IC Script. You need to upload it with all other IC Scripts to the database. To upload an individual IC Script: 1. In the IC Script Editor, select an IC Script from the IC Script pane. The IC Script Editor displays the file name, main entry for the IC Script, and location of the QSC file. 2. Make all necessary changes to the IC Script. 3. Select Tools > Upload IC Script. 4. In the Database Login dialog box: a. Select a DB Connection Set from the DB Connection Set list. b. Enter the database user name and password for the owner of the database. c. Select the Prompt for Details Every Time check box if you want to make sure that IC Scripts cannot be uploaded without a valid user name and password. d. Select OK. If you clear the Prompt for Details Every Time check box and need to force the user to enter a valid username and password before uploading an IC Script, select Tools > Upload IC Script. 191 Database Designer Application Reference Guide May 2015

Chapter 12: Script Debugger You use the Script Debugger to find IC Script errors in an IC application. The Script Debugger: Traces the execution of your IC Script Sets and removes breakpoints Adds watch variables and modifies the value Any changes you make to an IC Script are lost when you run another IC Script in the Script Debugger or close the Script Debugger. This section contains the following topics: Overview of the Script Debugger on page 192 Overview of the Script Debugger on page 194 Overview of breakpoints on page 196 How to use watch variables on page 198 Overview of the Script Debugger The Script Debugger is part of your IC application. You use the Script Debugger to test and to fix bugs in your IC Scripts. You cannot save changes you make to an IC Script in the Script Debugger, nor can you print out the IC Script from the Script Debugger. To update an IC Script after fixing the bugs in your IC Script, copy the revised IC Script in Script Debugger and paste it into the IC Script Editor see Chapter 11: IC Scripts on page 178. Then load the IC Scripts into the database and retest them in the Script Debugger. The Script Debugger is not part of Database Designer, but is used in conjunction with Database Designer. To open the Script Debugger: 1. Open a compiled IC application. 2. Select Tools > Debug IC Scripts. If this option does not appear, you must change the ScriptDebugger agent property in the QUI/Permissions property section. For more information, see IC Administration Guide. 3. While you use the application, IC Scripts appear in the Script Debugger. Database Designer Application Reference Guide May 2015 192

4. Modify an IC Script in the Script Debugger, then run the IC Script to test your changes. Avaya recommends that turn off the Debug IC Scripts setting in production environments. Keyboard shortcuts In addition to the standard keyboard shortcuts, the Script Debugger provides the following shortcuts: Press Shift+F9 Del Enter or F2 F5 F6 F8 Shift+F8 Ctrl+Break F9 To Display the Add Watch dialog box, in which you can specify the name of an IC Script variable. The value of that variable, if any, is displayed in the watch pane of the application window. Remove the selected watch variable from the watch pane. Display the Modify Variable dialog box for the selected watch variable, which enables you to modify the value of that variable. Run your script. If the watch pane is open, switch the insertion point between the Watch pane and the Edit pane. Activate the Single Step command, which executes the next line of an IC Script, then suspends execution of the script. If the script calls another IC Script procedure, execution continues into each line of the called procedure. Activate the Procedure Step command, which executes the next line of an IC Script, then suspends execution of the script. If the script calls another IC Script, Procedure Step runs the called procedure in entirety. Suspend execution of an executing script and place the instruction pointer on the next line to be executed. Set or remove a breakpoint on the line containing the insertion point. 193 Database Designer Application Reference Guide May 2015

Overview of the Script Debugger The Script Debugger executes the code in your IC Script line-by-line. To prevent any modifications to your script while the script is running, the edit pane in the Script Debugger is read-only. You can move your cursor, select text and copy it to the Clipboard, set breakpoints, and add and remove watch variables. But you cannot make any changes to the script until you stop running it. The Script Debugger displays an instruction pointer on the line of code that is about to be executed. You can use the instruction pointer to follow and control the debugging process. When the instruction pointer is on a line of code, the text on that line is black on a gray background that spans the width of the entire line. CAUTION:! CAUTION: Any changes you make to an IC Script are lost when you run another IC Script or close the Script Debugger. How to run IC Scripts After you have edited an IC Script, run it in the Script Debugger to ensure the script performs the way you intended. To run an IC Script, select Start on the tool bar. The script, if required, the focus is switched to the parent window, and the IC Script is executed. During script execution, only limited functionality is available in the application window of the Script Debugger. Some menu commands and tool bar buttons might be disabled. You can pause or stop an executing script. How to run several IC Scripts An IC application can run more than one script during an action. For example, updating a record calls three separate scripts individually. You can run several IC Scripts in the Script Debugger sequentially to confirm that the entire sequence works. To run more than one script in the Script Debugger: 1. Step through the first script in the Script Debugger. 2. At the end of the script, select File > Next Script. The next script appears in the Script Debugger. Repeat this step to run another script. Database Designer Application Reference Guide May 2015 194

How to pause an IC Script To pause an executing script, use Ctrl+Break. Execution of the script is suspended, and the instruction pointer designates the line of code that is executed if you resume running the script. How to stop an IC Script To stop an executing script, select End on the tool bar or: 1. Select Ctrl+Break to pause the script. 2. Select End. How to trace IC Script execution You can trace script execution in the Script Debugger in two ways: Single step. Steps through script code line by line and traces into calls to user-defined functions and subroutines. Procedure step. Steps through script code line by line and executes calls to user-defined functions and subroutines, but does not trace into those calls. If the Script Debugger must compile your script before executing, there might be a slight pause before execution begins. If your script contains any compile errors, you must correct the compile errors, then initiate execution again. To step through an IC Script: 1. Select Single Step or Procedure Step on the tool bar. The instruction pointer is placed on the Sub Main line of the script. 2. To continue tracing the execution of your script line by line, repeat step 1. Each time you repeat step 1, the Script Debugger executes the line containing the instruction pointer and moves the instruction pointer to the next line to be executed. 3. When you finish tracing the execution of your script, either select Start on the toolbar to run the balance of the script at full speed, or select End to halt execution of the script. 195 Database Designer Application Reference Guide May 2015

How to determine procedure calls by an IC Script Use the Calls dialog box to determine the procedure calls made by an IC Script to arrive at a subroutine. To determine procedure calls through the Calls dialog box: 1. Select Calls on the toolbar. Database Designer displays the Calls dialog box. 2. In the Calls dialog box, select the name of the procedure. 3. Select Show. The Script Debugger highlights the currently executing line in the procedure that you select, scrolling that line into view if required. During this process, the instruction pointer remains in the original location in the subroutine. Overview of breakpoints If you only need to debug one or more portions of a long script, you can set one or more breakpoints at selected lines in your script. The Script Debugger suspends execution of your script before it reaches a line containing a breakpoint, where you can begin, or resume stepping through the script from that point. You can set breakpoints to: Start Debugging Partway through an IC Script Continue debugging outside the current subroutine Debug selected portions of an IC Script You set valid breakpoints on script lines that contain code, including lines in functions and subroutines. If you set breakpoints on lines that do not contain code, these invalid breakpoints are automatically removed when you compile and run the script. When you debug a script, the Script Debugger beeps if you try to set a breakpoint on a line that does not contain code. To remove a breakpoint, see How to remove breakpoints on page 198. Start Debugging Partway through an IC Script To start debugging partway through an IC Script: 1. Put the insertion point in the line where you must start debugging. Database Designer Application Reference Guide May 2015 196

2. Select Toggle Breakpoint on the toolbar to set a breakpoint on that line. The line with the breakpoint now displays in contrasting type. 3. Select Start on the toolbar. The Script Debugger runs your script at full speed from the beginning, then pauses before executing the line with the breakpoint. The instruction pointer designates that line to be executed next when you either proceed with debugging or resume running the script. Continue debugging outside the current subroutine To continue debugging at a line outside the current subroutine: 1. Place the insertion point in the line where you must continue debugging. 2. Select Toggle Breakpoint on the toolbar to set a breakpoint on that line. 3. Select Start on the toolbar. The Script Debugger runs your script at full speed from the beginning, then pauses with the instruction pointer on that line. You can resume stepping through your script from that point. Debug selected portions of an IC Script To debug selected portions of an IC Script: 1. Place a breakpoint at the start of each part of the script that you must debug. Tip: Tip: Each IC Script can contain up to 255 breakpoints. 2. Select Start on the toolbar. The script executes at full speed until it reaches the line containing the first breakpoint, then pauses with the instruction pointer on that line. 3. Step through as much of the code as necessary. 4. Select Start on the toolbar to resume running the script. The script executes at full speed until it reaches the line containing the next breakpoint, then pauses with the instruction pointer on that line. 5. Repeat steps 3 and 4 until you have finished debugging the selected portions of the script. 197 Database Designer Application Reference Guide May 2015

How to remove breakpoints You can remove a single breakpoint or all breakpoints in an IC Script. All breakpoints are automatically removed from a script when you exit the Script Debugger. Breakpoints are also automatically removed from lines without code when you compile and execute an IC Script. To remove a single breakpoint manually: 1. Place the insertion point on the line with the breakpoint you must remove. 2. Select Toggle Breakpoint on the toolbar. The breakpoint is removed, and the line no longer displays in contrasting type. To remove all breakpoints manually, select Debug > Clear All Breakpoints. The Script Debugger removes all breakpoints from your script. How to use watch variables As you debug a script, you can use the Watch pane of the Script Debugger to monitor selected variables. In the watch pane, the Script Debugger displays the following information for each variable: Name Where it is defined Value (if the variable is not in scope, its value is shown as <not in context>) Other key information such as the type and length, if the type and length is a string The Script Debugger updates the values of the watch variables when you enter break mode and when you step through the code. You can only watch variables of fundamental data types, such as Integer, Long, and Variant. You cannot watch variables of complex data types, such as structures and arrays. You can, however, watch individual elements of arrays or structure members using the following syntax: [variable [(index,...)] [.member [(index,...)]]...] where variable is the name of the structure or array variable, index is a literal number, and member is the name of a structure member. Database Designer Application Reference Guide May 2015 198

For example, the following are valid watch expressions: Watch Variable Description a(1) person.age Element 1 of array a Member age of structure person company(10,23).person.age Member age of structure person that is at element 10,23 within the array of structures called company The list of watch variables is maintained between script executions. Depending on the implementation, the list might also be maintained between invocations of the Script Debugger. To add watch variables To add a watch variable: 1. Select Add Watch on the toolbar. The Script Debugger displays the Add Watch dialog box. 2. In the Add Watch dialog box: a. Enter the variable in the Variable list. If you are executing a script, you can display the names of all the variables that are "in scope" (defined within the current function or subroutine) on the drop-down Variable Name list, and select the variable you must from that list. b. Enter the name of the procedure in the Procedure field. c. Enter the name of the IC Script in the Script field. 3. Select OK. The Watch pane expands to display the new variable, up to half the Script Debugger application window of the Script Debugger. How to delete watch variables To delete a watch variable from the Script Debugger s watch variable list: 1. In the Watch pane, select the variable from the watch list. 2. Select the Del key. The Script Debugger removes the selected variable from the watch list. 199 Database Designer Application Reference Guide May 2015

How to modify the value of a watch variable When the Script Debugger has control, you can modify the value of any of the variables on the watch variable list. When you use the Modify Variable dialog box to change the value of a variable, you do not have to specify the context. Script Debugger first searches locally for the definition of that variable, then privately, then publicly. When changing the value of a variable, the Script Debugger converts the new value to the same type as the variable being changed. For example, if you change the value of an Integer variable to 1.7, a conversion between a floating-point number and an Integer is performed, assigning the value 2 to the Integer variable. When modifying a Variant variable, the Script Debugger uses the following logic to determine the type and value of the data (in this order): For a value of The Variant variable is assigned Null Null (VarType 1). Empty Empty (VarType 0). True True (VarType 11). False False (VarType 11). number date Anything else The value (VarType 7). A number; the type of the variant is the smallest data type that fully represents that number. You can force the data type of the variable by using a type-declaration letter following number, such as %, #, &,!, or @. To modify the value of a variable on the watch variable list: 1. In the Watch pane, select the variable whose value you must modify and press Enter. The Script Debugger displays the Modify Variable dialog box. 2. Enter the new value for your variable in the Value field. 3. Select OK. The new value of your variable appears on the watch variable list. The Script Debugger will not assign a new value to a variable if the new value cannot be converted to the same type as the specified variable. Database Designer Application Reference Guide May 2015 200

201 Database Designer Application Reference Guide May 2015

Chapter 13: Database configuration Database Designer provides you with the tools and facilities to generate database schema and administer a database. By anticipating database creation and administration, Database Designer lets you migrate preexisting databases and set up new databases with fresh data. You use Database Designer to configure and administer your databases. After you set up the database, the Database Management System (DBMS) manages the databases. When you configure or administer a database through Database Designer, you need a database login and password with permission to create databases, as follows: For MS SQL Server Oracle DB2 Enter username and password DBA or sysadmin login and password DB2 administrator login and password You do not need to be a Database Administrator (DBA) to create a database in Database Designer, but you need DBA privileges and a DBA must be involved in the creation, deployment, and support of any IC application and the environment. This section contains the following topics: Overview of database configuration on page 203 Overview of stored procedures on page 203 How to configure a database on page 205 How to import seed data on page 210 Overview of reconfiguring a database on page 210 How to verify a database on page 212 How to copy a database on page 213 How to copy a database on page 213 How to drop a database on page 214 How to associate a database with a client application on page 215 Database Designer Application Reference Guide May 2015 202

Overview of database configuration You must configure or reconfigure the database schema in Database Designer. You can also verify, copy, or drop the application database in Database Designer, or perform these activities with your DBMS facilities. When you configure a database in Database Designer, you define a schema for the application database in an empty space, then build, exercise, and finally migrate the database to production. The configure operation uses the database-specific settings in Database Designer s ADL file definitions during application design. All database configuration and administration is done in the Database Administration window. Database Designer provides the following options for creating and administering your database: Configure. Create the application database based on the predefined logical schema in the ADL file. See How to configure a database on page 205. Reconfigure. Modify or delete tables and other database schema items using the Database Designer design features. See Overview of reconfiguring a database on page 210. If you create or customize stored procedures and triggers to enforce business rules or for other database purposes, review the special considerations before performing Reconfigure. See How to use Configure with Test on page 207 and How to use Reconfigure with Test on page 212. Verify. Ensure data integrity by verifying database field values against Database Designer s ADL file field definitions during migration. For example, the value of a field can be changed from Not Required to Required in the ADL file of the application design. See How to verify a database on page 212. Copy. Copy data to another database. See How to copy a database on page 213. Drop. Drop a database or schema objects only such as tables, indexes, and columns. Dropping the schema results only in an empty database because the DBMS still retains schema definitions in the system catalogs. See How to drop a database on page 214. Overview of stored procedures Stored procedures execute record locking and record lock deleting processes. Each stored procedure is called by the system counterpart. For example, q_create_lock is called by qw_create_lock. Therefore, in addition to the stored procedures listed as follows, five stored system procedures also exist in the database, namely: q_create_lock on page 204 203 Database Designer Application Reference Guide May 2015

q_drop_lock on page 204 q_refresh_locks on page 204 q_clean_locks (LockLife) on page 205 q_next_key on page 205 q_create_lock Syntax: q_create_lock(table,key,user,host,pid, TimeLock) Return string: User/Host/PID Description: Creates an application-level lock to a table record. This procedure ensures data integrity by having only one user process at a time to alter database records. Comments: If you successfully apply the lock, a row is added to the qw_locks table identifying the user, tablename, host, and pid that applied the lock, and the locked record s tablename, host, pid, and record key. The application returns a string identifying the user, host, and pid that applied the lock. If the lock fails, the return code identifies the current user, host, and pid holding the previously applied lock that is blocking your attempt. q_drop_lock Syntax: q_drop_lock Description: Drops or deletes an application-level lock previously applied by a user to a table record. This procedure is usually called after a record updating process is completed, or when a user wants to abort a row locking process. Comments: This procedure takes the same arguments as q_create_lock on page 204. Relevant identification data is returned for the process that owns the lock to be dropped. A lock applied by another user process to a table record cannot be deleted. q_refresh_locks Syntax: q_refresh_locks Description: Refreshes all the user applied locks for the user, host, and pid. 1.0 May 2015 204

q_clean_locks (LockLife) Syntax: q_clean_locks Description: Cleans up the lock table by deleting all dead locks. Comments: Although the locking logic does not require this procedure, a cleaner processing environment can result if the event server or System Administrator executed this procedure occasionally. Redundant lock records are harmless, and a dead lock can always be reclaimed from a record when needed. q_next_key Syntax: q_next_key q_next_key(table) ==> NextKeyValue Description: Implements the key allocation algorithm of the system. How to configure a database You create an IC application database by configuring it in Database Designer. Database Designer supports the following DBMSs: Oracle, Microsoft SQL Server, and DB2. When you run a Configure operation, Database Designer creates table fields for a database based on the data type definitions in the ADL file. For a list of the corresponding table field definitions created in the database, see Data types on page 67. When you configure a database, the following objects are created in the database: Stored procedures, as described in Overview of stored procedures on page 203 Application tables, listed under the Tables placeholder in the Database Designer component tree view Table indexes and constraints, generated by Database Designer In the Database Administration window, you can configure a database with one of the following methods: How to use Configure with Run on page 206 How to use Configure with Test on page 207 205 Database Designer Application Reference

Configuration for Japanese databases Database Designer normally creates the database with Codepage = 819, which means English, instead of 943 which is Japanese. If you attempt to configure a Japanese database with the default code page, you will see the following error message with Schema option chosen: -> Unable to use QDesigner to create Japanese database. 2.SQL0332N(*) The language parameter LC_MESSAGES=Ja_JP in run_qdb2svr script must be specified when creating a Japanese database. Language parameter "Ja_JP" is recommended instead of "ja_jp". The former implies shift_jis and the latter implies EUC. In a Japanese environment, shift_jis is more popular as shift_jis is used in the Windows environment. Special considerations for DB2 All IC databases are schemas within a single DB2 database. Therefore, you only need to create the database one time. To avoid recreating the database after you create the first database, select the Schema Only check box when configuring the database. For example, if you are installing IC for the first time: 1. Create the first IC database (generally qrepository) using How to use Configure with Run on page 206. 2. Create the ccq database using Configure with Run with the Schema Only check box selected. For more information about, see How to use Configure with Run on page 206. 3. Repeat step 2 for any other databases that you use in your IC system. How to use Configure with Run When you select the Configure button and then select the Run button, you create the physical database in your DBMS immediately. Database Designer creates and names tables, columns, and other schema objects based on the ADL file definitions. You must have defined all database objects in the ADL file during the application design phase before using Configure with Run. After configuring the database in Database Designer, you must perform all routine database administration tasks with your DBMS. To modify any database object after the Configure with Run operation, use Reconfigure see Overview of reconfiguring a database on page 210 to implement the changes. Database Designer Application Reference Guide May 2015 206

If you are configuring a DB2 database, see Special considerations for DB2 on page 206. To configure a database: 1. Select File > Database Administration. 2. Select the Configure radio button. 3. In the Name and Password fields, enter the database login and password of a user with permission to create databases. For MS SQL Server Oracle DB2 Enter username and password DBA or sysadmin login and password DB2 administrator login and password 4. Select Run. Database Designer creates the database. 5. Select Save, then select Close. When configuring an Oracle database, you might see the following error: "Database Error: In <login> Error while trying to retrieve text for error ORA-12538". Confirm that the Database home specified in your Physical DB Connection points to a valid Oracle client installation on the machine running your Data server. How to use Configure with Test The Configure with Test operation generates the Database Designer SQL output listing all the tables and other database schema objects. None of the SQL objects are created. Configure with Test does not create or apply any SQL objects to the database. This process only provides a list of the SQL objects for you to examine. If the SQL statements are in order, you can create the database using Configure with Run, as described in How to use Configure with Run on page 206. If you want to edit the SQL statements that Database Designer generates, cut and paste the SQL output to a file, then edit your table or column names, field lengths, and other items as necessary. After making your changes, use your DBMS tools to apply the revised SQL output to the database. At this point, your database schema is created. However, the database schema is different from the schema definitions in the ADL file. 207 Database Designer Application Reference Guide May 2015

! CAUTION: CAUTION: If you edit the SQL statements and then use your DBMS tools to create the database, you cannot use Database Designer to run a Reconfigure operation later on because the Reconfigure will drop all database tables that are not defined in the ADL file. Therefore, Avaya recommends that if you edit the SQL generated with Configure with Test, you use Database Designer to make those same changes to the ADL file. After this step, use the DBMS for all routine database administration tasks. If you did not edit the SQL statements, you can modify any database object after Configure with Test using the Reconfigure process. See Overview of reconfiguring a database on page 210 to implement the changes. If you are configuring a DB2 database, see Special considerations for DB2 on page 206. To configure and test a database: 1. Select File > Database Administration. 2. Select the Configure radio button. 3. In the Name and Password fields, enter a database login and password of a user with permission to create databases. For MS SQL Server Oracle DB2 Enter username and password DBA or sysadmin login and password DB2 administrator login and password 4. Select Test. Database Designer lists all of the SQL statements needed to reconfigure the database in the Status Messages section. 5. Cut and paste the statements into an ASCII text editor and modify the SQL statements as needed to fine tune your schema definitions. Avaya recommends that you apply these same changes to the ADL file through Database Designer when possible so that the database and the ADL file remain synchronized. 6. Use your DBMS tools to apply the file to the database and create the database schema. Database Designer Application Reference Guide May 2015 208

How to configure multiple DB2 databases If you have more than one IC database residing inside the DB2 database, you must configure the ADC file to connect with all your IC databases. The following example assumes that you are using the IC ccq and repository databases, and that you have created two databases named CCQ and CTIQ inside your DB2 database. You must configure connections to both databases. When you configure two DB2 Physical DB Connections, you use the same DBMS_SERVER setting for each database, but different DBMS_NAME settings. To configure multiple DB2 Physical DB Connections: 1. Create a Physical DB Connection for the ccq database using the following settings: DBMS_SERVER: <instance-name>.<database-name>, for example db2inst1.ccq (where db2inst1 is the DB2 database where the IC databases reside) DBMS_NAME: ccq 2. Create a Physical DB Connection for IC Repository using the following settings: DBMS_SERVER: <instance-name>.<database-name>, for example db2inst1.ctiq DBMS_NAME: ctiq 3. Configure the ccq database: a. Select File > Database Administration. b. Select the Configure radio button. c. Enter the DB2 administrator login and password. If you have not configured the Data server to be run by db2admin, see the Core Services Programmer Guide. d. Select Run. 4. Configure IC Repository: a. Select File > Database Administration. b. Select the Configure radio button. c. Select the Schema Only radio button. d. Enter the DB2 administrator login and password. e. Select Run. 209 Database Designer Application Reference Guide May 2015

How to import seed data With importing seed data you can populate a new database with data from a configuration file. The seed data contains vital information for your applications to work with your databases, including the IC Administrator login and password. mused to import the seed data ever you create a ccq or repository database, otherwise your application does not work. The option to import seed data is available only when the file seed.cfg exists in <ADL_Directory>/ Data. To import seed data: 1. Select File > Database Administration. Database Designer displays the Database Administration dialog box. 2. Select the Import Seed Data check box. Overview of reconfiguring a database You perform a Reconfigure operation to modify the database. For example, if you use Database Designer to add or delete tables or columns in the ADL file definitions, run Reconfigure to incorporate the changes in your database. You must consider the following before you run Reconfigure: 1. All objects defined in the database, but not in the ADL file are dropped by the Reconfigure process. 2. All objects defined in the ADL file,but not in the database are added to the database by the Reconfigure process. 3. If you originally created the database with the Configure with Test process (see How to use Configure with Test on page 207), you must add all tables and columns to the ADL file before you use the Reconfigure process to implement database schema changes. The Reconfigure process translates the changed logical schema in the ADL file to the database. The ADL file acts as a blueprint that completely determines how the Reconfigure process creates the physical database. The Reconfigure process performs the following steps to create a modified database: 4. Checks the physical database information in your DBMS system catalogs, including table and column definitions, indexes, constraints, then uses these definitions to construct a data model of the physical database. 5. Reads the logical schema defined in the ADL file and constructs a logical data model based on the ADL file definitions. Database Designer Application Reference Guide May 2015 210

6. Compares the physical database data model with the logical data model based on the ADL file logical schema, records any differences, then adds items to or deletes items from the reconfigured database. For example, to add a new column to a table in the database, you first define the new column for that specific table in the ADL file. The Reconfigure process compares the data model in the ADL file against the data model of the database, and identifies the extra column object in your ADL table definition (the object does not exist in the database data model), then adds the column object to the database table. Similarly, if the Reconfigure process finds an index in the current database that you excluded in your ADL file definitions, Reconfigure drops the index.! CAUTION: CAUTION: If Database Designer returns errors when you reconfigure an Oracle database, do NOT attempt to immediately rerun the procedure. Instead, exit the Database Administration dialog, debug the errors, and then run Reconfigure a second time. If you rerun the procedure immediately, it can increase the Oracle STORAGE parameter by 50%. In the Database Administration window, you can reconfigure a database with one of the following methods: How to use Reconfigure with Run on page 211 How to use Reconfigure with Test on page 212 How to use Reconfigure with Run To reconfigure a database: 1. Select File > Database Administration. 2. Select the Reconfigure radio button. 3. In the Name and Password fields, enter a database login and password of a user with permission to create databases. For MS SQL Server Oracle DB2 Enter username and password username and password DB2 administrator login and password 4. Select Run. Database Designer reconfigures the database. 5. Select Save, then select Close. 211 Database Designer Application Reference Guide May 2015

How to use Reconfigure with Test If schema items in your database are there which are not included in the ADL file definitions, you can include them in the ADL, that is, recommended. You can also perform a Reconfigure with Test operation to add tables and columns to the database. To run a Reconfigure with Test procedure: 1. Select File > Database Administration. 2. Select the Reconfigure radio button. 3. In the Name and Password fields, enter a database login and password of a user with permission to create databases. For MS SQL Server Oracle DB2 Enter username and password username and password DB2 administrator login and password 4. Select Test. Database Designer lists all of the SQL statements needed to reconfigure the database in the Status Messages section. 5. Cut and paste the statements into an ASCII text editor and modify the SQL statements as needed to fine-tune your schema definitions. 6. Use your DBMS tools to apply the file to the database. The database is reconfigured. How to verify a database You use the Verify process during database migration. Verify scans the database and reports the required fields in the ADL file that have a NULL value in the database, and the required foreign fields in the ADL file that have a -1 value in the database. VERIFY checks all fields which are defined as required and reports if any required field: Has a NULL value Is also a foreign field Has a -1 value VERIFY must be run successfully before you can use the options in the Advanced dialog box. In some situations, existing data might not conform with the new ADL file definition. For example: Database Designer Application Reference Guide May 2015 212

Field c1 is defined as REQUIRED and has a NULL value in the database Field c1 is a foreign field, is defined as REQUIRED, and has a -1 value in the database Database Designer changes the value of field c1 in the database from -1 to NULL after changing the field to nullable. Then, because field c1 is defined as required, Database Designer attempts to change the value of the field to NOT NULL. However, because field c1 has a NULL value in the database the operation fails. In this example, where the data conflicts with the new database schema, you must decide what to change. Database Designer does not make the changes. Your options are: Change the data to conform to the new schema Change the schema so that existing data conforms to the new schema How to copy a database After you configure a new database with ADL file definitions, you can copy a source database to a target database.! CAUTION: CAUTION: Before you copy data from an existing production database, stop any user processes running against the database, including server processes. Copying data while user processes are running can corrupt the application data or severely impact performance. Before you run Copy, remember that: The Copy process only copies database records to the target database, not tables, indexes, or other database objects (metadata). To create tables, columns, indexes, and other schema items, use the Configure or Reconfigure process. Database Designer does not accept a Copy process if the target database contains any existing rows. The Copy process only copies data within the same DBMS, not across different platforms. You must update, if required, your Physical DB Connections, and DB Connection Sets to identify both the source and the target database where you are copying. Database Designer copies the data into tables and fields that have matching names and field types to the source. Data is copied correctly if your destination database schema differs from source database schema. Therefore, you must ensure that destination tablenames match source tables. Changing an application design, including by adding or dropping tables, or indexes, is different from copying data. You can always change the application design without the changes being automatically applied to the database. Then, you can apply the changes to the database after copying the data, using the Configure/Reconfigure process or your DBMS tools. 213 Database Designer Application Reference Guide May 2015

To copy a source database to a target database: 1. Select File > Database Administration. 2. Select the Copy radio button. 3. In the From DB field, enter the name of the database from which you must copy the data. 4. In the DB Connection Set field, enter the name of the destination database. 5. In the Copy Count field, enter the number of database records to be copied in one operation. Do not use commas within the number string. 6. In the Name and Password fields for the target database, enter the login and password of a user with permission to create databases. For MS SQL Server Oracle DB2 Enter username and password username and password DB2 administrator username and password 7. Select Test to view the SQL text created by the Copy process. All the SQL used is displayed in the dialog box and is not applied to the database. Select Save to save the SQL output, then review the SQL output. 8. Select Run. 9. When you finish, select Close. How to drop a database If you must delete a database or the schema (including all SQL-defined objects such as tables, relations, and stored procedures), you can drop it using Database Designer.! CAUTION: CAUTION: Before you drop a database, ensure that the database is not being used in any production environment. To drop a database: 1. Ensure you know which DB Connection Set is associated with the database that you drop. If you are unsure, select each DB Connection Set and review the information in the Properties tab until you find the appropriate connection set. 2. Select File > Database Administration. 3. Select the DB Connection set associated with the database that you must drop. Database Designer Application Reference Guide May 2015 214

CAUTION: 4. Select the Drop radio button. 5. If you drop the database schema, but keep the physical database allocation, select the Schema Only check box.! CAUTION: If you drop only one IC database for DB2, select Schema Only. If you do not, this operation drops the entire DB2 database including all of the schemas (even those unrelated to IC). 6. In the Login ID and Password fields, enter a database login and password of a user with database delete privilege. For MS SQL Server Oracle DB2 Enter username and password DBA or sysadmin login and password DB2 administrator username and password 7. Select Run. If Database Designer displays an error when you attempt to drop a DB2 database, contact your DBA and have them ensure that all connections to the database have been dropped before you try to delete the entire database or its schema. 8. When you finish, select Close. How to associate a database with a client application To associate a Physical DB Connection with a client application: 1. Create the Physical DB Connection. For more information, see Supported databases on page 44. 2. Update the DB Connection Set or create a new DB Connection Set to associate the primary Logical DB Connection with the new connection. For more information, see Overview of DB connection sets on page 51. 3. Distribute the updated ADC file to all installed clients. 4. If the updated ADC file contains a new DB Connection Set, on each installed client machine, update the command line of the application icon to specify the new DB Connection Set in the -x operator. For example, -x newconnections. 215 Database Designer Application Reference Guide May 2015

Chapter 13: Generating an IC application After you customize the application design, you must generate your new IC application to incorporate the changes by: How to create an IC application on page 218 How to change IC application settings on page 219 Overview of application focuses on page 219 How to update application information in the database on page 220 This section contains the following topics: Overview of IC applications on page 216 Overview of application focuses on page 219 How to update application information in the database on page 220 Overview of IC applications The Applications placeholder contains definitions for one or more applications. An application consists of a Physical DB Connection and one or more focuses. A focus consists of one or more modules. For more information about IC application components, see Application design on page 32. To ensure your application has the IC functionality that you need, include one or more of the following system modules: Module q_alert q_escalation q_solution Enables support for the Notification server mechanism escalations through the Notification server solution searching through QKnowledge Database Designer Application Reference Guide May 2015 216

To support escalations in the Notification server, do not change any of the following table alias and field definitions: Table name Alias name Field name employee owner email fax loginname pager pkey groupmember groupmember employeegroup notifymethod tier workgroupgroup workgroup workgroup notificationaddr notifymethod pkey To enable support for software integrations such as CTI Integration, specify the software you must support in the Properties tab of the application. You can also modify application behavior by specifying one or more agent properties in IC Manager. For more information, see IC Administration Guide. IC Application properties You view the properties for an IC application in the Properties tab of the application. For more information about application properties, see: Application name on page 217 Application title on page 218 Focuses in application on page 218 Application name The application name, which must be case sensitive is used by Database Designer to reference the application. This field creates the reference to the application inside the ADL file. To change an application name, change the name in the Application Name text box. If you change the application name, you must regenerate the application to ensure that the name is updated correctly in the application data source. 217 Database Designer Application Reference Guide May 2015

Application title The application title appears in the splash screen on application startup and in the Windows task bar when the application is open. The application title in the splash screen cannot be more than 16 characters. To change the application title, change the title in the Application Title text box. Focuses in application An application consists of one or more focuses. A focus is a type of module that is defined by other modules. A focus module can contain one or more nested modules. All focus modules are listed in the Focuses in Application list box, including all IC (q_) system modules. You can do the following with focus modules in the Focuses in Application list: Add a new focus Delete an existing focus View properties of a focus Move a focus up or down in the list A focus appears in the IC application as a window. The forms and browsers in the module, and any nested modules, appear in the window. An IC application user can see a list of focuses under the Focus menu. For more information, see Form order on page 164. A focus cannot display more than two rows of buttons. How to create an IC application To create an application: 1. Select the Applications placeholder in the Database Designer tree view. 2. Select New > Application. Database Designer displays the New Application Wizard. 3. In the New Application Wizard, enter the following in the text boxes: a. Application Name. The application name, which must be case sensitive, is used by Database Designer to reference the application. This field creates the reference to the application inside the ADL file. b. Title. The application title appears in the splash screen on application startup and in the application s Title Bar. The application title in the splash screen cannot be more than 16 characters. Database Designer Application Reference Guide May 2015 218

4. Select Finish. 5. In the Properties tab of the application, review the properties for your new application and modify, if required. For more information, see IC Application properties on page 217. 6. Select File > Save to save your new application. How to change IC application settings You change the settings for an IC application in the Properties tab of the application. You can add or remove any of the focuses in an application. If you change the definition of a module contained in a focuses, the changes are reflected in any focus that uses the module. To change an application: 1. Expand the Applications placeholder and select an application. 2. Modify the desired application properties in the Properties tab. For more information about specific application properties, see IC Application properties on page 217. How to delete an IC application To delete an application: 1. Select an application in the Database Designer tree view. 2. Select Edit > Delete. Overview of application focuses Application focuses are displayed under the Applications placeholder with the other modules under the Modules placeholder. When you select a focus from the Applications list, the focus Properties tab has the following differences from the one displayed from the Modules list: You cannot change the focus name. To change the focus name, see How to change a module on page 166. Changes to focus module properties are automatically reflected in the associated focus. You can specify an IC Script to run when the application user loads the focus. See How to specify an IC Script on page 220. 219 Database Designer Application Reference Guide May 2015

How to specify an IC Script You can specify an IC Script to run when the IC system loads the focus network, including when an application user opens a new focus, or when the Report Writer is started. When you specify a focus-level IC Script to run at one or more of these events, verify that all conditions for the IC Script are met. To specify an IC Script to run when a focus network is loaded: 1. Expand the Applications placeholder in the tree view. 2. Expend the Focuses placeholder and select the focus in which you must specify an IC Script. Database Designer displays the Properties tab of the focus. 3. Select an IC Script from the Run this IC Script when the Focus is Loaded combo box. How to update application information in the database An IC application on a client machine dynamically updates the application information to match the application files in the database. You can use the same IC executable to run more than one IC application. The DB Connection settings in the client s ADC file point the application executable to the correct database. IC clients use the ADC file with operators in the properties of the application icon to connect to the database and download the current application files. If the files in the database do not match the files in the installed client, the files in the database are downloaded to the application directory of the client. The session of the client begins after the files are loaded. Dynamic form generation Database Designer loads your application information into the database. On startup, the IC client checks the database and downloads the current version of the following files: Form data (XML) files IC Scripts (custom scripts) Application design (ADL) file Message files Online help files Database Designer Application Reference Guide May 2015 220

Shortcut operators for the application icon If your application users have an application icon on the desktop, the IC client uses operators in the Shortcut tab to start the application and connect to the correct Data server and database. The Shortcut tab of the application icon can include the following operators: -d <dir path> - where <dir path> is the path to the application folder, for example, c:\ Program Files\Avaya\IC70\apps\callcenterq. This folder can have all the files downloaded from the database. If the folder is not mentioned the files is copied to the system temp directory. -n <Datasource name> - Ordinarily the Datasource name is an agent property. You can override the agent property by using the -n switch where <Datasource name> is the name of the datasource to use. -x <connectionset> - where <connectionset> is the name of the DB Connection Set associated with the application. This setting is optional. -u <user> - where <user> is the database name of the user attempting to start a client session. This setting is optional. -p <password> - where <password> is the password for the specified database name. This setting is optional. The IC operators appear in the Target field, after the path and name of the executable of the application. The executable must reside in the application directory. You must specify a value for the application folder path and the name of the IC application. To add an operator to the Shortcut tab: 1. From the Windows desktop, open the Properties window for the application. 2. In the Target text box, after the path and name of the application executable, enter the operator and the specified setting. Delimit each operator and the specified setting by a space. How to generate application data When you finish changing your application design, use Database Designer to: Generate the new ADL file and XML files for your application Upload these files, along with the IC Script files and the help file, in the database 221 Database Designer Application Reference Guide May 2015

For file management purposes, Avaya recommends that you distribute the generated ADC and ADL files to your application users. Do not distribute the files from your development directory. To avoid inconsistencies between the application information and the database schema, you must reconfigure your IC databases when you update the ADL file. See Database configuration on page 202. At a minimum, Database Designer must update the ADL file. If you have already uploaded the form data, IC Scripts, and the online help file, and you have not made any changes to these files, you can reduce the amount of time required to update the database by not uploading these files. For an IC application, the database must contain the current: Messages files ADL file (defines tables and relations) Form data (defines the application interface) IC Scripts (business rules) If your system includes Avaya Agent, the database must also contain the current Avaya Agent and EDU Viewer layouts. To generate new application data and load it into the database: 1. In Database Designer, select File > Generate Windows Application. 2. In the Generate Windows Application dialog box, select the components you must upload to the database. If you do not select any additional components, Database Designer uploads the ADL file to the database and writes the ADC and ADL files into the specified application directory. a. If you have not changed any of the following, clear the corresponding option: Messages IC Scripts Forms Help File The first time you generate an application, you must upload these files to the database. b. If your system includes Avaya Agent, select the following: Avaya Agent Layout EDU Layout 3. Enter the directory path for the ADC and ADL files in the Application Directory field. Tip: Tip: If you do not know the directory path, select Browse and navigate to the desired directory. Database Designer Application Reference Guide May 2015 222

4. Select the application you must generate from the Name list. Database Designer appends the application name to the application directory. 5. In the Database Login group: a. Select the DB Connection Set from the DB Connection Set list. b. Enter the database name and password for the owner of the database. 6. Select OK. Database Designer generates the application and loads the selected files into the database. For information about uploading an individual IC Script to the database, see Uploading IC Scripts on page 191. 223 Database Designer Application Reference Guide May 2015

Appendix A: Naming requirements and restricted names Avaya recommends that you use these conventions when naming components. This section contains the following topics: Requirements for names on page 224 Summary of restricted names on page 224 Requirements for names Use the following guidelines for naming components in Database Designer: Names for tables and table fields must be less than 30 characters. Names for all other components must be less than 40 characters. Component names are case-sensitive and must: Begin with a letter. Contain only letters, digits, and underscores. Summary of restricted names Do not use the following names for tables and fields: access add all alter and any as asc audit authorization avg begin between by char character check close cluster cobol column columns comment commit compress connect continue count create current cursor database date dec decimal declare default delete delimiter desc distinct double Database Designer Application Reference Guide May 2015 224

drop else end escape esclusive exec exists fetch file float for fortran found from go goto grant group having headings identified immediate in increment index indexes indicator info initial insert int integer intersect into is key language level like load lock long max maxextents min minus mode modify module noaudit nocompress not nowait null number numeric of offline on online open option or order output pascal pctfree pipe pli precision primary printer prior privileges procedure public raw real references rename repair repeat resource revoke rollback row rowid rowlabel rownum rows run schema section select session set share size smallint some sql sqlcode sqlerror start status successful sum synonym sysdate table tables then to trigger uid union unique unload update user validate values varchar varchar2 view whenever where with without work 225 Database Designer Application Reference Guide May 2015

Appendix B: Localization requirements To configure a localized version of an IC application, you must add a Localization section to the Database Designer INI file, and then you must customize the application. For more information, see: How to enable Database Designer for localization on page 226. How to customize a localized IC application on page 228 (optional). For more information about setting up other localization properties such as server settings and configuring Avaya Agent for multiple languages, see IC Installation and Configuration. How to enable Database Designer for localization To use Database Designer with languages other than English, you must add a Localization section to the Database Designer INI file (qdesigner.ini). This section identifies the character encoding that you are using for translations in your locale. When you open an ADL file for localization, your Database Designer INI file must contain a Localization section with character encoding that matches the language in the localized design. The Localization section includes the following: ISO-639-1 (alpha 2) two letter language abbreviations Character encoding used in the output generated by Database Designer The two letter language abbreviation also identifies the language in all language-specific files. For more information about the names of language-specific files, see How to translate string table messages on page 229. To enable localization in Database Designer: 1. With Database Designer closed, open the Database Designer INI file (qdesigner.ini) in Notepad or another ASCII text editor. The Database Designer INI file is installed in the Windows directory. For example, in machines using Windows, the Windows directory is typically C:\windows or C:\winnt. Database Designer Application Reference Guide May 2015 226

2. Add a Localization section at the end of the INI file, including values for TargetLanguage and TargetEncoding fields to match the desired locale using the information in the following table: Language Language Code Localization Section Update English en [Localization] ;English TargetLanguage=en TargetEncoding=windows-1252 Spanish es [Localization] ;Spanish TargetLanguage=es TargetEncoding=windows-1252 German de [Localization] ;German TargetLanguage=de TargetEncoding=windows-1252 French fr [Localization] ;French TargetLanguage=fr TargetEncoding=windows-1252 Italian it [Localization] ;Italian TargetLanguage=it TargetEncoding=windows-1252 Portuguese pt [Localization] ;Portuguese TargetLanguage=pt TargetEncoding=windows-1252 Simplified Chinese zh [Localization] ;Simplified Chinese TargetLanguage=zh TargetEncoding=gb2312 Korean ko [Localization] ;Korean TargetLanguage=ko TargetEncoding=korean 227 Database Designer Application Reference Guide May 2015

Language Language Code Localization Section Update Japanese ja [Localization] ;Japanese TargetLanguage=ja TargetEncoding=shift_jis Thai th [Localization] ;Thai TargetLanguage=th TargetEncoding=windows-874 Traditional Chinese zt [Localization] ;Traditional Chinese TargetLanguage=zt TargetEncoding=Big5 3. Save the INI file. 4. Close the text editor. How to customize a localized IC application With localization node of the Database Designer, you can customize an IC application in all supported languages. In addition to the ADL, ADC, and ADF files, localization uses the following unique application design files to generate a localized application. File ALF (Application Language Forms) ALM (Application Language Messages) Description Translated form definitions, including forms, groups, and objects. Translated string table entries, including error messages and warnings in IC Scripts. Some menu items in IC 7.3.x applications are not completely localized. These items display in English. For example, you might see English in some secondary built in forms and menu items, and on OK and Cancel buttons on some dialog boxes. With localization enabled, you can use Database Designer to translate the following components from US English: String table entries, such as error messages and confirmation messages in IC Scripts Database Designer Application Reference Guide May 2015 228

Form titles Group labels Object labels Search browser column labels In-form browser column labels Enumeration field labels How to localize the money field You can localize the Currency symbol used in fields with a data type of money. For example, you can change the currency symbol from $. For more information, see Currency symbol and money scale on page 71. How to translate string table messages Database Designer stores the error and confirmation messages that form the string table entries in a message file. The message file name uses the naming convention: <app>_<lang>.alm, where <app> is your IC application, and <lang> is the ISO-639-1 two letter abbreviation for the language used in your string table entries. The table includes the names of the ALM and ALF files for each supported language are as follows. IC does not support IC applications in Traditional Chinese. Information about Traditional Chinese is provided as part of the ALM file is used by the Interaction Center application and data source. Language ALM File Name ALF File Name English ccq.alm ccq_en.alf Spanish ccq_es.alm ccq_es.alf German ccq_de.alm ccq_de.alf French ccq_fr.alm ccq_fr.alf Italian ccq_it.alm ccq_it.alf Portuguese ccq_pt.alm ccq_pt.alf Simplified Chinese ccq_zh.alm ccq_zh.alf Korean ccq_ko.alm ccq_ko.alf 229 Database Designer Application Reference Guide May 2015

Language ALM File Name ALF File Name Japanese ccq_ja.alm ccq_ja.alf Thai ccq_th.alm ccq_th.alf Traditional Chinese ccq_zt.alm ccq_zt.alf When you configure your database and generate your application, Database Designer uploads the message file to the database. You can add, delete, and edit messages and the translations in the Properties tab of the string table. For more information about how string tables work in the application, see Overview of IC Script string table messages on page 186. To translate string table messages: 1. Under the Localization placeholder, select String Table in the tree view. The String Table Properties tab opens and displays all available string table messages. 2. In the String Table Properties tab, select the message to be translated. 3. Select the message text in the String Text column. 4. Delete the message text and type in the translation. 5. Select File > Save to save the ADL file with the localized string table entries and generate the ALM file. How to delete string table messages If you delete a string table message that is connected to a form, the IC application cannot display the message to the user. To delete a string table message. 1. In the String Table Properties tab, select the message that needs deletion. 2. Select Delete. Database Designer Application Reference Guide May 2015 230

How to translate forms Forms are organized by type of data such as calls or customers and by specific task such as data entry and data management. A form contains one or more groups. Each group contains one or more objects. The objects appear to an application user as fields, text boxes, combo boxes, and buttons within a group in a form. For more information about how forms work in an application, see Overview of forms on page 103. You can translate the following within a form: Form titles. Identify the type of data or activity in the workflow that the user can perform with the form. Group labels. Identify the tasks the user must perform to complete the workflow. Object labels. Identify the steps within the tasks, and the type of data that the user can review, edit, or add to the database with the object. Translated titles and labels can be longer or shorter than the US English versions provided with the out-of-the-box application. After you localize the form, open the Layout Editor from the localized form and make the necessary adjustments to the Form layout adjustments required by the translated object labels. The language you use to translate titles and labels must be the same language you entered in the INI file when you enabled localization. If the Localization placeholder does not appear in the Database Designer tree view, you must enable localization as described in How to enable Database Designer for localization on page 226. Form titles The form title identifies the contents of a form and appears on a button above the browser section. Avaya recommends that the form title reflect the workflow in the form. To translate a form title: 1. Under the Localization placeholder, double-click Forms in the tree view. 2. Select the form to be translated to open the Properties tab of the form. 3. Type the translation of the title in the Translated text box. 4. Select File > Save. Group labels The group label identifies the contents of a group and is displayed in a form in: The heading for the group. The tab for the associated browser. 231 Database Designer Application Reference Guide May 2015

The group label usually reflects the name of the anchor table alias of the group. For more information about how groups work in an application, see Overview of groups on page 106. To translate a group label: 1. Under the Localization placeholder, double-click the desired form to view a list of the groups. 2. Select the group to open the Properties tab of the group. 3. Type the translation of the title in the Translated text box. 4. Select File > Save. Object labels The object label identifies the contents of the object. For most objects, the label text appears to the left of the object in the application interface. For more information about the types of objects, the data types, and how the objects work in an application, see Overview of objects on page 113. You can translate the labels for all objects in a group, including text boxes, long text fields, date/ time widgets, buttons, and right-click menu options. To translate an object label: 1. Under the Localization placeholder, double-click the desired form to view a list of the groups. 2. Select the group that contains the objects to be translated to open the Properties tab of the group. 3. In the Object Properties group, select in the Translated Caption column for the object to be translated, delete the existing text and type the translation. 4. When you have finished localizing the objects, select File > Save. Form layout adjustments Translated titles and labels are frequently longer than the US English versions provided with the out-of-the-box application. Database Designer automatically adjusts the: Size of the buttons above the search browser to the length of the form title Space needed for the group label. However, Database Designer does not automatically update the layout of objects or the size of button objects to compensate for longer, translated words. Database Designer Application Reference Guide May 2015 232

What you see in the Layout Editor is not identical to the layout of the generated Windows application. The size, spacing, and positions of some groups and controls might change in the generated application. Also, when you double-click a caption, the Layout Editor displays the text in English, not the translated text strings in the Localization node. To update the form layout for translated labels: 1. Under the Localization placeholder, select the translated form. 2. Select Edit > Form Layout to open the Layout Editor with the translated labels. You must open the Layout Editor from the translated form under the Localization placeholder to access the translated title and labels. 3. In the Layout Editor, you can change: Spacing between objects. Location of objects on the form. Size of the control for an object label. For specific instructions on using the Layout Editor to customize the appearance of your translated form, see Chapter 9: Layout Editor for form design. How to translate search browsers When a user performs a search in an IC application, the search browser returns the results in the columns of the search browser. The browser displays the results in the same language that the results are saved in the database. You can localize the labels that appear at the top of search browser columns by translating the labels in Database Designer. For more information about how search browsers work in an application, see Overview of search browsers on page 86. To translate a search browser column label: 1. Under the Localization placeholder, select the desired search browser to display the browser s Properties tab. 2. In the Columns list box, click the Translated Label column for the column to be translated, delete the existing text and type the translation. 3. When you have finished localizing the column labels, select File > Save. 233 Database Designer Application Reference Guide May 2015

How to translate in-form browser In-form browsers (IFBs) are displayed within a group as a table with editable columns and summary rows. Depending on the IFB, the columns display either information retrieved from the database table or information entered by the application user. You can localize column and row labels of IFBs by translating them in Database Designer: Column labels Summary column labels Summary row labels You localize the IFB labels in the IFB Properties tab of the IFB, accessed by selecting the IFB under the Localization placeholder. For more information about how search browsers work in an application, see Overview of in-form browsers on page 92. In-form browser column labels IFB column labels identify the information displayed in each column. The columns can include search results for a field from the anchor table alias of the browser and one or more foreign fields, or information entered by the user. To translate IFB column labels: 1. Under the Localization placeholder, select the desired IFB to display the In-Form Browser Properties tab. 2. In the Columns list box, click the Translated Label column for the column to be translated, delete the existing text and type the translation. 3. When you have finished localizing the column labels, select File > Save. In-form browser summary column labels IFB summary columns display the subtotal for a single column of an IFB. The application uses the formula that you enter through Database Designer to total up the amounts in the column. The summary column label identifies the contents of the summary field. To translate IFB summary column labels: 1. Under the Localization placeholder, select the required IFB to display the In-Form Browser Properties tab. 2. In the Summary Columns list box, click the Translated Label column for the column to be translated, delete the existing text and type the translation. 3. When you have finished localizing the summary column labels, select File > Save. Database Designer Application Reference Guide May 2015 234

In-form browser summary row labels Summary rows are displayed in the browser one above another at the bottom of an IFB. The IFB calculates the values of summary rows from the formula specified in the IFB properties through Database Designer. Summary rows can be: Visible. For example, a Tax summary row where the total tax is calculated from the values in the visible Cost column. Invisible. For example, a Tax summary row where the total tax is calculated from a sum of individual taxes in an invisible Tax column associated with the IFB. To translate IFB summary row labels: 1. Under the Localization placeholder, select the required IFB to display the In-Form Browser Properties tab. 2. In the Row Summary list box, click the Translated Label column for the summary row label to be translated, delete the existing text and type the translation. 3. When you have finished localizing the summary row labels, select File > Save. How to translate enumeration field labels Enumeration fields display data in combo boxes with a drop-down list. An agent can select a value for the field from a fixed list of alphanumeric values, such as Red, Yellow, or Blue. To translate enumeration field labels: 1. Under the Localization placeholder, select the required table to display the list of tables. 2. Select the field to open the Field Properties tab. 3. In the Enum Values list box, double-click in the Translated Caption column for the enumeration field label that you translate. 4. Delete the existing text and type the translation. 5. When you have finished localizing the enumeration field labels, select File > Save. 235 Database Designer Application Reference Guide May 2015

Index Symbols.xml files..................... 32 Numerical 1 to N (one-to-many)................ 37 1 to N link objects about..................... 132 alias...................... 135 associated field................. 133 browser.................... 136 creating.................... 137 default value.................. 134 field...................... 135 fill direction................... 136 IC Script for foreign search........... 134 IME mode................... 134 label...................... 134 name..................... 133 relation..................... 135 relation set................... 135 target..................... 137 visible..................... 134 1 to N relations about..................... 167 changing.................... 170 creating.................... 169 deleting................. 170, 174 from table................... 169 properties................... 168 relation description............... 169 relation name.................. 168 relation sets.................. 174 to table..................... 169 A accelerator keys.................. 156 ActiveX control Prompter.................... 140 ActiveX control objects creating.................... 142 IC Scripts................... 142 label...................... 141 name..................... 141 program ID................... 141 visible.................... 141 ADC file about..................... 220 distributing.................. 222 saving..................... 23 adding browsers to group............... 107 browsers to modules............. 163 field to key................... 77 forms to modules............... 163 relations to a relation set............ 176 table alias.................... 81 table sets to modules............. 162 adding messages................. 186 ADF (Application Design Forms)........... 20 ADF file.................... 23, 40 ADL (Application Design Language)......... 20 ADL file.................... 40, 60 distributing.................. 222 error checking.................. 31 generating.................. 221 migrating to a new release............ 25 opening..................... 28 saving..................... 23 specifying include paths............. 29 system IC Scripts................ 29 ADL Include Path.................. 28 Advanced button................. 212 After Update event................. 83 aligning controls................. 154 ALM (Application Language Messages)..... 20, 186 anchor table alias about.................... 35, 80 browsers.................. 36, 86 defining.................... 105 for a group.................. 106 groups..................... 36 in-form browser................. 93 application interface accelerator keys................ 156 aligning.................... 154 changing caption............... 156 color theme.................. 158 form dimensions................ 158 grouping controls............... 152 make same size................ 155 moving.................... 154 positioning.................. 153 selecting controls............... 152 Database Designer Application Reference Guide May 2015 236

sizing..................... 155 space evenly.................. 154 tab order.................... 156 testing..................... 158 using grid................... 152 viewing..................... 151 applications changing.................... 219 creating................. 216, 218 data...................... 32 data model................... 25 deleting.................... 219 design files................... 32 development.................. 27 focuses.................... 219 generating application data........... 221 name.................. 217, 218 preferences.................. 137 properties................... 217 steps to modify................. 40 system IC Scripts................ 29 title...................... 218 B Before Search event...............83, 87 Before Update event................ 83 Binary....................... 114 binary data type................ 67, 114 breakpoints in Script Debugger............... 196 removing.................... 198 browsers 1 to N link object................ 136 about....................36, 86 adding to group................. 107 adding to modules............... 163 anchor table alias...............36, 86 attaching IC Scripts............... 108 available.................... 107 available for group............... 107 changing...................88, 95 creating IFB.................. 94 default active.................. 108 deleting.................... 89 in a 1 to N link................. 99 in-form................. 86, 92, 129 linking to a group................ 107 linking to a module............... 160 removing from group.............. 107 search browsers................ 86 tab name.................... 107 translating in-form................... 234 search browser labels............ 233 buttons accelerator keys................ 156 ChangeUpdate................ 143 class..................... 143 classes.................... 143 Clear..................... 143 creating.................. 147, 148 Delete.................... 143 form title................... 104 Local..................... 143 New..................... 143 Search.................... 143 Selected................... 144 standard................... 142 supported types................ 143 Update.................... 144 byte data type................. 67, 114 C case-sensitivity for components................ 224 catalogs, generating................ 25 center in view.................. 155 ChangeUpdate button.............. 143 changing 1 to N relations................ 170 applications.................. 219 browser order................. 104 caption.................... 156 connection sets............... 54, 55 fields...................... 75 forms..................... 106 grid settings.................. 152 groups.....................110 in-form browser columns............ 101 in-form browsers................ 95 keys...................... 77 Layout Editor modes.............. 151 M to N relations................ 174 modules................... 166 objects.................... 148 order of right-click menu items..........112 relation sets.................. 177 right-click menu item...............112 search browser columns............. 91 search browsers................. 88 table aliases.................. 84 table sets.................... 81 tables...................... 65 character encoding................ 226 Character, data type.............. 67, 114 check box objects about......................116 associated field.................116 237 Database Designer Application Reference Guide May 2015

creating.................... 117 default value.................. 117 label...................... 117 name..................... 116 properties................... 116 supported data types.............. 114 visible..................... 116 Children Tab.................... 22 Children tab...................21, 22 classes buttons..................... 143 standard buttons................ 143 Clear button.................... 143 Cognos catalogs.................... 25 Cognos catalog.................. 25 color theme.................... 158 columns changing IFB.................. 101 changing search browser............ 91 creating for search browser........... 89 creating IFB.................. 95 deleting IFB.................. 101 deleting search browser............. 92 IFB anchor field................. 97 IFB foreign field................. 97 IFB formula type................ 96 IFB heading.................. 96 IFB modes................... 100 IFB name................... 96 IFB properties................. 96 IFB sort order.................. 99 IFB summary.................. 100 in-form browsers................ 93 localizing in-form browsers.............. 234 search browsers............... 233 naming search browsers.......... 91, 100 search browser heading............. 90 search browser name.............. 90 search browser properties............ 89 search browser table alias............ 90 search browser table field............ 90 search browsers................ 87 combo box objects about..................... 117 associated field................. 118 creating.................... 119 default value.................. 119 label...................... 118 multi-language usage.............. 119 name..................... 118 properties................... 118 supported data types.............. 114 values..................... 119 visible.....................118 comments, adding to IC Scripts.......... 185 components in an application................. 39 naming.................... 224 placeholder................... 21 Configure with Run................ 206 Configure with Test................ 207 configuring database................. 202, 205 DB2 database................. 206 focuses.................... 219 multiple DB2 databases............ 209 primary data source............... 54 secondary data source.............. 55 connection description ODBC..................... 45 connection name ODBC..................... 45 connection sets about...................... 51 adding data sources............... 53 changing.................... 55 configuring................... 52 creating..................... 52 deleting..................... 58 deleting data sources.............. 53 external database................ 55 primary data source............... 54 secondary data source.............. 55 connections.................... 42 creating..................... 44 controls about..................... 151 aligning.................... 154 center in view................. 155 changing caption............... 156 grouping................... 152 make same size................ 155 moving.................... 154 positioning.................. 153 selecting multiple............... 152 sizing..................... 155 space evenly................. 154 ungrouping.................. 153 copying databases................ 213 cqdefault about...................... 98 constraining searches............. 136 relation set...................112 search buttons................ 146 cqlocal about...................... 98 constraining searches............. 136 relation set................... 111 Database Designer Application Reference Guide May 2015 238

search buttons................. 146 creating 1 to N link object................ 137 1 to N relations................. 169 ActiveX control objects............. 142 applications.................. 216 check box object................ 117 combo box object................ 119 connection sets................. 52 connections.................. 44 custom button................. 148 database connections.............. 44 date time object............. 120, 122 fields...................... 73 forms..................... 105 groups..................... 109 in-form browser columns............ 95 in-form browser objects............. 132 keys...................... 77 label object................... 122 long text object................. 122 long text objects................ 124 M to N link object................ 140 M to N relations................. 173 modules.................... 165 objects..................... 113 objects automatically.............. 114 relation sets.................. 176 right-click menus................ 111 search browser columns............ 89 search browsers................ 86 standard buttons................ 146 table aliases.................. 82 table sets................... 80 tables..................... 64 text box objects................. 128 currency symbol.................. 71 custom button objects properties................... 147 custom buttons about..................... 147 class...................... 147 creating.................... 148 IC Scripts................... 148 label...................... 147 name..................... 147 D Data Connector Server connecting to.................. 42 data model.................... 25 data sources.................... 42 adding..................... 53 deleting.................... 53 primary................... 42, 54 secondary................. 42, 55 secondary log in style.............. 55 data types about...................... 67 binary..................... 67 byte...................... 67 date...................... 67 date time.................... 68 double..................... 68 enumeration.................. 68 float...................... 68 integer..................... 68 interval..................... 68 money..................... 68 serial...................... 68 short integer.................. 68 supported............... 67, 114, 205 text....................... 68 variable char.................. 68 database...................... 32 administration.................. 23 configuring................ 202, 205 configuring multiple DB2............ 209 connecting to.................. 42 copying.................... 213 copying data................. 213 DB2 special considerations.......... 206 dropping................... 214 external..................... 55 home, Oracle................ 47, 50 management................. 203 migrating to a new release............ 25 reconfiguring................. 210 database connections................ 42 application icon operators........... 221 creating..................... 44 understanding.................. 42 database location SQL Server................... 48 database name DB2...................... 49 Oracle..................... 47 SQL Server................... 48 database server SQL Server................... 49 database size SQL Server................... 49 date data type................... 67 date time data type............... 68, 114 date time objects about..................... 120 associated field................ 121 creating.................... 122 data type....................114 239 Database Designer Application Reference Guide May 2015

default value.................. 121 label...................... 121 name..................... 120 visible..................... 121 DB Connection Set................. 42 DB2 configuring multiple databases.......... 209 database name................. 49 special considerations............. 206 debugging IC Scripts executing the next script............ 194 instruction pointer................ 194 outside the current subroutine.......... 197 partway through an IC Script.......... 196 pausing IC Scripts............... 195 removing breakpoints.............. 198 selected portions of an IC Script......... 197 tracing execution of IC Scripts.......... 195 Delete button................... 143 Delete event.................... 84 deleting applications.................. 219 browsers from group.............. 107 columns.................... 92 connection sets................. 58 data sources.................. 53 field from key.................. 78 fields...................... 75 groups..................... 110 in-form browser columns............ 101 keys...................... 78 modules.................... 167 object..................... 149 relation sets.................. 177 relations................. 170, 174 relations from a relation set........... 176 right-click menu item.............. 112 search browsers................ 89 string table messages........... 190, 230 table alias................... 81 table aliases.................. 84 table sets................... 82 tables..................... 66 design mode.................... 151 displaying IFB columns............... 100 double data type................ 68, 114 dropping databases................ 214 dynamic form generation.............. 220 E edit menu..................... 23 enabling localization................ 226 enumeration data type............. 68, 114 error messages deleting.................. 190, 230 translating.................. 229 viewing..................... 31 escalations required components............. 216 required tables............... 66, 75 events After Update.................. 83 Before Search.................. 83 Before Update................. 83 Delete..................... 84 New...................... 83 executing scripts, in Script Debugger....... 194 external database................. 55 F far-east language support........... 127, 134 fields 1 to N link object............... 135 about...................... 67 adding to key.................. 77 associated with object..............116 case sensitive.................. 73 changing.................... 75 creating..................... 73 currency symbol................. 71 data type.................... 70 database field name............... 69 default value.................. 71 deleting..................... 75 deleting from keys................ 78 description................... 69 enumerated values............... 71 history................... 72, 73 in-form browser columns............. 97 label...................... 70 left anchored.................. 73 maximum length................. 70 maximum value................. 70 minimum value................. 70 money scale.................. 71 name...................... 69 primary info................... 72 read only.................... 72 required.................... 72 search browser columns............. 90 file menu...................... 23 fill direction...................99, 175 1 to N link object............... 136 in a 1 to N link.................. 99 in a module.................. 175 Find........................ 24 finding records.................. 143 float data type................. 68, 115 Database Designer Application Reference Guide May 2015 240

focuses...................... 38 about..................... 160 application................... 219 linking to an application............. 219 foreign field creating from a 1 to N link............ 137 creating from an M to N link........... 140 defined..................... 109 foreign keys.................. 75, 172 form activation IC Script.............. 104 form data, generating............... 32 forms....................... 103 about................... 36, 102 adding to modules............... 163 aligning.................... 154 as non-scrolling regions............. 150 browser order................. 104 changing.................... 106 creating.................... 105 grouping controls................ 152 groups..................... 36 groups in form................. 104 GUI layout................... 36 IC Script.................... 104 layout..................... 23 linking to a module............... 160 localizing.................... 231 moving controls................. 154 name..................... 107 naming.................. 105, 109 order...................... 164 positioning................... 153 selecting controls................ 152 setting dimensions............... 158 sizing..................... 158 space evenly.................. 154 tab order.................... 156 table sets................... 36 testing..................... 158 title...................... 104 translating about.................... 231 group labels................. 231 layout.................... 232 object labels................. 232 titles.................... 231 using grid................... 152 viewing..................... 151 formula columns, sorting.............. 99 from table.................. 169, 172 G generating catalogs.................... 25 form data (XML) files.............. 32 Windows application.............23, 222 grid settings.................... 152 using..................... 152 grouping controls................. 153 groups.................... 103, 106 about...................... 36 aligning.................... 154 anchor table alias................ 36 available browsers............... 107 center in view................. 155 changing....................110 changing caption............... 156 creating.................. 109, 115 default active browser............. 108 deleting.....................110 displaying record information.......... 106 IC Scripts in.................. 108 in forms.................... 105 label..................... 107 make same size................ 155 moving.................... 154 positioning.................. 153 right-click menu items............. 108 sizing..................... 155 translating labels............... 231 H history field..................... 73 History fields.................... 72 I IC Scripts about..................... 180 ActiveX control object............. 142 adding comments............... 185 attaching to a form............... 104 attaching to browser.............. 108 attaching to right-click menu item.........112 Before Search event............... 87 breaking statements.............. 185 button control................. 145 checking syntax................ 190 commenting.................. 185 creating.................. 185, 186 custom buttons................ 148 debugger................... 192 editing.................... 184 foreign search................. 134 include paths.................. 29 in-form browser object............. 131 language................... 178 241 Database Designer Application Reference Guide May 2015

loading..................... 183 managing................... 182 menu option.................. 23 messages................... 186 migrating.................... 25 multiple-line statements............. 185 navigating................... 180 on form activation................ 104 running in Script Debugger........... 194 sample message................ 187 saving..................... 184 saving to database............... 222 saving to local disk............... 184 search browser................. 87 searching................... 180 stepping through................ 195 stopping.................... 195 syntax checking................ 190 system..................... 29 table aliases.................. 83 uploading................... 191 using...................... 40 IME mode.................. 127, 134 Impromptu..................... 25 include paths................... 29 index key..................... 76 in-form browser objects about..................... 129 associated in-form browser........... 130 creating.................... 132 edit options................... 131 IC Script.................... 131 label...................... 130 name..................... 130 relation..................... 131 target..................... 132 visible..................... 130 in-form browsers about....................86, 92 anchor table alias................ 93 changing.................... 95 changing columns............... 101 column order.................. 93 creating.................... 94 creating columns................ 95 deleting columns................ 101 localizing.................... 234 columns................... 234 summary columns.............. 234 summary rows................ 235 name..................... 93 naming..................... 94 object..................... 129 properties................... 93 summary rows................. 94 In-house Version.................. 28 INI file localization string............... 226 integer data type................ 68, 115 interaction_center................. 39 intermediate tables about..................... 170 property................... 172 interval data type................ 68, 115 invisible objects..................114 K keyboard shortcuts Script Debugger................ 193 Script Editor.................. 182 keys about.................... 35, 75 adding fields.................. 77 changing.................... 77 creating..................... 77 deleting..................... 78 deleting fields.................. 78 foreign...................75, 172 group...................... 64 index...................... 76 pkey...................... 75 primary..................... 75 unique..................... 76 L label objects about..................... 122 creating.................... 122 labels translating in-form browsers.............. 234 search browsers.............. 233 translating for objects............. 232 translating in fields............... 235 translating in groups.............. 231 language abbreviations.............. 226 Layout Editor.................... 21 about...................... 23 accelerator keys................ 156 aligning.................... 154 center in view................. 155 changing caption............... 156 color theme.................. 158 control.................... 151 form dimensions................ 158 grid...................... 152 grid settings.................. 152 grouping controls............... 152 Database Designer Application Reference Guide May 2015 242

localized forms................. 232 make same size................ 155 modes..................... 151 moving controls................. 154 opening.................... 151 positioning................... 153 run mode................. 153, 159 selecting multiple controls............ 152 sizing..................... 155 space evenly.................. 154 tab order.................... 156 testing..................... 158 LCID abbreviations................. 226 linking browsers to group............... 107 records..................... 132 Local button.................... 143 locale ID..................... 226 localization about..................... 228 character encoding............... 226 enabling.................... 226 enumeration field labels............. 235 form layout................... 232 form titles................... 231 forms..................... 231 group labels.................. 231 in-form browsers................ 234 language abbreviations............. 226 object labels.................. 232 search browser columns............ 233 string table messages.............. 229 localizing messages................ 186 Logical DB Connection............... 42 login to secondary data source........... 55 long text objects about..................... 122 associated field................. 123 creating.................... 124 edit mode................... 124 label...................... 124 name..................... 123 visible..................... 124 M M to N link objects about..................... 138 associated field................. 139 creating.................... 140 display options................. 139 label...................... 139 multi-option display............... 139 name..................... 138 relation..................... 140 target..................... 140 visible.................... 139 M to N relations about..................... 170 adding to relation sets............. 174 changing................... 174 creating.................... 173 deleting.................. 170, 174 description.................. 172 from table................... 172 intermediate table............... 172 intermediate tables.............. 170 name..................... 171 properties................... 171 relation 1................... 172 relation 2................... 172 relation sets.................. 174 to table.................... 172 M to N (many-to-many)............... 37 M to N relations.................. 37 many-to-many relations. See M to N relations mapping data sources............... 53 menus about...................... 23 edit....................... 23 file....................... 23 new...................... 24 tools...................... 25 view...................... 24 messages adding to the application............ 186 viewing errors.................. 31 migrating ADL files................. 25 migrating IC Scripts................. 25 modules about....................37, 160 browsers................... 163 changing................... 166 creating.................... 165 deleting.................... 167 description.................. 162 form order.................. 164 forms..................... 163 label..................... 162 linking to an application............ 219 modifying................... 166 name..................... 162 naming.................... 165 nested.................... 164 properties................. 161, 165 table sets................... 162 viewing table sets................ 82 money data type................ 68, 115 money scale.................... 71 moving controls................. 154 243 Database Designer Application Reference Guide May 2015

multi-language usage, combo box.......... 119 multi-option.................... 139 N naming forms.................. 105, 109 in-form browsers................ 94 requirements.................. 224 restrictions................... 224 search browser columns.......... 91, 100 search browsers................ 88 nested modules.................. 164 New button.................... 143 New event..................... 83 new menu..................... 24 O objects 1 to N link................ 132, 135 about................... 37, 113 ActiveX control................. 140 aligning.................... 154 center in view.................. 155 changing.................... 148 changing caption................ 156 check box................... 116 combo box................... 117 common properties............... 115 creating.................... 113 creating automatically........... 109, 114 custom buttons................. 147 date time.................... 120 deleting.................... 149 in a group................... 113 in forms.................... 105 in-form browser................. 129 invisible.................... 114 label...................... 122 long text.................... 122 M to N link................... 138 make same size................ 155 moving..................... 154 positioning................... 153 sizing..................... 155 space evenly.................. 154 standard buttons................ 142 supported types................ 113 tab order.................... 156 text box.................... 125 translating labels................ 232 types...................... 114 ODBC connection description............. 45 connection name................ 45 one-to-many relations. See 1 to N relations opening ADL file.................. 28 Oracle database home............... 47, 50 database name................. 47 extents..................... 64 temporary location size............. 48 temporary table location............. 47 ORDER BY clause................. 63 order, right-click menu items............112 P Permissions.................. 23, 31 pkey........................ 75 positioning.................... 153 preferences application.................. 217 color theme.................. 158 link icon.................... 137 Preload Script Files................. 28 primary data sources.............. 42, 54 primary key.................... 75 procedure calls, viewing.............. 196 Prompter control................. 140 properties 1 to N relations................ 168 in-form browser columns............. 96 in-form browsers................ 93 M to N relations................ 171 modules................. 161, 165 relation sets.................. 175 search browser columns............. 89 search browsers................. 87 Properties Tab................... 22 Properties tab................. 21, 22 Q q_webcenter.................... 39 QSC files. See IC Scripts qwadm. See database administration R reconfiguring databases.............. 210 record information, in a group........... 109 relation 1..................... 172 relation 2..................... 172 relation sets 1 to N link object............... 135 about................... 160, 174 adding relations................ 176 Database Designer Application Reference Guide May 2015 244

browsers.................... 98 changing.................... 177 creating.................... 176 deleting.................... 177 deleting relations................ 176 description................... 176 linking to a module............... 160 name..................... 176 properties................... 175 relations.................... 176 search button.................. 146 relations 1 to N..................... 167 1 to N link object............. 132, 135 about.................. 160, 167 adding to a relation set............. 176 browsers.................... 98 deleting................. 170, 174 deleting from a relation set........... 176 in a 1 to N link................. 98 in-form browser object............. 131 linking to a module............... 160 M to N..................... 170 M to N link object................ 140 using foreign keys............... 167 restricted names.................. 224 Revert To Saved.................. 23 right-click menu items caption..................... 111 changing.................... 112 class...................... 111 creating.................... 111 deleting.................... 112 fill direction................... 111 IC Scripts................... 112 in groups.................... 108 order...................... 112 relation set................... 111 right-click menus about..................... 111 creating.................... 111 run mode.................. 151, 159 S Save....................... 23 Save As...................... 23 Schema Only option when dropping a database... 215 Script Debugger breakpoints................... 196 opening.................... 192 running IC Scripts................ 194 stepping through IC Script............ 195 stopping IC Scripts............... 195 watch variable................. 198 Script Editor about..................... 178 adding comments to an IC Script........ 185 breaking statements.............. 185 inserting text................. 181 interface................... 180 navigating................... 180 opening..................... 23 selecting text................. 181 uploading IC Scripts.............. 191 using..................... 180 scripts, executing the next script.......... 194 search browsers about...................... 86 changing.................... 88 changing columns................ 91 column order.................. 87 creating..................... 86 creating columns................ 89 default active browser............. 108 deleting..................... 89 IC Script.................... 87 name...................... 87 naming..................... 88 order in form................. 104 properties.................... 87 translating column labels............ 233 Search button.................. 143 secondary data sources connections................... 42 login style.................... 55 Selected button.................. 144 selecting text................... 181 serial data type................. 68, 115 setting color theme.................. 158 form dimensions................ 158 shortcut properties............... 221 tab order................... 156 short integer data type............. 68, 115 sizing controls.................... 155 forms..................... 158 sort order, database fields.............. 99 sorting browser columns.............. 99 space evenly................... 154 specifying include paths.................. 29 language for translation............ 226 splash screen, text................ 218 SQL Server database location................ 48 database name................. 48 database server................. 49 database size.................. 49 245 Database Designer Application Reference Guide May 2015

log location................... 49 log location size................ 49 standard buttons about..................... 142 class...................... 145 classes..................... 143 creating.................... 146 fill direction................... 146 IC Script.................... 145 label...................... 145 name..................... 144 relation set................... 146 visible..................... 144 startup screen, text................. 218 stored procedures................. 203 string table messages deleting................. 190, 230 example.................... 187 translating................... 229 string table, for messages............. 186 summary columns localizing.................... 234 summary rows columns.................... 100 localizing.................... 235 properties................... 94 syntax checking in Script Editor............. 190 system IC Scripts................. 29 T tab order..................... 156 table aliases 1 to N link object................ 135 about....................35, 80 adding to table set............... 81 After Update event............... 83 anchor..................... 80 Before Search event.............. 83 Before Update event.............. 83 changing.................... 84 condition.................... 83 creating.................... 82 Delete event.................. 84 deleting.................... 84 deleting from table set............. 81 description................... 83 IC Scripts................... 83 in a table set.................. 36 name..................... 83 New event................... 83 search browser columns............ 90 viewing table.................. 81 table sets about.................... 36, 80 adding table alias................ 81 adding to modules............... 162 changing.................... 81 creating..................... 80 deleting..................... 82 deleting table alias................ 81 linking to a module.............. 160 properties.................... 81 viewing modules................ 82 tables 1 to N link objects............... 132 1 to N relation................. 169 about.................... 35, 60 changing.................... 65 columns.................. 35, 61 creating..................... 64 data source................... 63 data types................... 67 database table name.............. 62 deleting..................... 66 description................... 62 fields.................... 35, 61 for escalations............... 66, 75 keys...............35, 61, 64, 75, 77 location..................... 64 M to N relation................ 172 maximum extent................. 64 minimum extent................. 64 name...................... 62 ORDER BY clause............... 63 pkey...................... 75 rows.................... 35, 60 string table messages............. 229 surfacing in an application............ 36 table aliases.................. 36 target encoding.................. 226 temporary Oracle table location............... 47 Oracle table location size............ 48 testing layout................... 158 text box objects about..................... 125 associated field................ 125 creating.................... 128 default value................. 127 IME mode................... 127 label..................... 126 mask value.................. 128 multiline................... 126 name..................... 125 visible.................... 126 text data type.................. 68, 115 titles translating in forms.............. 231 Database Designer Application Reference Guide May 2015 246

to table................... 169, 172 tools menu.................... 25 tracing, execution of scripts............. 195 translating about..................... 228 enabling.................... 226 forms..................... 231 labels enumeration fields.............. 235 groups................... 231 in-form browsers.............. 234 objects................... 232 search browser columns........... 233 string table messages.............. 229 titles in forms.................. 231 Tree View..................... 21 tree view.................. 21, 22, 30 types, data.................... 205 messages.................... 31 modules for table sets.............. 82 table of table alias................ 81 visibility of objects.................114 W watch variables adding.................... 199 in Script Debugger............... 198 modifying................... 200 selecting................... 199 workflow...................... 38 X XML encoding.................. 226 XML files, generating................ 32 U UI accelerator keys................ 156 aligning.................... 154 changing caption................ 156 color theme.................. 158 form dimensions................ 158 grouping controls................ 152 make same size................ 155 moving..................... 154 positioning................... 153 selecting controls................ 152 sizing..................... 155 space evenly.................. 154 tab order.................... 156 testing..................... 158 using grid................... 152 viewing..................... 151 ungrouping controls................ 153 unique key.................... 76 Update button................... 144 updating records............... 143, 144 uploading IC Scripts................ 191 using grid..................... 152 V variable char data type............. 68, 115 variables in Script Debugger............... 198 Verify option.................... 212 view menu..................... 24 viewing error messages................. 31 forms..................... 151 247 Database Designer Application Reference Guide May 2015