Sei sulla pagina 1di 304

BluePhoenix AppBuilder 2.1.

Development Tools Reference Guide

BluePhoenix AppBuilder 2.1.0 Development Tools Reference Guide April, 2003

Corporate Headquarters BluePhoenix Solutions Vlierwerf 7B 4704 SB Roosendaal The Netherlands +31 (0) 165 399 401 +31 (0) 165 396 308 fax USA Headquarters BluePhoenix Solutions USA, Inc. 8000 Regency Parkway Cary, NC 27511 United States +1 919.380.5100 +1 919.380.5111 fax www.bluephoenixsolutions.com

1992-2003 BluePhoenix Solutions All rights reserved. BluePhoenix is a trademark of BluePhoenix Solutions. All other product and company names mentioned herein are for identification purposes only and are the property of, and may be trademarks of, their respective owners. Portions of this product may be covered by U.S. Patent Numbers 5,495,222 and 5,495,610 and various other non-U.S. patents. The software supplied with this document is the property of BluePhoenix Solutions, and is furnished under a license agreement. Neither the software nor this document may be copied or transferred by any means, electronic or mechanical, except as provided in the licensing agreement. BluePhoenix Solutions has made every effort to ensure that the information contained in this document is accurate; however, there are no representations or warranties regarding this information, including warranties of merchantability or fitness for a particular purpose. BluePhoenix Solutions assumes no responsibility for errors or omissions that may occur in this document. The information in this document is subject to change without prior notice and does not represent a commitment by BluePhoenix Solutions or its representatives.

TABLE OF CONTENTS

Table of Contents

AppBuilder 2.1.0 Development Tools Reference Guide

Workbench Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1


Construction Workbench Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 Hierarchy Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 Work Area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Dragging and Dropping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Dragging and Dropping to and from the Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Dragging and Dropping to the Work Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Dragging and Dropping to the Rule Painter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Dragging and Dropping to the Window Painter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Dragging and Dropping to the Prep Status Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Dragging and Dropping to the Prep List Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Standard File Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Creating a New Project in AppBuilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Opening an Existing Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 Specifying Project Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 Creating or Opening an Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 Viewing Session Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 Committing or Rolling Back Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 Copying, Cutting, or Pasting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 Printing and Previewing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 Closing a Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16 Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16

Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Choosing Toolbars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Database Diagram Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Entity Relationship Diagram Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Hierarchy Objects Toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Hierarchy Operations Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Matrix Toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Process Dependency Diagram Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5

Project Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 Standard Toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 State Transition Diagram Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Text Editor Bookmarks Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Text Editor Tools Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 Window Layout Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 Window Objects Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 Window Flow Diagram Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9

Workbench Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1


General Workbench Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Hierarchy Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Preparation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 Preparation: General Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Preparation: Application Server Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Preparation: No Project Open Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Preparation: Function Prepare Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Remote Preparation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 Report Painter Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 Set Builder Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 TurboCycler Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 Window Painter Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 Recalculating Field Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Text Editor Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Drawing Tools Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Engineering Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 HTML Editor Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20 Using an HTML Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21 Template HTML Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 Export/Import Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 Temporary HTML Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 Matrix Builder Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23

Hierarchy Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1


Hierarchy Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Parts of a Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2

ii

Building a Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 Navigating the Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Hierarchy Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Project Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Repository Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 Copying an Object from the Repository Tab to the Project Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Displaying an Objects Parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Inverted Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Displaying an Objects Children . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Hierarchy Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 General Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17 Audit Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17 Remote Audit Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18 Text Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19 Keyword Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20 Keywords for an Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20 Relationship Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 General Tab for Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22 Audit Tab for Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23 Remote Audit Tab for Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24 Text Tab for Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25 Customizable ToolTips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25

Configuration Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1


Configuration Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Application Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Physical Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 Types of Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13

Table of Contents

iii

Adding a Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 Bitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 Adding a Bitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 Importing a Bitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17 Adding a Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17 Writing a Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18 Component Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18 File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19

Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1


Prep Status Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Prep List Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 Prepare Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 Analysis Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 Diagnostics Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 Verify Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9

Design Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1


Creating a New Drawing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 Opening an Existing Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Display Options for Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 Displaying a Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 Displaying Rulers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 Displaying Page Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 Zooming In and Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 Specifying Header or Footer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 Common Tasks with Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 Navigating to Another Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 Modifying Aspects of a Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 Showing More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 Changing Affiliation and Owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 Common Tasks with Objects in Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 Adding an Object to a Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 Adding a Note in a Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 Moving an Object in a Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 Resizing an Object in a Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 Finding an Object in a Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 Deleting an Object from the Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 Copying and Pasting an Object in a Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 Arranging Objects in a Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 Entity Relationship Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15

iv

Creating or Opening an ERD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 Inserting ERD Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16 Modifying ERD Objects and Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17 Analyzing an ERD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-21 Understanding Forward Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22 Creating Attribute Hierarchies in an ERD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23 Verifying an ERD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24 Renaming Generated Names. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24 Understanding Relationship Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26 Viewing the Forward Engineering Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30 Handling Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31 Trace Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-32 Database Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-33 Creating or Opening a Database Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-33 Inserting Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-33 Creating Attribute Hierarchies in a DBD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34 Denormalizing a Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34 Process Dependency Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-36 Creating or Opening the Process Dependency Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-36 Inserting Objects into the Process Dependency Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-37 State Transition Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-37 Creating or Opening the State Transition Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-37 Inserting Objects into the State Transition Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38 Window Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38 Creating or Opening the Window Flow Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38 Inserting Objects into the Window Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-39

Construction Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1


Rule Painter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 Creating a Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Editing an Existing Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 Inserting Object Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Inserting Reserved Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 Using a Macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 Using Text Editor Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 Using the Mapping Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11 Using the SQL Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 Verifying Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 Component Painter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 Quick Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 Named Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 Component Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 Bitmap Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 Creating a Bitmap Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 Viewing a Bitmap Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 Exporting and Importing a Bitmap Image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 Set Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23 Creating a Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23

Table of Contents

Using Set Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 Matrix Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 Creating or Opening a Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 Creating and Editing a Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26 Labeling Rows or Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26 Moving Rows or Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Removing Rows or Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Viewing Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Window Painter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27

Window Painter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1


Managing Window Painter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Opening and Closing Window Painter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Understanding the Window Painter Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 Using Window Painter Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4 Using Window Painter Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 Setting Window Painter Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6 Setting Font Mappings at Execution Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6 Managing a Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7 Creating a Window from Scratch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 Creating a Window Template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 Creating a Window from a Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 Modifying a Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 Previewing a Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10 Previewing or Deleting a Window Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10 Generating HTML from Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11 Checking a Window for Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11 Specifying Window Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11 Defining Short Help (Tooltip) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 Defining Online Help (F1 Help) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 Managing Tabbing of Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 Displaying and Setting Tab Order of Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15 Managing Window Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16 Adding an Object to a Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17 Dragging and Dropping an Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17 Viewing and Modifying Window Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18 Understanding Common Window Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19 Formatting a Window Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21 Resizing a Window Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-25 Locking a Window Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-26 Aligning Window Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-26 Distributing Window Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28 Placing and Moving a Window Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28 Copying a Window Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-29 Removing a Window Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-29 Implementing Standard Menu Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-30 Adding or Modifying an Object in the Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-31 Bitmap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-32 Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33 Using the Chart Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-34

vi

Check Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-35 Combo Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-37 Edit Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-38 Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-40 Group Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-41 Hot Spot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-42 List Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-42 Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-44 Using the Menu Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-44 Multicolumn List Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-46 Using the MCLB Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-48 Multiline Edit Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-51 Push Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-52 Radio Button. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-54 Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56 Static Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57 Using 3270 Window Painter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-58 Opening a 3270 Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-58 Working with the Background Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-59 Understanding Color and Font Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-59 Understanding Support for Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-60 Using the Function Key Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-65

10 HTML Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1


Working with HTML Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Choosing the HTML Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3 Generating and Viewing HTML from Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3 Modifying and Regenerating HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 Updating HTML Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 Handling Changes to HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10 Importing and Exporting HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 Deleting an HTML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 Understanding Execution Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 Using Additional HTML Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15

ERD Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-1


Building Attribute Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-1 Forward Engineering an ERD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-4 Doing Trace Analysis on an ERD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-5

Edit and Display Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1


Edit Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1 Alphanumeric Edit Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1

Table of Contents

vii

Date and Time Edit Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3 Display Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4 Numeric Display Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4

Font Mapping at Execution Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1 Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


i

viii

CHAPTER

WORKBENCH OVERVIEW

AppBuilder 2.1.0 Development Tools Reference Guide

The AppBuilder Construction Workbench is where you actually build your application. The Workbench provides easy access to a full set of tools to design, prepare, execute, and debug your application. From the AppBuilder Construction Workbench, you have the ability to do the following tasks: Display, access, and modify application objects from a repository Design tools to create high-level representations of the design of an application Display tools to create the user interface and the high-level code Create the pseudo-code and any components Build the application on target platforms See the results of operations from analysis to verification to preparation Launch the application and launch the debuggers Use scripting tools to speed application development The AppBuilder Construction Workbench is an integrated development environment with the following parts. Each of these items is discussed in this guide: Construction Workbench Interface Standard File Operations Dragging and Dropping Hierarchy Window Output Window Workbench Options Design Tools Construction Tools HTML Generation

AppBuilder 2.1.0 Development Tools Reference Guide

1-1

Construction Workbench Interface

Construction Workbench Interface


The Construction Workbench interface (as shown in Figure 1-1) is divided into the following areas: Menu Bar Provides access to AppBuilder commands through the menu as well as the keyboard Shortcuts Toolbars Includes collection of buttons that provide quick access to tools, commands, and objects, and changes when you change focus from one tool to another Hierarchy Window Contains tabs to build a project hierarchy and deployment configuration, and provides an area to store and query objects from the repository and display an objects parents Work Area Provides an area for the specific AppBuilder tools (for example, Rule Painter, drawing tools, etc.) to open a window in which you can do work Output Window Contains tabs to monitor the outputs of preparation, analysis, verification, etc. Status Bar Displays information about the current preparation mode, help for each tool, and other information.
Figure 1-1 Menu bar AppBuilder Construction Workbench

Toolbar(s)

Hierarchy Window

Work area (with Window Painter window open)

Output (Status) Window

Panel layout window

Status bar

Menu Bar
The Construction Workbench menu bar provides access to commands and functions. The menu bar is dynamic the menu options change depending on which tool or window has focus.

1-2

Workbench Overview

Construction Workbench Interface

Figure 1-2 Menu bar

AppBuilder Construction Workbench menu bar

Many of the menu options are also available by right-clicking on an object or in a window. For example, right-clicking in a Window Painter window displays a pop-up menu that contains many of the same options that are available from the Construction Workbench menu.
Figure 1-3 Sample right-click menu

Toolbars
AppBuilder provides various toolbars to make your development tasks just a click away. The list of toolbars that are available depend on what you are doing in AppBuilder, in other words, which windows are active. To display a list of available toolbars, select View > Toolbars or right-click in the toolbar area of the Construction Workbench. Then select or de-select a toolbar to display it or hide it on the Workbench. AppBuilder provides various toolbars. For a description of the different toolbars, refer to Chapter 2, Toolbars.

Hierarchy Window
The Hierarchy Window is a graphical representation of your application hierarchy. Typically the Hierarchy Window is on the left side of the Construction Workbench. Use this window to display and interact with the applications objects in the repository. For detailed information on the Hierarchy Window, refer to Chapter 4, Hierarchy Window.

AppBuilder 2.1.0 Development Tools Reference Guide

1-3

Construction Workbench Interface

Work Area
The Work Area is where the Construction Workbench tools (Window Painter, Rule Painter, Entity Relationship Diagram, etc.) open. Typically, the Work Area is to the right of the Construction Workbench. Each tool opens a separate window in the Work area. A tool window must be active to activate the options listed on the Windows menu. Arranging Tool Windows Docking and Floating Windows

Arranging Tool Windows


After more than one tool window is open on the Workbench, you can arrange the tool windows and select a window from the Window menu. To arrange the open tool windows, select Window > Cascade, Window > Tile Horizontal, or Window > Tile Vertical. You can also bring a specific window to the front of the others by selecting the name of the window from the Window menu. You can resize a window by moving the pointer to the edge or corner of a window; when the pointer changes to a resize arrow, click and drag to the desired location and release the mouse button. Also, refer to Docking and Floating Windows.

Docking and Floating Windows


The Hierarchy Window and the Output Window and the Properties Window in Window Painter can be docked in the Construction Workbench work area or floated. You can resize or move them around in the Construction Workbench. Right-click the gray area at the top of these windows for the pop-up menu that allows the following: Allow Docking - Check this option if you want the floating window to be locked in a docking position. To dock a floating window, drag the window to the edge of the Construction Workbench work area. A window can be docked only after the Allow Docking option is checked. You can resize a window whether it is docked or not. Hide - Check this option if you want to hide a window from your view. To display a hidden window, from the menu bar, click View and select the window name you want to display. Float In Main Window - The float option allows docked windows to be released from their docked position and moved freely around the Construction Workbench work area. A docked window can move between floating and docking simply my selecting and deselecting Float In Main Window, provided that the Allowing Docking option is checked.

Output Window
AppBuilder prepares objects in the background allowing you to continue working within the Construction Workbench. Use the Output window to monitor the preparation status. Use the tabs of the Output window to monitor the preparation process. For detailed information about the Output window, refer to Chapter 6, Output Window.

1-4

Workbench Overview

Dragging and Dropping

Status Bar
The Status Bar displays the current preparation mode, help for each tool, and other information. You can also quickly toggle the By default prepare as option from Standalone to Distributed by double-clicking on the preparation mode.
Figure 1-4 AppBuilder Construction Workbench status bar

Status bar

Dragging and Dropping


In specific tools (such as the Rule Painter and Window Painter) you can drag objects from the Hierarchy window and drop them into the work area or the specific tool window as summarized below. Use the Ctrl key to allow copying instead of moving. Dragging and Dropping to and from the Hierarchy Dragging and Dropping to the Work Area Dragging and Dropping to the Rule Painter Dragging and Dropping to the Window Painter Dragging and Dropping to the Prep Status Tab Dragging and Dropping to the Prep List Tab

Dragging and Dropping to and from the Hierarchy


Objects from the Prep Status tab can be dropped in the Repository or Inverted tabs and are placed under the selected item when dropping. Relationships are created in the same fashion as an Insert. Within the Hierarchy window, you can also drag and drop from one level in the application hierarchy to another level.

Dragging and Dropping to the Work Area


You can drag and drop some objects from the Hierarchy window to the work area as a shortcut to opening or copying the objects. For objects that have tools, if you drag and drop an object from the Hierarchy window into the work area, the appropriate tool automatically opens for that object. For multiple selections, if you think too many tools are being loaded, press the Esc key to stop the loading process. Not all windows have the drag and drop functionality. Objects cannot be selected from within the tools in the work area. If dragging and dropping is not allowed, the cursor changes to the standard not-allowed cursor, which is the circle with a slash through it.

AppBuilder 2.1.0 Development Tools Reference Guide

1-5

Dragging and Dropping

Dragging and Dropping to the Rule Painter


Views and fields may be dragged from the Hierarchy window or Prep Status tab and dropped into the Rule Painter. Doing so displays the object name in the text editor using either the dot notation or the standard notation based on the setting in the Text Editor Options of the Workbench Options window. This is not scoped to views that are within the rules domain. Objects cannot be selected from within the Rule Painter in the work area. Read more about Rule Painter under Rule Painter, Chapter 8, Construction Tools.

Dragging and Dropping to the Window Painter


Several types of objects may be dropped into the Window Painter from the Hierarchy window. One way to insert an object into a window is to drag and drop it from the application hierarchy in the Hierarchy window to the Window Painter window. For example you can drag a Field object, with View for a parent in the hierarchy, into the window and it becomes an edit field that is linked to that view. Read more about Window Painter in Chapter 9, Window Painter.

Dragging and Dropping to the Prep Status Tab


You can submit an object for prepare by dragging the object from the Hierarchy window to the Prep Status tab of the Output window, the preparable objects are added to the Prep Status tab and submitted for prepare. The same configuration rules apply as when doing a prepare from the Build menu that is, stand-alone versus distributed or Project tab versus Configuration tab. Non-preparable objects cannot be dragged into the Prep Status tab for prepare. For example, you cannot drag an ENTITY object from the Hierarchy window to the Prep Status tab. For more information on the Output window, refer to Prep Status Tab in Chapter 6, Output Window. For more information on preparing an object, refer to the Deploying Applications Guide. Object names in the Prep Status tab can be selected, dragged, and dropped into other tool windows, such as the Rule Painter. Objects from the Prep Status tab can be dropped in the Repository or Inverted tabs and are placed under the selected item when dropping. Relationships are created in the same manner as with an insert of an object.

Dragging and Dropping to the Prep List Tab


When you drag an object from the Hierarchy to the Prep List tab of the Output window, the preparable objects are added to the Prep List window. The same configuration rules apply as when doing a prepare from the Build menu that is, stand-alone versus distributed or Project tab versus Configuration tab. Non-preparable objects cannot be dragged into the Prep List tab for prepare. Since the Prep List tab does not allow duplicates, a new entry is not created if the same job already exists in Prep List. For more information on the Output window, refer to Prep List Tab in Chapter 6, Output Window. For more information on preparing object, refer to the Deploying Applications Guide.

1-6

Workbench Overview

Standard File Operations

Standard File Operations


The following operations can be preformed from either the standard toolbar or from the File menu regardless of the Workbench tool you are using: Creating a New Project in AppBuilder Opening an Existing Project Specifying Project Options Creating or Opening an Object Viewing Session Properties Committing or Rolling Back Changes Copying, Cutting, or Pasting Printing and Previewing Closing a Project Getting Help Use the toolbar or the menus (shown in Figure 1-5) to quickly perform standard desktop functions.
Figure 1-5 Standard toolbar and File menu

Create new object

Commit (save)

Cut

Paste

Print preview

Open object

Rollback changes

Copy

Print

Online help

Creating a New Project in AppBuilder


In an AppBuilder application, the project contains the business function and associated configuration. The project is the highest level of the application hierarchy. (The function object is explained more in Function; the application configuration is explained more in Application Configuration.) To create a new project:

AppBuilder 2.1.0 Development Tools Reference Guide

1-7

Standard File Operations

1.

Select File > New Project from the Construction Workbench menu. The Create New Project window appears, as in Figure 1-6.
Create New Project window

Figure 1-6

2. 3.

Use Table 1-1 to modify the project options: Enter the necessary information and click OK to accept the changes.

If there is not a project open, the options for a project default to the values specified on the Preparation Tab of the Workbench Options window. To see these default settings, click Tools > Workbench Options > Preparation, and refer to the options listed under If no project is open, use these options: section of the Preparation tab. Project options for a currently open project are found under File > Project Options. AppBuilder automatically adds a Function as a child of the project in the hierarchy.
Table 1-1 Create New Project window fields and descriptions Description Name of the project with a unique name that is not already in the repository. Specify if the application runs in a Java or Windows environment. This tells the system for which environment to prepare the rules and application. Field or check box Project Name

Standalone application

If a connection to a database or server is required for the application: Database type Database name Username Password Rules that run on a mainframe are prepared locally on your PC if this is checked. When not checked, the application only checks syntax and does not prepare mainframe rules. Specify whether or not the application uses a database local to this machine.

Include mainframe rules? Use local database

1-8

Workbench Overview

Standard File Operations

Opening an Existing Project


To open an existing project: 1. 2. 3. Select File > Open Project, or click the Open Project button Project window appears. Click Query to display a list of projects in the repository. Select the project to open and click Open.
If a project has been imported from another repository the project options need to be reset. Project Options for open projects are found under File > Project Options. If there is not a project open, the Project Options are taken from the settings under Tools > Workbench Options > Preparation, and refer to the options listed under If no project is open, use these options: section of the Preparation tab.

in the Project toolbar. The Open

Note

Tip

AppBuilder remembers the most recent projects. Select from the list in File > Recent Projects to open a recently used project.

Specifying Project Options


To specify project options: 1. Click on the Project Options button appears (as in Figure 1-7). You can also specify project options by: Selecting File > Project Options from the Construction Workbench menu. Right-clicking the project object in the Project Hierarchy window and selecting Project Options from the pop-up menu. Right-clicking the project object in the Configuration Hierarchy window and selecting Project Options from the pop-up menu. in the Project toolbar. The Project Options window

Note

If there is not a project open, the Project Options menu item is greyed out, and the preparation options are taken from Tools > Workbench Options > Preparation.

AppBuilder 2.1.0 Development Tools Reference Guide

1-9

Standard File Operations

Figure 1-7

Project Options window

2.

Use this table to modify the project options:


Project Options window fields Description Specify if this is Standalone or Distributed application Specify if the application runs in a Java or Windows environment and provide the necessary database information. These fields apply only if By default prepare as = Standalone. Select the default configuration and partitions to use when preparing the application. These fields apply only if By default prepare as = Distributed.

Table 1-2 Option

By default prepare as Standalone application

Distributed application

3.

Enter the necessary information and click OK to accept the changes.

Creating or Opening an Object


Working on a particular object in the hierarchy begins with creating or opening an object. You can either: Creating a New Object Opening an Existing Object

Creating a New Object


To create a new object, select File > New. The Create New window appears.

1-10

Workbench Overview

Standard File Operations

Figure 1-8

Create New window

Table 1-3 lists the possible AppBuilder object types and where you can find specific information on each object type.
Table 1-3 Object tool summary Tool Used Bitmap Viewer Component Painter Database Diagram Entity Relationship Diagram Matrix Builder Process Dependency Diagram Report Painter and Report Writer Rule Painter Set Builder State Transition Diagram Window Painter 3270 Window Painter Window Flow Diagram Reference See Bitmap Viewer in Chapter 8, Construction Tools. See Component Painter in Chapter 8, Construction Tools. See Database Diagram in Chapter 7, Design Tools. See Entity Relationship Diagram in Chapter 7, Design Tools. See Matrix Builder in Chapter 8, Construction Tools. See Process Dependency Diagram in Chapter 7, Design Tools. Refer to Creating Reports Guide. See Rule Painter in Chapter 8, Construction Tools. See Set Builder in Chapter 8, Construction Tools. See State Transition Diagram in Chapter 7, Design Tools. See Managing a Window in Chapter 9, Window Painter. See Using 3270 Window Painter in Chapter 9, Window Painter. See Window Flow Diagram in Chapter 7, Design Tools.

Object Types Bitmap Component Database Diagram Entity Relationship Diagram Matrix Process Dependency Diagram Report Rule Set State Transition Diagram Window Window - 3270 Window Flow Diagram

Opening an Existing Object


To open an existing object: 1. 2. Select File > Open. The Open Object window appears (Figure 1-9). Select an object type from the left pane, and click Query. A list of existing objects for that type is displayed in the right pane under Query Results. Or, you can query a specific object by entering the object name in the Query Value field.

AppBuilder 2.1.0 Development Tools Reference Guide

1-11

Standard File Operations

3. 4.

From the right pane, select the object that you want to open. Click Open.
Open Repository Object window

Figure 1-9

Viewing Session Properties


To specify the project you want to work on in the current session and view version information, use the Session Properties window. To view or change your session properties: 1. From the Construction Workbench, select File > Session Properties. The Session Properties window appears (as in Figure 1-10). You can also access session properties by selecting Session > Properties from the Freeway Explorer. Read more about Freeway Explorer in the Freeway Repository Administration Guide.

1-12

Workbench Overview

Standard File Operations

Figure 1-10

Session Properties window

2.

Use this table to identify the Session Properties:


Session Properties window fields Description

Table 1-4 Option Security

User Name

System ID of the current user Name of the active project (in the repository). A project is a set of repository objects accessible only to members of authorized groups. The objects you create during the session belong to the selected project. Click on Select to choose a project.

Active Project

3.

Enter the necessary information and click Close to accept the changes for the active project.

Select Active Project in Session


From the Session Properties window, you can select which project you want to work on. 1. 2. Next to the Active Project field, click Select. In the Select active project window, select a project from the drop-down list. Click Select.

AppBuilder 2.1.0 Development Tools Reference Guide

1-13

Standard File Operations

Figure 1-11

Select Active Project window

If you select a different project to be the active project, a new session must be established to enable the active project. After making this selection, restart the Construction Workbench.

Committing or Rolling Back Changes


While working in Construction Workbench, the changes that you make to your application are saved temporarily in the repository until you either commit those changes or rollback all those changes. The actions of committing and rolling back apply to all the changes made in that session, regardless of which tool was used. When you are ready to commit your changes to the repository: select File > Commit, or press Ctrl+M, or select the commit button in the Standard toolbar.

If you need to undo a change, rollback the changes. A rollback cancels all the changes since the last commit: select File > Rollback, or select the rollback button in the Standard toolbar.

Some editing tools, such at the Rule Painter, or the design tools, such as the Entity Relationship Diagram, also save information in an associated file while you are working. When you close the tool, AppBuilder displays a confirmation dialog that asks if you want to abandon changes. Not all tools offer a confirmation. If the changes are automatically placed in the repository as with changes made from the Hierarchy window, on exit, you do not get confirmation on abandoning your changes. The dialog is shown in Figure 1-12.
Figure 1-12 Abandon changes confirmation dialog

1-14

Workbench Overview

Standard File Operations

When you exit the Construction Workbench after making changes that have not been committed, AppBuilder displays a confirmation dialog that asks if you want to commit the changes to the repository before exiting. The dialog is shown in Figure 1-13.
Figure 1-13 Commit changes confirmation dialog

Copying, Cutting, or Pasting


In many of the tools you can copy or cut objects and string values to the Windows clipboard, either for pasting in the same tool, another Workbench tool, or in other applications. For example, you can copy and paste objects from one hierarchy tab to another or from one place in a tab to another place in that tab. As another example, from the Rule Painter, you can select source code and copy it for pasting into another Rule Painter window or into an e-mail to a co-worker. In the Design Tools, like the Entity Relationship Diagram for example, you can copy objects in the diagram and paste them into other places on the same diagram or paste them to another diagram. To remove an object from a hierarchy, refer to Removing Objects from a Hierarchy and Removing Relationships Between Objects in Chapter 4, Hierarchy Window. Unless noted otherwise, the Copy, Cut, and Paste choices in the Construction Workbench operate as you would expect in any Microsoft Windows application.

Printing and Previewing


In many of the tools you can print what appears in the window of that tool. When printing is possible, previewing what is to be printed is also possible. To print, click File > Print or click the Print icon on the toolbar. The standard Windows Print dialog appears. To preview, click File > Print Preview. The printout appears on the screen with options for you to zoom in or out, print, or close the preview screen. To to select the printer and the printer settings, click File > Print Setup. The standard Windows Print Setup window appears. In some of the tools, the page header contains the name of the object and the page footer contains the page number. Different tools have different headers and footers. Use Print Preview to see what is printed before you send the page to a printer. Unless specifically noted otherwise, the Print, Print Preview, and Print Setup choices in the Construction Workbench operate as you would expect in any Microsoft Windows application.

AppBuilder 2.1.0 Development Tools Reference Guide

1-15

Standard File Operations

Closing a Project
To close an AppBuilder project click File > Close Project.

Getting Help
From most of the tools and from the Construction Workbench itself, you can view the online help system or link to the Customer Support Web site for the latest information. From the Help pull-down menu select Contents for the online documentation. Or select one of the Web site or customer service links. The Help menu also has a link to AppBuilder Tool Tips, simply click Help > Tip of the Day...

1-16

Workbench Overview

CHAPTER

2
Table 2-1

TOOLBARS

AppBuilder 2.1.0 Development Tools Reference Guide

The AppBuilder Construction Workbench user interface has a set of toolbars that can save you time in selecting objects or functions. When the Construction Workbench is first opened, only the Standard and Project toolbars are displayed; but you can display and arrange any or all of the tool-specific toolbars. You can anchor toolbars anywhere in the Construction Workbench or float a toolbar to any location on your screen. To set which toolbars are displayed, refer to Choosing Toolbars. The toolbars include:
AppBuilder Toolbars

Database Diagram Toolbar Entity Relationship Diagram Toolbar Hierarchy Objects Toolbar Hierarchy Operations Toolbar Matrix Toolbar Process Dependency Diagram Toolbar Project Toolbar

Standard Toolbar State Transition Diagram Toolbar Text Editor Tools Toolbar Text Editor Bookmarks Toolbar Window Layout Toolbar Window Objects Toolbar Window Flow Diagram Toolbar

Choosing Toolbars
The toolbars that are available, depend on which tools are being used. To display a list of available toolbars do one of the following: Right-click either on the menu bar area, or Right-click on the toolbar area, or Click View > Toolbars A pop-up menu displays the toolbars that are allowed based on the tool being accessed. If the toolbar name has a check next to it, that toolbar is available for display. If it is not checked, it is not available for display. Available for display is not the same thing as displayed. To save space on your Workbench, AppBuilder displays only the toolbars that you need at the time you need them. When you are working at the project level, the project toolbar is displayed. When you are using the Text Editor, the toolbars for Text Editor Bookmarks and Text Editor Tools are displayed. This is true provided that they are selected on the toolbar pop-up window.

AppBuilder 2.1.0 Development Tools Reference Guide

2-1

Database Diagram Toolbar

Figure 2-1

Pop-up menu of toolbars Right-click on the toolbar

Right click the menu bar

Choose from View menu

When you have the Window Painter open and in focus, only the toolbars that are relevant to Window Painter are displayed. And only a subset of all the toolbars is available in the pop-up menu. If you then click a rule in the Hierarchy window (or on some other part of the interface different from the Window Painter), another set of toolbars is displayed, depending on which toolbars are open. And another list of toolbars appears in the pop-up menu. Remember that not all these toolbars are available from all places in the Construction Workbench. Refer to Table 2-1for a complete list of AppBuilder toolbars.

Database Diagram Toolbar


Use this toolbar (shown in Figure 2-2) to create objects and relations in a database diagram (DBD). This toolbar is only available when you are using the Database Diagram tool. To access the Database Diagram tool, do the following: 1. 2. 3. Click File > New. The Create New window appears. Select Database Diagram. Click OK. The Database Diagram window appears.

Now the Database Diagram toolbar is available on the toolbar menu. When checked, the Database Diagram toolbar appears. Read more about the Database Diagram tool in Chapter 7, Design Tools. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.

2-2

Toolbars

Entity Relationship Diagram Toolbar

Figure 2-2 Select

Database Diagram toolbar Key Index Key Table Has Key Note

Table

Foreign Key

Key Refers to Table

Entity Relationship Diagram Toolbar


Use this toolbar (shown in Figure 2-3) to create objects and relations in an Entity Relationship Diagram (ERD). This toolbar is only available when you are using the Entity Relationship Diagram tool. To access the Entity Relationship Diagram tool, do the following: 1. 2. 3. Click File > New. The Create New window appears. Select Entity Relationship Diagram. Click OK. The Entity Relationship Diagram window appears.

Now the Entity Relationship Diagram toolbar is available on the toolbar menu. When checked, the Entity Relationship Diagram toolbar appears. Read more about the Entity Relationship Diagram tool in Chapter 7, Design Tools. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-3 Select Entity Relationship Diagram toolbar Business Object Cardinality relations Note

Entity

Relations

Super Type Subtype

Hierarchy Objects Toolbar


Use this toolbar (shown in Figure 2-4) to add new objects to the application hierarchy. You can also add existing objects from the repository to your project. This toolbar is only available when you are using the Hierarchy window, and specific objects on the toolbar are available only when you are at the correct level of the hierarchy to insert that object. For example, to activate the Process icon on the toolbar, you must be at the Function level in the hierarchy. To access the Hierarchy Objects toolbar, the Hierarchy window must be displayed. When the Hierarchy window is hidden, this toolbar disappears. Read more about the hierarchy objects in Chapter 4, Hierarchy Window and in Chapter 5, Configuration Hierarchy.

AppBuilder 2.1.0 Development Tools Reference Guide

2-3

Hierarchy Operations Toolbar

To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-4 Hierarchy Objects toolbar (Repository Tab)

From top left to bottom right, the icons on this toolbar are as follows:
Table 2-2 Top Row Process Window Field Value Component Entity Data Type Event Logical Process Section Application Configuration Server Data Base Key Transition Icons on the Hierarchy Objects toolbar (Repository Tab) Bottom Row Function Rule View Set Bitmap File Attribute Identifier Business Object Report Component Folder Partition Machine Table State

Hierarchy Operations Toolbar


Use this toolbar (shown in Figure 2-5) to manipulate the objects in the hierarchy. This toolbar is only available when you are using the Hierarchy window, and specific operations on the toolbar are available only when you are at the correct place in the hierarchy to perform that operation. For example, to activate the Remove From Repository icon on the toolbar, you must highlight an object that is in the repository. To access the Hierarchy -- Operations toolbar, the Hierarchy window must be displayed. When the Hierarchy window is hidden, this toolbar disappears. Read more about the hierarchy operations in Chapter 4, Hierarchy Window and in Chapter 5, Configuration Hierarchy. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.

2-4

Toolbars

Matrix Toolbar

Figure 2-5 Insert Child

Hierarchy Operations Toolbar Clear Remove Relationship Move Right

Explode to Leaf Insert Sibling Remove from Repository Move Left

Matrix Toolbar
Use this toolbar (shown in Figure 2-6) to handle zooming in and out when using the Matrix Builder. This toolbar is only available when you are using the Matrix Builder tool. To access the Matrix Builder tool, do the following: 1. 2. 3. Click File > New. The Create New window appears. Select the Matrix icon. Click OK. The List of Templates window appears. Follow the steps for building a matrix under Matrix Builder in Chapter 8, Construction Tools.

Now the Matrix Builder toolbar is available on the toolbar menu. When checked, the Matrix Builder toolbar appears. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-6 Matrix toolbar Zoom Out

Display/Hide Attributes

Zoom In

100%

Process Dependency Diagram Toolbar


Use this toolbar (shown in Figure 2-7) when working with Process Dependency Diagrams (PDD). This toolbar is only available when you are using the Process Dependency Diagram tool. To access the Process Dependency Diagram tool, do the following: 1. 2. 3. Click File > New. The Create New window appears. Select Process Dependency Diagram. Click OK. The Process Dependency Diagram window appears.

Now the Process Dependency Diagram toolbar is available on the toolbar menu. When checked, the Process Dependency Diagram toolbar appears. Read more about the Process Dependency Diagram tool in Chapter 7, Design Tools.

AppBuilder 2.1.0 Development Tools Reference Guide

2-5

Project Toolbar

To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-7 Select Process Decision Note Process Dependency Diagram toolbar

Process Trigger Event Dependency Event Trigger

Project Toolbar
Use this toolbar (shown in Figure 2-8) to open projects, specify configurations and partitions, and configure the project settings. The Project toolbar is available for display when you open the Construction Workbench. The options on this toolbar are grey until you open a specific project. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-8 Open Project Project toolbar Configurations in the Current Project Project Options

drop down list of recent projects

Partitions in the active configuration

Standard Toolbar
Use this toolbar (shown in Figure 2-9) to quickly use standard desktop functions, such as copy and paste, and also committing changes and rolling back changes to and from the repository. The Standard toolbar is available once you open Construction Workbench. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-9 New Standard toolbar Commit Cut Paste Print Preview

Open

Rollback

Copy

Print

Help Contents

2-6

Toolbars

State Transition Diagram Toolbar

State Transition Diagram Toolbar


Use this toolbar (shown in Figure 2-10) for working with a State Transition Diagram (STD) in the early stages of application design. This toolbar is only available when you are using the State Transition Diagram tool. To access the State Transition Diagram tool, do the following: 1. 2. 3. Click File > New. The Create New window appears. Select State Transition Diagram. Click OK. The State Transition Diagram window appears.

Now the State Transition Diagram toolbar is available on the toolbar menu. When checked, the State Transition Diagram toolbar appears. Read more about the State Transition Diagram in Chapter 7, Design Tools. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-10 Select State Transition Diagram toolbar Event

Note State Transition

Text Editor Bookmarks Toolbar


Use this toolbar (shown in Figure 2-11) to find text and navigate using bookmarks in a text file using the text editor. Notice that there is a field for entering a string of text to find. This toolbar is only available when you are using the Text Editor tool. To access the Text Editor tool, open and place your cursor in a window that has text, for example, editing a rule. Now the Text Editor Bookmarks toolbar is available on the toolbar menu. When checked, the Text Editor Bookmarks toolbar appears. Read more about the Text Editor Options in Chapter 3, Workbench Options. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-11 Text Editor Bookmarks toolbar Toggle Bookmark Next Bookmark Find Next Previous Bookmark Clear All Bookmarks

Text to find

Ctrl+F2, Shift+F2, F2, Ctrl+Shift+F2 are very useful shortcuts to work with bookmarks. These commands are also available from View >Bookmarks menu in the Construction Workbench.

AppBuilder 2.1.0 Development Tools Reference Guide

2-7

Text Editor Tools Toolbar

Text Editor Tools Toolbar


Use this toolbar (shown in Figure 2-12) to work with the text editor. Some of these features are used by the Rule Painter and the Component Painter. This toolbar is only available when you are using the Text Editor tool. To access the Text Editor tool, open and place your cursor in a window that has text, for example, editing a rule. Now the Text Editor Tools toolbar is available on the toolbar menu. When checked, the Text Editor Tools toolbar appears. Read more about the Text Editor Options in Chapter 3, Workbench Options. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-12 Text Editor Tools toolbar Reserved Words SQL Builder Stop Verify Play Macro

Mapping Wizard

Verify All

Record Macro

Window Layout Toolbar


Use this toolbar (shown in Figure 2-13) to align and distribute objects in a window. The Window Layout toolbar is only available when you are creating or editing a window. To access the Window Painter tool, do the following: 1. 2. 3. Click File > New. The Create New window appears. Select Window. Click OK. A blank window appears.

Now the Window Layout toolbar is available on the toolbar menu. When checked, the Window Layout toolbar appears. Read more about the Window Painter in Chapter 9, Window Painter. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-13 Window Layout toolbar Align Right Preview in Runtime Align Left Center Vertically Align Bottom

Align Top

Center Horizontally Distribute Horizontally Distribute Vertically

Align objects

Center objects

Distribute objects

2-8

Toolbars

Window Objects Toolbar

To manipulate an object from the Window Layout toolbar, select one or more objects on a window, then click a layout button in the Window Layout toolbar. In addition to using the toolbar, you can also manipulate window objects with any of the options on the Layout pull-down menu. Select the object from the window in which you are working, click Layout and select the layout action you want to perform.

Window Objects Toolbar


Use this toolbar (shown in Figure 2-14) to quickly add objects to a window when developing the interface of an application. The Window Objects toolbar is only available when you are creating or editing a window. To access the Window Painter tool, do the following: 1. 2. 3. Click File > New. The Create New window appears. Select Window. Click OK. A blank window appears.

Now the Window Objects toolbar is available on the toolbar menu. When checked, the Window Objects toolbar appears. Read more about Window Painter in Chapter 9, Window Painter. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-14 Window Objects toolbar Radio Button Multi Line Edit Check Box Push Button

Edit

MCLB Hot Spot Chart Static Text Bitmap

Select

Combo Box

List Box

Group Box

e Rectangle

Ellipse

To add an object from the Window Objects toolbar, click an object button, then click in the Window Painter window. In addition to using the toolbar, you can also add window objects by selecting the window to give it focus; then, click Insert and select the item you want to insert.

Window Flow Diagram Toolbar


Use this toolbar (shown in Figure 2-15) when designing the flow of windows for the application. This toolbar is only available when you are using the Window Flow Diagram tool. To access the Window Flow Diagram tool, do the following: 1. Click File > New. The Create New window appears.

AppBuilder 2.1.0 Development Tools Reference Guide

2-9

Window Flow Diagram Toolbar

2. 3.

Select Window Flow Diagram. Click OK. The Window Flow Diagram window appears.

Now the Window Flow Diagram toolbar is available on the toolbar menu. When checked, the Window Flow Diagram toolbar appears. Read more about the Window Flow Diagram in Chapter 7, Design Tools. To display or hide the toolbar, select it from the Toolbars menu as described in Choosing Toolbars.
Figure 2-15 Window Flow toolbar Window Process Select Terminal Note

Flow Nested Flow

Detached Flow

2-10

Toolbars

CHAPTER

3
Table 3-1

WORKBENCH OPTIONS

AppBuilder 2.1.0 Development Tools Reference Guide

Use the Workbench Options window to specify the various options for each tool in the Construction Workbench. To access these options, click Tools > Workbench Options from the Construction Workbench menu bar. The Workbench Options window appears with the following tabs:
Workbench Options window tabs

General Workbench Options Text Editor Options Preparation Options Remote Preparation Options Report Painter Options Set Builder Options TurboCycler Options

Window Painter Options Text Editor Options Drawing Tools Options Engineering Options HTML Editor Options Matrix Builder Options

This topic discusses each option. The options can be reviewed and modified in the Workbench Options window. See Figure 3-1, click on the tab at the top of the window to select that set of options. After you make changes: Click Apply to apply the changes for all the options and keep the Options window open. Click OK to apply the changes for all the options and close the Options window. Click Cancel to close the Options window without applying any changes.

AppBuilder 2.1.0 Development Tools Reference Guide

3-1

General Workbench Options

Figure 3-1

Workbench Options window (with General tab)

General Workbench Options


When you open the Workbench Options window the first tab that is displayed is the General tab. From here you can change your confirmation options and several change options. To get to the General tab of the Workbench Options window, click Tools > Workbench Options. The General tab is displayed as shown in Figure 3-2.

3-2

Workbench Options

General Workbench Options

Figure 3-2

General workbench options

Table 3-2 Option

General workbench options Description

Confirm On ... Commit changes Rollback changes Close workbench Other ... Commit on prepare Select this option if you want the system to commit the changes when it runs a prepare. Select this option if you want the system to remember which windows you had open the last time you used Construction Workbench so you can easily pick up where you left off. If this option is not selected, the Construction Workbench opens with the default (hierarchy and status window) and no additional tools windows are opened. Select this option if you want the system to provide confirmation before committing changes to the repository. Select this option if you want the system to provide confirmation before rolling back changes to the repository. Select this option if you want the system to provide confirmation before closing AppBuilder.

Restore windows

Name Changes ... Allow longname changes Allow implementation name changes Java Execution Client ... JVM: Specify the Java Virtual Machine for the Java execution client Select to allow the Implementation field of the Properties window for any object to be displayed and editable, otherwise it is grayed out and not editable. (This can be used late in the development cycle you do not want the name of an entity to change.) Select to allow the Implementation field of the Properties window for any object to be displayed and editable, otherwise it is grayed out and not editable (This is used when, for example, late in the development cycle you do not want the name of an entity to change.)

AppBuilder 2.1.0 Development Tools Reference Guide

3-3

Hierarchy Options

Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

Hierarchy Options
These options are associated with the Hierarchy window in the Construction Workbench. To get to the Hierarchy tab of the Workbench Options window, click Tools > Workbench Options> Hierarchy. The Hierarchy tab is displayed as shown in Figure 3-3. Read more about the Hierarchy window in Chapter 4, Hierarchy Window.
Figure 3-3 Hierarchy window options

Table 3-3 Option

Hierarchy window options Description Select this option to have AppBuilder prompt for confirmation when you: Delete relationships between repository objects Delete repository objects Sequence clashes To make sure you want the user to confirm deletion of repository objects, since these objects may be important, you may have the user type in the word YES in addition to clicking OK in a window. When the hierarchy sees a sequence clash, you can ask the user if renumbering is OK by asking if the user wants to resequence. Select this option to specify the default when objects are inserted: Child or Sibling. Select this option to specify if object names are displayed in UPPER CASE, lower case, or Mixed Case. You can also specify if names are displayed with underscores and if the system displays the appropriate object icon next to the object name.

Confirm

By default, insert objects as Display Options

3-4

Workbench Options

Preparation Options

Table 3-3 Option

Hierarchy window options Description Specify the default action when you double-click an object in a hierarchy: Open associated tool (if any) Show object properties Show relationship properties Expand or collapse object

Double-click action

Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

Preparation Options
These options are associated with the AppBuilder Prepare function. To get to the Preparation tab of the Workbench Options window, click Tools > Workbench Options> Preparation. The Preparation tab is displayed as shown in Figure 3-4. AppBuilder allows you to specify the following options during preparation: Extent of debugging Type of function object Local database Default settings for standalone application Application server (Web server) Read more about the AppBuilder Preparation function in the Deploying Applications Guide.

AppBuilder 2.1.0 Development Tools Reference Guide

3-5

Preparation Options

Figure 3-4

Preparation options

The options include: Preparation: General Settings Preparation: Application Server Setting Preparation: No Project Open Settings Preparation: Function Prepare Settings

Preparation: General Settings


The settings that relate to preparation of a rule are check boxes in the General area at the top of the Preparation Options tab. These are summarized in Table 3-4.
Table 3-4 Preparation tools general options Description For rule preparation, select this option to save the rules source code so that the tool RuleView can use it. (For more information about debugging, refer to Deploying Applications Guide.) For function preparation, select this option to prepare the rules beneath the function (in the hierarchy) for debugging and to add breakpoints as it compiles the rules. Select this option while preparing to a Java thick client as Java execution client loads *.asc file in debug directory.

Option (check box)

Rule debug

3-6

Workbench Options

Preparation Options

Table 3-4

Preparation tools general options Description Select this option to suppress the regeneration of bind files. This allows you to save time when preparing if you have not altered a rules relationships with other objects or views, for example, when you fix a syntax error. If a blind file does not exist, preparing with this option checked generates a new bind file. Select this option to automatically delete successful preparation jobs. Successful jobs are cleared from the Prep Status tab. The advantage of displaying only the unsuccessful jobs is that you know immediately what needs to be fixed. Select this option to have AppBuilder scan the rule code for syntax errors without performing subsequent steps. Select this option to have AppBuilder save intermediate files for debugging. These files are created for steps internal to preparation. Select this option to have AppBuilder not prepare the selected job but simply add it to the preparation work list (in the Prep List tab of the Output window). Then all the jobs in the work list can be prepared at once from the Output window.

Option (check box)

Use existing bind file

Delete successful jobs

Syntax check only Save intermediate files

Submit to prep list only

Preparation: Application Server Setting


Select the application server if you are deploying a Java application to an application server. The choices include: WebSphere (based on the WebSphere 3.5 standard) WebSphere40 (based on the WebSphere 4.0 standard) WebLogic (based on BEA WebLogic) Tomcat (based on Apache Tomcat)

Preparation: No Project Open Settings


The settings in this area only apply if a project is not currently open. If a project is open, the Project options settings apply. Access those settings by right-clicking the Project and selecting Project options.
Table 3-5 Option Java application or Windows application Database name, Database type, User name and password Preparation tools: No Project Open Settings Description Select whether the implementation is for Java or Windows.

If you are using a database, enter the information here. Select this option if you want AppBuilder to use the database specified in the Database Name field for rules or other objects of a function that access a workstation database. The Database Name field is located in the Default Settings area of this window.

Use local database

AppBuilder 2.1.0 Development Tools Reference Guide

3-7

Preparation Options

Table 3-5 Option

Preparation tools: No Project Open Settings Description Select this option when using an existing application that contains rules that execute on a mainframe and you want to prepare the entire application locally to test the business logic. This allows you to prepare the application including the rules that usually go to the mainframe. There are exceptions, for example, a rule that references a database on the mainframe can not be prepared. If you un-select this box, the system only checks the syntax of the rules (and provides warnings) but does not prepare the rules. To prevent the preparation and verification of the mainframe rules, do one of the following: If you are using a project and do not want to include mainframe rules in your local preparation, from the Project Options window, deselect this option. (Right-click on the project in the Hierarchy window and select Project Options.) In addition, in your HPS.INI, set the flag

Include mainframe rules

SKP_MF_RULE_CHECK=Y.
If you are not using a project and do not want to include mainframe rules in your local preparation, on the Workbench Options window, Preparation tab, deselect this option. (Click Tools > Workbench Options > Preparation.) In addition, in your HPS.INI, set the flag SKP_MF_RULE_CHECK=Y.

Preparation: Function Prepare Settings


You can only select one of these options described in Table 3-6.
Table 3-6 Option Application type Create Menu Preparation tools function prepare options Description Select whether the implementation is for Java or Windows. This option specifies that a pull-down menu item (rather than a shortcut and Start menu item) is created for the latest prepared function. In execution mode, the menu is available. The application executes the same way, regardless of how it is started. This option specifies that a pull-down menu choice is displayed in execution mode not only for the latest prepared function, but for every function previously prepared on this machine that are available. If selected, the generated menu includes all the available prepared functions; it appends all functions previously prepared on this machine to the menu, not just the latest . Menu choices are displayed in the order that their corresponding functions are prepared. If not selected, the generated menu (if the Create Menu option is selected) only includes the most recently prepared function, and the others are not displayed. If selected again, they are added back. This option specifies that a shortcut and a Start menu item (rather than a pull-down menu item) is created for the function being prepared. In execution mode, the Start menu item is available. The application executes the same way, regardless of how it is started. (This option is only supported for Windows applications, not for Java.) This option specifies a top menu caption. Default is MENU.

Append functions on menu

Create desktop objects

Top menu caption

Under Function prepare, when you select the Application type as either Java or Windows the settings under that list box are associated with the chosen application type. The default options for the three radio buttons are the same for Java and Windows. That is why the Apply button does not get enabled if you only change the Application type. If you have different settings for Java and Windows, the radio buttons show your choice when you switch between Java and Windows.

3-8

Workbench Options

Preparation Options

These Preparation: Function Prepare Settings are independent of the Preparation: No Project Open Settings, which specify default options in case no project is opened. These Function prepare options determine the result at execution time. Click Conditionals to add variable value conditionals to the preparation process. The Conditional Compilation window (shown in Figure 3-5) appears. The compilation conditionals can be added, edited, or deleted from the Conditional Compilation window. For more information about using conditionals, refer to Using Conditional Macros in the Rules Language Reference Guide. To add a condition: 1. 2. Click New and type in the name of a variable and its value. Click OK.

To change the value or the name of a variable: 1. 2. 3. Select the variable and click Edit. In the Edit window, change the variable name or the value or both. Click OK.

To remove a variable: 1. 2. Select the variable from the list. Click Delete.
Conditional Compilation window

Figure 3-5

Click OK to apply the changes and close this window. In the Preparation tab, click Reset Defaults to change all the values in the fields back to the original default settings. Components in C language require header files.

AppBuilder 2.1.0 Development Tools Reference Guide

3-9

Remote Preparation Options

Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

Remote Preparation Options


AppBuilder allows you to specify the options for remote preparation including relevant information about: Local machine Remote machines To get to the Remote Preparation tab of the Workbench Options window, click Tools > Workbench Options> Remote Preparation. The Remote Preparation tab is displayed as shown in Figure 3-6. Read more about performing preparation in the Deploying Applications Guide.
Figure 3-6 Remote Preparation options

Add a machine to the list. Remove a machine from the list.

For each (remote) machine, specify various other parameters that depend on the machine and platform.

In the Local area, enter the local machine name and the name of the results server. In the Remote area, you can add several remote machine names to the list and specify different server names and user identifiers. To specify a remote machine: 1. 2. Click the Add button (above the Machines list box) and type in a name for the remote machine.

Enter a remote preparation server name and user identifier for logging in to that remote server.

Follow this procedure for each remote machine to which you prepare part of the application. If you need to remove any machine from the list, select the name in the list and click the Delete button . If the machine name list is left blank or if the machine you are preparing to is not in the list, the system uses ne20 and no user identifier. If the machine name is specified, the system uses the remote preparation server name and the user identifier corresponding with that machine.

3-10

Workbench Options

Report Painter Options

Specify the remote machines platform in the Platform list box. Depending on the platform you select, the list of parameters changes. See Table 3-7 for the parameters for each platform.

Table 3-7 Platform

Parameters for each machine platform Parameters Preparation server User ID Password Repository Version Code page

Mainframe

Windows Unix OS/2 OS/400

Preparation server Preparation server User ID Preparation server Preparation server User ID

Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

Report Painter Options


Use the Report Painter tab to specify options that apply to the use of Report Painter. To get to the Report Painter tab of the Workbench Options window, click Tools > Workbench Options> Report Painter. The Report Painter tab is displayed as shown in Figure 3-7. Read more about Report Painter in the Creating Reports Guide.
Figure 3-7 Report Painter tab

AppBuilder 2.1.0 Development Tools Reference Guide

3-11

Set Builder Options

Table 3-8 Option

Report Painter tab options summary Description Specify whether to set the section width automatically. Specify whether to set the section repetition automatically Select the objects to which the color choice applies: Field color Label color Page number color Then select the color by clicking Change and selecting a color from the Color drop-down as shown in Figure 3-7. Set the scale of the display of the report in the Report Painter window. Valid choices are integer values from 20% to 250%. Section type of labels: Long Literal Short Literal Name Short Name None

Automate section width Automate section repetition

Color configuration

Scale

Labels

Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

Set Builder Options


These are the options for the Set Builder tool. To get to the Set Builder tab of the Workbench Options window, click Tools > Workbench Options> Set Builder. The Set Builder tab is displayed as shown in Figure 3-8. Read more about Set Builder in Chapter 8, Construction Tools.
Figure 3-8 Set Builder options

3-12

Workbench Options

TurboCycler Options

Table 3-9 Option

Set Builder options summary Description Specify if AppBuilder prompts for confirmation when you Delete set symbols Specify if AppBuilder prompts for confirmation when you Delete sets Specify the font for Set Builder

Confirm symbol delete Confirm set delete Select font

To view or modify the font used in Set Builder, click Select Font. In the Font window, select the font, style, and script. View a sample of the font in the Sample area. Click OK when done. Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

TurboCycler Options
These are options for the TurboCycler scripting tool. To get to the TurboCycler tab of the Workbench Options window, click Tools > Workbench Options> TurboCycler. The TurboCycler tab is displayed as shown in Figure 3-9. Read more about TurboCycler in the Scripting Tools Reference Guide.
Figure 3-9 TurboCycler options

Table 3-10 TurboCycler options summary Option Template Turbo.INI Description Specify the location (full directory path) of the TurboCycler templates. Specify the location (full directory path) of the TURBO.INI file.

AppBuilder 2.1.0 Development Tools Reference Guide

3-13

Window Painter Options

Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

Window Painter Options


These are options for the Window Painter tool. To get to the Window Painter tab of the Workbench Options window, click Tools > Workbench Options> Window Painter. The Window Painter tab is displayed as shown in Figure 3-10. Read more about Window Painter in Chapter 9, Window Painter.
Figure 3-10 Window Painter options

Table 3-11 Window Painter options summary Option Named Values Description Select Windows, Java, or OS/2 Define named colors for specific environments here. The defined named colors are specific to the environment in which they were defined; therefore, defining a specific named color in Windows means it is only defined in a Windows environment, and not in a Java or an OS/2 environment. This allows the colors with the same name to be used with different color definitions in different environments. You can add, delete, move up, or move down the items in the list using the buttons on the top of that list. To define a new color: 1. Click the insert button, 2. Click the .... The Color window appears. 3. Select the color properties and click OK. Select this option to have the system automatically recalculate field size when the object size is changed while Window Painter is closed. Resizing is also dependent on the Form Fit property, which determines whether the object size is based on the length of the data in the field. Refer to Recalculating Field Size for a more detailed explanation. Select this option to specify if links are fully qualified. Select this option to specify the default label (Long, Short, or None) used for fields.

Colors

Recalculate field sizes

Fully-qualified links Field Labels

3-14

Workbench Options

Text Editor Options

Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

Recalculating Field Size


Recalculate field sizes tells Window Painter to recalculate the width and height of edit fields if the field size has changed since the window was last opened. In other words, if Window Painter is closed when you modify a field size, when you open Window Painter, it resizes the field based on the length of the data. The Recalculate field sizes option discussed here is associated with the Resize and Form Fit field properties discussed in Chapter 9, Window Painter. For Recalculate field sizes to work, the Form Fit property must be set to True and the Resize property must be set to False. The reason Resize must be set to False is that Resize is for manual resizing of a specific field, and it takes priority over Recalculate field sizes. So, once you set Resize to True, the system does not recalculate the size of that specific field. Read more about the Resize and Form Fit properties in Chapter 9, Window Painter. If Recalculate field sizes is unchecked, the width and height of the edit field in the panel file is retained in the window regardless of changes made outside of Window Painter. Window Painter shows the object with the same field size and does not recalculate it regardless of the Resize or Form Fit property values. The default for Recalculate Field Sizes is to have it checked. Otherwise, when the Form Fit property is True, the field in Window Painter might have a wrong width with respect to the data object within it.

Text Editor Options


These options control the text editor called from the Construction Workbench in the work area. To get to the Text Editor tab of the Workbench Options window, click Tools > Workbench Options> Text Editor. The Window Painter tab is displayed as shown in Figure 3-11. Read more about the text editor inRule Painter and Component Painter in Chapter 8, Construction Tools.

AppBuilder 2.1.0 Development Tools Reference Guide

3-15

Text Editor Options

Figure 3-11

Text Editor options

Table 3-12 Text Editor options summary Option Description Select the file type before setting any of the other options. Choose from among a list that includes: Rules C VBScript Java COBOL PL/1 Assembler Keep tabs or not; insert spaces or not. Converts tab to the number of spaces specified in Size. Saves tab as a tab character. Select the number of spaces that a tab becomes. (The default is four spaces.) Specifies if the Rule Painter maintains the indentation for each line. Specifies if the white space is shown. Specifies if objects appear in dot notation when inserted or drag-and-dropped . Specifies if the zones (columns) in COBOL are shown. Specifies whether AppBuilder automatically adds a line return if there are more than 72 characters on a line. You can specify this for mainframe Rules only or all Rules. You can specify whether to ask before wrapping. Specifies the foreground or background color (or both) for various elements from a list.

File type

Tabs Insert spaces Keep tabs Size Auto indent Show whitespace Prefer dot-notation Show cobol zones Wrap Rules on commit

Colors

3-16

Workbench Options

Drawing Tools Options

Table 3-12 Text Editor options summary Option Sample Description Select a font by clicking Select Font and viewing the results in the Sample area.

Click Apply to apply changes but leave the window open; click OK to accept changes and close the window.

Drawing Tools Options


These options specify default choices for the design tools that create and modify diagrams (drawings). To get to the Drawing Tools tab of the Workbench Options window, click Tools > Workbench Options> Drawing Tools. The Drawing Tools tab is displayed as shown in Figure 3-12. Read more about the design tools in Chapter 7, Design Tools.
Figure 3-12 Drawing Tools options

Table 3-13 Drawing Tools options summary Option Auto formatting Description Select this option to specify that the system creates lines using as few segments as possible, regardless of how many segments you draw with the mouse. Select this option to specify that the system draws lines in individual segments, rather than in an automatic single line. Select this option to specify that the system automatically aligns objects to the grid. Select this option to specify that the system automatically resizes objects to display all details. Select this option to specify that the notes are shown with a thin border.

Orthogonal lines Grid alignment Auto size Show note borders

AppBuilder 2.1.0 Development Tools Reference Guide

3-17

Engineering Options

Table 3-13 Drawing Tools options summary Option Confirm on Sample and Select Font Description Select this option to specify that the system prompts for confirmation when you Delete, Use, or Create an object. Select this option to specify the font the system uses in diagrams.

Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

Engineering Options
These options specify default choices for the engineering tools. To get to the Engineering tab of the Workbench Options window, click Tools > Workbench Options> Engineering. The Engineering tab is displayed as shown in Figure 3-13. Read more about engineering tools in Chapter 7, Design Tools. By default, the transformation process uses the implementation name for the entities it converts. Use the File Generation Method field to specify if the generation method uses long names instead of implementation names.

Note

If you specify that transformation uses long names instead of implementation names, you can not perform view-to-view mapping.

Develop a database schema that promotes view-to-view mapping by renaming each object when you create it. To create custom names for generated objects, select the Query user option on the Engineering tab.
Figure 3-13 Engineering options

3-18

Workbench Options

Engineering Options

Table 3-14 Engineering options summary Option Description Determines the suffix that you want to assign to certain objects that forward engineering creates. Enter a value for each of these types of suffix: Primary_Key_Suffix Foreign_Key_Suffix Index_Key_Suffix Data_View_Suffix Specify default attributes for data types. You can modify the default value here or modify values for a specific data type in the data type Properties window. See Creating Attribute Hierarchies in a DBD in Chapter 7, Design Tools. Select either the Long name or the Implementation name. The long name is the name used in the database diagram. The implementation name is a name you provide according to naming conventions for your project. The forward engineering process gives new objects system-created names based on the name of the original entity.To create custom names for generated objects, select this check box. If this box is checked, the system verifies the referential integrity of the database. Select the action to do with duplicate text and keywords: Copy, Overwrite, and Dont Copy.

Suffix

Column

File generation method

Query user Referential Integrity Text and keywords

The Primary_Key_Suffix, Foreign_Key_Suffix, Index_Key_Suffix, and Data_View_Suffix determine what prefix or suffix you want to assign certain objects that forward engineering creates. You can also change the Default_Column_Type, Default_Column_Length, and Default_Column_Scale settings. Set the various suffixes in the Suffix area. Set the column options in the Column area. Select the file generation method from the File generation method list, either the long name or the implementation name. Select the action to do with duplicate text and keywords, either copy, overwrite, or do not copy, from the Text and keywords list. The Query user option causes the system to display the Forward Engineering Name Modification window (as in Figure 3-14) when forward engineering creates each new object. You can specify a prefix or suffix to be used with the object name when forward engineering creates new objects, as well as a default column type for any attribute that does not have a data type.

AppBuilder 2.1.0 Development Tools Reference Guide

3-19

HTML Editor Options

Figure 3-14

Changing generated names

To stop displaying the window that is displayed for renaming the objects and resume automatic object naming, click Defaults. Selecting the Defaults button is equivalent to unselecting the Query user option on the Engineering tab of the Workbench Options window. Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

HTML Editor Options


These options relate to HTML generation. To get to the HTML Generation tab of the Workbench Options window, click Tools > Workbench Options> HTML Generation. The HTML Generation tab is displayed as shown in Figure 3-15. Read more about generating HTML for a window in Chapter 10, HTML Generation.

3-20

Workbench Options

HTML Editor Options

Figure 3-15

HTML Generation options

Table 3-15 HTML Generation options summary Option External HTML Editor Call Editor Editor File Name Template for HTML page Export / Import Temporary HTML Description Options that refer to using an HTML editor outside of AppBuilder. Select this option to have edit authority in your HTML files. If this option is not selected, you are not able to edit the HTML only view it. Notepad is the default editor. Notepad is the default editor, but you can select another HTML editor here. Use the browse button to locate another HTML editor file. Use the browse button to locate the HTML template file. Use the browse button to specify the location and directory path for imports and exports of HTML files. Use the browse button to specify the location and directory path for temporary HTML files when generating HTML.

Using an HTML Editor


The Call Editor option specifies whether AppBuilder links to an external HTML editor so you can edit your HTML files. By default, the Call Editor option is unchecked. With this option unchecked, AppBuilder does not call an HTML editor; so when you generate HTML files for windows, you can view, but not edit the HTML. If you do not intend to modify the generated HTML, leave this option unchecked. When the HTML menu items are invoked, AppBuilder opens an HTML viewer in the Work Area of the Construction Workbench with the specific HTML file. Select the Call Editor option to have AppBuilder call a particular HTML editor. This allows you to either edit the generated HTML or to view the generated HTML in an editor of your choice. When the Call

AppBuilder 2.1.0 Development Tools Reference Guide

3-21

HTML Editor Options

Editor option is checked, the HTML viewer still displays and acts as a state window between the Workbench and the external editor. If this state window is closed, the link between the editor and Construction Workbench is broken and changes to the HTML are lost. When you select the Call Editor option, the Editor File Name field becomes active. Select the HTML editor executable file here by browsing to the directory on your machine. By default, the editor is Windows NotePad (notepad.exe). If the Call Editor option is checked and the Editor File Name field is empty or has an incorrect executable specified, you receive an error window when trying to access HTML functions from the Construction Workbench. When using an external editor, the editor is loaded with either the generated HTML or a version of the HTML that has been extracted from the repository. Before regenerating the HTML from the Construction Workbench, close the external HTML editor. If the external editor is still active during a regenerate, a failure error may result because the external editor has locked the file for editing. Or, it may allow the update of the contents of the file, but it might require a refresh from the editor to load the new changes. These behaviors are editor specific; check the editor documentation for specific details.

Template HTML Page


To give your generated HTML pages a standard look and feel that might include headers, footers, a company logo, etc. use a template page with these elements. AppBuilder provides a standard HTML template that you can customize. Select the template file from this field. Use the browse button to locate the template file. When the HTML template is specified, the HTML generator uses the template as the starting point and appends the generated HTML FORM into this template so pages have a uniform look and feel.

Export/Import Location
Specify the location, directory path, for imports and exports of HTML. Type in the path, or click the browse button to select the path.

Temporary HTML Location


Specify the location, directory path, for temporary HTML when generating HTML. Type in the path, or click the browse button to select the path. There are additional HPS.ini settings that you must manually update in your hps.ini file. There is not an option to update the hps.ini file from the Construction Workbench. These settings are as follows: THINCLIENT_ERROR_HTML - Use this setting to customize your HTML error page. You must specify a full path statement without any spaces. THINCLIENT_START_HTML - Use this setting to customize your first HTML page. You must specify a full path statement without any spaces. After preparation, this HTML file is renamed with the rule name.html. Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

3-22

Workbench Options

Matrix Builder Options

Matrix Builder Options


These are the options for the Matrix Builder tool. Use the Matrix Builder to construct a matrix that shows the association between objects. The options specified on this tab define the look and feel of your matrix. To get to the Matrix Builder tab of the Workbench Options window, click Tools > Workbench Options> Matrix Builder. The Matrix Builder tab is displayed as shown in Figure 3-16. Read more about Matrix Builder in Chapter 8, Construction Tools.
Figure 3-16 Matrix Builder options

Table 3-16 Matrix Builder options summary Option Duplicate objects Description Specify if the system allows duplicate objects in rows and columns of a matrix. This option indicates whether objects can be duplicated. Specify if the system can create a new object by typing its name in the header. If not selected, the system displays an error message when you attempt to insert an object that is not in the repository. This option indicates whether a new object can be created. Specify if the system displays the relationship properties (or attributes) in the matrix table cells. For example, the letters C, R, U, or D for the default template. If unselected, the system displays a big X across the table cell and does not display the attributes.

Create new object

Show attributes

AppBuilder 2.1.0 Development Tools Reference Guide

3-23

Matrix Builder Options

Table 3-16 Matrix Builder options summary Option Description Specify the case of the text that appears in matrix row and column label names. Upper case means all the letters appear in upper case. Lower case means all the letters appear in lower case. Mixed case means that letters can be either upper or lower case. Specify orientation or direction of the header table cells. They may be displayed horizontal, vertical, or at an angle (rotated). The default is rotated. Specify text font used in the matrix labels. Select the Change Font button to change the properties of your default font. View a sample of the selected text in the Default font area.

Name style

Header orientation

Default font

Click Apply to apply the changes but leave the window open; click OK to accept the changes and close the window.

3-24

Workbench Options

CHAPTER

HIERARCHY WINDOW

AppBuilder 2.1.0 Development Tools Reference Guide

Use the Hierarchy window to interact with the applications objects in the repository. In the Hierarchy window, you can: Construct entity-relationship hierarchies Construct application and configuration hierarchies (of function, process, and rules) View child objects for rules, windows, reports and other objects Create new objects Delete existing objects Define the members of a set object Import images and associate them with objects in the repository or export images to files Prepare objects Change project or owner This topic includes: Hierarchy Details Project Tab Configuration Tab Repository Tab Inverted Tab Hierarchy Object Properties Relationship Properties Docking and Floating Windows Customizable ToolTips

AppBuilder 2.1.0 Development Tools Reference Guide

4-1

Hierarchy Details

Hierarchy Details
The Hierarchy window provides quick access to the functional hierarchy and deployment configuration of a project as well as the relationships of objects in the repository. This topic includes: Parts of a Hierarchy Building a Hierarchy Navigating the Hierarchy Hierarchy Objects

Parts of a Hierarchy
Figure 4-1 illustrates the different parts of the Hierarchy window.
Figure 4-1 Sample hierarchy Window can be attached (as shown ) or can be floating

Expand or contract the underlying hierarchy

Parent object Child object

Relationship

Sibling objects Object name

Object symbol Object type

Tabs for types of hierarchy to display

The indicates an exploded view displaying all children. The + indicates an collapsed view hiding all children. The window contains the following tabs: Project Tab The functional hierarchy of the application as a project Configuration Tab The configuration and partitioning hierarchy for preparation and deployment of that application Repository Tab The hierarchy and relationship of objects within the repository Inverted Tab An inverted hierarchy (showing ownership) of objects within the repository The Project and Configuration tabs are available only when a project is open. In the Repository and Inverted tabs, you can use the Hierarchy Objects toolbar to add objects to the hierarchy in that tab. You can change how objects are displayed in the Hierarchy window. Use the Hierarchy tab of the Workbench Options window to specify default display options and double-click actions for the

4-2

Hierarchy Window

Hierarchy Details

Hierarchy window. From the Construction Workbench menu bar, click Tools > Workbench Options> Hierarchy. Read more about Workbench Options in Chapter 3, Workbench Options. You can either dock or float the Hierarchy window. In the gray area around the Hierarchy window, rightclick and select either Allow Docking, Hide, or Float in Main Window. Read more about Docking and Floating Windows in Chapter 1, Workbench Overview.

Building a Hierarchy
Building a hierarchy includes: Using Hierarchy Toolbars Adding Objects to a Hierarchy Removing Objects from a Hierarchy Removing Relationships Between Objects

Using Hierarchy Toolbars


AppBuilder contains the following hierarchy toolbars for manipulating objects in the project hierarchy: Hierarchy Objects Toolbar Hierarchy Operations Toolbar To display the hierarchy toolbars 1. 2. Select View > Toolbars from the Construction Workbench menu. From the Toolbars menu, select the toolbar to display (Hierarchy Objects and/or Hierarchy Operations).

Adding Objects to a Hierarchy


You can add an existing object to the hierarchy or add a new object. There are several ways you can add something to the hierarchy. Regardless of the method you choose, the Insert window appears. To insert an object do the following: 1. 2. Select an existing object in the hierarchy. Select one of the following procedures: In the Hierarchy Objects toolbar, click the object to add. The available objects depend on which object you have selected in the hierarchy. Right-click an existing object in the hierarchy and select Insert, Insert Child, or Insert Sibling from the pop-up menu. Click on the Insert Child or Insert Sibling button in the Hierarchy Operations toolbar. Then select the object to insert from the pop-up menu. Select Insert > Insert and select the object to insert, or select Insert > Insert Child, or Insert > Insert Sibling from the Construction Workbench menu.

AppBuilder 2.1.0 Development Tools Reference Guide

4-3

Hierarchy Details

Note

Unless explicitly specified, AppBuilder adds the object as a child or sibling, depending on your selected options in the Hierarchy tab of the Window Options window.

If you are creating a new object, in the Insert dialog, enter the name of the object without any spaces. Use underscore (_) to break up the parts of the name. If you are inserting an existing object, you need to query the repository. Type part of the name and click Query. The list of objects beginning with what you have typed is shown in the dialog. You can select one or more of the objects from the list. Use Shift or Ctrl to select multiple objects. Use the percent sign,%, as a wild card character. Click Apply to insert the selected objects without closing the Insert View window. The Apply button is useful when you are inserting several objects of the same type. Click Insert when done to close the window.
Figure 4-2 Example Insert dialog

Tip

To search the repository for an existing object, type the objects name (or first few characters) and click Query. AppBuilder displays a list of objects that match the query in the Query window. Double-click the object to add it to the hierarchy.

If the object does not exist in the repository, AppBuilder creates the view. You can also work with individual objects from the repository using the Repository Tab.

Note

This procedure adds an object to the hierarchy not to the repository. When you add an object or relationship, the change you make is not stored in the repository until you commit it. From the Construction Workbench menu bar, click File > Commit.

Removing Objects from a Hierarchy


To remove an object from a hierarchy: 1. 2. Select the object in the hierarchy. Do one of the following: Click on the Clear Object button the object from the hierarchy. in the Hierarchy Operations toolbar. AppBuilder removes

Select Edit > Clear from the Construction Workbench menu.

4-4

Hierarchy Window

Hierarchy Details

Press the Del key. Right-click on the object in the hierarchy and select Clear from the pop-up menu.

Note

This procedure removes the object from the hierarchy not from the repository. When you remove an object or relationship, the change you make is not stored in the repository until you commit it. From the Construction Workbench menu bar, click File > Commit.

Removing Relationships Between Objects


Deleting a relationship in a hierarchy removes the relationship between the selected object and its parent, but both objects remain in the repository. To delete a relationship: 1. 2. In the Hierarchy window, select the child object of the relationship to remove. Do one of the following: Click on the Remove Relationship button prompts for confirmation. in the Hierarchy Operations toolbar. The system

Select Edit > Delete Relationship from the Construction Workbench menu. Press the Ctrl+Backspace keys. Right-click on the object in the hierarchy and select Delete Relationship from the pop-up menu. 3. In the confirmation window, click Yes. The system deletes the relationship from the repository.
This procedure removes the relationship from the hierarchy not from the repository. When you remove an object or relationship, the change you make is not stored in the repository until you commit it. From the Construction Workbench menu bar, click File > Commit.

Note

Navigating the Hierarchy


Expanding or Collapsing the Hierarchy
In the Hierarchy window, you can expand objects to see their child or subordinate objects by clicking on the plus symbol (+) in the small box to the left of the object. When expanded, it displays a minus symbol (-). To collapse the object, and hide the child (subordinate) objects, click on the minus symbol in the small box to the left of the object. If there is no plus symbol (+), the object has no children in the current scope.

AppBuilder 2.1.0 Development Tools Reference Guide

4-5

Hierarchy Details

You can also expand an object one of the following ways: Select the object and press the plus key (+) and collapse it by pressing the minus key (-). If you press the plus key repeatedly, AppBuilder advances down to the child object in the hierarchy and expands that object and continues until it reaches the last object in that tree. If you press minus repeatedly, AppBuilder collapses objects and goes up the hierarchy. Select an object and press F8, which expands to show all the child objects of that object, or Shift+F8, which expand the entire hierarchy. Be careful with expanding the entire hierarchy if your hierarchy is very large. Select an object and then select Edit > Explode One Level or Edit > Explode to Leaf from the Construction Workbench menu. Click on the Explode to Leaf button in the Hierarchy Operations toolbar. Root objects have no parent of the same object type. Leaf objects have no children of the same object type. To expand the entire hierarchy, select one of the objects in the hierarchy and press Alt and one of the number keys (0, 1, 2...). The number of levels shown corresponds to the number typed. For example, to collapse all the objects in a Project, press Alt+0. To expand to the fourth level, which usually shows the child objects of rules, press Alt+4. You can also set the option to allow double-clicking an object to expand or collapse it in the Hierarchy. Use the Hierarchy tab of the Workbench Options window (Tools > Workbench Options > Hierarchy) to specify the double-click action for the Hierarchy window. You can set the DoubleClick Action to Expand/Collapse Object. Refer to Chapter 3, Workbench Options.

Moving Objects in the Hierarchy


To move an object in a hierarchy, click and drag the item from one place in the hierarchy to another. You can drag and drop objects from one part of the hierarchy to another as a way to move or copy the objects. To move an object drag it and drop it to the destination parent object. If the object is not a valid parent object, the pointer remains as a not symbol ( into a box pointer ( ). If it is a valid parent object, the pointer turns )indicating that a copy will be made. ). To copy an object, press and hold the Ctrl key while you drag and drop the

object. The cursor changes to a box pointer with a plus sign ( Other ways to move an object include the following:

Select an object and press Tab (move right) or Shift+Tab (move left). Select an object and then select Edit > Move Right or Edit > Move Left from the Construction Workbench menu. Select an object and click on the Move Right Operations toolbar. or Move Left buttons in the Hierarchy

Read more about copying and pasting in Copying, Cutting, or Pasting and Copying an Object from the Repository Tab to the Project Tab.

Stepping from Tab to Tab


You can step from one tab to the next by using the Alt and arrow keys. For example to go from the Project tab to the Repository tab, if all four tabs are open, press Alt+right arrow key twice.

4-6

Hierarchy Window

Hierarchy Details

Hierarchy Objects
Use the icons on the Hierarchy Objects toolbar to add new objects to the application hierarchy. Which objects appear in the menu depend on where you are in the hierarchy. Only those objects that can be placed appear in the toolbar. You can also add existing objects from the repository to your project. See Repository Tab for more information. For complete details on the objects in the repository, refer to the Information Model Reference Guide.
Figure 4-3 Hierarchy Objects toolbar (from Repository tab)

From top left to bottom right, the icons on this toolbar are as follows:
Table 4-1 Top Row Process Window Field Value Component Entity Data Type Event Logical Process Section Application Configuration Server Data Base Key Transition Icons on the Hierarchy Objects toolbar (Repository Tab) Bottom Row Function Rule View Set Bitmap File Attribute Identifier Business Object Report Component Folder Partition Machine Table State

Function
Functions represent the major class or activity of your application. They are the highest level identifier in the project. The name of the function that you create is the name of the application. Functions are groups of processes. When prepared for execution from the workstation, the function typically appears as a menu option, which, when selected, executes the application. Each process under the function appears as an option in the menu. The function itself is a menu choice that groups applications together at run time. Each process under the function is a menu choice in the menu for that function. You can execute from the Construction Workbench directly (using the Run menu) or in Windows (from the Start menu). You can select Start > Programs > AppBuilder > Execution Clients and select either Windows Client or Java Client, depending on your implementation.

AppBuilder 2.1.0 Development Tools Reference Guide

4-7

Hierarchy Details

If you have selected the Create Desktop Objects option from the Preparation tab in the Workbench Options, the prepared function becomes a menu choice from Start > Programs directly as its own application. The Create Desktop Objects option is only applicable for Windows applications; this is not supported in Java. A project has the relationship between a function and its application configuration, which allows you to find out which application configuration are used to partition the application. This information plus additional settings comprise a project.

Process
Processes represent the application or subsystem (or set of applications) within a high-level function. Each process contains logical units of work. The system transforms the hierarchy of processes into menu choices at run time. A process is a set of predefined activities that create, read, update, or delete the data the business group uses. Events trigger processes, which are described by a verb-noun combination.

Rule
Rules are procedural actions that need to be performed. Each rule corresponds to a module that executes at run time. To make rules reusable, define each rule to perform only one task, such as routing the logic flow to another rule, displaying a window, accessing a database, or performing a calculation. This approach maximizes the potential for reuse. If you combine several tasks into one rule, and then perform one or two of them again, it may not be feasible to reuse your original rule, because it also performs unneeded tasks. A rule can be a parent or child rule, depending on its position in the hierarchy. The root rule is the first module executed when the end user selects a menu choice that corresponds to the parent process of the rule. The root rule typically displays the primary window. The child rule of that root rule may display a secondary window. The rule at the very bottom of the hierarchy is called the leaf rule, and leaf rules typically do not display windows. These may access a database. For more information on how to use rules, refer to the Developing Applications Guide. For more information on Rule Painter, the tool used to create rules, see Chapter 8, Construction Tools. For details about the Rules Language, refer to the Rules Language Reference Guide.

Window
Windows are user interface displays (or screens). Windows allow users to manipulate data and perform actions. See Chapter 9, Window Painter for more information on creating windows and adding objects. Each window is associated with one view, called its window view, through the owns relationship (see View for more information on views). This window view stores input to and output (new or modified data for the end user) from the window.

4-8

Hierarchy Window

Hierarchy Details

View
A view is a structure that contains data elements (such as fields or other views) and defines the data structure in the AppBuilder environment. A view attached to a window is called a window view. These views define data displayed to a user, data entered by a user, and data stored by the system. For example, a view defines the input to or the output from a rule, or the fields that can appear on a window.

Note

The order of the fields listed in the hierarchy (under the view) is not related to the order of their appearance in the window.

There is a limitation for 3270 Window views of 4026 entities (of any combination of views and fields). This includes occurring subviews; each occurrence of a view or field in an occurring view is calculated as another entity. For example, if you had an occurring view that had 10 occurrences and that view had three fields, the parent view would have 40 entities (10 for the occurring view and 10 for each field). If you exceed the limit, the window fails to prepare. Each view is similar to a node in a data tree the leaf nodes of which are fields (see Field for more information on fields). The root view of each such structure is associated with a rule, a component, a window, a file, or a section entity type through an Owns relationship type, and with fields and other views through an Includes relationship type. Any included views can include other views and fields.

Field
A field represents the smallest subdivision of data used in the AppBuilder environment, typically the input or output of a View in a window. The fundamental building block in any application is the variable, which in AppBuilder is the field object. Its format and length are two crucial properties. There are numeric, character, and date and time formats of fields.

Set
Use sets for messages, window object domains, and to simplify rules. Use the Set Builder tool to define the members of a set. The members of a set consist of either symbols or values. A symbol is an entity that represents the name of a particular value within a set. A value is an entity that represents a constant value. See Value for more information. For more information on building sets, refer to Using Set Builder in Chapter 8, Construction Tools. Use sets to create named values in the repository that can then be used by any number of rules in any number of applications. Sets can be used as system choices or messages. System choices are choices available to window objects, for example to a combo box in an application window where an end user might have to choose the month from a displayed list of January, February, etc. Messages are any predefined strings, such as error messages, in a set referred to by the system component, SET_WINDOW_MESSAGE, that displays the message. These are used primarily to make Rules Language code more readable by allowing developers to substitute meaningful references for cryptic variables. For example, when you create a message set, each message is associated with a value (such as 100). To invoke a particular message you can specify that value in your Rules Language code. Alternatively, you can associate a meaningful symbolic name with the message (for example, RECORD_NOT_FOUND) and refer to the message using the symbolic name instead of the value.

AppBuilder 2.1.0 Development Tools Reference Guide

4-9

Hierarchy Details

Value
Values represent a constant value within a set. Because a value can belong to more than one set, you can use a single value in multiple ways. For example, the value 4 may represent April in the set MONTHS, but it may also represent Wednesday in the set DAYS.

Bitmap
Bitmap objects are graphic image files used in windows.

Component
User components contain computer code (for example, Assembler, C, COBOL, or Java) to accomplish functions that are not possible with the AppBuilder Rules Language. This may include: Complicated mathematical functions, such as square root Non-SQL data access logic, such as the IMS database interface Hardware specific functions for the selected execution environment

Note

Because user components are written in a specific language, they are not portable between environments.

File
A file represents the physical files used for data access during execution. These files correspond to tables in the relational database management system. Rules and components can read from and write to disk files whose file entity types they are related to. Files can be automatically generated by AppBuilder tools.

Entity
Entities represent the data used by an enterprise or organization within your application (for example, a customer). Typically, you would define entity types when building your data model.

Attribute
An attribute is the smallest unit of information that describes a single characteristic (such as size, values, date, or usage) of an entity or relationship. An attribute in an attribute hierarchy is shown as a child of the entity or relationship it describes. Attributes define aspects of entities in the Entity Relationship Diagrammer in the early stages of application design.

Data Type
Data types identify a physical description of the data (for example, character, date, or decimal). Typically, you should define data types when building your data model.

4-10

Hierarchy Window

Project Tab

Identifier
An identifier is a logical key that becomes a physical key during database design. Identifiers consists of one or more attributes that uniquely identify an instance of a parent entity or cross-reference another entity.

Event
An event causes a data object to change state, thereby initiating a set of processes.

Project Tab
Use the Project tab of the Hierarchy window to view and create the structure (or part of the structure) of an application. This structure, the project hierarchy, specifies how the application executes. The Project tab is displayed only when a project is open.
Figure 4-4 Hierarchy window Project tab

Use the Project tab to construct application hierarchies (of function, process, and rules) and create new objects. Use the buttons of project objects in the Hierarchy Objects toolbar to create new objects in the project hierarchy. You can also add existing objects from the repository to your project. Refer to the Configuration Tab, Repository Tab, and Inverted Tab for more information about other views of the hierarchy. Use the display of the hierarchy to understand the contents of the project hierarchy. Use the display to: See that the child relationships of objects to a parent object Find the root rule is the highest level rule Verify that a project is complete; that objects have their required components

AppBuilder 2.1.0 Development Tools Reference Guide

4-11

Configuration Tab

Refer to Expanding or Collapsing the Hierarchy for instructions on expanding and collapsing the objects in the hierarchy.

Configuration Tab
The Configuration tab is used to partition an application. It associates client processes and logical servers with databases and physical machines. Each configuration corresponds to a specific project. You can create multiple configurations for each project. Refer to Figure 4-5 for an example of the Configuration hierarchy. In this diagram, the Configuration tab shows possible configurations and deployment scenarios. Refer to the Deploying Applications Guide for details on using the Configuration tab.
Figure 4-5 Hierarchy window with Configuration tab

Use the Configuration tab to partition your application, which includes: Specifying the machines to which to prepare the parts of the application Specifying the execution environment Specifying the database parameters (type, database name) if your application uses a database Use the buttons of configuration objects in the Hierarchy Objects toolbar to create new objects in the configuration hierarchy. You can also add existing objects from the repository to your project. See Project Tab, Repository Tab, and Inverted Tab for more information on other views of the hierarchy. Use the display of the hierarchy to understand the contents of the configuration hierarchy. Use the display to: See the multiple partitions of an application configuration See the machine associated with each partition See which rules run on which partitions (on which machines)

4-12

Hierarchy Window

Repository Tab

Refer to Expanding or Collapsing the Hierarchy for instructions on expanding and collapsing the objects in the hierarchy. The hierarchy in the Configuration tab shows the content of a partition (not just the frontier rules).

Repository Tab
The Repository tab is a hierarchal view of the repository. Here you can browse or modify repository objects that do not belong to the current project. Use the repository tab to add commonly used objects from the repository to your project. Use the Repository tab to: Query and browse existing objects in the repository. Copy objects from the repository to the project hierarchy. You can copy and paste from any tab to any tab. Display an objects child objects. To add an object to the repository, select the name of the repository in the Repository tab and then select Insert > Insert from the Construction Workbench menu, and select the item you want to insert. Refer to Figure 4-6 for an example of a Repository view.
Figure 4-6 Hierarchy window with Repository tab

You can use the icons on the Hierarchy Objects - Repository toolbar (see Figure 4-3) to add objects to the repository hierarchy. You can also add existing objects from the repository to your project. See Project Tab, Configuration Tab, and Inverted Tab for more information on other views of the hierarchy. For more information on setting up the configuration (how the application is partitioned) refer to Chapter 5, Configuration Hierarchy.

AppBuilder 2.1.0 Development Tools Reference Guide

4-13

Inverted Tab

Copying an Object from the Repository Tab to the Project Tab


After you have added objects to the hierarchy in the Repository tab, you can copy the object from this tab and paste it into your hierarchy in the Project tab. Select the object in the Repository tab and select Edit > Copy or right-click Copy or Ctrl+C. Then in the Project tab, with the parent object selected, the destination for the object to be pasted, select Edit > Paste or right-click Paste or Ctrl+V.

Displaying an Objects Parent


To display an objects parent, right-click an object in the Repository tab and select Show Parents from the pop-up menu (or View > Parent). The system displays the objects parents in the Inverted tab. You can select more than one parent object and all the children are displayed and highlighted in the Inverted Tab.

Inverted Tab
To display any parents of an object, all the objects that have that object as a child, click the Inverted tab in the Hierarchy window. This shows an inverted hierarchy, with the child object above the parent objects in the hierarchy. Refer to Expanding or Collapsing the Hierarchy for instructions on expanding and collapsing the objects in the hierarchy. This hierarchy works in reverse, displaying parents when the hierarchy is expanded.
Figure 4-7 Hierarchy window with Inverted tab

Use the Inverted tab to: Browse existing objects in the repository in an inverted fashion. Display an objects parent objects.

4-14

Hierarchy Window

Hierarchy Object Properties

See Project Tab, Repository Tab, and Configuration Tab for more information on other views of the hierarchy. While you can copy and paste from this hierarchy, it is more typical to use the Repository Tab to perform those actions.

Displaying an Objects Children


To display an objects children, right-click an object in the Inverted tab and select Show Children from the pop-up menu (or View > Children). The selected object is added in the Repository tab if not already present and it becomes the selected object. The system displays the objects children in the Repository tab. You can select more than one child object and all the parents are displayed and highlighted in the Repository Tab.

Hierarchy Object Properties


To view or modify an objects properties: Right-click the object in the hierarchy and select Properties from the pop-up menu. Select the object in the hierarchy, then select View > Properties from the Construction Workbench menu. Select the object in the hierarchy, then press Alt+Enter. The Properties window appears. See Figure 4-8.

Note

The actual window may vary, depending on the object you selected.

AppBuilder 2.1.0 Development Tools Reference Guide

4-15

Hierarchy Object Properties

Figure 4-8

Example Properties window

The OK button saves changes and closes the window. The Cancel button closes the window without saving changes. The Apply button saves changes without closing the window. The Undo button cancels changes without closing the window. Saved changes are available to the workstation for as long as the Construction Workbench is open and the connection to the repository is maintained. (Closing the project does not lose the changes.) Saving is not the same as committing to the repository however. If you want to make the changes available to others using the repository, you must commit the changes. The Properties window contains the following tabs: General Tab Audit Tab Remote Audit Tab Text Tab Keyword Tab

4-16

Hierarchy Window

Hierarchy Object Properties

General Tab
The General tab specifies the general properties for the object. The fields on this tab may vary depending on the object.

Note
Figure 4-9

Not every property is available for each object. Properties window with Audit tab

Table 4-2 Property Name System ID Description

Properties for General tab Description The name of the object. The unique system-generated identifier. A description of the object that you are adding. The implementation name of the object; this is usually the system identifier, but you can customize it according to naming conventions for your project.

Implementation name

Audit Tab
The Audit tab specifies information that can help you track the usage of this entity locally. This is version control information. This information can only be viewed and cannot be edited.

AppBuilder 2.1.0 Development Tools Reference Guide

4-17

Hierarchy Object Properties

Figure 4-10

Properties window with Audit tab

Note
Table 4-3 Property Name Project Owner Last user Revision Version

The fields on this tab are for display only.

Properties for Audit tab Description The long name of the object. The name of the project to which this object belongs. The user name of the creator of this object. The user name of the person who last modified the object. The number of revisions incremented each time you change the object. This is not used on the workstation; simply says <LATEST>. The date (year, month, day) that the object was last stored in repository. The time (hour, minutes, seconds) that the object was last stored in repository. The user name of the person who has the object locked.

Date maintained Time maintained Locked by

Remote Audit Tab


The Remote Audit tab helps you track information about remote (mainframe) usage of this entity. This information can only be viewed and cannot be edited.

4-18

Hierarchy Window

Hierarchy Object Properties

Figure 4-11

Properties window with Remote Audit tab

Note
Table 4-4 Property Name Owner Project

The fields on this tab are for display only.

Properties for Remote Audit tab Description The name of the object. The user name of the person who created this object. The name of the Project of which this object is a child. The explicit lock is locking an object from the mainframe side. Refer to the Establishing Security in the Enterprise Administration Guide and the Information Model Reference. Used in reference to host migration. See the Enterprise Migration Guide. Used for synchronizing with the mainframe for uploads and downloads. The date information of the object on the mainframe side. The time information of the object on the mainframe side. The user name of the object on the mainframe side.

Explicit lock QA status Change number Remote date Remote time Remote user

Text Tab
The Text tab has text information, notes, that you may want to keep with this entity. It may be a more complete description or special instructions about the use of this entity.

AppBuilder 2.1.0 Development Tools Reference Guide

4-19

Keywords for an Entity

Keyword Tab
You can create a list of keywords to make searching for an entity easier using the Define Keywords command. Type your keyword list here. Read more about keywords in the next section, Keywords for an Entity.

Keywords for an Entity


Be aware that the way the list of keywords appears in the mainframe screen is different from the way they are displayed on the workstation in the Keywords tab of the properties dialog for that entity, but they function the same. You can create a list of keywords to make searching for an entity easier using the Define Keywords command. (Refer to the Enterprise Development Guide.) The results of a define keywords and a browse keywords commands are shown in Figure 4-12. The keywords (in this example: map, test, keyword, and bill) are listed horizontally across the screen in both cases.
Figure 4-12 Define Keywords Keywords on mainframe

Browse Keywords

On the workstation, you create keywords by typing them in the Keywords tab of the properties dialog for that entity. When you begin to type the words, you may type them on one line, separated by a space, or one at a time and press Enter after each. Both methods are equivalent. When you click Apply, they are arranged vertically as shown in Figure 4-13, regardless of how they are displayed when you typed them originally.

4-20

Hierarchy Window

Relationship Properties

Figure 4-13 Before Apply

Keywords on workstation

After Apply

Relationship Properties
Use the Relationship Properties window to define each objects relationship to its parent in the hierarchy. To view or modify an objects relationship properties: Right-click the object in the hierarchy and select Relationship Properties from the pop-up menu. Select the object in the hierarchy, then select View > Relationship Properties from the Construction Workbench menu. Select the object in the hierarchy, then press Ctrl+Enter. The Relationship Properties window appears. See Figure 4-14 for an example.

Note

The actual window may vary, depending on the object you selected.

AppBuilder 2.1.0 Development Tools Reference Guide

4-21

Relationship Properties

Figure 4-14

Example Relationship Properties window

Note

The actual window may vary, depending on the object and relationship selected.

Refer to the Information Model Reference Guide for more information about the specific fields in these tabs. The Relationship Properties window contains the following tabs for defining an objects relationship properties: General Tab for Relationship Audit Tab for Relationship Remote Audit Tab for Relationship Text Tab for Relationship

General Tab for Relationship


Figure 4-15 General tab of relationship properties

Note

The actual window may vary, depending on the object selected.

4-22

Hierarchy Window

Relationship Properties

Table 4-5 Property

General tab of relationship properties Description Parent object of the relationship. Child object of the relationship. A number automatically assigned to each entity in a sequence, and used to define the order of relationships attached to a common entity. For internal purposes. Uniquely distinguishes duplicate relationships between the same parent and child entities. This field appears only for View objects. This field appears only for Field objects. This field appears only for Field objects.

Parent name Child name Sequence number Separator ID View usage Null indicator Occurs times

Audit Tab for Relationship


This tab contains information regarding communications with a host machine.
Figure 4-16 Audit tab of Relationship properties

Note
Table 4-6 Field From

These fields are for display only.

Audit tab of Relationship properties Description Type and name of the objects in the relationship.

To Project Owner Last user Revision Owners associated project. Objects owner. User who last used the object. Number of revision to the object.

AppBuilder 2.1.0 Development Tools Reference Guide

4-23

Relationship Properties

Table 4-6 Field Version

Audit tab of Relationship properties Description Reserved for future use. Hard coded with the value Latest. Date the object was last maintained. Time the object was last maintained. ID of owner/user who has the object locked.

Date maintained Time maintained Locked by

Remote Audit Tab for Relationship


This tab contains information regarding version information.
Figure 4-17 Remote tab of relationship properties

Note
Table 4-7 Field From

These fields are for display only.

Remote tab of relationship properties Description Type and name of the objects in the relationship.

To QA status Change number Remote date Remote time Remote user Local date Local time Used in reference to host migration. See the Enterprise Migration Guide. The number assigned to the change. Date the object was created and last maintained. Time the object was created and last maintained. ID of owner who created and last maintained the object. Date of the object locally. Time of the object locally.

4-24

Hierarchy Window

Customizable ToolTips

Text Tab for Relationship


Any text associated with this relationship is displayed in this tab. Refer to Text Tab.
Figure 4-18 Text tab of relationship properties

Customizable ToolTips
When you roll your cursor over any of the objects in the hierarchy and pause, a ToolTip (a yellow box with information about that object) appears. For most objects, only the object type and object name are displayed. But for other objects, more information is displayed. The type of information to display one or more of the properties of that object is based on a file that you can configure. The file is tooltips.dat and is in <AppBuilder>\AD\CFG\DATA, where <AppBuilder> is the letter and directory where AppBuilder is installed. You can edit this file with a text editor. You can add or remove the properties to display. For example, [RULE] DBMS Usage=RULE.Sys_Source Execution Environment=RULE.Exec_Environ Implementation name=RULE.Rule_Imp_Name [VIEW] Type=OWNS_VIEW.View_Usage Occurs=VIEW_INCLUDES.Occurs_Times [FIELD] Type=FIELD.Field_Type Length=FIELD.Fld_Len Fraction=FIELD.Fld_Frac [SET] Type=SET.Set_Type Length=SET.Set_Length Fraction=SET.Set_Fraction Style=SET.Set_Style

AppBuilder 2.1.0 Development Tools Reference Guide

4-25

Customizable ToolTips

[VALUES] Symbol=SET_CONTAINS_VALUE.Symbol Value=VALUES.Values_Imp_Name Each object has a section heading, such as [RULE] and then a list of properties. On each line of the list: Description=TYPE.Property where the TYPE is the type of object or relationship (RULE, or OWNS_VIEW). If you want to add more information, say for a component, you can add a new section for that object and then the list of properties to display. For example, you can add the following: [COMPONENT] DBMS Usage=COMPONENT.DBMS_Usage Execution Environment=COMPONENT.Exec_Environ Language=COMPONENT.Language Implementation name=COMPONENT.Comp_Imp_Name The properties to display must be one of the properties of that object. After the file is edited and saved, you can see the result in the AppBuilder hierarchy in the Construction Workbench.

4-26

Hierarchy Window

CHAPTER

CONFIGURATION HIERARCHY

AppBuilder 2.1.0 Development Tools Reference Guide

The configuration hierarchy associates client processes and logical servers with databases and physical machines, creating an application configuration. These partitions contain the necessary information to prepare the hierarchy objects of an application to the correct locations in a preparation network. Use the Configuration tab of the Hierarchy window to build the configuration hierarchy. Configuration Toolbar Configuration

Configuration Toolbar
The configuration objects are located in the Hierarchy Objects toolbar. In the Configuration tab, only the following objects are available:
Figure 5-1 Hierarchy Objects toolbar (configuration objects) Machine Rule Application File Configuration Process

Partition

Server

Database

AppBuilder 2.1.0 Development Tools Reference Guide

5-1

Configuration

Configuration
Configuration hierarchies can contain the following objects: Application Configuration Partition Process Rule Server Machine Database File For more information about the Configuration tab, refer to Configuration Tab in Chapter 4, Hierarchy Window. For more information about Server, Machine, and Database objects, refer to the Deploying Applications Guide.

Application Configuration
An application configuration object groups a number of partitions, typically belonging to a single deployment configuration. This object contains the information (and other objects) needed to prepare a distributed application, to migrate it to a production environment, and to administer the application at runtime. Typically, each project contains a single application configuration. Application configurations can contain a Partition as a child object. To create an application configuration: 1. From the Configuration tab of the Hierarchy window, select the project object and click the Application Configuration button in the Hierarchy Objects toolbar. The Insert Application Configuration window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add an application configuration by right-clicking on the project icon and selecting Add Application Configuration from the pop-up menu. 2. In the Name field, type the name of the application configuration to add and click Insert. AppBuilder adds the application configuration to the configuration hierarchy. If the application configuration does not exist in the repository, AppBuilder creates the application configuration. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter.

3.

5-2

Configuration Hierarchy

Partition

The Properties window appears. See Hierarchy Object Properties on page 4-15 for more information.

Partition
Partitions define the associations between a client or server and its associated machines or databases. Each partition must be associated with an application configuration. Client partitions Client partitions contain the projects processes to execute on the client-side. When you add a process from the projects hierarchy to the configuration, AppBuilder automatically includes all the necessary child objects (for example, rules, views, etc.). In addition, the client partition includes a machine object that indicates the clients runtime environment. Server partitions Server partitions include a server object that defines the type of server (for example, an EJB server). In the server partition, include processes and rules that execute on the server-side. During preparation, use the Project Options window to select the specific configuration and/or partitions to use. Partitions can contain the following configuration objects as children: Process Machine Rule Server Database File To create a partition: 1. From the Configuration tab of the Hierarchy window, select an application configuration object and click the Partition button in the Hierarchy Objects toolbar. The Insert Partition window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add an application configuration by: Right-clicking on the application configuration object and selecting Insert > Partition or Insert Child > Partition from the pop-up menu. Selecting Insert > Partition or Insert Child > Partition from the Construction Workbench menu. 2. In the Name field, type the name of the partition to add and click Insert. AppBuilder adds the partition to the configuration hierarchy. If the partition does not exist in the repository, AppBuilder creates the application configuration. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter.

3.

AppBuilder 2.1.0 Development Tools Reference Guide

5-3

Project

The Properties window appears. See Hierarchy Object Properties on page 4-15 for more information.

Project
In an AppBuilder application, the project contains the business function and associated configuration(s) of the application. The project is the highest level of the application hierarchy. Project hierarchies can contain the following objects: Function Rule View Machine Bitmap Process Window Set Value File Refer to Creating a New Project in AppBuilder and Specifying Project Options in Chapter 1, Workbench Overview for descriptions on how to open a project and how to specify project objects.

5-4

Configuration Hierarchy

Function

Function
A function represents the highest-level business function the purpose of the application. At execution time, the function may appear as a Start menu option (for Windows platforms) or a pull-down menu option that the end-user can access. Functions contain groups of processes that subdivide the application. Functions can contain the following AppBuilder objects as a children: Process Bitmap Component

Note

AppBuilder automatically adds the top-level function to a project hierarchy. Use this procedure when adding a function to another hierarchy.

To add a function to the hierarchy: 1. From the Hierarchy window, select an object, then click the Function button Objects toolbar. The Insert Function window appears. You can also add a function by selecting Insert > Function from the Construction Workbench menu. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. 2. In the Name field, type the name of the function to add and click Insert. AppBuilder adds the function to the project hierarchy. If the function does not exist in the repository, AppBuilder creates the function. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15 for more information. in the Hierarchy

3.

AppBuilder 2.1.0 Development Tools Reference Guide

5-5

Process

Process
A process represents a logical unit of work or activity that can manipulate the data within the application. In an AppBuilder application, processes appear as options on pull-down menus. A process is a set of predefined activities that create, read, update, or delete the data the business group uses. Events trigger processes, which are described by a verb-noun combination. Processes can contain the following AppBuilder objects as a children: Process Rule Component Folder Bitmap To add a process to the project hierarchy: 1. Select an object in the Project Hierarchy window and click the Process button in the Hierarchy Objects toolbar. The Insert Process window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add a process by: Right-clicking an object in the Project Hierarchy window and selecting Insert > Process or Insert Child > Process. Selecting Insert > Process or Insert Child > Process from the Construction Workbench menu. 2. In the Name field, type the name of the process to add and click Insert. AppBuilder adds the process to the project hierarchy. If the process does not exist in the repository, AppBuilder creates the process. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15 for more details.

3.

5-6

Configuration Hierarchy

Physical Event

Physical Event
A physical event object represents a user-defined (business) event. An example of such an event could be a change in the price of a stock or the withdrawal of money greater than a specified amount. To add a physical event to the project hierarchy: 1. Select a rule in the Project Hierarchy window under which to place the physical event object and select Insert > Insert > Physical Event from the Construction Workbench menu. The Insert Process window appears. You can also add a physical event by right-clicking the rule in the Project Hierarchy window and selecting Insert > Process or Insert Child > Process. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. In the Name field, type the name of the event to add and click Insert. AppBuilder adds the event to the project hierarchy. If the event does not exist in the repository, AppBuilder creates the event. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15 for more details.

2. 3.

Report
For information about Report objects, refer to the Creating Reports Guide.

AppBuilder 2.1.0 Development Tools Reference Guide

5-7

Rule

Rule
In an AppBuilder application, rules are programming statements that define the logic of the application (that is, how the application works). At execution time, each rule performs a unique action. Rules can contain the following AppBuilder objects as a children: Rule Window View Set Bitmap File Physical Event Report Component Component Folder Use the Rule Painter to create the Rules Language code for the rule object. See Rule Painter in Chapter 8, Construction Tools for more information. For tips on developing applications using rules, refer to the Developing Applications Guide. For details on Rules Language syntax, refer to the Rules Language Reference Guide. To add a rule to the project hierarchy: 1. Select an object in the Project Hierarchy window and click the Rule button in the Hierarchy Objects toolbar. The Insert Rule window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add a rule by: Right-clicking an object in the Project Hierarchy window and selecting Insert > Rule or Insert Child > Rule. Selecting Insert > Rule or Insert Child > Rule from the Construction Workbench menu. 2. 3. 4. In the Name field, type the name of the rule to add and click Insert. AppBuilder adds the rule to the project hierarchy. If the rule does not exist in the repository, AppBuilder creates the rule. To create the Rules Language code for the rule, see Verifying Rules on page 8-13. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15.

5-8

Configuration Hierarchy

Window

Window
Windows are screens that accept input or display data to the end user. In an AppBuilder application, windows are linked to views that contain the actual data elements (such as fields) for the window. Windows can contain the following AppBuilder objects as children: Bitmap Component Folder View Set For more information on Window Painter, refer to Chapter 9, Window Painter. To add a window to the project hierarchy: 1. Select an object in the Project Hierarchy window and click the Window button in the Hierarchy Objects toolbar. The Insert Window window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add a window by: Right-clicking an object in the Project Hierarchy window and selecting Insert > Window or Insert Child > Window. Selecting Insert > Window or Insert Child > Window from the Construction Workbench menu. 2. In the Name field, type the name of the window to add and click Insert. AppBuilder adds the window to the project hierarchy. If the window does not exist in the repository, AppBuilder creates the window. You can also create a new window by clicking on the New Object button in the Standard toolbar. To create the graphical user interface (GUI) for the window, see Creating a Window from Scratch on page 9-8. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15.

3. 4.

AppBuilder 2.1.0 Development Tools Reference Guide

5-9

View

View
Views are structures that contain data elements (such as fields or child views) and define the data structure of the application. Views attached to a window are called window message views. These views define the data displayed to a user, data entered by a user, and data stored by the system. Views can contain the following AppBuilder objects as a children: Child views Fields To add a view to the project hierarchy: 1. Select an object in the Project Hierarchy window and click the View button in the Hierarchy Objects toolbar. The Insert View window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add a view by: Right-clicking an object in the Project Hierarchy window and selecting Insert > View or Insert Child > View. Selecting Insert > View or Insert Child > View from the Construction Workbench menu. 2. 3. In the Name field, type the name of the view to add and click Insert. AppBuilder adds the object to the project hierarchy. If the view does not exist in the repository, AppBuilder creates the view. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15.

5-10

Configuration Hierarchy

Field

Field
Fields are the smallest unit of data in an AppBuilder application. Fields can record the input/output definition of objects or contain information about part of a file (such as a column in a database table). An edit field object defines a field in which the end user can either enter and change data, or view readonly data. Fields can contain the Set object as a child. To add a field to the project hierarchy: 1. Select an object in the Project Hierarchy window and click the Field button in the Hierarchy Objects toolbar. The Insert Field window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add a field by: Right-clicking an object in the Project Hierarchy window and selecting Insert > Field or Insert Child > Field. Selecting Insert > Field or Insert Child > Field from the Construction Workbench menu. 2. 3. In the Name field, type the name of the field to add and click Insert. AppBuilder adds the object to the project hierarchy. If the field does not exist in the repository, AppBuilder creates the field. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15.

AppBuilder 2.1.0 Development Tools Reference Guide

5-11

Set

Set
Use sets for messages, window object domains, and to simplify rules. Use the Set Builder tool to define the members of a set. A sets members consist of either symbols or values. Symbol An entity that represents the name of a particular value within a set. Value An entity that represents a constant value. See Value. For more details about using Set Builder, refer to Set Builder in Chapter 8, Construction Tools. Use sets to create named values in the repository that can then be used by any number of rules in any number of applications. Sets can be used as: System choices Choices available to window objects, for example, a combo box in an application window where an end user might have to choose the month from a displayed list of January, February, etc. Messages Predefined messages in a set referred to by the standard component, SET_WINDOW_MESSAGE, to display an error Symbolic name Sets Messages are used primarily to make Rules Language code more readable by allowing developers to substitute meaningful references for cryptic variables. For example, when you create a message set, each message is associated with a value (such as 100). To invoke a particular message you can specify that value in your Rules Language code. Alternatively, you can associate a meaningful symbolic name with the message (for example, RECORD_NOT_FOUND) and refer to the message using the symbolic name instead of the value. Sets can contain value objects as children. Refer to: Types of Sets Adding a Set

5-12

Configuration Hierarchy

Set

Types of Sets
There are four different types (or styles) of sets: Define Set Lookup Set Error Set Value Set Define Set A define set is the simplest set created and modified in the Set Builder and only appears with two columns, Define and Encoding. Both of these columns are mandatory fields, and the value entered in the Define field must be unique. Lookup Set A lookup set provides more functionality than a define set, and (among other things) specifies the possible values appearing in a combo box (or other window object) in an application window. In addition to the Define and Encoding columns, this set includes a Display column. The Define, Encoding, and Display column fields are mandatory. The entries in these fields must be unique. If an entry appears for one symbol in any of the language columns, then the fields for that column for all other defined symbols also must be filled. Error Set An error set is similar to a lookup set, but provides additional functionality for application error messages. There are essentially two significant differences: this set can only be of type small integer (the other kinds of sets can be any of several data types) and you can associate text with the symbols. This text becomes the error message associated with the error number the symbol defines, and is displayed to users when the error occurs (assuming that the rule in question uses error-handling via the standard system components). If multiple languages are defined, you can associate different text for each language with a single symbol. Value Set This type of set was created in previous versions of the product and is supported mainly for legacy applications. New application development should use the other types of set. In a value set, the symbol property of a set can be used as a substitute for the value entity type to which it relates. For example, many sets can contain the value 1. However, the relationship type between the value 1 and the set Months can have a symbol of JAN, while the relationship type between the value 1 and the set Mode can have the symbol on. Conventions for the symbol and its accompanying text depend on the sets usage (for instances of the Set-Contains-a-Value relationship).

AppBuilder 2.1.0 Development Tools Reference Guide

5-13

Set

Adding a Set
To add a set to the project hierarchy: 1. Select an object in the Project Hierarchy window and click the Set button in the Hierarchy Objects toolbar. The Insert Set window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add a set by: Right-clicking an object in the Project Hierarchy window and selecting Insert > Set or Insert Child > Set. Selecting Insert > Set or Insert Child > Set from the Construction Workbench menu. 2. 3. In the Name field, type the name of the set to add and click Insert. AppBuilder adds the object to the project hierarchy. If the set does not exist in the repository, AppBuilder creates the set. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15.

5-14

Configuration Hierarchy

Value

Value
Values represent a constant value within a set. Because a value can belong to more than one set, you can use a single value in multiple ways. For example, the value 4 may represent April in the set MONTHS, but it may also represent Wednesday in the set DAYS. To add a value to the project hierarchy: 1. Select an object in the Project Hierarchy window and click the Value button in the Hierarchy Objects toolbar. The Insert Value window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add a value by: Right-clicking an object in the Project Hierarchy window and selecting Insert > Value or Insert Child > Value. Selecting Insert > Value or Insert Child > Value from the Construction Workbench menu. 2. 3. In the Name field, type the name of the value to add and click Insert. AppBuilder adds the object to the project hierarchy. If the value does not exist in the repository, AppBuilder creates the value. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15.

AppBuilder 2.1.0 Development Tools Reference Guide

5-15

Bitmap

Bitmap
Bitmaps are graphics displayed in a window. They can also be used with hotspots to create clickable hyperlinks. A bitmap can be a device-dependent or device-independent picture image read from a file.

Note

You must use the correct bitmap image for the targeted execution environment. For example, an OS/2 formatted bitmap may not display properly on a Windows workstation.

Refer to: Adding a Bitmap Importing a Bitmap For more information on viewing bitmap images, refer to Bitmap Viewer in Chapter 8, Construction Tools.

Adding a Bitmap
To add a bitmap to the project hierarchy: 1. Select an object in the Project Hierarchy window and click the Bitmap button in the Hierarchy Objects toolbar. The Insert Bitmap window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add a bitmap by: Right-clicking an object in the Project Hierarchy window and selecting Insert > Bitmap or Insert Child > Bitmap. Selecting Insert > Bitmap or Insert Child > Bitmap from the Construction Workbench menu. 2. In the Name field, type the name of the bitmap to add and click Insert. AppBuilder adds the object to the project hierarchy. If the bitmap does not exist in the repository, AppBuilder creates the bitmap. To import the bitmap graphic, see Importing a Bitmap. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15.

3. 4.

Importing a Bitmap
For information on importing a bitmap using the Bitmap Viewer, refer to Exporting and Importing a Bitmap Image in Chapter 8, Construction Tools.

5-16

Configuration Hierarchy

Component

Component
User components contain computer code (for example, Assembler, C, COBOL, or Java) to accomplish functions that are not possible with the AppBuilder Rules Language. This may include: Complicated mathematical functions, such as square root Non-SQL data access logic, such as the IMS database interface Hardware specific functions for the selected execution environment

Note
Refer to:

Because user components are written in a specific language, they are not portable between environments.

Adding a Component Writing a Component For more information on Component Painter, refer to Component Painter in Chapter 8, Construction Tools. For more information on developing user components, refer to the Developing Applications Guide. User components are pieces of source code that you develop (or have developed). These are different from functions that we have developed and saved in pre-defined system components. For information on this type of component, refer to the System Components Reference Guide.

Adding a Component
To add a user component to the project hierarchy: 1. Select an object in the Project Hierarchy window and click the Component button in the Hierarchy Objects toolbar. The Insert Component window appears. Refer to Adding Objects to a Hierarchy in Chapter 4, Hierarchy Window for instructions on using the Insert window. You can also add a component by: Right-clicking an object in the Project Hierarchy window and selecting Insert > Component or Insert Child > Component. Selecting Insert > Component or Insert Child > Component from the Construction Workbench menu. 2. In the Name field, type the name of the component to add and click Insert. AppBuilder adds the object to the project hierarchy. If the component does not exist in the repository, AppBuilder creates the window. You can also create a new component by clicking on the New Object button in the Standard toolbar. To write the language-specific component, see Writing a Component. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties on page 4-15.

3. 4.

AppBuilder 2.1.0 Development Tools Reference Guide

5-17

Component Folder

Writing a Component
After creating a user component object you must write the language-specific component code. To write a component: 1. 2. Right-click the component object in the project hierarchy. Select Open Component from the pop-up menu. The Component Editor window appears. Ensure that the objects properties correctly specify the components language and execution environment. See Hierarchy Object Properties on page 4-15.

Component Folder
A Component Folder is a container for user components and external files. To add a Component Folder: 1. 2. Select an object in the Project Hierarchy window. Click the Component Folder button in the Hierarchy Objects toolbar. The Insert Component Folder window appears. You can also add a component by: Right-clicking an object in the Project Hierarchy window and selecting Insert > Component Folder or Insert Child > Component Folder. Selecting Insert > Component Folder or Insert Child > Component Folder from the Construction Workbench menu. Refer to the Developing Applications Guide and the chapter on adding user components for a description on how to use the Component Folder.

5-18

Configuration Hierarchy

File

File
A file represents the physical files used for data access during execution. Rules and components can read from and write to disk files whose file entity types they are related to. Files can be automatically generated by AppBuilder tools. There are several ways to add a file to the project hierarchy: 1. Select an object in the Project Hierarchy window and, Click the File button in the Hierarchy Objects toolbar.

Right-click an object in the Project Hierarchy window and select Insert > File or Insert Child > File. Select Insert > File or Insert Child > File from the Construction Workbench menu. The Insert File window appears. 2. In the Name field, type the name of the file to add and click Insert. AppBuilder adds the object to the project hierarchy. If the file does not exist in the repository, AppBuilder creates the window. To modify the objects properties: Right-click the object and select Properties from the pop-up menu. Select the object, then select View > Properties from the Construction Workbench menu. Select the object, then press Alt+Enter. The Properties window appears. See Hierarchy Object Properties in Chapter 4, Hierarchy Window.

AppBuilder 2.1.0 Development Tools Reference Guide

5-19

File

5-20

Configuration Hierarchy

CHAPTER

6
Figure 6-1

OUTPUT WINDOW

AppBuilder 2.1.0 Development Tools Reference Guide

For several operations in the Construction Workbench, from any of a number of tools, the status or outcome is displayed in the various tabs of the Output window. By default, the Output window appears at the bottom of the Construction Workbench. A sample output window is shown in Figure 6-1.
Sample Output window

The Output window contains the following tabs: Prep Status Tab Prep List Tab Prepare Tab Analysis Tab Diagnostics Tab Verify Tab You can resize it and move it to any location in the Construction Workbench Work Area or undock it as a separate window. To move the Output window outside of the Construction Workbench, right-click in the Output window and select Allow Docking (so that it unchecks this item) from the pop-up menu. You can then move the window on your desktop. For more information, refer to Docking and Floating Windows in Chapter 1, Workbench Overview. To show or hide the Output window, select View > Output in the Construction Workbench.

AppBuilder 2.1.0 Development Tools Reference Guide

6-1

Prep Status Tab

Prep Status Tab


The Prep Status tab displays the status and result of the preparation of an object or objects. An example is shown in Figure 6-2. The Prep Status tab in the Output window shows the information about preparation jobs (from Prepare or Super Prepare actions). This tab shows the current state of the operation of preparing, the real-time status and result of each object or objects being prepared. The various types of information are summarized in Table 6-1. Refer to Table 6-2 for a description of the different states of the preparation being performed. Within this tab there are several actions that can be performed: Displaying Preparation Details Restarting Preparation Jobs Suspending and Resuming Pending Jobs Opening or Viewing Preparable Objects Dragging and Dropping to the Prep Status Tab
Figure 6-2 Sample Prep Status tab

For more information about preparation, refer to the Deploying Applications Guide.
Table 6-1 Heading Name Type Submission Status Submission Time Last Modified Platform Partition Configuration Preparation Status headings Description This is the unique name of the object being prepared as it appears in the hierarchy. This is the type of object being prepared, whether rule, component, window, set, etc. This is the status of the preparation job, as summarized in Table 6-2. This is the date and time when the object was submitted for preparation. This is the date and time that the object was last updated. This is the target platform, either Java or Windows-NT, MVS, Unix, etc. This is the partition to which the object belongs (for a distributed application). This is the configuration to which the partition belongs (for a distributed application).

6-2

Output Window

Prep Status Tab

Figure 6-3

Preparation states of several objects of a Super Prepare

As one Partition object is being prepared in the background... ... a Rule object is starting to be prepared... ... and another partition is soon prepared when the others are ready. Table 6-2 Status Pending Starting Executing Remote submitted Waiting Successful Unsuccessful Preparation Status descriptions Description of preparation job Queued by AppBuilder but are not yet being prepared. Begun preparing and are waiting for previously submitted jobs to finish. Currently being prepared. Submitted to a mainframe. Completed processing on the local workstation and are awaiting processing on the remote workstation. Finished properly. (May not display if you have the Workbench Option set to not display successful jobs. Not finished properly. See the error messages for that job.

To clear or delete the records in this display, select the line and right-click. Select the Delete or Delete All option. You can delete a preparation job from the preparation Output window. If the selected job is Pending, deleting the job cancels it and removes it from the queue. If the selected job is Starting or Executing, the choice is grayed out -- you cannot delete it. If the selected job is Remote submitted or Waiting, deleting removes it from the Output window. If the job is Successful, deleting does not remove executable files. You can click any of the headings in the Prep Status tab to arrange the displayed items in order of that heading. For example, to see all the successfully prepared objects, click the Status heading and the successful items appear together.

Displaying Preparation Details


For details on any item in the preparation status (Prep Status) tab, view the Details window. To see details, right-click the line in the Prep Status tab and select Details. The system displays a detailed report for the object. Double-clicking an executing, waiting, or completed preparation job also displays the Details window. The title of the window is the name of the object, the type of object, and the platform separated by periods. You can also select a job and press Alt+Enter to display job details.

AppBuilder 2.1.0 Development Tools Reference Guide

6-3

Prep Status Tab

Figure 6-4

Sample Preparation Details window example

Title shows object name, type, and platform. Details of compiling and building. Error messages (if any) are displayed here.

Use Find dialog (Ctrl+F) to search for specific text.

To perform a text search inside a details window, to find a text string, click in the Details window and press Ctrl+F, which brings up the Find window. You can search the window for any text.

Restarting Preparation Jobs


To restart a preparation job listed in the Prep Status tab: 1. 2. In the Output window, click the Prep Status tab. Select the objects to prepare.
To select multiple jobs, press Ctrl while selecting the job(s). To select a group of consecutive jobs, select the first and press Shift when selecting the last.

Tip
3.

Right-click the jobs and select Restart from the pop-up menu. You can also restart the job by pressing Ctrl+R.

You can also prepare an object again by doing a query. The Preparation Query window is available from the Prep Status tab by right-clicking and selecting Preparation Query. When you have selected the object to prepare, click Prepare. For more information about preparation in general, refer to the Deploying Applications Guide.

Suspending and Resuming Pending Jobs


To suspend a pending preparation jobs, right-click in the Prep Status tab and select Suspend Pending Jobs from the pop-up menu. To resume a pending jobs, right-click in the Prep Status tab and select Resume Pending Jobs from the pop-up menu.

6-4

Output Window

Prep List Tab

Opening or Viewing Preparable Objects


From the Prep Status tab you can open the object (a rule in Rule Painter, for example). Select the line of the object in the Prep Status tab, right-click and select Open. You can also drag objects from the Prep Status tab and drop them in Work Area to open them. For more information on the drag and drop feature, refer to Dragging and Dropping to the Prep Status Tab in Chapter 1, Workbench Overview.

Dragging and Dropping Preparable Objects


You can drag and drop preparable objects from the application hierarchy in the Hierarchy window to the Prep Status tab to start preparation. For more information on the drag and drop feature, refer to Dragging and Dropping to the Prep Status Tab in Chapter 1, Workbench Overview.

Prep List Tab


The Prep List tab displays the jobs that were previously prepared. It is essentially a history of the preparations performed. This list can be saved to a file and retrieved from a file. An example is shown in Figure 6-5. Within this tab there are several actions that can be performed: Loading and Saving a Prep List Submitting Preparation Jobs Dragging and Dropping to the Prep List Tab
Figure 6-5 Sample Prep List tab

From wherever the preparation is started, the job is shown in this list. If the preparation is started from the Prep List tab with a Submit command, it is not listed again, but the Submission Status changes to Submitted. If the preparation is started from the Prep Status tab with the Restart command, the job is not listed. For more information about preparation in general, refer to the Deploying Applications Guide.

AppBuilder 2.1.0 Development Tools Reference Guide

6-5

Prep List Tab

Loading and Saving a Prep List


You may save the list of preparation jobs to a file and then at a later time, or on a different machine, load that list of preparation jobs and run them for preparation. To load an existing preparation list: 1. 2. Right-click in the Prep List tab and select Open work list from the pop-up menu. The Open window appears. Select the preparation list (DAT file) to load and click Open. AppBuilder adds the preparation jobs to the Prep List tab. If the item is already there it replaces it, but it does not clear the tab or remove other jobs from the list. To submit the preparation jobs, select the jobs, right-click and select Submit from the pop-up menu.
To select multiple jobs, press Ctrl while selecting the job(s). To select a group of consecutive jobs, select the first and press Shift when selecting the last.

3.

Tip

You can also submit jobs by selecting the jobs and pressing Ctrl+Alt+M. To save a preparation list: 1. In the Prep List tab, right-click and select Save work list from the pop-up menu. The Save As window appears. You can also save the jobs by pressing Ctrl+S. 2. Select a filename and location for the preparation list and click Save. By default, AppBuilder saves the preparation list as pwbatch.dat in the <AppBuilder>\AD\CFG\DATA directory.

Submitting Preparation Jobs


You can resubmit any or all of the of the jobs in the list. Select the jobs to resubmit and right-click. Select Submit. You can select jobs by clicking on them.

Tip

To select multiple jobs, press Ctrl while selecting the jobs. To select a group of consecutive jobs, select the first and press Shift when selecting the last.

To unselect a job, click off the list but in the window, or right-click and select Clear Selected.

Dragging and Dropping Preparable Objects


You can drag and drop preparable objects from the application hierarchy in the Hierarchy window to the Prep List tab to start preparation. For more information on the drag and drop feature, refer to Dragging and Dropping to the Prep List Tab in Chapter 1, Workbench Overview. For more information about preparation in general, refer to the Deploying Applications Guide.

6-6

Output Window

Prepare Tab

Prepare Tab
The Prepare tab displays any operational errors when preparing an object in the hierarchy. An example is shown in Figure 6-6. This tab is used as the place to display such errors as opposed to displaying an error message box for each error because there may be many such messages when a super prepare is performed. If there is a problem with the preparation, an error message displays in this tab.
Figure 6-6 Sample Prepare tab

If the message appears longer than the window (which can happen if you have the Output window undocked), use the left and right arrow keys to navigate through the entire length of the message. For more information about preparation, refer to the Deploying Applications Guide.

Analysis Tab
The Analysis tab displays the results of engineering tools (as shown in the sample in Figure 6-7) and the results of HTML generation (as shown in the sample in Figure 6-8).
Figure 6-7 Sample engineering tools results in Analysis tab

Figure 6-8

Sample HTML generation results in Analysis tab

Diagnostics Tab
The Diagnostics tab displays messages that relate to problems with the overall operation of the Construction Workbench. For example, if you are expanding a large hierarchy in the Hierarchy Diagram

AppBuilder 2.1.0 Development Tools Reference Guide

6-7

Diagnostics Tab

tool, and a sequence number clash is detected, an error message is printed to the Output window Diagnostics Tab. The information in this tab helps Support troubleshoot problems. When contacting BluePhoenix Solutions Support, provide information that is displayed on this tab.

6-8

Output Window

Verify Tab

Verify Tab
The Verify tab displays reports from verifications: Engineering Relationship Diagram (ERD) Verification report Rule Verification report An example is shown in Figure 6-9.
Figure 6-9 Sample Verification report

If there are no errors or warnings, the system displays the following message: The rule syntax is valid. If there are errors or warnings when verifying a rule, they are listed in this tab. Double-click the error or warning in the Verify tab and the Rule Window (for the rule that contains the error) appears. If the verification report indicates errors or warnings in the rule, you can quickly locate the error within the rule. For more information about debugging, refer to the Debugging Applications Guide.

AppBuilder 2.1.0 Development Tools Reference Guide

6-9

Verify Tab

6-10

Output Window

CHAPTER

DESIGN TOOLS

AppBuilder 2.1.0 Development Tools Reference Guide

Design tools help you model the application and perform some analysis before you begin development. Access the design tools from Construction Workbench when you create a new diagram or drawing, or when you open an existing diagram or drawing. Here is a list of the possible AppBuilder design tools: Entity Relationship Diagram Database Diagram Process Dependency Diagram State Transition Diagram Window Flow Diagram The following topics provide information that applies to all the design tools: Creating a New Drawing Opening an Existing Drawing Display Options for Diagrams Common Tasks with Diagrams Common Tasks with Objects in Diagrams

AppBuilder 2.1.0 Development Tools Reference Guide

7-1

Creating a New Drawing

Creating a New Drawing


To create a new drawing: 1. From the Construction Workbench menu, click File > New. The Create New window appears.
Create New window

Figure 7-1

2.

Select the type of drawing or diagram that you want to create. This is a list of possible diagrams: Database Diagram Entity Relationship Diagram Process Dependency Diagram State Transition Diagram Window Flow Diagram

3.

Click OK.

The tool appears in the Work Area of the Construction Workbench. Each design tool has a toolbar associated with it. Diagrams are saved in the repository as instances of the diagram entity type. These diagrams graphically portray the entities and relationships between them. The position of boxes and lines relative to each other is stored in the diagram. The boxes and lines in the diagram also store pointers to the repository entities they represent.

7-2

Design Tools

Opening an Existing Drawing

Opening an Existing Drawing


To open an existing drawing: 1. From the Construction Workbench menu, click File > Open. The Open Repository Object window appears.
Open Repository Object window

Figure 7-2

2.

Select the type of drawing or diagram to open. This is a list of possible diagrams: Database Diagram Entity Relationship Diagram Process Dependency Diagram State Transition Diagram Window Flow Diagram

3. 4. 5.

Click Query to display a list of diagrams in the repository. Select the diagram you want from the list. (If the drawing you want is not there, you must follow the steps for Creating a New Drawing.) Click Open.

The tool appears in the Work Area of the Construction Workbench. Each design tool has a toolbar associated with it. Diagrams are saved in the repository as instances of the diagram entity type. These diagrams graphically portray the entities and relationships between them. The position of boxes and lines relative to each other is stored in the diagram. The boxes and lines in the diagram also store pointers to the repository entities they represent.

AppBuilder 2.1.0 Development Tools Reference Guide

7-3

Display Options for Diagrams

Display Options for Diagrams


There are various ways to change the display of the diagram that is available to all of the design tools. Refer to Figure 7-3 for a summary of the options.
Figure 7-3 Display options Rulers (along both horizontal and vertical axes) Grid (shown with dots)

Page bounds (shown with dashed line)

Zooming can be any of several sizes

These options include: Displaying a Grid Displaying Rulers Displaying Page Bounds Zooming In and Out Specifying Header or Footer Modifying Aspects of a Diagram Showing More Information Changing Affiliation and Owner

Displaying a Grid
Right-click in the diagram window (see Figure 7-3) to display a menu that includes the grid options. From this menu, select Grid to show or hide the grid pattern. The grid pattern is displayed when Grid is checked. The grid pattern does not appear on paper when you print the diagram. The grid is intended to aid you in placing and arranging objects in the diagram. Refer to Figure 7-3 for an example of the right-click menu. You can also allow the objects you place in the diagram to align with (or snap to) the grid. From the menu shown in Figure 7-3, select Snap to Grid allowing objects to be placed only at grid points. You can also change the appearance of the grid by selecting Grid Properties. The window in Figure 7-4 appears.

7-4

Design Tools

Display Options for Diagrams

Figure 7-4

Grid Properties window

By unchecking Grid Visible, you can turn off the display of the grid. The snap options described previously can also be changed from these check boxes. Select Angle Snap to allow angles in the lines (relationship objects) in the diagram. You can select the color of the dots in the grid with the color selection pull-down. Remember that light colors (like yellow) barely display because the dots are small. You can select the horizontal and vertical spacing of the grid dots by entering in values in the Grid Spacing area.

Displaying Rulers
As shown in Figure 7-3, you can display rulers (both horizontal and vertical) around the outside of the diagram in the diagram window. From the Construction Workbench, click View > Diagram Rulers to turn on or off the display of the rulers. When the check mark is displayed in the menu, the rulers are displayed. Both rulers display. The rulers display with the units of measurement specified in the Windows operating system for that workstation. The units are country code dependent; they may either be U.S. or Metric depending on what country or locale is set in the Control Panel. To check or change that value, look in the Start > Settings > Control Panel > Regional Options (for Windows 2000) or Regional Settings (for Windows NT) > Numbers tab, the Measurement system value. For the U.S. setting, the rulers display in units of inches; for the Metric setting, the rulers display in units of centimeters.

Displaying Page Bounds


From the right-click menu shown in Figure 7-3, you can display the place in the diagram where the printer ends one page and begins another. These page bounds are shown with a dashed line that runs the length and height of the diagram. The page bounds are helpful if you have a multi-page diagram and you want to organize objects in such a way that they print clearly. From the right-click menu in the diagram window, select Page Bounds to turn on or off the display of the rulers. When the check mark is displayed in the menu, the page bounds are displayed. For other information regarding page printing, refer to Specifying Header or Footer.

AppBuilder 2.1.0 Development Tools Reference Guide

7-5

Display Options for Diagrams

Zooming In and Out


From the right-click menu shown in Figure 7-3, you can zoom in or zoom out on your diagram. Click Zoom and then select the zoom percentage you want. The Zoom to Fit option fits your diagram in the diagram window regardless of the size of your window. You can also access zoom properties from the View menu of the Construction Workbench menu: Zoom In - Scales the diagram larger. Zoom Out - Scales the diagram smaller. Show Normal Size - Sets the zoom factor to 100%. Show All - Fits the diagram in the window regardless of the size of your window. Show All is the same as Zoom to Fit from the right-click menu. Zoom to Selected Area - Select a piece of your diagram and select this option. The tool zooms in on that selected portion of the diagram.

Specifying Header or Footer


You can select which information is displayed when you print the diagram. You can select to print a header at the top of every page or a footer at the bottom of every page or both. To specify headers, footers, or both, from the View menu, select Headers/Footers.
Figure 7-5 Headers and footers example window

Specify header

Specify footer

If you select the Header check box, a header is printed at the top of every page with the information you select from the scroll list (for example, the title and page numbers). You select whether to set it to appear on the right, center, or left of the page. The title is the information you type in the Title field. The title is printed on its own line at the top and the other information is printed on the next line below it. If you select the Footer check box, a footer is printed at the bottom of every page with the information you select from the scroll list (for example, date and time). You select whether to set it to appear on the right, center, or left of the page.

7-6

Design Tools

Common Tasks with Diagrams

If you wish to select the size and color of the font, click Select Font and change the settings in the Font window. Click OK. The settings apply to both headers and footers. When done with the headers and footers, click Apply or OK.

Common Tasks with Diagrams


These include: Navigating to Another Diagram Modifying Aspects of a Diagram Showing More Information Changing Affiliation and Owner

Navigating to Another Diagram


A large system will have multiple diagrams. Navigate allows you to move to another diagram that is stored in the repository or to create a new diagram. First you select an entity in your diagram. Subsequent navigations from that entity return to the same diagram without further prompting. However, it is possible to navigate to more than on diagram from a single entity. If you have navigated to more than one diagram from a single entity, each time you attempt to navigate from that entity, the system prompts you with a list of diagrams where you have set navigation paths. The navigate function is not available for all diagrams. To navigate do the following: 1. With an entity of your diagram selected, click Edit > Navigate, or Right-click on the entity in the diagram and select Navigate. The Navigate window appears. 2. 3. 4. 5. Select the type of diagram that you want to navigate to and click OK. In the next window, type the name of the diagram that you want to navigate to, or query the repository to find it. If you click Query to query the repository, the Insert Drawing window appears. From the Insert Drawing window, click Query. Select the drawing that you want to navigate to and click Insert.

Modifying Aspects of a Diagram


Right-click on the Construction Workbench toolbar or menu and select Drawing: Properties as shown in Figure 7-6. These settings are not the same as the diagram properties that are available from the Properties selection when you right-click inside the diagram. The Drawing Properties are more operational settings that apply to the diagram or the objects in the diagram. These settings control object appearance and help you create a properly sized and formatted diagram. The settings are described in Table 7-1.

AppBuilder 2.1.0 Development Tools Reference Guide

7-7

Common Tasks with Diagrams

Figure 7-6

Accessing diagram properties

Table 7-1 Name Behavior

Drawing Properties Description Set various aspects of diagram behavior. When you change one of the settings (properties) under Appearance, AppBuilder applies that change to objects in the diagram according to this setting. Possible settings are as follows: To all objects - AppBuilder applies that change to all the objects in the diagram. To new objects - AppBuilder applies that change only to any new objects added to the diagram but not to objects already in the diagram (default setting). True or False. When set to True the box objects automatically size to the length of their names. Box objects with short names become the default size. Resizes objects in the diagram to display all details. Default is True. True or False. Set this to True to ensure that a new or moved box object is just long enough to display the objects name or that a new or moved line object is drawn in the best orthogonal path between its endpoints, avoiding box objects and other line objects. Draws any line in as few horizontal and vertical line segments as possible, regardless of how many you draw with the mouse. Default is False. True or False. True to allows you to perform repeated inserts. When you insert an object using the toolbar or Insert menu, the cursor remains the same allowing you to insert multiple objects of this type. You must click the arrow cursor or press Esc to set the cursor back to the normal pointer. Default is False. Set the font for the display. Select the font, style, and size for the display. The fonts available depend on the fonts you have installed on your system. Set which actions require confirmation by the user. True or False. True has AppBuilder display a confirmation window before deleting an object in the diagram. Default is True. True or False. True has AppBuilder display a confirmation window before inserting an object that already exists in the diagram. Default is False. True or False. True has AppBuilder display a confirmation window before creating a new object in the diagram. Default is False. Set the style of the names in the diagram.

Appearance change applies

Autosize

Autoformat

Multicreate (Repeated Insert)

Font Font Confirmation Confirm Delete Confirm (Duplicate) Use Confirm Create Name Style

7-8

Design Tools

Common Tasks with Diagrams

Table 7-1 Name

Drawing Properties Description Specify how entity names are displayed in the diagram area. Select either Upper Case, Lower Case, or Mixed Case. Upper Case displays name in all capital letters. Lower Case displays name in all lower-case letters. Mixed Case displays name in lower-case letters except for the first letter in every name and any letter immediately after an underscore. Default is Upper Case. Note: Regardless of the name style you choose here for display, the entitys name is stored in the repository as all upper case and must have underscores instead of spaces. True or False. True shows the underscore in entity names in the diagram area. False replaces underscores with spaces. Default is False. Set the appearance of various parts of the display. True or False. True displays a thin rectangle around Note objects. Default is False. True or False. True displays the associated properties within each box object. In Entity Relationship Diagram, Database Diagram, Window Flow Diagram, set this to True to display the property, column, or window hierarchy for all entities in the diagram. The hierarchy appears inside the objects box in the diagram tool; it does not navigate to the Hierarchy diagram. Default is True. True or False. True rotates a diagrams labels so they are parallel to the line or to a segment of a line object that has multiple segments. For example, it aligns roles in the ERD and dependency names in the PDD so they are parallel. Controls how labels align with the lines they designate. When True, labels align on the same slope as the lines and move with them if you move the lines. Default is False. True or False. True sets the ERD to display the From cardinality label of relationship lines. You can select both the From and To label to make both sets of labels visible. This option shows the label associated with the from end of a relationship line. Default is True. True or False. True sets the ERD to display the To cardinality label of relationship lines. You can select both From and To label to make both sets of labels visible. This option shows the label associated with the to end of a relationship line. Default is False. True or False. True ensures that all new line objects are drawn horizontally or vertically. A line object remains black until you name both box objects it connects, then it changes color. Allows you to manually draw line segments rather than the usual, automatic single line. Default is True. Set various options for printing. Specify the percentage of print zoom for the display. Must be an integer value. Default is 100. Specify the number of pages per row. Default is one (1). Specify the number of pages per column. Default is one (1). Specify the print zoom method. Default is Direct. Specify the page orientation, either Landscape (long dimension is horizontal) or Portrait (short dimension is horizontal). Default is Portrait.

Name Style

Show Underscore Appearance Show Note Borders

Hierarchy Display

Label Rotation

From Label Display

To Label Display

Orthogonal Lines

Printing Print Zoom Percentage Pages per Row Pages per Column Print Zoom Method Page Orientation

Showing More Information


This section discusses how you can see more detail in your drawings and diagrams: Exploding Diagram Objects and Relations Showing and Hiding Details.

AppBuilder 2.1.0 Development Tools Reference Guide

7-9

Common Tasks with Diagrams

Exploding Diagram Objects and Relations


A diagram object can have more than one object associated with it. When an object has at least one more object attached to it (but not shown), the object shows three dots (...). This indicates that you can expand or explode it to see the other objects. To explode and object, from the Construction Workbench menu, click Edit > Explode. To explode the relationships between objects, select the relationship object and click Edit > Explode Relations.
Figure 7-7 Collapsed entity (can be exploded) These three dots indicate that the object can be exploded.

With the object selected in the diagram, select Edit > Explode (or press F8) to explode the object in the diagram. This expands the next level of objects under it in the diagram. To explode the relations, with the object selected in the diagram, select Edit > Explode Relations (or press Ctrl-F8). Do not confuse these with the Expand and Collapse commands in the Hierarchy. The Explode command explodes entities in the diagram but does not change the appearance of the hierarchy; the Expand command in the hierarchy does not change the appearance of the diagram.

Note

You cannot explode objects and relations in a Window Flow Diagram.

Showing and Hiding Details


Show or hide the details of one or more selected objects including the labels for lines, the hierarchy for boxes. From the Edit menu select Show Details or Hide Details.

Changing Affiliation and Owner


For a diagram, you can change affiliation with a project (Changing Project Affiliation) or change the owner of the diagram (Changing Diagram Owner). These options are available only for a saved diagram.

Changing Project Affiliation


In a workgroup repository, you can change the project to which a diagram belongs. Refer to the Workgroup Repository Administration Guide for security and authorization restrictions. To associate a diagram with a different project: 1. 2. In the diagram window, right-click and select Change Project. The Change to Project window appears. You can also select Edit > Change Project. In the Change to project window, the current diagram object whose project you are changing appears in the list. Select the project to which you want to transfer the object in the Change to projects drop-down list.

7-10

Design Tools

Common Tasks with Diagrams

Figure 7-8

Change project window

3.

Click OK or Apply to accept the changes. The message Action successful is displayed.

If you do not have the required authorization, then an error message is displayed that indicates you do not have update authority for the project to which you are changing the object.

Changing Diagram Owner


In a workgroup repository, you can change the owner of a diagram. Refer to the Workgroup Repository Administration Guide for security and authorizations restrictions. To change the owner for a diagram: 1. 2. In the diagram window, right-click and select Change Owner. The Change to Owner window is displayed. You can also select Edit > Change Owner. In the Change to project window, the current diagram object whose project you are changing appears in the list. Select the project to which you want to transfer the object in the Change to owner drop-down list.
Change owner window

Figure 7-9

3.

Click OK or Apply to accept the changes. The message Action successful is displayed.

If you do not have the required authorization, then an error message is displayed that indicates you do not have update authority for the diagram.

AppBuilder 2.1.0 Development Tools Reference Guide

7-11

Common Tasks with Objects in Diagrams

Common Tasks with Objects in Diagrams


This section discusses common things you do when working with diagrams and drawings: Adding an Object to a Diagram Adding a Note in a Diagram Moving an Object in a Diagram Resizing an Object in a Diagram Finding an Object in a Diagram Deleting an Object from the Diagram Copying and Pasting an Object in a Diagram Arranging Objects in a Diagram

Adding an Object to a Diagram


To add an object to a diagram do the following: 1. 2. 3. Open the diagram window in the Construction Workbench. From the Diagram Toolbar, select an object to insert, or From the Construction Workbench menu bar, select Insert, then select the type of object to insert.

When inserting a box object, the pointer changes until you click somewhere in the diagram window. Then a gray version of the entity is shown in the diagram until you either define that entity or select one from the repository. For a line, you select the first object and the destination object and the system draws the line between them. Figure 7-10 shows the stages of adding an object, for both a box and a line object. When done adding several objects, you may want to try Reformatting Objects.
Figure 7-10 Adding object (box and line) Gray box indicates that object has been placed but not chosen When object is chosen from repository, it appears. Inserting box Inserting line

Cursor indicates that object has been selected but not placed.

Cursor indicates that first object has selected and this second object is a valid destination.

You can resize any of the objects by selecting the object and dragging a handle to a new location.

7-12

Design Tools

Common Tasks with Objects in Diagrams

Adding a Note in a Diagram


To add a note of text in a diagram, from the Construction Workbench menu bar with the diagram window open, select Insert > Note, or select the Note button from the Diagrammer toolbar, and place it on the diagram. Click in the diagram; a text block appears that you can edit. You can turn on or off the border of the note in the Drawing Tools Options tab of the Workbench Options. To get to the Drawing Tools Options, from the Construction Workbench menu bar, click Tools > Workbench Options > Drawing Tools. Figure 7-11 shows the placement of a note in a diagram. In this example, the border is on. The note is not an object in the repository; it is associated with the diagram to serve as a reminder or a label. It appears when printed.
Figure 7-11 Insert note text

You can resize a note by selecting the note and dragging a handle to a new location.

Moving an Object in a Diagram


To move an object in a diagram, select the object and drag it to its new location. As soon as you release the mouse button, the object snaps to the nearest grid point (if snap-to-grid is set) or to the location where it was released. You may move the object by selecting it and pressing (or holding) the arrow keys.

Resizing an Object in a Diagram


To change the size of an object in a diagram, select the object and drag one the handles to a new location. When you select an object in a diagram, the handles appear on all sides and corners of a rectangle (for an object) or a line (for a relationship). When the cursor is over a handle, the pointer changes, as shown in Figure 7-12. This indicates the directions you can drag and move the handle to resize the object or line. To resize both height and width of an object, drag the corner.

AppBuilder 2.1.0 Development Tools Reference Guide

7-13

Common Tasks with Objects in Diagrams

Figure 7-12

Moving handles

Handles

resizing object box

resizing relationship line

Finding an Object in a Diagram


If your diagram is large, you can use this option to find an object in the diagram. From the Construction Workbench menu bar, click Edit > Find or press (Ctrl+F). The Find window appears; you can either search for the entire name or just a string of any named object in the diagram. The substring match finds all occurrences of the text string including the text as part of another word.

Deleting an Object from the Diagram


Select the object to delete and press the Delete key. Or select the object and from the Construction Workbench menu bar click Edit > Clear. This deletes the object from the diagram but keeps the object in the repository. To remove the object from the repository, select Ctrl+Delete or Edit > Delete from repository.

Copying and Pasting an Object in a Diagram


To copy, cut, or paste an object, do one of the following: Right-click the object and select Edit > Copy or Cut or Paste, or Select the object, and from the Construction Workbench menu bar, select Edit > Copy or Cut or Paste. Cut removes the selected object or objects from the diagram but not from the repository. The objects move to the clipboard so you can paste them elsewhere in the diagram or another diagram. Copy copies the selected object or objects to the clipboard so you can paste them elsewhere in the diagram or another diagram. Paste places any cut or copied object or objects from the clipboard into the display area and selects them.

Arranging Objects in a Diagram


You can perform the following with objects in a diagram using the select (right-click) menu: Alignment of Objects Reformatting Objects

7-14

Design Tools

Entity Relationship Diagram

Alignment of Objects
To align two or more selected objects, do one of the following: From the Construction Workbench menu bar click Edit > Align, or Right-click on the second object and click Edit > Align. You can align the selected objects along their top, bottom, left, or right edges.

Reformatting Objects
You can redraw any selected objects to make the diagram more readable. Do the following: From the Construction Workbench menu bar click Edit > Reformat, or Right-click on the second object and click Reformat. For boxes, the diagram is redrawn with each box long enough to display the name. For lines, the diagram is redrawn with the lines in the best orthogonal path between its endpoints, avoiding boxes and other lines.

Entity Relationship Diagram


Early in the software development process, you specify data requirements for the system you are building by using data modeling. One part of data modeling is creating an entity relationship diagram (ERD). Tasks include: Creating or Opening an ERD Inserting ERD Objects Modifying ERD Objects and Properties Analyzing an ERD

Creating or Opening an ERD


For step-by-step instructions on creating an ERD in Construction Workbench, refer to Creating a New Drawing. To open an existing ERD in the Construction Workbench, refer to Opening an Existing Drawing. When you select an Entity Relationship Diagram (ERD) object, a window opens in the work area of the Construction Workbench as shown in Figure 7-13.

AppBuilder 2.1.0 Development Tools Reference Guide

7-15

Entity Relationship Diagram

Figure 7-13

Entity Relationship Diagram window

Entity

Business

Inserting ERD Objects


Do one of the following to insert an ERD object into your diagram: From the Construction Workbench menu bar, click Insert and select the object that you want to insert, or Select the object from the ERD object toolbar (Figure 7-15) and click in the diagram window.
Figure 7-14 Insert menu

To display the toolbar select it from the Toolbars menu as described in Choosing Toolbars. The toolbar is shown in Figure 7-15.

7-16

Design Tools

Entity Relationship Diagram

Figure 7-15 Entity

Entity Relationship Diagram toolbar Relation Cardinality relations Note

Business

Subtype

Modifying ERD Objects and Properties


Modify an object by editing the properties of that object. Some objects available in the diagram tools are not represented as boxes or lines - this includes Cardinality and Role for Relationship and Business Objects. Modifying Entities Modifying Relationships Modifying Business Objects Adding Attributes

Modifying Entities
Select the entity and either right-click to select Properties or double-click the entity. The Entity Properties window appears as shown in Figure 7-16.
Figure 7-16 Entity Properties window

AppBuilder 2.1.0 Development Tools Reference Guide

7-17

Entity Relationship Diagram

The default entity type is kernel. The types of entities available from the drop-down list are: Kernel a basic entity that can exist independently of others (also called primary or fundamental) Associative an entity that has properties and is placed between two others that stores information about a relationship between two or more kernel entities often to resolve many-to-many relationships Characteristic a dependent entity that requires the existence of another entity and describes a kernel entity Intersection an entity that contains no properties but provides a way to resolve a many-to-many relationship

Modifying Relationships
Select the relationship and either right-click to select Properties or double-click the relationship. The Relationship Properties window appears as shown in Figure 7-16. This section includes the following topics: Adding Relationship Cardinality Adding Relationship Role

7-18

Design Tools

Entity Relationship Diagram

Figure 7-17

Relationship Properties window

Refer to the Information Model Reference Guide for a more complete treatment of a Relationship object. Adding Relationship Cardinality In ERDs, cardinalities are displayed at each end of a relationship line where the relationship meets and entity. They are also represented by the relationship label. You may specify the cardinality of a relationship using any of these methods: Select a cardinality type in the Insert menu. Select a cardinality type from the toolbar. Specify the cardinality type of a relationship in the Relationship properties window (Figure 7-17). Adding Relationship Role In ERDs, a relationship can have two roles, From and To, which you specify as follows: 1. 2. Specify the roles of a relationship in the Relationship properties window (Figure 7-17). Each role you define appears on a label, which can be displayed beside the cardinality it describes.

AppBuilder 2.1.0 Development Tools Reference Guide

7-19

Entity Relationship Diagram

3.

The ERD opens showing only the From labels. You can display either or both. See Modifying Aspects of a Diagram.

Modifying Business Objects


Select the business object and either right-click to select Properties or double-click the business object. The Business Object Properties window appears as shown in Figure 7-18
Figure 7-18 Business Object Properties window

The default business object type is referential. The types of entities available from the drop-down list are: Referential Transactional

Adding Attributes
An attribute is a fact about or property of an entity. When you forward engineer or begin the construction, the entity becomes a table and the attributes become fields in the table. While you use the Entity Relationship Diagram to place the entities and relationships in a diagram, you use the Hierarchy window for adding attributes to an entity.

7-20

Design Tools

Entity Relationship Diagram

Figure 7-19

Hierarchy of entities with attributes

Select an entity in the ERD, right-click and select Open as Hierarchy. The Repository tab opens in the Hierarchy window and displays the entity. Expand the object in the hierarchy to see its attributes. To add an attribute, select an attribute object from the Hierarchy Objects toolbar or select Insert Child from the ERD toolbar or select Insert > Child from the main menu.

Analyzing an ERD
Several functions are available after you have created a diagram. These functions are provided through the Analysis menu of the Construction Workbench.
Figure 7-20 Analysis menu

AppBuilder 2.1.0 Development Tools Reference Guide

7-21

Understanding Forward Engineering

These functions include: Check for Duplicates and Unnamed Objects Verify Forward Engineering Trace For information about using TurboCycler and TurboScripter, refer to the Scripting Tools Reference Guide.

Check for Duplicates and Unnamed Objects


AppBuilder can check for duplicate objects or unnamed objects when you are done with a diagram. This is helpful with large diagrams that have many objects. From the Analysis menu, select Check for Duplicate or Check for Unnamed Objects. Check for duplicates searches for any objects used twice in the current diagram.

Verify
AppBuilder can verify the diagram when you are done with it. From the Analysis menu select Verify or Verify Selected.

Forward Engineering
Select Forward Engineering or Forward Engineering Selected to forward engineer your diagram. Read more about forward engineering under the section Understanding Forward Engineering. For examples, refer to Appendix A, ERD Examples.

Trace
The trace analysis process in the Entity Relationship Diagram lets you see how forward engineering translated logical entities into relational entities. Trace analysis tracks and reports how the logical entities in an ERD correspond to the relational entities in the database model. For examples, refer to Appendix A, ERD Examples.

Understanding Forward Engineering


The forward engineering process in the Entity Relationship Diagram translates logical entities (entities, identifiers, and attributes) into relational entities (tables, keys, and columns). Forward engineering creates a database diagram containing a table for each ERD entity, keys from their identifiers, and columns from their attributes. Forward engineering maintains inheritance information so you can do a trace analysis to see how the logical entities translated into relational entities. The process begins with a completed and normalized entity relationship diagram (ERD). Ensure that every entity has a relationship and that both ends of all relationships have a cardinality. Make sure each

7-22

Design Tools

Understanding Forward Engineering

kernel entity has at least one unique identifier and at least one attribute, and that all attributes have a data type. To forward engineer a diagram: 1. 2. Select the diagram in the Entity Relationship Diagram window. Select Analysis > Forward Engineering from the Construction Workbench menu. You can also forward engineer selected parts of an ERD by selecting specific entities or many-tomany relationships and selecting Analysis > Forward Engineering Selected. As forward engineering progresses, the message line displays status messages at the bottom of the Entity Relationship Diagram window. 3. When the process is complete, the system displays a status report on the Analysis tab of the Output window to display any errors or warnings. See Viewing the Forward Engineering Report.

The next several sections describe how to complete the ERD you plan to forward engineer, and then discuss the steps in the forward engineering process. The narrative includes explanations of the relationship patterns that the forward engineering process follows and a list of error messages. The following topics are discussed in this section: Creating Attribute Hierarchies in an ERD Verifying an ERD Renaming Generated Names Understanding Relationship Patterns Viewing the Forward Engineering Report Handling Error Messages

Creating Attribute Hierarchies in an ERD


Before you begin forward engineering, create an attribute structure for each entity you want to translate. An attribute structure can include attributes, data types, identifiers, and relations. Each kernel entity should have at least one unique identifier and one attribute, and each attribute should have a data type. Figure 7-21 shows the minimum attribute structure you need for forward engineering a kernel entity. A data type attribute is not strictly required, because not having it in the attribute hierarchy generates only a warningrather than an errorwhen you verify the ERD.
Figure 7-21 Minimum attribute structure

Not required

To create an attribute hierarchy: 1. Select one or more entities in the ERD.

AppBuilder 2.1.0 Development Tools Reference Guide

7-23

Understanding Forward Engineering

2.

Select Edit > Open as Hierarchy from the Construction Workbench menu. You can also create an attribute hierarchy by right-clicking on the entities and selecting Open as hierarchy from the pop-up menu. The selected entity appears in the Repository tab of the Hierarchy window.

You can build an attribute structure for each when the selected entity or entities appear in the Repository tab of the Hierarchy window.

Verifying an ERD
Verification ensures that the entities and relationships in the ERD are correct for forward engineering. The forward engineering process automatically verifies the diagram, so you do not have to verify it before you engineer. However, you may want to verify the ERD before engineering to save time. To verify an ERD: 1. 2. Select the diagram in the Entity Relationship Diagram window. Select Analysis > Verify from the Construction Workbench menu. You can also verify selected parts of an ERD by selecting specific entities and selecting Analysis > Verify selected. 3. When the process is complete, the system displays a status report on the Analysis tab of the Output window to display any errors or warnings.

The verification process also alerts you to potential problems by displaying warnings, which the forward engineering report explains. Unlike errors, warnings do not stop the forward engineering process.

Renaming Generated Names


The forward engineering process gives new objects system-created names based on the name of the original entity. For example, forward engineering the CUSTOMER entity creates a table named CUSTOMER. You can develop a database schema that promotes view-to-view mapping by renaming each object as it is created. To create custom names for generated objects, select the Query user option on Engineering tab of the Workbench Options window (as in Figure 7-22).

7-24

Design Tools

Understanding Forward Engineering

Figure 7-22

Engineering Tab of Workbench Options window

If the Query user option is checked here, when you create your ERD with forward engineering (selecting Analysis > Forward Engineering), the Name Modification window (Figure 7-23) appears and forward engineering creates each new object. You can specify a prefix or suffix to be used with the object name when forward engineering creates new objects, as well as a default column type for any attribute that does not have a data type. To stop displaying the Name Modification window and resume automatic object naming, from Engineering tab of the Workbench Options window, click Defaults. Selecting the Defaults button is equivalent to unselecting the Query user option.
Figure 7-23 Changing generated names

AppBuilder 2.1.0 Development Tools Reference Guide

7-25

Understanding Forward Engineering

Understanding Relationship Patterns


The forward engineering process uses several patterns when translating logical entities in an ERD to relational entities in a DBD. The pattern used depends on the entities and relationships in the original ERD and the attribute hierarchy of each entity. This section discusses the following patterns: One-to-One or One-to-Many Many-to-Many Supertype and Subtype Recursive

One-to-One or One-to-Many
The One-to-many relationship type is the most common relationship. A simple example is one sales person has many customers. Forward engineering creates two table entities, one for each entity in the original ERD. The primary identifier for each entity becomes the primary key attached to its table. Any candidate or associate identifiers become index keys. Finally, a foreign key is created to represent the relationship between the two entities. For example, Figure 7-24 shows the tables, columns, and keys that forward engineering created for two entities with a one-to-many relationship. Entity A displays its attributes (ONE and TWO) and its identifier (A_ID). Forward engineering creates a table named A with columns ONE and TWO, and a primary key (A_A_ID_PK). Similarly, entity B becomes a table B, its attributes (THREE and FOUR) become columns, and its identifier (B_ID) becomes the primary key (B_B_ID_PK). Forward engineering creates a foreign key named X_A_ID_FK to reflect the relationship (named X) between A and B. This foreign key is related to table B through the Table owns Key relationship because the many cardinality is on the many side of the X relationship. The X_A_ID_FK foreign key is related to table A through the Table refers-to Key relationship. The column reflecting the primary key of entity A is inherited through the foreign key into table B.

7-26

Design Tools

Understanding Forward Engineering

Figure 7-24

One-to-many relationship before and after forward engineering

Logical entities

Forward engineering

Relational entities

Many-to-Many
A simple example of a many-to-many relationship is many employees have many tasks. In a many-tomany relationship, forward engineering creates one table for each entity and an additional table containing intersection data. The name of the intersection table is based on the name of the relationship between the two entities. The example in Figure 7-25 shows that the entity C has two attributes (FIVE and SIX) and one identifier (C_ID). The D entity also has two attributes (SEVEN and EIGHT) and one identifier (D_ID), and is related to the C entity by a many-to-many relationship named Y. As Figure 7-25 shows, forward engineering creates three tables: C, D, and an intersection table (Y) named for the relationship between the C and D entities. Table Y and its primary key (Y_PK) both have two columns, each of which reflects the attribute in their identifiers, FIVE and EIGHT, inherited through the foreign keys. Y has two related foreign keys (Y_D_ID_FK and Y_C_ID_FK) each reflecting the identifiers of the two entities. The Key refers-to Table relationship relates each foreign key to the table it refers to.

AppBuilder 2.1.0 Development Tools Reference Guide

7-27

Understanding Forward Engineering

Figure 7-25

Many-to-many relationship before and after forward engineering

Logical entities

Forward engineering

Relational entities

7-28

Design Tools

Understanding Forward Engineering

Supertype and Subtype


A supertype entity is an entity that can be broken down into smaller entities or subtypes. For example a supertype entity EMPLOYEE can have subtype entities FULL-TIME and PART-TIME. Forward engineering creates one table per supertype and one table per subtype. The supertype table contains columns for its attributes and a primary key for its identifier. The subtypes have columns for their own attributes, as well as columns corresponding to all the supertype primary attributes. The example in Figure 7-26 shows that forward engineering creates a table for each entity: table E, table F, and table G. The table created from the E supertype has one column because it has one attribute (NINE). Tables that implement subtype entities inherit from the table that implements their supertype. Forward engineering creates subtype tables that have their own primary key and a foreign key. Both keys contain a column corresponding to every column of the supertype table primary key. The columns for both the primary and foreign keys appear as the table children. So in this example, forward engineering creates primary keys that reflect the identifiers for each entity: E_E_ID_PK for table E, F_PK for table F, and G_PK for table G, based on the relationship between them and E. Finally, as Figure 7-26 shows, forward engineering creates two foreign keys related to tables F and G, which refer back to the E supertype through their columns and the Key refers-to Table relationship.
Figure 7-26 Entity and subtype entities before and after forward engineering

Logical entities

Forward engineering

Relational entities

Recursive
A recursive relationship is a relationship between an entity and itself. A simple example is a female person entity is a mother of a person and a child of a person. An entity with a one-to-many recursive relationship converts according to the one-to-many relationship, except an additional foreign key is

AppBuilder 2.1.0 Development Tools Reference Guide

7-29

Understanding Forward Engineering

added to reflect the relationship the entity can have with itself. The example in Figure 7-27 shows that during forward engineering, the recursive Z relationship that relates H to itself produces a table named H with attributes of entity H as columns, a primary key that reflects the entity identifier of entity H, and a foreign key named for the recursive relationship (Z) between H and itself.
Figure 7-27 Recursive one-to-many relationship before and after forward engineering

Forward engineering

Logical entities Relational entities

An entity with a many-to-many recursive relationship converts with two foreign keys reflecting the relationships the entity can have with itself. The example in Figure 7-28 shows that during forward engineering, the recursive has relationship that relates H to itself produces a table named H with entity H attributes as columns, a primary key that reflects the entity H identifier, and two foreign keys named for the recursive has relationship between H and itself. (Versioning, indicated with a _V1 suffix, is used to resolve conflicting names.)
Figure 7-28 Recursive many-to-many relationship before and after forward engineering

Forward engineering

Logical entities Relational entities

Viewing the Forward Engineering Report


After completing forward engineering, the system displays the results in the Analysis tab of the Output window. This forward engineering report lists verification and forward engineering warnings and errors. The report in Figure 7-29 shows that both verification and forward engineering completed without any warnings or errors.

7-30

Design Tools

Understanding Forward Engineering

Figure 7-29

Forward Engineering report

Handling Error Messages


Error messages you can encounter during forward engineering (and thus are displayed in the Forward Engineering Report window) are explained below.

Associative Entity is missing an Attribute


Each associative entity must have at least one attached Attribute.

Characteristic entity is missing an Attribute


Each characteristic entity must have at least one attached Attribute.

Entity has more than one Primary Identifier


An entity can have only one primary identifier, because the primary identifier serves as the index into the generated table.

Identifier is missing an Attribute or a Relationship


Each identifier must have at least one attached relationship or Attribute.

Kernel Entity is missing an Attribute


Each kernel entity must have at least one Attribute attached to it or its identifier.

Kernel Entity is missing a Primary Identifier


Each non-subtype kernel entity must have one attached primary identifier.

AppBuilder 2.1.0 Development Tools Reference Guide

7-31

Trace Analysis

Leaf Attribute defined with more than one data type


Each attribute can have only one data type, which defines the type of information the attribute contains. However the data type can be complex, such as the one that Figure 7-30 shows.
Figure 7-30 Complex data type Date Month Day Year

DATATYPE DATATYPE DATATYPE DATATYPE

Non-leaf Attribute defined with a data type


Only leaf attributes can have data types.

Relationship defined with unknown cardinality for Entity


Both ends of all relationships in an entity relationship diagram must have a cardinality.

Subtype Entity defined with a Primary Identifier


Primary identifiers cannot attach directly to subtype entities because subtypes inherit their primary identifiers from the relationship to the supertype.

Trace Analysis
Trace analysis tracks how forward engineering converted entities to tables and produces reports that you can view. 1. 2. Select the diagram in the Entity Relationship Diagram window. Select Analysis > Trace from the Construction Workbench menu. You can also verify selected parts of an ERD by selecting specific entities and selecting Analysis > Trace Selected. 3. When the process is complete, the system displays a status report on the Analysis tab of the Output window to display a list of the entities you traced along with the corresponding tables, columns, and keys in the repository.

Refer to the example Doing Trace Analysis on an ERD in Appendix A, ERD Examples which shows an example traceability report.

7-32

Design Tools

Database Diagram

Database Diagram
Early in the software development process, you specify data requirements for the system you are building by using data modeling. One part of data modeling is creating a database diagram (DBD). The tool that helps you create a DBD in the Construction Workbench is also called the Database Diagram. Tasks include: Creating or Opening a Database Diagram Inserting Database Objects Creating Attribute Hierarchies in a DBD Understanding Forward Engineering

Creating or Opening a Database Diagram


You can create a new diagram or use one from your repository. To create a new diagram click File > New and follow the steps listed under Creating a New Drawing. To use a diagram from the repository, click File > Open and follow the steps listed under Opening an Existing Drawing. When you open the Database Diagram tool, a window opens in the work area of the Construction Workbench as shown in Figure 7-31.
Figure 7-31 Database diagram

Table object Establishing a relationship

Different kinds of keys

Inserting Database Objects


Do one of the following to insert a DBD object into your diagram: From the Construction Workbench menu bar, click Insert and select the object that you want to insert, or Select the object from the DBD object toolbar (Figure 7-32) and click in the diagram window.

AppBuilder 2.1.0 Development Tools Reference Guide

7-33

Database Diagram

Figure 7-32

Database Diagram Insert menu

To display the toolbar select it from the Toolbars menu as described in Choosing Toolbars. The toolbar is shown in Figure 7-33.
Figure 7-33 Database Diagram Toolbar

For more information on inserting objects into a diagram, refer to Adding an Object to a Diagram. For more details on the objects in the repository, refer to the Information Model Reference Guide.

Creating Attribute Hierarchies in a DBD


While you use the Database Diagram to place the entities and relationships in a diagram, you use the Hierarchy window or the Database Diagram toolbar for adding attributes to those objects. Select an object in the DBD, right-click and select Open as Hierarchy. The Repository tab opens in the Hierarchy window and displays the object, as shown in Figure 7-34. Expand the object in the hierarchy to see its sub-objects. To add a key, for example, do one of the following: Select the a key icon from the Hierarchy Objects toolbar. This can be a primary key, a foreign key, or an index key. Select Insert Child icon from the DBD toolbar

Select Insert > Insert Child > Key from the Construction Workbench menu.
Figure 7-34 Hierarchy of database tables

Denormalizing a Database
Using denormalization lets you copy a column from one table to another through a foreign key. This can improve performance by eliminating the need for as many joins while executing SQL queries.

7-34

Design Tools

Database Diagram

The denormalize process in a database diagram lets you denormalize a database and maintain traceability information. You can use denormalization to create physical columns in a table through inheritance from other tables, thereby improving database performance. For example, assume a logical model where an employee works for a department. When the ERD is forward engineered, the Department Number is propagated into the Employee table. However, the database administrator (DBA) may recognize that the Department Name should also be included with the Department Number. Obtaining the name of the employees department requires a table join unless the database is denormalized. To avoid the table join and thus speed database operations, the DBA can denormalize the model by including Department Name column in the Employee table. Denormalization copies the Department Name column from the Department table into the Employee table and associates them with the Works_For foreign key. To denormalize a table (or tables): 1. 2. In a database diagram, select the table (or tables) from which you want to denormalize. Select Analysis > Denormalize. A Select Object window appears.
Select object for denormalize

Figure 7-35

3. 4.

Select a column or columns to denormalize and click OK. The same window now asks you to select the target table. Select the target table and click OK. A message tells you the denormalize process completed. Denormalizing may take some time because the process updates traceability information to reflect the columns copied to another table.

Suppose you want to see who made a reservation for a customer. The RESERVATION table currently has only the agents ID number as a foreign key. To have the agents last name appear in the RESERVATION table without joining it with the AGENT table, you can denormalize the database by copying the AGENT_LAST_NAME column to the RESERVATION table. Select the AGENT table and then run the denormalize function as described above. Select the AGENT_LAST_NAME column from the list that displays the source tables column names. The list displays only the columns the source table does not already have in common with the target table. Another window displays the names of the tables that have a foreign key from the source table. You can select the RESERVATION table and then choose Analysis > Reverse trace.

AppBuilder 2.1.0 Development Tools Reference Guide

7-35

Process Dependency Diagram

Process Dependency Diagram


In systems development, a process is one or more tasks that a system performs. Processes must often be performed in a certain order because the output of one process is the input to another. This is described as dependency. As you design the processes in an application, you reach a point where you must identify the processes and how they relate to each other. You must specify when in the application they are performed and what are the prerequisite tasks. You must also identify the data used. Use the Process Dependency Diagram (PDD) to specify the logical structure of the processes in an application. This section discusses the following: Creating or Opening the Process Dependency Diagram Inserting Objects into the Process Dependency Diagram

Creating or Opening the Process Dependency Diagram


For instructions on creating or opening a diagram refer to Creating a New Drawing and Opening an Existing Drawing. Upon opening the PPD tool, the Process Dependency Diagram window appears (see Figure 7-36).
Figure 7-36 Process Dependency Diagram

Event Logical Process

Process Trigger Dependency Relation Decision

Note

The label Type displayed for the Decision is a description of the logical process not the name of the Decision. To view the name of the Decision, right-click on the Decision object and Select Properties, or select Open As Hierarchy. The name of the Decision is displayed in the hierarchy.

7-36

Design Tools

State Transition Diagram

Inserting Objects into the Process Dependency Diagram


You can add or insert an object using the Insert menu in the Construction Workbench or the Process Dependency Diagram toolbar once the Process Dependency Diagram appears in the Construction Workbench Work Area. You can insert the following objects into the Process Dependency Diagram: Event Logical Process Decision Process Trigger (relationship) Dependency (relationship) Event Trigger (relationship) Note For instructions on adding objects to a diagram, refer to Adding an Object to a Diagram. For specific information on the PPD toolbar, refer to Process Dependency Diagram Toolbar in Chapter 2, Toolbars. For more details on the objects in the repository, refer to the Information Model Reference Guide.

State Transition Diagram


A State Transition Diagram identifies the internal and external events to which an application must respond and the various states of the data that result. Transitions between states help outline the business rules an application needs. This section discusses the following: Creating or Opening the State Transition Diagram Inserting Objects into the State Transition Diagram

Creating or Opening the State Transition Diagram


You can create a new diagram or use one from your repository. To create a new diagram click File > New and follow the steps listed under Creating a New Drawing. To use a diagram from the repository, click File > Open and follow the steps listed under Opening an Existing Drawing. When you open the State Transition Diagram tool, a window opens in the work area of the Construction Workbench as shown in Figure 7-37.

AppBuilder 2.1.0 Development Tools Reference Guide

7-37

Window Flow Diagram

Figure 7-37

State Transition Diagram window

State

Transition

Inserting Objects into the State Transition Diagram


You can add or insert an object using the Insert menu in the Construction Workbench or the State Transition Diagram toolbar once the State Transition Diagram appears in the Construction Workbench Work Area. You can insert the following objects into the State Transition Diagram: State Event Transition Note For instructions on adding objects to a diagram, refer to Adding an Object to a Diagram. For specific information on the STD toolbar, refer to State Transition Diagram Toolbar in Chapter 2, Toolbars. For more details on the objects in the repository, refer to the Information Model Reference Guide.

Window Flow Diagram


Another high-level process tool is the Window Flow Diagram. This tool can be used to prototyping and simulate the sequence or flow of windows. This section discusses the following: Creating or Opening the Window Flow Diagram Inserting Objects into the Window Flow Diagram

Creating or Opening the Window Flow Diagram


You can create a new diagram or use one from your repository. To create a new diagram click File > New and follow the steps listed under Creating a New Drawing. To use a diagram from the repository, click

7-38

Design Tools

Window Flow Diagram

File > Open and follow the steps listed under Opening an Existing Drawing. When you open the Window Flow Diagram tool, a window opens in the work area of the Construction Workbench as shown in Figure 7-38.
Figure 7-38 Window Flow Diagram window

Inserting Objects into the Window Flow Diagram


You can add or insert an object using the Insert menu in the Construction Workbench or the Window Flow Diagram toolbar once the Window Flow Diagram appears in the Construction Workbench Work Area. You can insert the following objects into the Window Flow Diagram: Process Window Terminal Flow Nested Flow Detached Flow Note For information on the toolbar, refer to Window Flow Diagram Toolbar in Chapter 2, Toolbars.

AppBuilder 2.1.0 Development Tools Reference Guide

7-39

Window Flow Diagram

7-40

Design Tools

CHAPTER

8
Macros

CONSTRUCTION TOOLS

AppBuilder 2.1.0 Development Tools Reference Guide

Use the construction tools once you have finished creating a design and you are ready to develop the application. These tools include: Rule Painter Component Painter

Component Folder Bitmap Viewer Set Builder Matrix Builder Window Painter

Rule Painter
Use the Rule Painter to create and edit rules in Rules Language source code and to verify the syntax of that code before preparing it. During preparation, the system converts rules into executable files. The Rule Painter is similar to a standard text editor with added functionality; it allows you to enter, change, delete, and move text around the work area, but it also allows you to define macros, etc. and lets you drag and drop from the hierarchy. In any Rule Painter window, you can perform the following tasks: Creating a Rule Editing an Existing Rule Inserting Object Names Inserting Reserved Words Using a Macro Using the Mapping Wizard Using the SQL Builder Verifying Rules

AppBuilder 2.1.0 Development Tools Reference Guide

8-1

Rule Painter

To view or modify the default text editor options (for example, color of reserved words or number of spaces for a tab), select Tools > Workbench Options from the Construction Workbench menu and select the Text Editor tab. Refer to the Text Editor Options in Chapter 3, Workbench Options. Use the icons on the Text Editor Tools Toolbar (see Figure 8-1) or the choices in the Tools menu to add statements to rules using one of the automated tools.
Figure 8-1 Text Editor - Tools toolbar and Tools menu

SQL Builder

Reserved words

Stop verification

Play macro

Mapping Wizard

Verify

Record macro

A rule is a series of programming statements that define the logic of an applicationhow the entities that comprise your application interact. At execution time, each statement performs a unique action. Use the Rule Painter in the Construction Workbench to create rules.
Figure 8-2 Rule Painter window

The line number and character position of your cursor in the Rule Painter is shown in the status bar at the bottom of the Construction Workbench window. You can double-click on a position pane in the status bar to bring up the Go To Line dialog.

8-2

Construction Tools

Rule Painter

Figure 8-3

Line and column numbers in status bar

Creating a rule is similar to a creating a programming procedure in a computer language. The Rules Language consists of the statements, keywords, and arguments that comprise each rule. The Rules Language is both powerful and easy to use because it is portable, modular, usable, and reusable: Platform-independent generation The same Rules Language code can generate platform-specific executable files for supported hardware environments from Windows machines to UNIX machines and application servers to mainframes. Modular You define the non-local data structures for an application as views and fields in the repository outside its rules. Thus, you can change your data structures without necessarily having to change your code. Each rule performs one distinct task such as retrieving data or drawing a window so you can easily understand any action of a rule. Usable The Rules Language is especially easy to learn and use because it contains a small set of statements, each with just a few clauses, keywords, and arguments. Reusable Because it is modular and all rules are stored in the repository, the Rules Language lets you reuse a rule you or someone else has written. Refer to the Developing Applications Guide for a discussion of the general use of rules. Refer to the Rules Language Reference Guide for complete syntax information about individual rules.

Creating a Rule
To create a rule, from the Construction Workbench menu bar, click File > New. In the Create New dialog, select Rule. The Create Rule dialog appears, as shown in Figure 8-4. When you begin to type in the name of the rule, in the Rule name field, the rest of the dialog is no longer grayed out. You can select the Execution environment.
Figure 8-4 Create Rule dialog

AppBuilder 2.1.0 Development Tools Reference Guide

8-3

Rule Painter

There are three types of rules that can be placed in a hierarchy: Creating a Basic Rule Creating an SQL Rule Creating a Display Rule Click OK when done. This creates a new rule in the repository and opens a Rule Painter window in the work area of the Construction Workbench. To modify the rule, refer to Editing an Existing Rule. Creating a Basic Rule When you click the Basic button, the Attachments List shows a list of types of views typically attached to a rule, as shown in Figure 8-4. Select one or more views and click OK. A blank Rule Painter window opens. Creating an SQL Rule When you click the SQL button, the Attachments List shows a list of types of views typically attached to a rule, as shown in Figure 8-4. Select the Files button to add file objects to the Attachments List. Select one or more views or files to attach and click OK. A blank Rule Painter window opens.
Figure 8-5 SQL Rule Option

Creating a Display Rule When you click the Display button, the Attachments List shows a list of types of views typically attached to a rule, as shown in Figure 8-4. Select the Window button to add a window objects. Select one or more views or a window and click OK.

8-4

Construction Tools

Rule Painter

Figure 8-6

SQL Rule Option

If you check the Generate Display Code check box, the Rule Painter window opens with the template of Rules source code for a typical C application display rule. For Java, you can uncheck this option and a blank Rule Painter window opens; to add Java code, use one of the Named Macros to insert skeleton code.

Note

The Rules source code template is for C applications only.

Editing an Existing Rule


To edit an existing rule, open the Rule Painter for that rule and modify the rule as you would edit any code in a source code or text editor. You may also use any of the automated tools provided in the Construction Workbench: Inserting Object Names Inserting Reserved Words Using a Macro Using Text Editor Features Using the Mapping Wizard Using the SQL Builder

AppBuilder 2.1.0 Development Tools Reference Guide

8-5

Rule Painter

Inserting Object Names


You can insert object names into the Rules source code in the Rule Painter by: Using Popup Values Using the Insert Commands Dragging and Dropping from the Hierarchy Using Popup Values One way to add object names to the Rule source code in a Rule Painter window is to select the object from a popup (list box) of possible objects of a certain type. For example, if you are typing use rule, AppBuilder finds the names of all child rules and lists them in a popup list box. An example is shown in Figure 8-7. Use the up and down arrow keys to highlight the one you want, if there are more than one. Press Enter to select the name of the object to insert. The same works for windows (converse window ) and for components (use components ).
Figure 8-7 Popup values in Rule Painter

Using the Insert Commands One way to add object names to the Rule source code in a Rule Painter window is to insert them using the Insert commands. Either from the Insert menu or the keyboard short-cuts (Ctrl+Shift+ etc.), you can select only objects that are subordinate to the rule that is open in Rule Painter. Figure 8-8 shows an example with two possible window names that can be inserted in the rule code. The same procedure would be followed for any of the objects in the menu.
Figure 8-8 Insert commands and example dialog

Possible subordinate objects with the selected object highlighted

To insert a system identifier (HPS ID), you can select HPSID from the menu or use the keyboard short-cut (Ctrl+Shift+H) and the dialog in Figure 8-9 appears. Select whether the object is for deployment on a workstation or a mainframe by selecting either the Workstation or 3270 radio button. Then, from the list, select one system identifier. If you would like the identifier inserted with quotes into

8-6

Construction Tools

Rule Painter

the Rules source code, leave the check box checked. If you would like it inserted without the quotes, uncheck the box.
Figure 8-9 System Identifier selection dialog

Select system identifier.

Select whether to insert the ID with quotes into the Rules code.

Select either workstation or 3270 (mainframe) platform.

To insert a view or a field, you can select them from the Views and Field dialog as shown in Figure 8-10. use the Insert menu or use the keyboard short-cut (Ctrl+Shift+V) You can select either a view or a field of a view. To select a field, select the view that contains it, then from the Fields list, select the field. If you would like it fully qualified with the name of the field and the view, select the appropriate radio button. When done, click Apply or OK.
Figure 8-10 Views and Fields selection dialog

Dragging and Dropping from the Hierarchy One way to add object names to the Rule source code in a Rule Painter window is to add an object in the hierarchy and then drag-and-drop the object from the hierarchy window into the Rule Painter window. This is shown in Figure 8-11. You can drag and drop anything in the hierarchy to the rule in Rule Painter. If it is a field or a view, AppBuilder inserts the fully qualified name, for example, SAMPL_FIELD
AppBuilder 2.1.0 Development Tools Reference Guide 8-7

Rule Painter

OF SAMPL_VIEW. For more information on drag and drop functionality, refer to Dragging and Dropping in Chapter 1, Workbench Overview.
Figure 8-11 Dragging and dropping a field into a rule

In the Text Editor options (Workbench Options > Text Editor tab), you can select Prefer dot notation. If this is selected, AppBuilder uses dot notation during drag and drop, copy and paste, as well as in the Insert Views and Fields dialog and the Map Wizard. Refer to Text Editor Options. If you hold the Alt key while dropping an object to the Rule Painter, another notation is used.

8-8

Construction Tools

Rule Painter

Inserting Reserved Words


Several words are reserved for use in AppBuilder and these have special meaning in the Rules Language. Use them to define data types, make function calls, and in other Rules logic statements. Refer to the Rules Language Reference Guide for a list and explanation of reserved words. To see a list of the words, and to add them one at a time into the Rules source code in Rule Painter, use the Reserved Words list. To use the Reserved Words list to insert a reserved word: 1. 2. Open the Rule Painter window for the rule. Click on the Reserved Words button in the Text Editor Tools toolbar or from the Tools menu, select Reserved Words or by pressing Ctrl+Shift+E. The Reserved Words window appears (see Figure 8-12).
Reserved Words list dialog

Figure 8-12

3. 4. 5.

You may scroll up and down to find a particular word. If you wish to insert a word into the Rules source code in the Rule Painter, select the word and click OK (or click Apply to add additional reserved words). When done, click Close to close the dialog.

Using a Macro
From the Rule Painter tool, you can use a macro to speed development. Refer to Macros for a description of macros and quick macros.

AppBuilder 2.1.0 Development Tools Reference Guide

8-9

Rule Painter

Using Text Editor Features


From the Rule Painter tool, you can use these additional text editor features: Set Text Editor options in Tools > Workbench Options. See Text Editor Options in Chapter 3, Workbench Options. Use Text Editor -Tools toolbar to access the macros and other tools. See Text Editor Tools Toolbar in Chapter 2, Toolbars. Use Text Editor - Bookmarks toolbar, with to find text and navigate with bookmarks. See Text Editor Bookmarks Toolbar in Chapter 2, Toolbars. Navigate with bookmarks using View > Bookmarks. See Text Editor Bookmarks Toolbar in Chapter 2, Toolbars.

8-10

Construction Tools

Rule Painter

Using the Mapping Wizard


Use the Mapping Wizard to quickly build MAP statements. It displays two lists: source data items and target data items. The source data list displays only the data items visible to that rule, which includes its own views, fields, sets and symbols, and output views of accessed rules and components. The target list contains the same views, fields, and child rules; it lists the input views of called rules and components instead of output views. The Mapping Wizard validates the data you selected to prevent illegal mappings; however, the Mapping Wizard does not validate data you type as a literal, constant, or local variable name. Use the Mapping Wizard to quickly build MAP statements. To use the mapping wizard to create a MAP statement: 1. 2. Open the Rule Painter window for the rule. Right-click in the Rule Painter window and select Mapping Wizard from the pop-up menu. The Mapping Wizard window appears (see Figure 8-13). You can also display the Mapping Wizard window by clicking on the Mapping Wizard button the Text Editor Tools toolbar or by selecting Mapping Wizard from the Tools menu.
Figure 8-13 Mapping Wizard window

in

3.

Select a source data item from the left column and a target view from the right column. The Mapping Wizard automatically constructs the MAP statement. The system displays a warning message if you attempt to create an invalid MAP statement.

4. 5.

Click OK to add the MAP statement to the rule or click Apply to create another MAP statement. When done, click Close to close the window.

AppBuilder 2.1.0 Development Tools Reference Guide

8-11

Rule Painter

Using the SQL Builder


Use the SQL Builder to insert SQL code (query language commands for database access) into a rule. The SQL Builder allows you to customize the generated SQL code before adding it to the rule. The SQL Builder supports WHERE, CURSOR, GROUP BY, and ORDER BY subordinate clauses. To use SQL Builder and add SQL to a rule: The DBMS Usage property of a rule must be set to DB2 to open the SQL Builder.

Note

This indicates that the rule accesses a database not necessarily a DB2 database.

The rule must access at least one file that owns at least one view, and the view must include at least one field. All files must have implementation names. You should also give implementation names to all views and fields. Otherwise the generated code has a placeholder where the implementation name should be. Set the View Usage property on the View to File relationship (also known as the File owns a View relationship) to Data View. To use the SQL Builder to insert a SQL commands: 1. 2. Open the Rule Painter window for the rule. Click on the SQL Builder button in the Text Editor Tools toolbar or from the Tools menu, select SQL Builder > Query. The SQL Builder window appears (see Figure 8-14).
SQL Builder Query window

Figure 8-14

3. 4.

The list of files in your hierarchy, in that rule, are shown. Select a file and select the field, if any, in the lower portion of the window. Click Next. Step through the windows and when done, click Finish and the code is inserted in the Rules source code in Rule Painter.

8-12

Construction Tools

Rule Painter

Verifying Rules
Ensure that you have specified the correct verification language before verifying a rule. To specify the verification language: 1. 2. Open the Rule Painter window for the rule. Right-click in the Rule Painter window and select Verification Language > specific language from the pop-up menu. You can select the following languages: C Java COBOL You can also specify the verification language by selecting Build > Verification Language from the Construction Workbench. To verify a rule: 1. 2. Open the Rule Painter window for the rule. Right-click in the Rule Painter window and select Verify Syntax or Verify All from the pop-up menu.

You can also verify a rule by clicking on the Verify Rule button in the Text Editor Tools toolbar or by selecting Build > Verify Syntax or Build > Verify All from the Construction Workbench menu. Verify Syntax Verifies only that you used the rules language code correctly. Verify All Verifies all aspects of your program. The system verifies the rule and displays a Verification Report on the Verify tab of the Output window. See Verify Tab on page 6-9. If there are errors, double-click the error message in the Verify tab. The cursor displays the associated line in the Rule Painter window. To stop verification, click the Stop Verification button in the Text Editor Tools toolbar. The system displays the following message in the Verify tab of the Output window: Verify canceled by user.

AppBuilder 2.1.0 Development Tools Reference Guide

8-13

Component Painter

Component Painter
Use the Component Painter to construct user components. The Component Painter is similar to the Rule Painter, and in fact has a subset of the functionality of the Rule Painter, with a specialized text editor that appears in the work area and specialized toolbars and menus. The tasks include: Creating a User Component Using a Macro in a Component Using Text Editor Features

Creating a User Component


To create a user component: 1. From the File menu, select New. In the Create New dialog, select Component. The Create Component dialog appears, as shown in Figure 8-15.
Create Component dialog

Figure 8-15

Table 8-1 Field Name

Component Painter interface Descriptions Specify the unique name of the component. Follow the guidelines you have for naming components. Select from the drop-down list. Select the language of the component. Select the type of view. May be Input or (Input and Output). May be Output or (Input and Output). Mutually exclusive with the other choices.

Execution environment Type Views Input Output Input/Output

The Component Painter window opens in the Work area and you can begin to type the code for the component. The Tools menu changes to allow you to work with macros.

8-14

Construction Tools

Macros

Using a Macro in a Component


From the Component Painter tool, you can use a macro to speed development. Refer to Macros for a description of macros and quick macros. You can use c_component_skeleton to create a skeleton for a C component or JavaUserComponent to create a skeleton for a Java component.

Using Text Editor Features


From the Component Painter tool, you can use these additional text editor features: Set Text Editor options in Tools > Workbench Options. See Text Editor Options in Chapter 3, Workbench Options. Use Text Editor -Tools toolbar to access the macros and other tools. See Text Editor Tools Toolbar in Chapter 2, Toolbars. Use Text Editor - Bookmarks toolbar, with to find text and navigate with bookmarks. See Text Editor Bookmarks Toolbar in Chapter 2, Toolbars. Navigate with bookmarks using View > Bookmarks. See Text Editor Bookmarks Toolbar in Chapter 2, Toolbars.

Macros
AppBuilder gives you the ability to create and use macros (text files of Microsoft Visual Basic Scripting commands or VBScript) to speed development by automating routine tasks when creating rules (in Rule Painter) or creating components (in Component Painter). You can create a macro by recording it or by editing an existing macro. When you record a macro, the system remembers your actions, converts them into commands, and inserts the commands into a text file known as a macro file. There are two types of development macros: Quick Macros Named Macros Quick macros capture your actions from a particular session, making them available for playback until you record another quick macro. Named macros go a step further and enable you to name, save, and edit the actions you record. To use a macro, you run it. If you expect to run it regularly, add it and it appears on the list of macros. Then, you can run the macro by double-clicking it or selecting it and clicking Run. The quick macro lets you quickly record your actions without having to name a macro, provide a description for it, or review the resulting macro file. This also saves you some keystrokes whenever you want to run the quick macro, as it remains available from the menu until you record another quick macro.

Note

The system does not record mouse actions when selecting text or moving an insertion point. You must use the keyboard when recording these actions. However, you can use the mouse to click commands and select options. If you are recording a named macro, examine the macro carefully when you are done recording to ensure it is complete. If you find something missing, add the appropriate code before using it.

From the Tools menu, as shown in Figure 8-16, you have options for using the quick macro or the Macros dialog for named macros.

AppBuilder 2.1.0 Development Tools Reference Guide

8-15

Macros

Figure 8-16

Macro menu

Note

This type of macro is completely different from the type of macro available in the Rules Language. These are development environment macros in VBScript while Rules macros are Rules Language constructs.

Quick Macros
For those routine steps that you would like to record and use without saving to the repository, use the temporary, or quick, macro. AppBuilder provides the ability to record and run quick macros for use in developing rules or components. Recording a Quick Macro To record (that is, create) a quick macro: 1. From a Rule Painter window, click the Record Macro button in the Text Editor Tools toolbar.

You can also record macros by selecting Tools > Record Quick Macro from the Construction Workbench toolbar or by pressing Ctrl+Shift+M. 2. 3. Perform the actions to include in the macro. The system records each action. Complete the necessary actions and click the Record Macro button again to stop recording. The system displays the macro information in a quick_macro.qm window.

Playing a Quick Macro To play (that is, run) the macro, click the Play Macro button in the Text Editor Tools toolbar.

You can also play quick macros by selecting Tools > Play Quick Macro from the Construction Workbench toolbar or by pressing Ctrl+Shift+X. Editing a Quick Macro To edit (that is, modify) the macro, select Tools > Edit Quick Macro from the Construction Workbench toolbar. The quick_macro.qm window appears. Edit the macro as necessary. When done, close the window.

Named Macros
Some macros you would like to use many times during development (or across projects) and it makes sense to create these macros and name them. AppBuilder provides some macros with the product, but you are not limited to these. With the Macro dialog, you can record, edit, and name macros for use in developing rules or components. Recording a Named Macro You can record (that is, create) macros that are named for use, regardless of which quick macro is available. To record a named macro:
8-16 Construction Tools

Macros

1. 2. 3. 4. 5.

From a Rule Painter window, select Tools > Macro from the Construction Workbench toolbar. The Macro dialog appears, as shown in Figure 8-17, displaying the list of saved macros. Click on Record. The Add Macro dialog appears, also shown in Figure 8-17. Enter a Name and Description for the macro and click OK. The Rule Painter window appears. Perform the actions to include in the macro. The system records each action. Complete the necessary actions and click the Record Macro button in the Text Editor Tools toolbar to stop recording. The system displays the macro information in a text editor window. You can also stop recording by selecting Tools > Stop Recording or by pressing Ctrl+Shift+M.

Figure 8-17

Adding a macro

Playing a Named Macro To play (that is, run) a macro, select Tools > Macro from the Construction Workbench. The Macro dialog appears, displaying all the system macros. Select the macro to play and click Run (or double-click on the name of the macro). Editing a Named Macro You can edit (that is, modify) macros that are named. These include any of the macros delivered with the product as well as ones you have created. Macros delivered with the product include such helpful automated steps as: c_component_skeleton inserts skeleton for a C user component JavaUserComponent inserts skeleton for Java user component JavaEventProcByObj insert event procedures for objects for a display rule with window attached JavaEventProcByType insert event procedures for objects for a display rule with window attached To edit the macro, select Tools > Macro from the Construction Workbench and click Edit. The Rule Painter window appears with the text of the macro as shown in Figure 8-18. Edit the macro as necessary. When done, close the window.

AppBuilder 2.1.0 Development Tools Reference Guide

8-17

Macros

Figure 8-18

Editing a macro

8-18

Construction Tools

Component Folder

Component Folder
One way to add user components (or any external files) to an application is to add a Component Folder to a rule and add all the external source code files to that component folder. 1. 2. 3. 4. 5. Insert a component folder to the rule in the application hierarchy in the Hierarchy Window. Open the Properties for the component folder. Open the External tab. An example is shown in Figure 8-19. Click Add. When done entering the information for the user component, click OK to close the dialog. When done adding all the user components, click OK in the Properties tab.
External tab of Component Folder properties

Figure 8-19

Table 8-2 Field File Name Type

Add Component Folder Content dialog Description Type in a path and file name or browse to it. This specifies the file name for the user component (external file) to be added. This specifies the file type of the user component (external file) to be added.

AppBuilder 2.1.0 Development Tools Reference Guide

8-19

Bitmap Viewer

Table 8-2 Field Description

Add Component Folder Content dialog Description This text describes the user component (external file) to be added. This specifies whether to include this user component (external file) when packaging the application (preparing the calling rule).

Redistribute File

Bitmap Viewer
A Bitmap object is a picture or graphic image in a file that can be placed on a Window object; JPEG files, BMP files (bitmaps), and ICO files (icons) are supported. Use the Bitmap Viewer to import an image and associate it with a Bitmap object in the repository or to export an image to a file. Typically this is used to create an association between a Bitmap object in Window Painter and the file providing the image (though such associations can also be created with system components). Because bitmaps are used only to add visual interest, they are not linked to repository fields. Refer to the Bitmap description in Chapter 5, Configuration Hierarchy for more information on bitmaps. To look at the bitmap, use the Bitmap Viewer. Typical Bitmap Viewer tasks include: Creating a Bitmap Object Viewing a Bitmap Image Exporting and Importing a Bitmap Image

Creating a Bitmap Object


To create a new bitmap object, select File > New and in the Create New dialog, select Bitmap and click OK. The Create Bitmap dialog appears.
Figure 8-20 Bitmap Viewer create dialog

Viewing a Bitmap Image


To view an existing bitmap and view some information about it, select File > Open > Bitmap and browse for the file. Or in the Hierarchy window, double-click the type area of a bitmap object in the repository or double-click on a name or icon. The Bitmap Viewer window is displayed, as shown in Figure 8-21. The status bar at the bottom of the Construction Workbench displays the type, height, and width of the image, as shown in Figure 8-22.

8-20

Construction Tools

Bitmap Viewer

Figure 8-21

Bitmap Viewer window

Figure 8-22

Status bar with image type and size

Exporting and Importing a Bitmap Image


Exporting a Bitmap Image You can pull the image associated with a bitmap object from the repository and save it to file. As a BMP or JPEG or ICO file, it can then be edited in a graphics editor and re-imported into the repository. 1. 2. To export a bitmap, click Export (from the popup menu or from the File menu) in the Bitmap Viewer. In the Export Bitmap window select the drive and directory in which you want to store the bitmap. In the Save Filename field, type the name of the file, typically with the .BMP extension, for example. Click Save. When this dialog is closed, the message File export successful is displayed. Importing a Bitmap Image 1. To import a bitmap image into the Bitmap Viewer, right-click in the bitmap viewer window and select Import (from the popup menu or from the File menu), as shown in Figure 8-23.

AppBuilder 2.1.0 Development Tools Reference Guide

8-21

Bitmap Viewer

Figure 8-23

Bitmap Viewer window

2.

In the Import Bitmap window select the drive and directory from which you want to retrieve the bitmap. Select the type of image. Valid image types are JPEG (.jpeg, .jpg, .jpe), BMP (.bmp), or icon (.ico). Select the bitmap graphic (or type in the file name) to add to the repository and click Open. When this dialog is closed, the Bitmap Viewer displays the image. You can also drag the bitmap, icon, or JPEG file from Windows Explorer and drop it in the Bitmap Viewer. After importing the bitmap graphic, the system displays the following information in the status bar. See Figure 8-22 for an example of a status bar with bitmap graphic information.

3.

Table 8-3 Field Type X Res Y Res Description Type of graphic Width (X-axis) of the graphic. XRes and YRes are displayed in XRes * YRes format. Height (Y-axis) of the graphic. XRes and YRes are displayed in XRes * YRes format.

The name of the bitmap graphic is displayed on the title bar and the image of the graphic is displayed in the document area of the Bitmap Viewer. 4. To Save the bitmap information to the repository, click Commit.

8-22

Construction Tools

Set Builder

Set Builder
Use the Set Builder to define the members of a set object. The members of a set are symbol objects. Creating a Set Using Set Builder

Creating a Set
To create a new set, select File > New > Set. To view an existing set and view some information about it, select File > Open > Set and browse for the object. Or in the Hierarchy window, double-click the type area of a set object. The Set Builder window is displayed. Set Builder cannot be used to edit values sets.
Figure 8-24 Set Builder window

To view or modify the default Set Builder options (for example, selecting the font or whether to confirm a delete), select Tools > Workbench Options from the Construction Workbench menu. Refer to the Set Builder Options in Chapter 3, Workbench Options. Fill in the Define, Encoding, and (if not a define set) Display fields for the symbol.

Tip

Your system administrator sets which language (if any) are available in your currently active repository.

Each row appearing in the Set Builder window defines a symbol that is a member of the set. The columns are: Define contains the identifier in Rules Language code that references the symbol Encoding contains the identifier in the application database Display contains the default display value unless other languages are specified Only the Encoding field is restricted to match the data type specified for the set. For example, if the data type is integer, this field cannot contain a decimal or character string value. Also, encoding fields for sets that are of type integer cannot contain the double byte representation of an integer.

AppBuilder 2.1.0 Development Tools Reference Guide

8-23

Set Builder

If you are defining an error set, use the Text/Default choice in the Selected menu to enter error message text for the each symbol. If necessary, you can use the Delete/Symbol choice in the Edit menu to delete a row from the Set Builder displayand the symbol it defines from the set. Repeat these steps until you have defined the members of the set to your satisfaction. Select Commit in the File menu to save the symbols.

Using Set Builder


The Set Builder is only available for sets whose Style is not values. When you are in a field in Set Builder, you can press F2 to edit it. To use the set builder: 1. Double-click the set object in the hierarchy or right-click the set object in the hierarchy and select Open Set from the pop-up menu. The Set Builder window appears.
The Style field of the set must not be values. Set Builder window

Note

Figure 8-25

2.

Each symbol in the set is represented by a row in the Set Builder. Use Table 8-4 to enter data in each field of the Set Builder window:
Set Builder fields Description Identifier used in the Rules Language code that references the symbol Identifier used in the application database Default display value for the identifier

Table 8-4 Field Define Encoding Display

8-24

Construction Tools

Matrix Builder

Matrix Builder
Use the Matrix Builder to construct a matrix that shows the association between objects. By using Matrix Builder, you can find objects with similarities, such as an entity used by several processes. With this information you can coordinate the different processes to ensure the data associated with the entity is sufficient. Matrix Builder displays entities as matrix elements in rows and columns and displays relationships as the intersection data in cells. If the relationship represented in a cell has properties, flags can be displayed in the cell area. To view or modify the default Matrix Builder options (for example, selecting the font or selecting the header orientation), select Tools > Workbench Options from the Construction Workbench menu. Refer to the Matrix Builder Options in Chapter 3, Workbench Options. There is also a toolbar available for the Matrix Builder. Refer to Matrix Toolbar in Chapter 2, Toolbars.

Creating or Opening a Matrix


To create a new matrix, select File > New, and from the Create New dialog, select Matrix. A dialog, such as that shown in Figure 8-26 displays a list of templates from which you select one and click Select. This opens a blank matrix window in the work area.
Figure 8-26 List of templates dialog

To open an existing matrix, select File > Open, and from the Open dialog, select Matrix, and either type in the name of the matrix object or do a query to find the matrix you want. Click OK. This opens the matrix window in the work area. If you have a matrix window open, from the View menu, select Templates to get the list of templates.

AppBuilder 2.1.0 Development Tools Reference Guide

8-25

Matrix Builder

Creating and Editing a Template


From the list of templates, if you select Create or Edit, the Template dialog appears. If you click Create, the dialog has all blank fields for you to completely specify a template. If you click Edit, the dialog has the existing values shown and allows you to edit them. An example of editing an existing template is shown in Figure 8-27.
Figure 8-27 Edit template dialog

If you have a matrix window open, from the View menu, select Current Template to edit the template of the matrix that is open.

Labeling Rows or Columns


To add a row or column to a matrix, simply double-click a blank header entry. The system displays an Insert (query) dialog for you to select an entity from the repository. To add a new or existing object to the matrix, click once on the header and the system allows you to type. Enter the name and press Enter. The system realigns the header as necessary depending on the length of the new label. If that object exists, it adds it. If it does not, and the option to create new objects is set, a new object is created.

8-26

Construction Tools

Window Painter

Moving Rows or Columns


You can move a row or column by selecting it and dragging it to a new location. The pointer changes and a thin red line indicates the possible destination. When you release the mouse button, the row is inserted where the red line had been as shown in Figure 8-28.
Figure 8-28 Moving a row

Select a row and drag it to a new location shown by the red thin line between rows. The same type of action is possible for columns.

Sorting Rows or Columns Another way that rows or columns may be moved is by sorting them based on the amount of filled cells. With a row or column (that has data) selected, from the Edit menu, select Sort. The more filled cells that row or column has, the more likely it is to be moved (sorted) to the top or left. Another way to perform a sort is to select the row or column and use the select (right-click) menu to select Sort.

Removing Rows or Columns


With a row or column selected, you can remove it from the matrix or remove the entity from the repository. Select Edit > Clear to remove the row or column from the matrix. Or select the row or column and use the select (right-click) menu to select Clear. Select Edit > Remove to remove the entity from the repository. Or select the row or column and use the select (right-click) menu to select Remove.

Viewing Properties
Right-click on a cell to display the relationship properties (or attributes). The letters indicate the functions or properties for that cell. In the example in Figure 8-28, the template properties are C create, U update, D delete, and R read. Clicking on the buttons enable and disable that function. Refer to Creating and Editing a Template.

Window Painter
The Window Painter is a construction tool used to create the user interface. Refer to the Chapter 9, Window Painter for a complete discussion.

AppBuilder 2.1.0 Development Tools Reference Guide

8-27

Window Painter

8-28

Construction Tools

CHAPTER

WINDOW PAINTER

AppBuilder 2.1.0 Development Tools Reference Guide

Use the Window Painter to create the end-user interface (the graphical user interface or GUI) for each window for your application. The window controlsfields, list boxes, push buttons, and so forthlet the end user view or modify data, and control the execution of your application. You can specify the properties for each object defined in the window. You can determine the placement and operation of the objects. The position, size, color, and other properties of these objects that determine how your application looks and feels to the end user can be managed in Window Painter. Work with the Window Painter involves these tasks: Managing Window Painter Managing a Window Managing Window Objects Adding or Modifying an Object in the Window Using 3270 Window Painter Refer to Figure 9-1 for a sample with objects that you can add to the window.
Figure 9-1 Window Painter window sample

Menu Static text

Group box

Read-only field

Drop list

Edit field

Push button

AppBuilder 2.1.0 Development Tools Reference Guide

9-1

Managing Window Painter

Opening and Closing Window Painter

Managing Window Painter


Here are the tasks involved in managing the Window Painter. Opening and Closing Window Painter Understanding the Window Painter Interface Using Window Painter Toolbars Setting Window Painter Options

Note

AppBuilder does not provide Print or Print Preview for HTML windows developed in the Construction Workbench. Since the Workbench allows you to use a third-party HTML editor for HTML editing, that same tool should be used for print previewing and printing.

Note

AppBuilder does not store the screen resolution, so the position and resolution of the window at design time may differ from the position and resolution at execution time.

Opening and Closing Window Painter


Use standard Windows conventions for opening and closing a Window Painter window. To open Window Painter: double-click a window object in the hierarchy select a window and select Open Window from right-click menu insert a window object from the Insert menu insert a window object from the File > New or File > Open menu To close Window Painter (with the window in focus): press Ctrl-F4 click the x in the upper right corner of the window view double-click the icon in the upper left corner of the window view

9-2

Window Painter

Understanding the Window Painter Interface

Managing Window Painter

Understanding the Window Painter Interface


Figure 9-2 identifies the major components of the Window Painter window. The window object is displayed by Window Painter in the work area of the Construction Workbench window and you can begin to edit the window directly (by moving, modifying, or inserting objects) or by opening the properties window for the window object or any of the objects in the window. When the window object is selected and when the window or any of its objects are in focus, the toolbars and menus contain options specific to Window Painter.
Figure 9-2 Sample Window Painter Window Window Painter window in Work Area Properties window for selected object

Window object in Hierarchy

The status bar displays the bottom and left coordinates that correspond with the Bottom and Left properties of the object selected. For a window object, you can either edit those properties in the Properties window or you can move the display in the Panel Layout window. Refer to Specifying Window Layout. When you insert or move or otherwise modify objects in the window object, the title bar of the window object changes to signify that the object has been changed. Figure 9-3 illustrates the two types of change indication in Window Painter. First, if you have made a change that has not been committed to the repository, an asterisk (*) appears in the title bar. Second, the word <Locked> appears in the title bar indicating that the object is locked in the repository by the current session and was modified. (It cannot be changed by anyone else until you commit your changes.)

AppBuilder 2.1.0 Development Tools Reference Guide

9-3

Managing Window Painter

Using Window Painter Toolbars

Figure 9-3

WIndow change indication

* means changed and not yet committed.

<Locked> means locked to others in the repository until you commit.

Using Window Painter Toolbars


The Window Painter contains two toolbars so you can quickly add and manipulate interface objects to the window. Window Layout Toolbar Window Objects Toolbar To display the toolbar(s): 1. 2. Select View > Toolbars from the Construction Workbench menu. In the Toolbars window, select the toolbar to display ( Window Layout or Window Objects).

Many of the functions available from the toolbar are available in menus. Refer to Using Window Painter Menus.

9-4

Window Painter

Using Window Painter Menus

Managing Window Painter

Using Window Painter Menus


The Window Painter contains menus so you can add and manipulate interface objects to the window. Many of the functions available from the menu are available in toolbars. Refer to Using Window Painter Toolbars. Window Painter Layout Menu Window Painter Insert Menu Window Painter Tools Menu Window Painter Layout Menu The Layout menu, shown in Figure 9-4 lets you change the layout of objects in the window. It also allows you to lock an object, distribute and align objects, specify the tab order, set guide settings, and preview the window in runtime.
Figure 9-4 Window Layout menu

To set the Guide Settings, select Layout > Guide Settings (or use the keyboard shortcut Ctrl+G). In the dialog that appears, as in Figure 9-5, set the guide format and the grid spacing.
Figure 9-5 Guide Settings dialog

Window Painter Insert Menu The Insert menu lets you insert objects in the window.

AppBuilder 2.1.0 Development Tools Reference Guide

9-5

Managing Window Painter

Setting Window Painter Options

Window Painter Tools Menu The Tools menu changes when you click a window in the Window Painter. Some of the functions are available from this menu and some from the right-click menu within Window Painter. Whether the functions are available depend on which objects are in the window. These functions may include: Managing Window Objects Using the Chart Editor Using the Menu Editor Using the MCLB Editor

Setting Window Painter Options


Use the Window Painter tab of the Workbench Options window to customize the Window Painter. You can specify field linking instructions and several window display options such as color. To specify an HTML editor to use with AppBuilder, select the HTML Editor tab of the Tools Options dialog box. To access these options, select Tools > Workbench Options from the Construction Workbench menu. Refer to Chapter 3, Workbench Options.

Setting Font Mappings at Execution Time


A configuration file named font.ini, in the AppBuilder client runtime, controls the font mappings. This file externalizes the font mappings used by the client runtime. For Window Painter, you can select the font definitions (or add your own) by editing this file. Refer to Appendix C, Font Mapping at Execution Time.

9-6

Window Painter

Setting Font Mappings at Execution Time

Managing a Window

Managing a Window
Here are the tasks involved with managing a window in the Window Painter. Creating a Window from Scratch Creating a Window Template Creating a Window from a Template Previewing a Window Previewing or Deleting a Window Template Generating HTML from Window Checking a Window for Errors Specifying Window Layout Defining Short Help (Tooltip) Defining Online Help (F1 Help) Managing Tabbing of Objects Displaying and Setting Tab Order of Objects Managing Window Objects

AppBuilder 2.1.0 Development Tools Reference Guide

9-7

Managing a Window

Creating a Window from Scratch

Creating a Window from Scratch


When designing windows, you have the option of creating a window from scratch or creating a window using an existing window template. To create a window based on an existing template, refer to Creating a Window from a Template. To create a new window from scratch: 1. 2. 3. Click the New Object button in the Standard toolbar. The Create New dialog appears.

Select Window. The Template area of the Create New dialog appears as shown in Figure 9-7. The default choice under Template is Blank Window. Click OK. The Window Painter appears with a new blank window.

Creating a Window Template


Any window you create can be saved as a template for creating additional windows. To create a window template: 1. 2. Create or open a window in Window Painter to use as a template. Select File > Save As > Template from the Construction Workbench menu. The Save Template window appears.
Save Template window

Figure 9-6

3.

Use this table to enter data in each field on the window.


Save Template window fields Description Name of the template. Use the drop-list to select from existing window templates. Description of the template.

Table 9-1 Field Name Description

4.

Enter the necessary information and click OK.

9-8

Window Painter

Creating a Window from a Template

Managing a Window

Creating a Window from a Template


When designing windows, you have the option of creating a window from scratch or creating a window using an existing window template. To create a window from scratch, refer to Creating a Window from Scratch. To create a new window from a template: 1. Click the New Object button in the Standard toolbar. The Create New dialog appears.

You can also create a new window from a template by selecting File > New from the Construction Workbench or by pressing Ctrl+N. 2. Select Window. The Template area of the dialog appears as shown in Figure 9-7.
Create New Window window

Figure 9-7

3.

Use the Template drop-list to select a template. You can see the description of the template and a preview of the window. To select that template as the basis for your window click OK. The Window Painter appears with a new window, based on the selected template.

Modifying a Window
1. Right-click the window object in the Hierarchy window and select Open Window from the pop-up menu (or press Enter). The Window Painter window appears, showing the window (as in Figure 9-2). To resize the window: a. Click on the window. b. Click and drag one of the windows handles to resize the window, as needed. You can also resize the window by changing the windows Height and Width properties.

2.

AppBuilder 2.1.0 Development Tools Reference Guide

9-9

Managing a Window

Previewing a Window

3.

To modify the windows properties, right-click the window and select Properties from the pop-up menu. The Window Properties window appears. You can also toggle between displaying and hiding the Window Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter.

4. 5. 6.

Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Add or modify the objects on the window, as needed. Click File > Commit to commit changes to the repository.

Previewing a Window
To see what the window will look like at execution time (preview the run-time version of the window): 1. 2. Open the Window Painter for the window. Click the Preview button in the Window Layout toolbar (see Figure 2-13). The system displays the window as it appears to the end-user during runtime. You can also preview a window by selecting Layout > Preview in Runtime (or use the keyboard short-cut Shift+V).

Previewing or Deleting a Window Template


To view the collection of window templates, from the Construction Workbench, with a window selected in Window Painter, select View > Templates. The Workstation Templates dialog appears as shown in Figure 9-8.
Figure 9-8 Template viewer

9-10

Window Painter

Generating HTML from Window

Managing a Window

To preview a window template, select a template from the drop-down list. You can view the description and the preview image of the window template. To delete a window template, with the particular template selected, click Delete.

Generating HTML from Window


When Windows are created in the Construction Workbench (using the Window Painter), you can generate HTML forms from them and then customize or edit them using an HTML editor. Within AppBuilder, you can choose your favorite third-party HTML editor and edit the HTML interface for your application. Refer to Chapter 10, HTML Generation for a complete discussion about generating HTML from a window and modifying the HTML.

Checking a Window for Errors


To verify a window, with the window selected in Window Painter, select Build > Verify. The focus changes to the Verify tab in the Output window. Window Painter issues error messages for conditions that may cause the window to execute incorrectly and warning messages for conditions that may cause unexpected behavior. These conditions that generate a warning include: objects have duplicate system identifiers (HPSIDs) object has no link, if the object type is edit field, combo box, radio button, check box, or bitmap object is placed partially or completely outside of the window objects in the window overlap An example of what may cause an error message is: if a password field is linked to any field other than Character, DBCS, Mixed, VarChar The line Window Painter Verify is displayed and followed by any error messages. The number of errors and warnings is totaled. At the end of the list is the line Verify Complete. For a description of the Output window, refer to Chapter 6, Output Window.

Specifying Window Layout


You can determine how the window is displayed on the target machine. In Window Painter, select (right-click) Panel Layout and a separate area appears showing a monitor and where the window would appear on that monitor screen. Select (right-click) Center Screen and then select the screen resolution (in pixels) from the menu. To specify the windows layout and location on the end-userss screen: 1. 2. Open the Window Painter window for the window. Right-click the window and select Panel Layout from the pop-up menu. The Panel Layout window appears. You can also specify the window layout by selecting View > Panel Layout from the Construction Workbench menu or by pressing Shift+L.

AppBuilder 2.1.0 Development Tools Reference Guide

9-11

Managing a Window

Specifying Window Layout

Figure 9-9

Panel Layout window

Resolution guideline

Window

3.

Click and drag the window icon to the desired location on the screen. To toggle the resolution guidelines on/off, right-click the window and select Resolution Guidelines. To automatically center the window for a specific screen resolution, right-click the window and select Center Screen, then select the desired resolution.

4.

After positioning the window, close the Panel Layout window.

The coordinates of Bottom and Left of the window in the screen are shown in the status bar when the window is selected in Window Painter. For information about the status bar, refer to Understanding the Window Painter Interface. The bottom and left can also be modified in the Properties window for that window. Centering the Screen You can center the screen from the panel layout window. 1. 2. 3. Click on the white area representing the window in the panel layout window. Right-click and select Center Screen. Select the screen resolution from the menu, as shown in Figure 9-10.
Center Screen in Panel Layout

Figure 9-10

The white area is shown centered in the panel layout window.

9-12

Window Painter

Defining Short Help (Tooltip)

Managing a Window

Defining Short Help (Tooltip)


For fields and buttons in a window or for the window itself, you can define a tooltip (for Java applications) or status line help (for C applications). The text that is displayed for these is defined in a property of the object called Short Help. Refer to the topic on creating online help in the Developing Applications Guide for instructions on how to create online help for a window or for window objects.

Defining Online Help (F1 Help)


For fields and buttons in a window or for the window itself, you can define online help that is displayed when the user presses F1. The text that is displayed for these is defined in a property of the object called Help. Refer to the topic on creating online help in the Developing Applications Guide for instructions on how to create online help for a window or for window objects.

Managing Tabbing of Objects


From the Construction Workbench, in the Window Painter, you can control how the end-user tabs from object to object by changing the settings in the Tabbing Editor. The Tabbing Editor window lets you see the list of objects and whether tabbing is enabled (X in the Tab column) and whether it is in a group (X in the Group column). Use the icons of the toolbar to move the objects up or down in the list to set the tab order. For another way to set the tab order, refer to Displaying and Setting Tab Order of Objects. To use the tab editor: 1. 2. Right-click the window object in the Hierarchy window and select Open Window from the pop-up menu. The Window Painter window appears, showing the window (as in Figure 9-2). Click on the Window Painter window and select Tools > Tabbing Editor from the Construction Workbench menu or press Ctrl+T. The Tabbing Editor window appears (as in Figure 9-11) showing all the objects in the window.

AppBuilder 2.1.0 Development Tools Reference Guide

9-13

Managing a Window

Managing Tabbing of Objects

Figure 9-11 Tab Listing

Tabbing Editor window Use natural order Move object up/down in tab sequence Include object in tab sequence Toolbar

System identifier of an object Object type

Include object in group

Datalink

Indicates if the object is included in the tab sequence

Indicates if the object is included in a group.

Figure 9-12 Move up

Tabbing Editor toolbar Enable / Disable

Move down

Insert/Delete Group

3.

From the Tabbing Editor toolbar, shown in Figure 9-12, select an item to include in the tab sequence. Move the item up Click the Tab button or down in the tab list.

to specify if the item is included in the tab sequence.

4.

If the tab order has to be set to the natural tab order, check the Natural Tab Order check box. This sets the tab order so that it is left to right and top to bottom. Use the Enable/Disable button to enable or disable a tab. Use the Insert/Delete Group button to either add the tab to a group or remove it from a group.

5.

After making the necessary changes, click OK.

9-14

Window Painter

Displaying and Setting Tab Order of Objects

Managing a Window

Displaying and Setting Tab Order of Objects


Since an end-user can tab from one object to another in a window (by pressing the Tab button), the sequence or order of this tabbing can be defined when you create the window. From the Construction Workbench, in the Window Painter, you can change the order of the tabbing of objects in a window. Right-click in the Window Painter and select Tab Order. You can also select Layout > Tab Order (or use the keyboard short-cut, Ctrl+D). The default is to sequence the objects in tab order in the order in which they were created and added to the window.
Figure 9-13 Tab Order

The order of the tabs is shown numbered from 1 to the total number of tabs by white numbers in blue boxes. To rearrange the tab order, click the item that you want to be the first one in the tab order. Then click the second, etc. for all the objects in the window. As you click the object the number changes to the next in the sequence. The natural tab order is left to right and top to bottom. If the objects were already in the natural tab order and the tab order is changed, the panel is no longer in the natural tab order and the token for natural tab order is reset. Another way is to arrange the list of objects in the Tabbing Editor, explained in the section on Managing Tabbing of Objects. You can specify the order in which the cursor moves among objects in a window when the user presses Tab or the arrow keys. To set the windows tab order: 1. 2. Right-click the window object in the Hierarchy window and select Open Window from the pop-up menu. The Window Painter window appears, showing the window (as in Figure 9-2). Click on the Window Painter window and select Layout > Tab Order from the Construction Workbench menu. The system displays the current tab order for each object on the window. You can also display the tab order by: Right-clicking on the window and selecting Tab Order from the pop-up menu. Pressing Ctrl+D. 3. Click on each window painter object in the desired tab order. The system automatically renumbers the tab order as you click.

AppBuilder 2.1.0 Development Tools Reference Guide

9-15

Managing Window Objects

Displaying and Setting Tab Order of Objects

Figure 9-14

Sample window showing tab order

Tab order

Managing Window Objects


Here are the tasks involved in managing objects in the Window Painter. Adding an Object to a Window Dragging and Dropping an Object Viewing and Modifying Window Object Properties Understanding Common Window Object Properties Formatting a Window Object Resizing a Window Object Locking a Window Object Aligning Window Objects Distributing Window Objects Placing and Moving a Window Object Copying a Window Object Removing a Window Object

Note

In Java code (for thick client and servlet), you must define unique system identifiers (HPSIDs) for all window objects. If you have existing C applications that can use duplicates, be aware that changing to Java requires creating unique system identifiers.

9-16

Window Painter

Adding an Object to a Window

Managing Window Objects

Adding an Object to a Window


Use the Window Painter toolbar or the Insert menu (pull-down or popup) to add an object to the window. Refer to Using Window Painter Toolbars. The objects that can be added to a window from the toolbar include the following: Bitmap Chart Check Box Combo Box Edit Field Ellipse Group Box Hot Spot List Box Menu Multicolumn List Box Multiline Edit Field Push Button Radio Button Rectangle Static Text

Note

In Java, the Chart and Hot Spot objects are not supported.

Dragging and Dropping an Object


One way to insert an object into a window is to drag and drop it from the application hierarchy in the Hierarchy window to the window in Window Painter. For example you can drag a Field object that has a View for a parent in the hierarchy into the window and it becomes an edit field and is linked to that view. For more information about dragging and dropping, refer to Dragging and Dropping in Chapter 1, Workbench Overview.

AppBuilder 2.1.0 Development Tools Reference Guide

9-17

Managing Window Objects

Viewing and Modifying Window Object Properties

Viewing and Modifying Window Object Properties


Window Painter object properties determine the appearance and behavior of their associated objects. Generally, you view and modify a property of an object in the Properties window, an example of which is shown in Figure 9-15. From the Properties window, you can select a property and change its value by typing in a new value. From this window, you can select another window object by selecting the object name from the drop-down list.
Figure 9-15 Object Properties window

Object type and name in a drop-down list of all the objects in the window

Open, close, or move Properties window

Selected property

Choice of values for that property may appear in a drop-down list Use scroll to see all the properties

Properties column

Values column

You may open the Properties window by any of these methods: double-clicking on the object selecting the object and choosing View > Properties from the main pull-down menu right-clicking on the object and selecting Properties from the menu Whether you are designing windows or modifying templates, most properties of an object can be customized by creating an accelerator, adding a bitmap, locking the object, changing the color, etc. The top of the Properties window contains the name of the object. You can select what is displayed in the Properties window by selecting an object in the Window Painter window or by selecting the name from the drop-down list in the Properties window. Beneath the name of the object, the Properties window shows two columns of information: the property names and the values. Click on the values column to change the value of a particular property. Some property values are displayed but cannot be changed. If there are several values, a drop-down list is shown with the values. Property fields that contain more data than fit in the display area at one time can be scrolled using the mouse or the left and right arrow keys. You can adjust the location of an object either by changing the value in the Left and Bottom properties or by moving the object in the Window Painter window. With the object selected you can use the up or down keys and the right or left keys to move the object gradually.

9-18

Window Painter

Understanding Common Window Object Properties

Managing Window Objects

Understanding Common Window Object Properties


Each Window Painter object has specific properties that control how the object displays in the AppBuilder application. When you open the Properties window, as shown in Figure 9-15, you can view or modify the values of many properties. Table 9-2 describes common object properties and identifies the Window Painter objects that use this property.
Table 9-2 Property 3D Common properties for Window Painter objects Description Specify if the object appears as a three-dimensional object. Specify the background color of the object. To create a custom color, select CUSTOM COLOR from the drop-list, then use the Windows Color Picker to create the color. Specify the coordinate for the bottom of the object. See Left for the other coordinate. You can type in a value or move the object. Specify if users must complete all mandatory objects before pressing the button. The text returned to the invoking rule when the end user exits the window with System > Close function. In a secondary window, the system disables the close function if the field is blank. Measurement type (PIXEL or CHAR) used for the object. Country variables and display properties used for the object. Specify if field is editable or is display-only. Specify if enabled. System identifier (HPSID) of the default push button for the window. When the user presses Enter, the system returns the system identifier to the invoking rule (as if the user had clicked the button). Specify the font for the object. Specify the foreground color of the object. Specify whether the field is form fit. Group objects. Specify height of the object (in the Coordinate Type unit of measure). Specify the help for an object. Specify (ALWAYS, NEVER, or AS NEEDED) if the object displays a horizontal scroll bar. System identifier used by other AppBuilder objects to reference the object Specify the window icon. Specifies if the user can select the object even if some mandatory fields contain invalid data or if the window contains an error condition. Specify the coordinate for the left side of the object. See Bottom for the other coordinate. You can type in a value or move the object. Specify if object is linked. Used with this object Window, Edit field,

Background Color

Most

Bottom

Most

Check Mandatory Field

Push button

Close Text

Window

Coordinate Type Country Editable Enabled

Window Window Edit Field Edit Field

Enter Key

Window

Font Foreground Color Form Fit Group Height Help Horizontal Scroll Bar HpsID Icon Ignore Validation

Most Most Edit Field All tab-able Window Painter objects Most Most Window All Window Push button, Hot spot

Left Link

Most Most

AppBuilder 2.1.0 Development Tools Reference Guide

9-19

Managing Window Objects

Understanding Common Window Object Properties

Table 9-2 Property Mandatory

Common properties for Window Painter objects Description Specify if object is mandatory. Specify if the window displays a Maximize button. Specify if the window displays a Minimize button. Specify password for field. Specify if resizing of field is allowed. Window Window Edit Field Edit Field Window Specify the help text that appears in the status line. Allows the bitmap to be stretched to fit to the size of push button if a bitmap is bigger than the push button. This is for Java runtime behavior only.The button is displayed with the stretched bitmap. Specify if the window displays a System Menu. Specify if the object is tab-able or not. Enter any text. Specify if the window displays a title bar. Specify (ALWAYS, NEVER, or AS NEEDED) if the object displays a vertical scroll bar. Specify if object is visible. Specify width of object (in the Coordinate Type unit of measure). Most Window Window Most Most Used with this object

Maximize Box Minimize Box Password Resize Status Field Status Line Help

Stretch to Fit

Push button

System Menu Tab Text Title Bar Vertical Scroll Bar Visible Width

Window

9-20

Window Painter

Formatting a Window Object

Managing Window Objects

Formatting a Window Object


Edit fields, list boxes, and multicolumn list boxes in general inherit format specifications from their corresponding field entities in the repository. This topic describes how to use the format dialog to change format specifications for the following: Specifying Character Format Specifying Date and Time Format Specifying Numeric Format Justification for list boxes (of any data type) is not supported in C but is supported for Java. Unless you link a field for the edit fields, MCLB, etc., the Format option is not activated. To display the format dialog for an edit field, list box, or multicolumn list box: 1. 2. Select the edit field. Select Format from the pop-up menu to display the format dialog that corresponds to the field in the repository. The following sections describe how to use the format dialog.

Specifying Character Format


If the field format property of the linked field is Character, Graphic Character (DBCS), Mixed Character, or VarChar (variable character), the Character Format dialog is displayed as shown in Figure 9-16. The values are listed in Table 9-3.
Figure 9-16 Character Format dialog

AppBuilder 2.1.0 Development Tools Reference Guide

9-21

Managing Window Objects

Formatting a Window Object

Table 9-3

Character Format dialog values Description Specify the justification of the data displayed in the linked field. The options are: Center Left Right The options are mutually exclusive; the default is Left. Specify the capitalization of the data displayed in the linked field. The options are: All lower case All upper case Cap first letter, every word Cap first letter, first word Case as entered The options are mutually exclusive; the default is Case as entered. Specify the edit mask to use on the data displayed in the linked field. (Java only.) Use edit masks to format the data in a field when the field does have focus or to restrict the input to certain characters in certain positions.

Format property

Justification

Display

Edit Mask

Complete the Character Format dialog. Click Apply to save the changes and Cancel to close the window when done. Justification for list boxes is not supported in C but is supported for Java.

Specifying Date and Time Format


If the field format property of the linked field is Date or Time, the Date or Time Format dialogs, respectively, is displayed as shown in Figure 9-17. The dialogs are identical except for the title bars. The values are listed in Table 9-4.
Figure 9-17 Date and Time Format dialogs

9-22

Window Painter

Formatting a Window Object

Managing Window Objects

Table 9-4

Date and Time Format dialog values Description Specify the country setting to govern the default date and time formats of edit fields. Choose from a list of countries. The default is SYSTEM. The drop-down lists countries whose formats are supported by AppBuilder. The default, SYSTEM, enables multiple language support (MLS) for these formats, by specifying that control over them resides with the current workstation. For example, input to a date field is displayed in German format if the country setting of the end users workstation is Germany. Any formats the end user customizes are recognized. Other settings for the Country combo box disable the MLS feature: date and time field input are displayed in a predefined format for the specified country, no matter what format the end user specifies. To override the window setting for a given edit field, specify a different value for this property. This property is overridden if you specify a format other than the default in the Display Pic combo box in the Date or Time Format dialog. You can specify multiple date or time formats in the same window. Specify the justification of the data displayed in the linked field. The options are: Center Left Right The options are mutually exclusive; the default is Left. Specifies the format in which data in the field are displayed; it corresponds to the input field Field PictureDisplay in the properties window for the field in the Hierarchy diagram. If you have specified a picture for the field, it is displayed in the edit area of the combo box when you open the Date or Time Format dialog. The repository picture is not altered; select the Refresh push button to restore the picture to the display. Customized date or time formats can use only the symbols shown in the standard formats; Julian date formats are supported. Select one of the standard date or time formats in the drop-down list or edit the combo box by typing in the edit area. Refer to information on functions in the Rules Language Reference Guide for standard date and time functions. Specify the edit mask to use on the data displayed in the linked field. (Java only.) Use edit masks to format the data in a field when the field does have focus or to restrict the input to certain characters in certain positions. Keeps data in sync with the repository values at the time Window Painter is opened. If selected, date and time formats cannot be changed, and the Refresh push button is grayed out. This property is not persistent; it works only while Window Painter is running.

Format property

Country

Justification

Display Pic

Edit Mask

Lock to repository

Justification for list boxes is not supported in C but is supported for Java. Complete the Date or Time Format dialog. Click Apply to save the changes and Cancel to close the window when done.

AppBuilder 2.1.0 Development Tools Reference Guide

9-23

Managing Window Objects

Formatting a Window Object

Specifying Numeric Format


If the field format property of the linked field is numeric (Decimal, Small Integer or Integer), the Numerical Format dialog is displayed as shown in Figure 9-18.
Figure 9-18 Numerical Format dialog

Table 9-5

Numerical Format dialog values Description Specify the country setting to govern the default date and time formats of edit fields. Choose from a list of countries. The default is SYSTEM. The drop-down lists countries whose formats are supported by AppBuilder. Specify the justification of the data displayed in the linked field. The options are: Center Left Right The options are mutually exclusive; the default is Left. Specifies the format in which data in the field are displayed; it corresponds to the input field Field PictureDisplay in the properties window for the field in the Hierarchy diagram. If you have specified a picture for the field, it is displayed in the edit area of the combo box when you open the Numeric Format dialog. You can edit the picture by typing over it; the repository picture is not altered. You can restore the repository picture to the display by selecting the Refresh button. Refer to Appendix B for descriptions of display picture characters. Specify the edit mask to use on the data displayed in the linked field. (Java only.) Use edit masks to format the data in a field when the field does have focus or to restrict the input to certain characters in certain positions. Sets the minimum and maximum values for the field. Keeps data in sync with the repository values at the time Window Painter is opened. If selected, date and time formats cannot be changed, and the Refresh button is grayed out. This property is not persistent; it works only while Window Painter is running. If selected, the field is formatted with the currency symbol of the specified country. If you do not select Currency, but enter the $ currency symbol character in the display picture specified for the field, the field is treated as if you selected Currency. Whether or not you select Currency, the position of a $ character in a display picture overrides the symbols position in the default currency format of the specified country. That is, if the specified country is Sweden, the picture $99,999.99 displays the input value of 12345.60 as kr12.345,60. By contrast, if Currency is selected and the picture does not have a $ sign, the same input is displayed as 12.345,60 kr. By default, Currency is not selected.

Format property Country

Justification

Display Pic

Edit Mask

Min and Max range values

Lock to repository

Currency

9-24

Window Painter

Resizing a Window Object

Managing Window Objects

Justification for list boxes is not supported in C but is supported for Java. Complete the Numerical Format dialog. Click Apply to save the changes and Cancel to close the window when done. For Country, the default, SYSTEM, enables multiple language support (MLS) for these formats, by specifying that control over them resides with the current workstation. For example, input to a date field is displayed in German format if the country setting of the end users workstation is Germany. Any formats the end user customizes are recognized. Other settings for the Country combo box disable the MLS feature: date and time field input are displayed in a predefined format for the specified country, no matter what format the end user specifies. To override the window setting for a given edit field, specify a different value for this property. This property is overridden if you specify a format other than the default in the Display Pic combo box in the Date or Time Format dialog. You can specify multiple date or time formats in the same window.

Resizing a Window Object


For most objects that can be placed in the window, you can resize an object by selecting it and dragging a handle to a new location. When the cursor is over one of the handles of the selected object, the pointer changes to arrows that indicate the direction the handle can be dragged. To change both the height and width of the field, select the corner handles.
Figure 9-19 Resizing an object

handles Resize by dragging side or corner handles

For the Edit Field object, you can adjust the width, but you must set the Resize property to True before you can change the height. Refer to Resizing an Edit Field.

AppBuilder 2.1.0 Development Tools Reference Guide

9-25

Managing Window Objects

Locking a Window Object

Locking a Window Object


You can lock a window object in place to avoid accidentally moving, resizing, or deleting it. When a window object is locked, the cursor changes showing that you cannot do anything with that object. Figure 9-20 shows two list boxes, one with the normal cursor for moving or resizing the box and one that appears when the object is locked.
Figure 9-20 Unlocked Cursor change for locked object Locked

To lock window objects: 1. 2. 3. Open the Window Painter window for the window. Select the object to lock. Right-click the object and select Lock from the pop-up menu. The object is locked in place and cannot be moved or resized. You can also lock an object by selecting Layout > Lock from the menu or by pressing Ctrl+K. To unlock an object, repeat this procedure.

Aligning Window Objects


To align window objects: 1. 2. Open the Window Painter window for the window. Select two or more objects to align.
To select multiple objects, press Ctrl while selecting the object(s). You can also select multiple objects by clicking the mouse on the window and dragging it on to the objects or you can select all the objects by pressing Ctrl + A.

Tip

3.

Select one of the following options to align objects:


Aligning Objects Select... Click the Align Top button in the Window Layout toolbar (Figure 2-13).

Table 9-6 To align...

Top edge

You can also align objects by selecting Layout > Align > Top from the Construction Workbench or by pressing Ctrl+Up Arrow. Click the Align Bottom button in the Window Layout toolbar (Figure 2-13).

Bottom edge

You can also align objects by selecting Layout > Align > Bottom from the Construction Workbench or by pressing Ctrl+Down Arrow. Click the Align Left button in the Window Layout toolbar (Figure 2-13).

Left edge

You can also align objects by selecting Layout > Align > Left from the Construction Workbench or by pressing Ctrl+Left Arrow.

9-26

Window Painter

Aligning Window Objects

Managing Window Objects

Table 9-6 To align...

Aligning Objects Select... Click the Align Right button in the Window Layout toolbar (Figure 2-13).

Right edge

You can also align objects by selecting Layout > Align > Right from the Construction Workbench or by pressing Ctrl+Right Arrow.

AppBuilder 2.1.0 Development Tools Reference Guide

9-27

Managing Window Objects

Distributing Window Objects

Distributing Window Objects


To evenly distribute window objects: 1. 2. Open the Window Painter window for the window. Select two or more objects to distribute.
To select multiple objects, press Ctrl while selecting the object(s).

Tip
3.

Select one of the following options to align objects:


Distributing Objects Select... Click the Distribute Vertical button in the Window Layout toolbar (Figure 2-13).

Table 9-7

To distribute...

Vertically

You can also distribute objects by selecting Layout > Distribute > Vertical from the Construction Workbench or by pressing Alt+Up Arrow. Click the Distribute Horizontal button in the Window Layout toolbar (Figure 2-13).

Horizontally

You can also distribute objects by selecting Layout > Distribute > Horizontal from the Construction Workbench or by pressing Alt+Right Arrow.

Placing and Moving a Window Object


When you insert an object by selecting a choice from a menu or drop-down list, the cursor changes indicating that Window Painter is ready to place an object in the window. When you click the cursor in the window, the Window Painter places the object at that location.
Figure 9-21 Selected object changes outline

To move the object, select it. The outline changes indicating that you can resize or move the object. For information on resizing, refer to Resizing a Window Object.

9-28

Window Painter

Copying a Window Object

Managing Window Objects

Copying a Window Object


To make a copy of a window object, select the object and execute the copy command. You can do this by: selecting Copy from the popup menu (by right clicking) selecting Copy from the Edit pull-down menu typing Ctrl+C on the keyboard Then you can paste it into the window or another window by similarly executing the paste command. You can do this by: selecting Paste from the popup menu (by right clicking) selecting Paste from the Edit pull-down menu typing Ctrl+V on the keyboard

Removing a Window Object


To remove (or delete) a window object from a window, select the object and execute the clear command. You do this by: selecting Clear from the popup menu (by right clicking) selecting Clear from the Edit pull-down menu pressing Delete on the keyboard

AppBuilder 2.1.0 Development Tools Reference Guide

9-29

Managing Window Objects

Implementing Standard Menu Functions

Implementing Standard Menu Functions


There are reserved system identifiers (HPSIDs) that can be used with menu options to perform standard graphical user interface (GUI) actions. You can use the reserved system identifiers to implement the standard menu functions as summarized in Table 9-8. System defined accelerator keys are predefined in Windows NT and 2000.
Table 9-8 Reserved system identifiers Reserved ID Accelerator key Description Duplicates the text of the selected object(s) from the current window and places it on the clipboard. Unlike Cut, it does not delete the text of the selected object(s) from the original location. Once on the clipboard, it may be placed elsewhere with the Paste option. Removes the text of the selected object(s) from the current window and places it on the clipboard, a temporary storage area. Once on the clipboard, it may be placed elsewhere in the window with the Paste option. Clears the text that is currently selected. Opens the help pop-up window for the selected object. This can also be opened by pressing the F1 key during application execution when the object is selected. Places text from the clipboard to the current position of the cursor. Sends the contents of the current window to the printer, as specified in the print manager.

Menu function

Copy

HPS_MENU_COPY

Ctrl+Insert

Cut

HPS_MENU_CUT

Shift+Delete

Delete

HPS_MENU_DELETE

Delete

Help

HPS_MENU_HELP

F1

Paste Print

HPS_MENU_PASTE HPS_MENU_PRINT

Shift+Insert Print Screen (shift)

Another system-defined accelerator key for window manipulation is Alt+F4, which is a Close function. None of the system-defined accelerator keys should be designated for options other than their standard functions. If used against any other option, they are ignored and their standard function performed.

Note

The examples given for system-defined keys are true of the Windows environment. They are different in other operating environments. It is the developers responsibility to ensure that accelerator keys assigned to menu choices are not system-defined for other functions.

9-30

Window Painter

Implementing Standard Menu Functions

Adding or Modifying an Object in the Window

Adding or Modifying an Object in the Window


In any Window Painter window, you can add or modify the following objects: Bitmap Chart Check Box Combo Box Edit Field Ellipse Group Box Hot Spot List Box Menu Multicolumn List Box Multiline Edit Field Push Button Radio Button Rectangle Static Text

Note

AppBuilder does not provide Print or Print Preview for HTML windows developed in the Construction Workbench. Since the Workbench uses a third-party HTML editor for HTML editing, that same tool should be used for print previewing and printing.

Note

In Java, the Chart and Hot Spot objects are not supported.

For information on the Properties window for an object, refer to Viewing and Modifying Window Object Properties.

AppBuilder 2.1.0 Development Tools Reference Guide

9-31

Adding or Modifying an Object in the Window

Bitmap

Bitmap
Description You can place a picture image, read from a file, on the window using the Bitmap object. You can use a Bitmap object in conjunction with a hot spot to make it clickable. (Refer to Hot Spot.)
Figure 9-22 Sample bitmap (before and after linking)

Bitmap object with default image

Bitmap object with linked image

Adding a Bitmap To add a Bitmap to a window: 1. 2. Open the Window Painter window for the window. Click the Bitmap button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Bitmap from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. With at least one Bitmap object under the Window object in the hierarchy, select the Link property in the Properties window and from the drop-down list of possible Bitmap objects in the repository, select a Bitmap. Enter the other necessary information in the Properties window and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

6. 7.

9-32

Window Painter

Chart

Adding or Modifying an Object in the Window

Usage You must have at least one Bitmap object in the repository and at least one Bitmap object under the Window object in the Hierarchy window. Once the Bitmap icon in the window is linked to the Bitmap object in the Window, you can view or change the Bitmap object using the Bitmap Viewer. You can use the Bitmap Viewer tool or the HPS_SET_BITMAP_FILE system component to link run-time Bitmap objects to repository Bitmap objects. The image that you use for a Bitmap object can be platform-dependent or platform-independent.

Note

You must use the correct bitmap image for the targeted execution environment. For example, a Windows formatted bitmap may not display properly on a non-Windows workstation.

Chart
Description Use charts to graphically display data. AppBuilder can create many types of charts including bar charts, pie charts, and area charts, with both two-dimensional (2-D) and three-dimensional (3-D) effects.

Note

In Java, the Chart object is not supported.

Adding a Chart To add a Chart to a window: 1. 2. Open the Window Painter window for the window. Click the Chart button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Chart from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. Link the chart to a field of a multiple-occurring view. (In the Properties window, select the Link property and select the view from the drop-down list. If the list is empty, make sure that you have a multiple-occurring view in the hierarchy under the window object). Select the type of chart. Refer to Table 9-9 for a summary of chart types. Right-click on the Chart object and select Chart Editor (or press Ctrl+Shift+M) to edit the chart. Refer to Using the Chart Editor. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property.

6. 7. 8.

AppBuilder 2.1.0 Development Tools Reference Guide

9-33

Adding or Modifying an Object in the Window

Using the Chart Editor

9.

Click File > Commit to commit changes to the repository.


Chart types Description A line chart shows trends in data by showing the data as points on a graph connected by straight lines, both 2 and 3 dimensional options. A bar chart shows a comparison of data by showing a horizontal bar for each data item value, both 2 and 3 dimensional options. A pie chart shows the proportional size of each data item that makes up a whole circular image (pie), both 2 and 3 dimensional options. A stacked bar chart shows the relationship of individual parts of a whole piece of data by showing each set of data as a stack and putting the stacks next to each other (as in the bar chart), 2 and 3 dimensional options. A column chart shows a comparison of data by showing a vertical column for each data item value, both 2 and 3 dimensional options. A smooth line chart shows a comparison of data in a curved line, both 2 and 3 dimensional options. A scattered-data chart shows the scattered data on a graph without lines connecting the data items, 2 dimensional only. An area chart consists of one or more lines drawn on an X-Y grid, with the area between the line and the X axis filled in, both 2 and 3 dimensional options. A barline chart is a combination of bar and a line chart, both 2 and 3 dimensional options. A perbar chart clusters data on the Z axis, 3D only.

Table 9-9

Chart Type LINECHART2D LINECHART3D BARCHART2D BARCHART3D PIECHART2D PIECHART3D STACKEDBARCHART2D STACKEDBARCHART3D COLUMNCHART2D, COLUMNCHART3D SMOOTHLINECHART2D SMOOTHLINECHART3D SCATTERCHART2D AREACHART2D AREACHART3D BARLINECHART2D BARLINECHART3D PERBARCHART3D

Using the Chart Editor


A chart object can be linked to a view or set of views by linking the chart to a field in a multipleoccurring view. In the Properties window of the chart, select a view from the drop-down list. From the right-click menu, select Chart Editor. The Chart Editor window is displayed as shown in Figure 9-23. The areas are summarized in Table 9-10.

9-34

Window Painter

Check Box

Adding or Modifying an Object in the Window

Figure 9-23

Chart Editor window

Table 9-10 Chart Editor functions Area Chart type Window Caption Minimize or Maximize Box Labels Heading and Footing Left and Right Margin Link Axis HPSID Legend Background Description Select the type of chart to display the data. Type in a caption that appears with the chart Select whether to maximize or minimize the box (or do neither). Select labels for the axes. Type in text that appears in the header or footer of the chart. Select the size of the left or right margin or both. Select the view to link to. Select the axis on which to display the data. System identifier. Type in a label for the legend for the chart and whether to display the legend. Select a background color for the chart.

Check Box
Description A check box is a square box displayed next to a text label. Users can select or deselect the box. The system provides visual feedback as to the status of a check box by placing (or removing) an X within the box. Check boxes are typically linked to boolean, char, or varchar fields with a length of 1 to specify yes/no or on/off conditions.

AppBuilder 2.1.0 Development Tools Reference Guide

9-35

Adding or Modifying an Object in the Window

Check Box

Figure 9-24

Sample check boxes

Adding a Check Box To add a Check Box to a window: 1. 2. Open the Window Painter window for the window. Click the Check Box button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Check Box from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. Edit the Text property, changing the text that appears next to the check box. With at least one Field object under a View object under the Window object in the hierarchy, double-click on a field in the Window Painter window. The properties window for that field appears. Select the Link property in the Properties window, and from the drop-down list of possible Field objects in the repository, select a field. Click File > Commit to commit changes to the repository.
A mnemonic key can be defined by prefacing any character in a Text attribute with an ampersand, &. Using NLS characters in the mnemonic keystroke sequence is only supported in the C client runtime. Java does not support the use of NLS characters for mnemonics.

7.

Note

9-36

Window Painter

Combo Box

Adding or Modifying an Object in the Window

Combo Box
Description A combo box is a combination of an edit field and a list box. End users can change the text in the edit field by choosing an item from the list box (or, in the case of editable combo boxes, by typing directly into the edit field). A combo box is linked to a repository field of the type required to contain a value appearing in the drop-down. Combo boxes are defined with associated domains that are either sets or occurring views.
Figure 9-25 Sample combo box

Adding a Combo Box To add a Combo Box to a window: 1. 2. Open the Window Painter window for the window. Click the Combo Box button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add a combo box by selecting Insert > Combo Box from the Construction Workbench menu or by dragging a field object from the project hierarchy to the Window Painter window. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. 7. For the Domain property, select either a set or the field of a multiple-occurring view. For the Link property, select a field. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.
AppBuilder 2.1.0 Development Tools Reference Guide 9-37

Adding or Modifying an Object in the Window

Edit Field

Edit Field
Description Use an edit field to define fields in which the end user can enter and modify a single line of text. Edit fields can be Editable (that is, read/write or not protected). You can populate fields by typing in data at run time or by mapping data from the rule. Use a Multiline Edit Field to allow the end user to enter more than one line of text.

Note

Input text in default height fields is clipped in windows prepared for the Windows execution environment. Set the Resize property in the Window Painter properties window to True, which allows you to change the height. Refer to Resizing an Edit Field.

Edit fields create input and output areas in a window (as in Figure 9-26). In an AppBuilder application, an edit field may be populated by typing in data at runtime or by mapping data from the rule.
Figure 9-26 Sample edit field

Protected edit fields are linked to a repository field and can be domained to a set object that contains a set of domained values. For example, if you have a set with the values 1 through 12 assigned to the months of the year (January through December), you can link an edit field to a numeric value and AppBuilder will show the corresponding month name. That means the repository field linked to the object takes only one of the domained values present in the set object associated with the field. For protected edit fields the domained values are not displayed (as they are with MCLB columns).

Note Note

C runtime does not support domained edit fields.

When the domain property is set for an object, the Format menu is grayed out because the format is irrelevant when the object is linked to a set.

Adding an Edit Field


To add an Edit Field to a window: 1. 2. Open the Window Painter window for the window. Click the Edit Field button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ).

9-38

Window Painter

Edit Field

Adding or Modifying an Object in the Window

You can also add one by selecting Insert > Edit Field from the Construction Workbench menu or by dragging a field object from the project hierarchy to the Window Painter window. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. With at least one Field object under a View object under the Window object in the hierarchy, double-click on a field in the Window Painter window. The properties window for that field appears. Select the Link property in the Properties window, and from the drop-down list of possible Field objects in the repository, select a field. For the Domain property, select either a set or the field of a multiple-occurring view. For the Link property, select a field. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

6. 7. 8.

Resizing an Edit Field


Unlike other objects that can be placed and resized in the window, the height of the Edit Field object is locked depending on the font being used. By default, you can change the length, but not the height. To change the height of an edit field, you must first open the Properties window for the edit field and set the Resize property to True. Then you can resize the edit field by clicking and dragging the handles of the edit field, as shown in Figure 9-27 as you would other objects. When the cursor is over one of the handles of the selected edit field, the pointer changes to arrows that indicate the direction the handle can be dragged. To change both the height and width of the field, select the corner handles. To lock the height of the field again, you can set the Resize property to False.
Figure 9-27 Resizing edit field

Set Resize to True ...

handles

... then resize edit field.

AppBuilder 2.1.0 Development Tools Reference Guide

9-39

Adding or Modifying an Object in the Window

Ellipse

Ellipse
Description
An ellipse (as with the Rectangle) adds graphical interest to the window. can be used to make the user interface more graphically interesting or easier to understand. Use rectangles to draw images and add graphical interest to a window. Like a Rectangle, an ellipse contains no link to a repository field.
Figure 9-28 Sample ellipses

Adding an Ellipse To add an Ellipse to a window: 1. 2. Open the Window Painter window for the window. Click the Ellipse button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Ellipse from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

9-40

Window Painter

Group Box

Adding or Modifying an Object in the Window

Group Box
Description A group box is a rectangular border that contains a text label. Other objects may be placed within group boxes. This object is typically used to group similar items, such as radio buttons or check boxes, or different-type items that share a functional or organizational rationale. Group boxes are for display only they do not affect the order of tabs on a panel and do not have a link to any repository object.
Figure 9-29 Sample group box

Adding a Group Box To add a Group Box to a window: 1. 2. Open the Window Painter window for the window. Click the Group Box button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Group Box from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

AppBuilder 2.1.0 Development Tools Reference Guide

9-41

Adding or Modifying an Object in the Window

Hot Spot

Hot Spot
Description A hot spot is an area of the window that, when the end user clicks, sends an event to a rule. The hot spot is not linked to a repository object. It uses the predefined system view HPS_EVENT_VIEW to send the event. Unlike a push button, hot spots are hidden and cannot be seen by the end user at run time. Use a hot spot in conjunction with a bitmap to make clickable, graphic buttons.

Note

In Java, the Hot Spot object is not supported.

Adding a Hot Spot To add a Hot Spot to a window: 1. 2. Open the Window Painter window for the window. Click the Hot Spot button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Hot Spot from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

List Box
Description A list box is an object that contains a display-only list of one or more items. The list may be scrolled, and one or more items may be selected. The data items in the list come from a field associated with a multiple occurring view in the hierarchy. (Border color is not supported in Java for a multicolumn list box.)A list box allows users to select from a list of items in a box (as in Figure 9-30). Each item in the list box is linked to a field within the application hierarchy.

9-42

Window Painter

List Box

Adding or Modifying an Object in the Window

Figure 9-30

Sample list box

Adding a List Box To add a List Box to a window: 1. 2. Open the Window Painter window for the window. Click the List Box button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add an list box by selecting Insert > List Box from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the List Box properties, in Window Painter, double-click the list box and the Properties window opens. Or, Right-click on the list box in Window Painter and select Properties from the pop-up menu. You can also toggle between displaying or hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. 7. In the Properties window, click on the Link field property. Select a linkable view from the list in the drop-down list box. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

AppBuilder 2.1.0 Development Tools Reference Guide

9-43

Adding or Modifying an Object in the Window

Menu

Menu
Description As opposed to the click-and-place creation of most panel controls, menus are designed in the Menu Editor inside Window Painter. Menu items appear in a pull-down menu bar at the top of the window. Each menu item consists of both the text that appears in the pulled-down menu at run time, and an underlying unique system identifier (HPSID), which is used by the rule that converses the panel to access the desired menu item functionality. Accelerator and mnemonic key-sequences for menu items can also be defined in the Menu Editor. (Refer to Using the Menu Editor.)
Figure 9-31 menu name submenu with two menu items menu items separator accelerator or mnemonic key Sample Menu Bar

Menu choices do not change the focus state. When a menu item is selected, the focus remains on the object that previously had the focus. Adding a Menu To add a Menu Bar to a window: 1. 2. Open the Window Painter window for the window. Right-click the window and select Menu Editor from the pop-up menu. The Menu Editor window appears. You can also display the Menu Editor window by selecting Tools > Menu Editor from the Construction Workbench menu or by pressing Ctrl+U. 3. 4. Click Insert Item. Change the various properties until you are satisfied and click Apply.

Refer to Using the Menu Editor.

Using the Menu Editor


Right-click the window and select Menu Editor from the pop-up menu. The Menu Editor window appears. You can also display the Menu Editor window by selecting Tools > Menu Editor from the Construction Workbench menu or by pressing Ctrl+U.

9-44

Window Painter

Using the Menu Editor

Adding or Modifying an Object in the Window

Figure 9-32

Menu Editor window

1. 2.

Click Insert Item. Use this table to enter data in each field on the window:

Table 9-11 Menu Editor window fields Field Selected Item Text HPS ID Status Line Selected Item Push Buttons Set Clear Remove Accelerator Item type Menu Item Pop-up Separator Disabled Checked Check mandatory fields Ignore validation Move Accepts the information that you provided in the above three fields. Setting it in the hierarchy at the left of the Menu Editor. Clears the text in the above three fields. Use this button to correct or change text in these fields for the selected item Removes the selected item from the hierarchy at the left of the Menu Editor. Displays the Accelerator window so you can assign hot keys for this menu item (see Adding an Accelerator). The Accelerator button is only available when creating a menu item. Select one of these to define the type of item you are creating. The menu option text, as it should appear The system identifier associated with this object The text that appears in the status line at the bottom of the window when the cursor is over this item Description

Select this to disable this menu by default. Select this to have this menu checked by default. Select this to have mandatory fields checked by default. Select this to ignore validating the item by default. To have an item indented or to promote an item to be the name of a menu, move the item left or right in the hierarchy and move it up or down to have it appear before or after the other items in this hierarchy.

3.

You can use Reserved Menu Names for standard menu functions.

AppBuilder 2.1.0 Development Tools Reference Guide

9-45

Adding or Modifying an Object in the Window

Multicolumn List Box

Reserved Menu Names You can use the following reserved system identifiers (HPSIDs) to implement standard menu functions.
Table 9-12 Reserved System Identifiers Menu function Cut Copy Paste Delete Print Help Reserved Identifier HPS_MENU_CUT HPS_MENU_COPY HPS_MENU_PASTE HPS_MENU_DELETE HPS_MENU_PRINT HPS_MENU_HELP Shortcut key Ctrl+X Ctrl+C Ctrl+V Delete Ctrl+P F1

Each execution environment supports a different set of reserved shortcut keys. Be careful that you do not accidentally assign one of these to a different function in your window. Usually, the default operating system meaning supersedes yours. Accelerator Button For information on creating an Accelerator, refer to Adding an Accelerator.

Note

Using NLS characters in the mnemonic keystroke sequence is only supported in the C client runtime. Java does not support the use of NLS characters for mnemonics.

Multicolumn List Box


Description A multicolumn list box is an object that contains a list of one or more items. The list may be scrolled, and one or more items may be selected. The data items in the list come from a field associated with a multiple occurring view in the hierarchy. A multicolumn list box (MCLB) contains several columns and rows that define the items. (Border color is not supported in C or Java for a multicolumn list box.) A multicolumn list box allows users to display or enter data from a list of cells in a table (as in Figure 9-33).

9-46

Window Painter

Multicolumn List Box

Adding or Modifying an Object in the Window

Figure 9-33

Sample multicolumn list box

Protected MCLB columns are linked to a repository field and can be domained to a set object that contains a set of domained values. For example, if you have a set with the values 1 through 12 assigned to the months of the year (January through December), you can link an MCLB column to the list of numeric values and AppBuilder will show the corresponding month names. That means the repository field linked to the column takes only one of the domained values present in the set object associated with the column. For MCLB columns linked to a domain, the domained values are displayed at runtime as a drop-down list when clicked upon the column.

Note Note

C runtime does not support domained MCLB columns.

When the domain property is set for an object, the Format menu is grayed out because the format is irrelevant when the object is linked to a set.

Adding a Multicolumn List Box To add a Multicolumn List Box to a window: 1. 2. Open the Window Painter window for the window. Click the Multicolumn List Box button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add a multicolumn list box by selecting Insert > Multicolumn List Box from the Construction Workbench menu. You can also drag a multiple-occurring view from the hierarchy and drop it in the window. This is probably the easiest way to create a Multicolumn List Box. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in Window Painter. The Properties window opens. Or,

AppBuilder 2.1.0 Development Tools Reference Guide

9-47

Adding or Modifying an Object in the Window

Using the MCLB Editor

Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. In the Properties window, click on the value of the Link property. The linkable views, which are occurring views, are listed in the drop-down list. Select the view. To add columns and link the columns to occurring fields, use the MCLB Editor. Right-click a multicolumn list box in the Window Painter window and select MCLB Editor from the pop-up menu. You can also access the MCLB Editor window by selecting Tools > MCLB Editor from the Construction Workbench menu. Refer to Using the MCLB Editor. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

7. 8.

Using the MCLB Editor


The multicolumn list box editor the MCLB Editorlets you add and format columns and column headings. An MCLB must be linked to an occurring view in the hierarchy. An occurring view is created by setting the occurs times relationship property of a view to a value greater than one. This topic includes: Opening the MCLB Editor Adding and Modifying Columns with the MLCB Editor Adjusting Column Widths in MCLB Modifying Column Justification in MCLB Opening the MCLB Editor To open the MCLB Editor: 1. 2. Select the multicolumn list box object in the window. You may double-click the multicolumn list box object to display its properties window. From the Tools menu, select MCLB Editor or use the short cut (Ctrl+Shift+M). An MCLB Editor window is displayed. A sample is shown in Figure 9-34.

9-48

Window Painter

Using the MCLB Editor

Adding or Modifying an Object in the Window

Figure 9-34

Sample MCLB Editor window

Use these buttons to add columns and headers as needed Then set the column parameters for each column.

Then apply the changes when done.

Table 9-13 MCLB Editor fields and options Interface MCLB Current Column HpsID, Width, Link, Help, Status Line Domain Form fit, etc. Description This part of the window allows you to see the columns and headers as you add them. These are the properties of the column selected in the MCLB above. See Table 9-2 for a description of common properties. A property that indicates if the object is linked to a Set object. Options available for a column.

Adding and Modifying Columns with the MLCB Editor If you edit a multicolumn list box that is not linked to repository fields, the MCLB Editor does not display any columns or headings. When a multicolumn list box object is displayed in the MCLB Editor, each column contains a numbered column selector at the top. See Figure 9-34. The column selector is part of the MCLB Editor and refers to the columns placement in the object. It does not appear in the multicolumn list box object in the window, nor is it visible to the end user at runtime. You select a column by clicking on a column selector; you cannot select more than one column at a time. You must select a column to apply an action to it. You create a multicolumn list box by adding columns, inserting headers and specifying aspects of that column by entering information in the bottom half of the window with the column selector selected. The column heading appears in the cell below the column selector. The heading that is displayed is based on your field label settings. By default, any long screen literal you assigned to a field in the repository is automatically displayed as the heading of the column with which it is linked. The heading is truncated if it is longer than the column is wide.

Note

In Window Painter, the headers are put in the first row of the MCLB taking up one of the rows. When the 3270 window is built, it puts the headers one row above the MCLB and does not take up a row.

AppBuilder 2.1.0 Development Tools Reference Guide

9-49

Adding or Modifying an Object in the Window

Using the MCLB Editor

Your MCLB must have at least one column. If the MCLB has zero columns specified, when you preview the MCLB in Window Painter or Window Flow Diagrammer, the MCLB displays as a line. If you update the parameters section, select Set to enable the Apply button. Adjusting Column Widths in MCLB You can adjust the width of a column by clicking the line at the right of the column and when the pointer changes to a resize handle, as shown in Figure 9-35, drag it to the desired width of the column heading.
Figure 9-35 Column resize handle

Drag the resize handle to adjust the column width

You can save changes to the MCLB Editor window by clicking Apply. To close the MCLB Editor, click OK or click the X in the upper right corner of the MCLB Editor window. Modifying Column Justification in MCLB You can change the header justification (left, center, right) by selecting the header and selecting Properties from the right-click menu, as shown in Figure 9-36.
Figure 9-36 Modifying column justification

You can save changes to the MCLB Editor window by clicking Apply. To close the MCLB Editor, click OK or click the X in the upper right corner of the MCLB Editor window.

9-50

Window Painter

Multiline Edit Field

Adding or Modifying an Object in the Window

Multiline Edit Field


Description Use a multiline edit field to allow the end user to enter more than one line of text. A multiline edit field creates an input or output area (of multiple lines) in a window (as in Figure 9-37). In an AppBuilder application, a multiline edit field may be populated by typing in data at runtime or by mapping data from the rule. You can set a multiline edit field to be non-editable (that is, read-only). Adding a Multiline Edit Field Opening a File Editor
Figure 9-37 Sample multiline edit field

Adding a Multiline Edit Field To add a Multiline Edit Field to a window: 1. 2. Open the Window Painter window for the window. Click the Multiline Edit Field button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Multiline Edit Field from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. In the Properties window, click on the value of the Link property. The linkable views, which are occurring views, are listed in the drop-down list. Select the view. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property.

AppBuilder 2.1.0 Development Tools Reference Guide

9-51

Adding or Modifying an Object in the Window

Push Button

7.

Click File > Commit to commit changes to the repository.

Opening a File Editor To allow the end user to view, but not modify, the contents of a text file, you can insert a File Editor object. 1. 2. Follow the instructions for Adding a Multiline Edit Field. Change the File Editor property of a multiline edit field to True as shown in Figure 9-38.
Changing the File Editor property

Figure 9-38

Push Button
Description A push button displays its text label within its border. The button can be selected with a mouse click, space bar press, Enter key press, or with an accelerator or mnemonic key sequence. When the button is selected, an event is sent to the rule, if a listener is registered for the event, returning control to the application. A push button has no repository connection; it merely sends an event to the rule. A bitmap push button is a push button that is displayed as a border surrounding a bitmap image. The button uses a 3-D appearance. When the button is pressed, its border appears sunken. When a button is up, its border appears raised. When bitmap push button is disabled, any text label appearing within its border is dithered with gray.

Note

You must use the correct bitmap image type for the specific targeted execution environment.

9-52

Window Painter

Push Button

Adding or Modifying an Object in the Window

Figure 9-39

Sample push buttons

Adding a Push Button To add a Push Button to a window: 1. 2. Open the Window Painter window for the window. Click the Push Button button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Push Button from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. Edit the Text property in the Properties window, changing the text that appears next to the button. With at least one Field object under a View under the Window object in the hierarchy, select the Link property in the Properties window and from the drop-down list of possible Field objects in the repository, select a Field. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

7. 8.

Adding an Accelerator You can assign an accelerator or shortcut (which can be a combination of keys) to perform an action. Accelerators can be: Virtual keys (that is, function keys F1 F12) Combination of a virtual key and one or more modifier keys (that is, Alt, Ctrl, and/or Shift) Combination of alphanumeric key and one or more modifier keys
AppBuilder 2.1.0 Development Tools Reference Guide 9-53

Adding or Modifying an Object in the Window

Radio Button

To create an accelerator for a push button: 1. Right-click the push button in the Window Painter window and select Accelerator from the pop-up menu. The Accelerator window appears. You can also add an accelerator by selecting View > Accelerator from the Construction Workbench menu.
Figure 9-40 Accelerator window

2. 3. 4.

Use the Key drop-list to select the virtual accelerator key for the button. Specify if the accelerator uses a modifier key (that is Alt, Ctrl, and/or Shift). Click Apply.

Note

Using NLS characters in the mnemonic keystroke sequence is only supported in the C client runtime. Java does not support the use of NLS characters for mnemonics.

Radio Button
Description A radio button is displayed with a text label to its right. Use radio buttons to let end users specify simple selections for field settings. The button can be selected by using the mouse or the space bar. Several radio buttons are typically used to present exclusive alternatives for a single setting (often appearing together in a group box) by linking the mutually exclusive radio buttons to the same field in the repository. The data contained in the Link field is the system identifier (HPSID) of the selected radio button.
Figure 9-41 Sample radio buttons

9-54

Window Painter

Radio Button

Adding or Modifying an Object in the Window

Adding a Radio Button To add a Radio Button to a window: 1. 2. Open the Window Painter window for the window. Click the Radio Button button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Radio Button from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. Edit the Text property in the Properties window, changing the text that appears next to the button. With at least one Field object under a View under the Window object in the hierarchy, select the Link property in the Properties window and from the drop-down list of possible Field objects in the repository, select a Field. The Link field specifies the system identifier (HPSID) to which all the buttons in a given selection relate. In the example in Figure 9-41, the choices in the group box would all have the same system identifier for a link and the Yes and No buttons would have a system identifier for their link different from the one for the group box.
It is not possible to select a radio button on an HTML servlet if the radio button does not have a link.

Note
7.

Click File > Commit to commit changes to the repository.


A mnemonic key can be defined by prefacing any character in a Text attribute with an ampersand, &. Using NLS characters in the mnemonic keystroke sequence is only supported in the C client runtime. Java does not support the use of NLS characters for mnemonics.

Note

AppBuilder 2.1.0 Development Tools Reference Guide

9-55

Adding or Modifying an Object in the Window

Rectangle

Rectangle
Description A rectangle (as with the Ellipse) can be used to make the user interface more graphically interesting or easier to understand. Use rectangles to draw images and add graphical interest to a window. Like an Ellipse, a rectangle contains no link to a repository field.
Figure 9-42 Sample rectangles

Adding a Rectangle To add a Rectangle to a window: 1. 2. Open the Window Painter window for the window. Click the Rectangle button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Rectangle from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

9-56

Window Painter

Static Text

Adding or Modifying an Object in the Window

Static Text
Description Static text is a text label placed as needed anywhere in a window. It is for informational use within the window and does not link to a repository field. End Users cannot tab to a static text object. Static text cannot be included in the windows tab sequence (see Previewing a Window on page 9-10).
Figure 9-43 Sample static text

Adding Static Text To add Static Text to a window: 1. 2. Open the Window Painter window for the window. Click the Static Text button in the Window Objects toolbar (Figure 2-14) and move the cursor to the Window Painter window. The cursor changes to a cross ( + ). You can also add one by selecting Insert > Static Text from the Construction Workbench menu. 3. In the Window Painter window, click the window to add the object to the window. The systems places an icon in the window. To move the object, click and drag the icon. To resize the object, click and drag one of the icons handles. 4. To modify the objects properties, double-click on the object in the Window Painter window. The Properties window opens. Or, Right-click the object and select Properties from the pop-up menu. You can also toggle between displaying and hiding the Properties window by selecting View > Properties from the Construction Workbench menu or by pressing Alt+Enter. 5. 6. Enter the necessary information and press Enter. See Understanding Common Window Object Properties for more information on each property. Click File > Commit to commit changes to the repository.

AppBuilder 2.1.0 Development Tools Reference Guide

9-57

Using 3270 Window Painter

Opening a 3270 Window

Using 3270 Window Painter


The 3270 Window Painter tool is similar to the workstation Window Painter but is used for creating windows for the 3270 terminals connected to a mainframe. Most of the differences between them are due to 3270 terminals supporting a more limited set of objects than workstations do. Topics include: Opening a 3270 Window Working with the Background Panel Understanding Color and Font Support Understanding Support for Controls Using the Function Key Editor

Note

There is a limitation for 3270 window views of 4026 entities (views and fields). This includes occurring subviews, where each occurrence of a view or field in an occurring view is calculated as another entity. If you exceed the limit, the window fails to prepare.

Opening a 3270 Window


When you open a window with the File > New or File > Open choice in the Construction Workbench, you are presented with a choice of opening a workstation window or a 3270 window. See Figure 9-44.
Figure 9-44 3270 Window Painter

A list of differences between the two tools follows. If a menu choice or other element is not explicitly mentioned, assume that it works in the same way as in the workstation Window Painter. (In most cases

9-58

Window Painter

Working with the Background Panel

Using 3270 Window Painter

where a feature does not work in the 3270 version, such as the Tabbing Editor and Tab Order, the menu choice is grayed out.) Major additional functionality is covered following the list. The window object (in effect, background of the window) is blackas opposed to gray in the workstation versionand it cannot be changed to a different color. The only supported object types are combo boxes, edit fields, multicolumn list boxes, and static text. The tool palette has icons only for combo boxes, edit fields, multicolumn list boxes, and static text enabled. The attributes pop-up windows for 3270 Window Painter objects usually contain less fields, due to the simpler nature of 3270 windows. Only text colors can be changed in a 3270 window; objects such as fields and combo boxes cannot. The Color pop-up window only contains a few colors, and scroll bars for custom colors are not available. Menu Editor differences: The 3270 version of the Menu Editor does not include separator objects. (Separators copied from workstation windows with Copy Menu and Paste appear as blank lines in the 3270 menu.) The 3270 version of the Menu Editor does not provide attributes pop-up windows for menu items. Tabbing Editor and Tab Order are not supported in 3270 Window Painter. The 3270 Window Painter layout consists of the 3270 Window Painter tool window and the Attributes list box. Both of these windows open in the Work area and can be sized independently.

Working with the Background Panel


A 3270 panel initially measures 24 rows high by 80 columns wide. You can make the panel smaller than 24 rows x 80 columns, but not larger. The size and position of objects in the window are expressed in row and column values. Note that workstation and 3270 displays are oriented differently: (1,1) is lower left on the workstation display, but upper left on the 3270 display. The caption bar is not displayed on the 3270 terminal at runtime. A caption is displayed only if you paint it as a static text object in the window itself. 3270 Converse uses an attribute byte in the space before each object on the 3270 display. For that reason, you cannot place an object in the leftmost column of the panel.

Understanding Color and Font Support


The 3270 Converse supports IBM 3178-2 and IBM 3179-2 terminals. The IBM 3178-2 terminal is a monochrome display station that supports the single color green. The IBM 3179-2 terminal is a color display station that supports four base colorsred, blue, green, and whiteand three extended colors yellow, pink, and turquoise. The extended highlighting feature reverse video is used to implement background color. The background color of the panel and of all window controls is set to gray in 3270 Window Painter for visibility , even though the default background color is black in 3270 terminals.

AppBuilder 2.1.0 Development Tools Reference Guide

9-59

Using 3270 Window Painter

Understanding Support for Controls

Edit fields, combo boxes, and multicolumn list box cells are delineated by square brackets in the 3270 Window Painter, except that an edit field or multicolumn list box cell with a length of one is delineated by an underscore. The color of the brackets or underscore corresponds to the color of the input text for the object. You specify the color of label and input text in the Color combo box in the Attributes pop-up window for the object. The available colors are red, blue, green, white, yellow, magenta, and cyan, in order as they correspond with the IBM 3179-2 colors listed above. The default is white. When label text in a workstation window is copied to a 3270 window, the color specified by the user is translated as closely as possible, except that black is translated to white. Label and input text are set to a standard nonproportional font, which cannot be changed. 3270 Converse determines the characteristics of the terminal at runtime and constructs the 3270 data stream for the device. Text colors are translated as closely as possible; the terminal may highlight the current screen item by altering its color. Brackets are not displayed; terminal devices that support extended 3270 attributes denote input fields with an underscored data entry area. Reverse video red is used to highlight fields in error. For monochrome 3270 devices, highlighting the single color denotes fields in error. For further information, refer to the information on SET_FIELD_COLOR in the System Components Reference Guide.

Understanding Support for Controls


The 3270 Window Painter supports the following window objects: edit fields, static text objects, function keys, combo boxes, and multicolumn list boxes. You can create menu-bar choices and first-level pull-down menu items with the 3270 Window Painter menu editor, as described in Menu Bar. 3270 Converse uses an attribute byte in the space before each object on the 3270 screen. Generally speaking, you are responsible for arranging to accommodate this byte; the Verify choice in the 3270 Window Painter Verify menu issues an error message for insufficient space. In two cases, the 3270 Window Painter takes care of the matter for you: it prevents you from placing objects in the leftmost column of the window, and it automatically adds a space before each cell in a multi-column list box. The tab order of window objects is left to right and top to bottom, and cannot be changed. 3270 end users cannot tab to a non-editable (protected) edit field or non-editable combo box. The Tabbing Editor and Tab Order tools are not available in 3270 Window Painter. Some of the functions available, depending on the objects in the window, are similar to the Window Painter tools: Using the Menu Editor Using the MCLB Editor Available only in 3270 Window Painter is: Using the Function Key Editor

9-60

Window Painter

Understanding Support for Controls

Using 3270 Window Painter

The supported controls include: Combo Box Object Edit Field Object Function-key Object Menu Bar Multicolumn List Box Object Static Text Object

AppBuilder 2.1.0 Development Tools Reference Guide

9-61

Using 3270 Window Painter

Understanding Support for Controls

Combo Box Object


You link the combo box object to a character field defined in the repository with an online validation set that contains the permissible values for the field. At execution, 3270 Converse verifies that the character string entered in the field is contained in the associated set. If an invalid character string is entered, 3270 Converse displays a scrollable pop-up list of valuesa combo box, in effectfrom which the end user can select a valid value. Combo box objects are case sensitive. Editable combo boxes are supported in functionally different ways on the workstation and the host. In a workstation window, an editable combo box is one in which the end user can enter a value that does not occur in the associated set. In a 3270 window, an editable combo box is one in which the end user can type in the input area of the combo box, but cannot enter a value that is not contained in the set. A combo box is editable, if you set the combo box property Style to DropDown; this property is selected by default. To make the combo box non-editable, set the Style to be DropDownList. As this implies, the 3270 end user cannot type in the data input area of the combo box in the default casethe list of valid values can only be displayed by pressing the PROMPT function key. Note, too, that 3270 end users cannot tab to a non-editable combo box. In cases where you want a combo box to be non-editable on the workstation and editable on the hostthat is, in which you want 3270 end users to be able to tab to the combo box and type in its data entry areaStyle should be set to DropDownList for the workstation combo box, and should be set to DropDown for the 3270 combo box. You can resize a combo box vertically only in multiples of its row height, which cannot be changed.

Note

Support for lookup sets, error sets, and set types for integers cannot be used for combo boxes in 3270 Converse.

Edit Field Object


An edit field loaded from the repository is sized initially according to its length attribute or picture display, except that the date and time fields for which no picture display has been specified are sized initially with lengths of 10 and 11, respectively. You cannot size the field yourself except by modifying these values. The square brackets surrounding the field are included in the length specification. You cannot resize edit fields vertically in a 3270 window. The RESIZE environment variable has no effect in a 3270 window. Unlike the workstation Window Painter, 3270 Window Painter does not have a Resize property in the Edit Field object to allow you to change the height of an edit field. There is a form-fit property, provided for an edit field, with which horizontal resizing can be done. We recommend that you avoid using this property for resizing, as this is provided for customers who are using a non-standard data object that has a different data length.

9-62

Window Painter

Understanding Support for Controls

Using 3270 Window Painter

Function-key Object
Function-key objects are painted in the last row of the window with values F2 through F24 in order. (F1 is reserved for help.) You can change a function-key assignment in the PF Key combo box in the Attributes pop-up window for the object. Push buttons copied from a workstation window are painted as function keys. The text for a function key defaults to Push. Change its text by typing over the Text field in the Attributes pop-up window for the object. The text is displayed beside the function-key specification in the 3270 window at runtime. The maximum text string that can be assigned to a function key is 28 bytes. The system identifier (HPSID) of a function key defaults to the characters ID followed by a systemassigned number. Change its system identifier (HPSID) by typing over the HPS ID field in the Attributes pop-up window for the object. The system identifier is returned to the invoking rule when the end user presses the function key at runtime. Note that the Verify choice in the 3270 Window Painter Verify menu issues an error message for the first instance of a duplicate system identifier only. The function-key display wraps to a new line as necessary, depending on the current width of the panel. You can display 24 function keys on a 3270 terminal in two rows. The Verify choice in the 3270 Window Painter Verify menu issues an error message if you exceed the prescribed number of keys or rows. Default values of function keys conform as closely as possible to Common User Access (CUA) guidelines, and are listed in the Enterprise Application Guide. Except when 3270 Converse displays the default F7 or F8 keys for a scrollable list box, only user-defined keys and their associated text strings are displayed on the 3270 terminal.

Menu Bar
The menu bar (including the menu bar for a pop-up window) is displayed at the top of the 3270 screen in as many rows as needed; any data overlaid by the menu bar are retained. The default F10 key toggles the display on or off. The default is on. Only menu bar items and first-level pull-down menu items are supported in 3270 windows. Specify the text for a menu item in the menu editor Menu text field. For pull-down menu items, the text automatically populates the system identifier (HPSID) area in the brackets beside the text area. When the end user selects the item at runtime, 3270 Converse returns the system identifier (HPSID) to the invoking rule. Change the items system identifier (HPSID) by typing over the HPS ID field in its Attributes pop-up window. Subsequently modifying the Menu text field does not alter the items system identifier. The HPS ID area of menu bar items is empty, following CUA guidelines. You cannot display an Attributes pop-up window for menu bar items. Menus are not displayed in the 3270 Window Painter. Menu item separators, mnemonic keys, and shortcut keys are not supported. To disable menu items, use the component SET_MENU_MODE, described in the System Components Reference Guide. Otherwise usage is the same as that described for Window Painter. 3270 pull-down menus are limited to 99 choices; menu bars to 38 choices or 11 rows. Display of any menu choice on the 3270 device is limited to 28 bytes. Pull-down menus are scrollable.

AppBuilder 2.1.0 Development Tools Reference Guide

9-63

Using 3270 Window Painter

Understanding Support for Controls

Multicolumn List Box Object


3270 Converse allows only one multicolumn list box in a window. For that reason, the Repository query/ Create MCLB choice in the Objects menu is disabled if a multicolumn list box is displayed in the panel. You can use the Paste choice in the Edit menu if you want to create another multicolumn list box object in the window. An error message is issued for the first illegal list box only. It is your responsibility to delete any extra multicolumn list box objects from the panel before you try to prepare it. Panels with multiple list box objects do not prepare. Generally, a multicolumn list box column is sized initially according to its length attribute or picture display, plus a preceding space to accommodate an attribute byte. Date and time fields for which no picture display has been specified are sized initially with lengths of 10 and 11, respectively, plus a preceding space to accommodate an attribute byte. The square brackets surrounding the column are included in the length specification. You can increase the width of a multicolumn list box object in the 3270 Window Painter only by adding columns or by increasing the width of columns in the multicolumn list box editor, as described in Using the MCLB Editor. 3270 Converse does not support horizontal scrolling, so it is important to be sure columns are wide enough to accommodate foreseeable input. That is especially the case when you copy from a workstation window a list box that uses small fonts to display input text. Note that a column made narrower than its length attribute or picture display is not be displayed correctly at runtime. You can resize a multicolumn list box vertically only in multiples of its row height, which cannot be changed. Only as many rows are allowed as there are occurrences specified for the view in the repository. Two rows are displayed by default. Any long screen literal you have assigned to a field in the repository is automatically displayed as the heading of the column with which it is linked; the heading is truncated if it is longer than the column is wide. You can change the heading as described in Using the MCLB Editor.

Static Text Object


Static text does not wrap to a new line in the 3270 Window Painter. You cannot resize a static text object with the mouse.

9-64

Window Painter

Using the Function Key Editor

Using 3270 Window Painter

Using the Function Key Editor


The 3270 Window Painter supports function key definition; this is one of the differences between 3270 Window Painter and workstation Window Painter. Assigned function key values are displayed at the bottom of the window in standard F<#>=<text> form. When the user presses a function key, its system identifier (HPSID) is passed to the conversing rule, in the same way as a push button in a workstation window. Use the Function Key Editor to assign significance to the function keys on a 3270 terminal for a particular 3270 window. Open the Function Key Editor by selecting Tools > Function Key.
Figure 9-45 Function key editor

The Function Key Editor window consists of these parts: The View group, which lets you view all the functions keys (All Keys) or only certain defined function keys (Defined Keys). The choice determine the scope of function keys appearing in the list box. A list box showing the function keys (depending on whether All Keys or Defined Keys is chosen) and their assignments. The Current Key group, which includes information about the currently selected key in the list of keys. This information includes the system identifier (HpsID), the text associated with that function key, whether it is visible, and whether the system should check the field as mandatory. The Set and Clear buttons allow you to change the system identifier and text for a function key. Once a key is selected in the list box, its system identifier and Text are entered in the appropriate fields. Remember that the system identifier is used by the rule that converses the window; therefore, it is probably a good idea to use a significant mnemonic for each system identifier.

AppBuilder 2.1.0 Development Tools Reference Guide

9-65

Using 3270 Window Painter

Using the Function Key Editor

Use Apply to save the key assignments; Cancel to close the Function Key Editor without saving changes; and OK to save the key assignments and exit the Function Key Editor.

9-66

Window Painter

CHAPTER

10

HTML GENERATION

AppBuilder 2.1.0 Development Tools Reference Guide

When Windows are created in the Construction Workbench (using the Window Painter), you can generate HTML forms from them and then customize or edit them using an HTML editor. HTML is generated only if you are preparing for thin client. Within AppBuilder, you can choose your favorite third-party HTML editor and edit the HTML interface for your application. This HTML editor, installed on your development workstation, can be used from AppBuilder to edit the windows HTML pages, cascading style sheet (CSS), and JavaScript elements. With AppBuilder, you can modify the window or the HTML directly. When the application is prepared, AppBuilder generates the HTML (if there is none yet generated) or uses the HTML you have created or modified. Topics related to the HTML generation include: Working with HTML Files Choosing the HTML Editor Generating and Viewing HTML from Window Modifying and Regenerating HTML Handling Changes to HTML Importing and Exporting HTML Deleting an HTML File Understanding Execution Support Using Additional HTML Resources

Working with HTML Files


In addition to using the Window Painter to develop the forms or graphical user interface (GUI), AppBuilder can work with an HTML editor (or standard text editor) to create an HTML interface. Both the Window Painter and the HTML editor (or viewer if you have chosen not to select an editor) open separate windows in the Construction Workbench and offer different tools in the Tools menu. From the Window Painter (or from the window object in the hierarchy), you can generate HTML for a window. AppBuilder generates the windows objects as HTML <FORM> elements. The attributes of the object (including font and position) are converted to a cascading style sheet (CSS). The formatting and validation rules are converted to JavaScript elements. Each time the system loads the HTML editor (that is, through the Edit, Regenerate or Update functions), the system opens an HTML View window within the Construction Workbench. The HTML View displays the HTML window as it appears in a browser. The system automatically updates the HTML View window each time you save the HTML file in the HTML editor.

AppBuilder 2.1.0 Development Tools Reference Guide

10-1

Working with HTML Files

The HTML menu, shown in Figure 10-1, is available from the Tools menu or by right-clicking on the window object in the hierarchy and selecting HTML. This example assumes that an HTML editor has been selected. Otherwise the Browse choice would appear in place of Edit.
Figure 10-1 HTML menus When HTML has been generated and HTML editor has been selected

When HTML has not yet been generated and HTML editor has been selected

See Using Additional HTML Resources on page 10-15 for information on using additional HTML presentation components. There are many ways to work with HTML generation from a window in AppBuilder. It depends on whether you use the results of HTML generation "as is" or provide your own design for already generated HTML. You do not have to keep the results of HTML generation in a repository. It is generated every time you need it: when you want to see it in the Construction Workbench or when you prepare a window. If you do not need the HTML version of the window to make changes in it, it is strongly recommended not to commit this HTML window to the repository. Alternatively, AppBuilder provides certain possibilities for you to work with the HTML window if you wish to store the HTML in the repository, but you have to understand how AppBuilder works with the HTML. 1. 2. 3. 4. First, you have to create the HTML page. You may make changes in the HTML window. You must commit the changes to the repository. You may extract your HTML window from the repository and make some changes to it. You must commit these changes to the repository again. The preparation tool in AppBuilder uses the HTML window that you put into the repository (if there is one) or creates a new one (if there is no HTML window kept in the repository). If you made some changes in the repository (as creating new objects on your AppBuilder window, or deleting them) and want to apply these changes to your HTML window, you may update the HTML (HTML > Update). This procedure synchronizes AppBuilder objects and corresponding HTML objects without changing their features (colors, font and so on). In certain cases it is possible that a new version of AppBuilder is not completely backward compatible with old ones. If so, we provide a special Upgrade procedure that has to be applied if you want to move your HTML window into the latest version of AppBuilder.

5.

When you prepare a window, it does not put the HTML in the repository. If you want to put the HTML in the repository, you must perform a commit.

10-2

HTML Generation

Choosing the HTML Editor

Choosing the HTML Editor


If you are editing the HTML, AppBuilder by default uses NotePad as the text editor. You can select another HTML editor; simply click Tools > Workbench Options > HTML Generation. Read more about the HTML Generation Tab in Chapter 3, Workbench Options. If you do not have an editor selected, the HTML menu shows the choice as Browse because you can only view the HTML that is generated not edit it. Without an HTML editor selected, you can only preview results of the HTML generation in the browser window. If you have an editor selected, then the menu shows the choice as Edit (see Figure 10-1). AppBuilder generates the objects of a window as HTML FORM elements. The attributes (including font and position) of an object are converted to cascading style sheets (CSS). The formatting and validation rules are converted to JavaScript elements. Each time the system loads the HTML editor (that is, through the Browse, Regenerate or Update functions), the system opens an HTML viewer within the Workbench. The HTML viewer displays the HTML window as it appears in a browser. The system automatically updates the HTML View window each time you save the HTML file in the HTML editor. If you perform a Rollback, the system rolls back (that is, reverts) all the changes made during the session. If the HTML editor is still open, the system displays a warning message and automatically closes the HTML View window. You must close the HTML editor.

Generating and Viewing HTML from Window


To create a new HTML page from an AppBuilder window: 1. 2. Use the Window Painter to create the window. Select Tools > HTML > Edit (if you have an editor selected) or Tools > HTML > Browse (if you do not have an editor selected) to convert the window to HTML. This command generates the new HTML code for the window and opens the editor or viewer with the HTML.
You can also right-click the window object in the project hierarchy and select HTML > Edit from the pop-up menu.

Tip

AppBuilder converts the window to HTML. The Analysis tab of the Output window indicates the status of the conversion. After converting the window, AppBuilder displays an HTML version of the window and the HTML code in the specified HTML editor (if you have the editor selected) or viewer (if not). You can use a third-party HTML editor to modify any of the generated contents (HTML, CSS, JavaScript, etc.) or add and delete the contents of the window apart from the Window Painter. After saving the HTML file from an external editor, you must perform a commit or rollback from the Construction Workbench to put the HTML in the repository: 1. 2. Save the HTML file and close the editor. In Construction Workbench, select Session > Commit to store both the GUI workstation panel and its corresponding HTML, CSS, and JavaScript elements in the repository.

AppBuilder 2.1.0 Development Tools Reference Guide

10-3

Generating and Viewing HTML from Window

Note

The HTML file(s) and window are independent objects. If you make changes to the window in the Window painter, the system does not automatically update the HTML window. See Modifying and Regenerating HTML on page 10-5 for information on maintaining both windows.

When HTML for a window has been committed to the repository, the icon in the hierarchy changes, as shown in Figure 10-2.
Figure 10-2 HTML indicator in window icon Notice the H inside the window icon. Generate HTML

There are several ways to create HTML window. Some of them are implicit, some are explicit, and you must understand what happens every time you deal with your HTML window. 1. 2. 3. 4. You may select Export to export your HTML window from the repository. If there is no HTML window at this point, one is generated. You may select Regenerate. In this case a new HTML file is generated even if you already had an HTML window for this AppBuilder window stored in the repository. You may select Edit. As in the first case, it shows you the HTML that is stored in the repository. If there is no HTML, one is generated. You may run preparation. If there is no HTML associated with your AppBuilder window, it is generated.

Notice, that creating an HTML window does not mean that you automatically store it in the repository. To do so, you have to commit your changes to the repository. Generating or preparing does not automatically store the HTML in the repository. Also, if you set your Workbench Options (in the HTML Editor tab) so that you do not have an HTML editor, AppBuilder does not provide a possibility to change the HTML window and to store it in the repository.

10-4

HTML Generation

Modifying and Regenerating HTML

Modifying and Regenerating HTML


This involves: Updating or Regenerating Seeing Results of Update or Regenerate Committing or Rolling Back the Changes

Updating or Regenerating
You can use a third-party HTML editor to modify any of the generated contents (HTML, CSS, JavaScript, etc.) or add and delete the contents of the window apart from the Window Painter. Because the Window Painter and HTML windows are independent files, changing one may cause the other to become out of sync. AppBuilder provides these functions to ensure that both versions of windows (Window Painter and HTML) are identical: Update Incorporates (in the existing HTML file) any additions or deletions of objects to the window made in Window Painter. Use this function to update the HTML version of the window without losing any custom HTML modifications made in an editor outside of AppBuilder. This merges the changes done in the Window Painter with the changes done to the HTML in an editor. Any modifications (for example, property changes) are ignored. Regenerate Creates a new HTML file based on the current window in Window Painter. This function completely overwrites the existing HTML file. For a full explanation of the procedure of updating the HTML, refer to Updating HTML Attributes. For information about any of the messages, refer to the Messages Reference Guide.

Seeing Results of Update or Regenerate


After using one of the HTML options, Update or Regenerate, the results are displayed in the Output window in the Analysis tab. For example, when the HTML is updated, the Analysis tab, as shown in Figure 10-3, lists the HTML attributes that are updated. For a regeneration, the Analysis tab simply shows a single statement that a regeneration was completed.
Figure 10-3 Results of HTML Update

An initially generated HTML file is relatively easy to update: you only have to regenerate it again. Whether there is a change in the generation model or not, it does not matter. A newly regenerated file is is acceptable. The temporary directory that AppBuilder uses for to place the generated HTML file can be modified. Refer to the HTML Editor Options in Chapter 10, HTML Generation.

AppBuilder 2.1.0 Development Tools Reference Guide

10-5

Updating HTML Attributes

Committing or Rolling Back the Changes


After using one of the HTML options, Update or Regenerate, AppBuilder loads the HTML viewer or editor to allow you to verify or further modify the HTML file. After saving the HTML file, use the Commit function to ensure that the Window Painter windows and HTML windows are identical. AppBuilder automatically updates the HTML View window to reflect the updated or regenerated HTML file. If you perform a Rollback, the system rolls back (that is, reverts) all the changes made during the session. If the HTML editor is still open, the system displays a warning message and automatically closes the HTML View window. You must close the HTML editor. Once you decide to change your HTML window and to keep your changes, then the process is a little more involved. You have to align the changes of the window in the repository with any changes in the HTML. To keep the copies aligned (or in sync), update your HTML window every time you need it (with the Update function). Also, in some cases you have to apply the upgrade procedure if you want to have a new version of generated HTML. Refer to Handling Changes to HTML.

Updating HTML Attributes


1. To update the HTML file, select the window object in the hierarchy and right-click and select HTML > Update or from the Window Painter of the Window to update, select Tools > HTML > Update. The Updating criteria dialog is displayed (empty) as shown in Figure 10-4.

10-6

HTML Generation

Updating HTML Attributes

Figure 10-4

Updating object attribute dialog (empty)

Choose the object types to update.

2.

Select the object types in the window whose attributes are to be updated in the HTML file. Choose either All Object Types, which selects all the object types in the window, or Selected Object Types, which lets you select a subset of the object types. The examples in Figure 10-5 and Figure 10-6 show the different methods of selecting object types. Refer to Table 10-1 for a list of the objects and attributes that can be updated. Notice that this is a subset of all the attributes of all the objects. Only these are supported for updating.

Table 10-1 Objects and attributes for HTML update Object Bitmap (Image) Check Box Combo Box Edit Field Group Box List Box MCLB (Spreadsheet or Table) Multiline Edit Field Push Button Radio Button Static Text Window Selectable Attributes Visibility, Link Visibility, Immediate-Return Visibility Visibility, Read-Only, Protected, Password, Format, Immediate-Return, Mandatory Visibility Visibility, SelectionType Visibility, SelectionType, DrawLines, AutoSelect Visibility, WordWrap, Editable Visibility, CheckMandatoryFields, IgnoreValidation, Link Visibility, Immediate-Return, Link Visibility Visibility, EnterKey

AppBuilder 2.1.0 Development Tools Reference Guide

10-7

Updating HTML Attributes

Note Note

The Visibility attribute can be selected for any of the selectable objects.

The Link attribute is only supported as selectable for some of the selectable objects that have the Link attribute. Bitmap, Push Button, and Radio Button are the only objects for which this is a selectable attribute. Updating All Object Types but only selected attributes

Figure 10-5

Notes

With All Types selected, the attributes for them appear in the list. Select the attributes to update and click the >> to move them to the Selected list. Click Update when done.

3.

If you want to select only certain object types, choose Selected Object Types and a list of check boxes appears that allows you select (or de-select) object types.
Updating Selected Object Types and only selected attributes

Figure 10-6

Choose the object types to update.

Select the attributes to update.

Click Update when done.

4.

After you have selected the object types, the attributes for those types appear in the left-hand list. Select the attributes that you would like updated by moving them from the Unselected Attributes list to the Selected Attributes list.

10-8

HTML Generation

Updating HTML Attributes

5.

When the selected list of attributes to update is complete, click Update. The HTML Editor and Web browser are launched with the results of the updated HTML file. Also, the Analysis tab in the Output window lists the results. Refer to Figure 10-3.

AppBuilder 2.1.0 Development Tools Reference Guide

10-9

Handling Changes to HTML

Handling Changes to HTML


It is possible to edit the HTML files outside of AppBuilder. Problems may arise if changes are made to the HTML file apart from the changes of the window in the Window Painter, if you want to retain these changes in one place. In order to solve the problem of updating the generated HTML with changes to the window in Window Painter, AppBuilder keeps a special comment section in the HTML file. This comment section contains information about the AppBuilder objects that are included in the most recent generation. For example, the comment section might look like this: <!-- HPS IDs FIELDSET#group_1:GROUPBOX FIELDSET#text_group_1:GROUPTEXT INPUT#check_1:CHECKBOX INPUT#text_check_1:CHECKTEXT TEXTAREA#mle_1:MULTILINEEDIT SELECT#combo_1:COMBOBOX IMG#bit_1:BITMAP INPUT#push_1:PUSHBUTTON SELECT#list_1:LISTBOX LABEL#static_1:STATICTEXT --> This section is placed as the first comment section in the FORM element. You must not change or move this comment section that contains specific repository information. Doing so would cause an error message to be displayed and the generation process to be stopped. As a last step of every generation, AppBuilder creates this section in the HTML file that contains information about AppBuilder objects.

Tip

If you do a backspace in some HTML editors, such as Microsoft FrontPage, you may accidentally delete the comment section that contains the system identifiers (IDs). Backspacing may delete an entire object. Special care should be taken when using such HTML editors, because if this comment section is deleted, you will be unable to update the HTML from the Construction Workbench.

Each time you do an update, AppBuilder parses this section to see what it should delete and create. First, it deletes the objects from the HTML that are not in the initial AppBuilder window anymore. Then, it creates the objects that are not in the original HTML but have been added to the window. For AppBuilder objects that already are included in the old HTML file, AppBuilder regenerates the necessary attributes, such as ID and Name. You should not change these; every updating process restores them from the repository. By performing an update, AppBuilder creates the HTML for all the objects that are in the window object in the repository and puts that HTML in the HTML file.

10-10

HTML Generation

Importing and Exporting HTML

Importing and Exporting HTML


AppBuilder also contains functions to import and export HTML windows. Export To export one or more Window Painter windows to a specified target directory. If you have not previously created an HTML window version of the Window Painter window, the system automatically generates the necessary HTML files. The name of the HTML file is identical the long name of the Window Painter window. Import To import one or more HTML windows into the repository. The name of the HTML file must match the long name of the Window Painter window. The directory that AppBuilder uses for exporting and importing can be modified. Refer to the HTML Editor Options. These functions assume that AppBuilder has a window in the repository from which it can do HTML generation and export. The exported HTML can be altered in a preferred HTML editor, and then re-imported, but we do not provide a mechanism for starting in HTML without a window in the hierarchy. The Import function is intended for importing previously exported HTML, which was generated from a window. If you try to import HTML without having an initial AppBuilder window with some contents, this does not work.

Deleting an HTML File


Another choice from the HTML menu is: Delete Deletes the current HTML file from the repository. A new HTML file can be generated by invoking HTML Edit. It is not saved in the repository until you commit the changes. It is only made available to be committed when it is first saved from the external editor. If there is no HTML file in the repository (corresponding to a window) during a prepare for thin-client windows, a new HTML file is generated from the current window panel for deployment.

Understanding Execution Support


This includes understanding: Execution Agreements Generated HTML for a Window Generated HTML for a Menu Menu Forms

Execution Agreements
AppBuilder generates HTML code that works with Java and JavaScript execution (run-time) support. There are some guidelines that are set between generation and execution. Disobeying these guidelines may cause problems at execution. You must understand the generated code and the agreements between generation and execution. Common guidelines include:

AppBuilder 2.1.0 Development Tools Reference Guide

10-11

Understanding Execution Support

1.

Elements have the style attribute position: absolute". AppBuilder uses this attribute to position the object on the page. Changing this attribute changes the positioning, so we recommend not changing this attribute. The other parts of the style attribute of an HTML element contains visual information (colors, borders, etc.) about the object. It is usually safe to change this information. The ID attribute is used for the update procedure (in HTML generation) and in the JavaScript execution for MCLBs. Changing it may interfere with the updating process and cause severe problems for MCLBs. The name attribute is used in Java execution for getting data after a form is submitted. Changing the name attribute makes an object invisible for execution. The class attribute contains common features like borders, colors, etc. Changing this attribute changes the object's appearance. The user should not change this attribute for Menu and MCLBs because JavaScript execution for these objects uses this attribute. Elements are generated inside the FORM element; there is only one in an HTML file. Moving the object outside the FORM tags makes it invisible for execution. The first comment section inside the FORM element (labeled HPS IDS) contains information about the AppBuilder objects that are generated. It is used for the update process. Changing this section may cause problems in update process.

2. 3.

4. 5.

6. 7.

Generated HTML for a Window


AppBuilder uses a special HTML template to generate an HTML file from a window. The name of this template may be set or changed in the HTML Editor tab of the Workbench Options. If no template name is set, then AppBuilder uses the default template. There is a default HTML template file that is installed with AppBuilder. The file and path that AppBuilder uses for the template can be modified. Refer to the HTML Editor Options. The HTML template is simply an ordinary HTML file. There is only one thing to remember about this template: the BODY element has to contain a DIV element with ID=LVEL_TODO. The content of this DIV element is ignored, so it is a good idea to keep it empty. It does not have to have a style attribute position: absolute, though it is really hard to imagine a reasonable layout without this attribute. Almost everything that AppBuilder writes goes into this DIV element. In addition, several SCRIPT elements and one LINK element (that includes several common files) is added to the HEAD of the HTML file. You do not need to include these elements because AppBuilder takes care of it.

10-12

HTML Generation

Understanding Execution Support

The system generates the following HTML for a window object in AppBuilder: <HTML> <HEAD> <LINK HREF="./includes/styles.css" type=text/css rel=stylesheet> <SCRIPT language=javascript src="./includes/support.js" type=text/ javascript></SCRIPT> <SCRIPT language=javascript src="./includes/menu.js" type=text/ javascript></SCRIPT> <SCRIPT language=javascript src="./includes/mclb.js" type=text/ javascript></SCRIPT> <SCRIPT language=javascript src="./includes/hpsformat.js" type=text/ javascript></SCRIPT> <SCRIPT language=javascript> document.LVEL_Version = ''; document.LVEL_Number = ; </SCRIPT> <TITLE> </TITLE> </HEAD> <BODY> <DIV ID=LVEL_TODO > <FORM id=mclb action=ABServlet method=post> <!-- HPS IDS HTML_Type#HPSID: HPS_Type --> </FORM> </DIV> </BODY> </HTML> Window HTML Details In the HEAD section there are several includes: styles.css that contains all styles defined for AppBuilder objects support.js, menu.js, mclb.js, hpsformat.js - for run-time support extension.js - for run-time support and user run-time support SCRIPT section that contains version information These includes, except the last one, should not be changed. The last file may contain some user changes. The SCRIPT section that contains version information should not be changed. It is used by the Upgrade procedure. You can change the TITLE section. The FORM element that is generated by HTML generator has to be the only one inside the DIV element with id=LVEL_TODO. Parameters of the FORM element should not be changed. There may be other FORM elements in this HTML file, but all of them outside of <DIV id=LVEL_TODO>.

AppBuilder 2.1.0 Development Tools Reference Guide

10-13

Understanding Execution Support

Inside the FORM element there is a comment section (the first element inside the form). This section contains information about AppBuilder objects for update procedure. You can not change it.

Generated HTML for a Menu


The system generates the following HTML for a menu object in AppBuilder: <DIV id=lvel_menubar_div style="border: none; width: 100%; position: absolute; top: 1px; height: 21px; z-index: 1001; background: transparent"> <SCRIPT language=javascript type=text/javascript> LVEL_MNUItem(0, 'LVEL_MenuBar', '', '') LVEL_MNUItem(1, 'hpsid1', 'item1', '0000') LVEL_MNUItem(2, 'hpsid2', 'item2', '0000') LVEL_MNUItem(1, 'hpsid3', item3', '0000') LVEL_MNUInitialize() </SCRIPT> </DIV> Menu HTML Details The DIV element above should not be changed. Menu generation and run-time support is a very complex process so a user should not interfere with it unless he wants to get some extra trouble. The SCRIPT element contains set of calls that describe Menu structure and a user may change it if he wants to change a menu structure. LVEL_MNUItem procedure: this procedure is called every time we need one more menu item. The first parameter indicates the level of the menu item (closed element above with the level equal current level minus one is an owner of the current element). The second parameter is the system identifier (HPS ID); the third one is the menu item text as it appears on the screen. The last parameter contains a scale of bits where each bit has its own meaning: 1. 2. 3. 4. checked menu item disabled menu item check mandatory fields when this item is pressed ignore validation when this item is pressed

Menu Forms
There are two types of menu that are supported by the HTML thin client. The first one is the standard pull-down menu, as close to the standard as it possible for HTML. The second one shows a menu at the left in a form of tree. The tree form is as close as possible to the standard. A user can open and close tree nodes without submitting the page to the server. The rest of the form goes into the special <DIV id=LVEL_Right> element. When the menu-tree gets too wide it moves this DIV to the right and when it shrinks it moves the DIV back.

10-14

HTML Generation

Using Additional HTML Resources

Using Additional HTML Resources


Your application may require additional resource files (such as multimedia files and graphics) as part of the HTML pages. These can be stored in a Component Folder object but must be put in a particular place in the object hierarchy. These additional resources might include: Global resource files common to many or all of the Web pages (such as a cascading style sheet, META tags, etc.). Store these files as part of a Component Folder defined as a child of the process object in the hierarchy. Web-page-specific resource files, unique to specific pages. Store these files as part of a Component Folder defined as a child of the window object in the hierarchy. The resource files should be defined with the Folder Type as HPS_WEB_RESOURCE. Component Folder entries with the given Folder Type are prepared with the partition or window object and are copied to the images subdirectory.

AppBuilder 2.1.0 Development Tools Reference Guide

10-15

Using Additional HTML Resources

10-16

HTML Generation

APPENDIX

ERD EXAMPLES

AppBuilder 2.1.0 Development Tools Reference Guide

This section demonstrates the use of forward engineering and trace analysis on logical models for an automobile rental agency. The first demonstration describes forward engineering an ERD and contains two parts: Building Attribute Hierarchies and Forward Engineering an ERD. The second demonstration, Doing Trace Analysis on an ERD shows a trace analysis report produced when you forward engineered the ERD to a DBD in the first demonstration. This assumes that you perform all of the steps in each walkthrough.

Building Attribute Hierarchies


1. Use the Entity Relationship Diagram to create the graphical representation as shown in Figure A-1. Refer to Creating or Opening an ERD in Chapter 7, Design Tools for more information about creating entity relationship diagrams.
Entity relationship diagram

Figure A-1

AppBuilder 2.1.0 Development Tools Reference Guide

A-1

Building Attribute Hierarchies

2. 3.

From the Construction Workbench menu, select Edit > Select all, then select Edit > Open as Hierarchy to open a scoped version of the entitys hierarchy. Create the attributes, identifiers, and data types for the AGENT entity as in Figure A-2.
AGENT entity hierarchy

Figure A-2

For each Data type, set the format and length properties, as in Figure A3 on page A-2.

4. 5.

Right-click each Data type and select Properties. The Data type Properties dialog appears, as in Figure A-3. Select the correct Data format and Data length on the General tab. For example, the data type entity named CHAR_15 should have a data format of character and a data length of 15, as shown in Figure A-3.
Data type properties dialog with General tab for the data type CHAR_15

Figure A-3

6. 7. 8.

Right-click the AGENT_ALTERNATE_ID identifier in the hierarchy and click Properties. The Identifier Properties dialog appears On the General tab, change the Type field to Alternate. Create the hierarchies shown in Figure A-4 for the CUSTOMER entity and its subtypes, CORPORATE and INDIVIDUAL.
The CORPORATE and INDIVIDUAL entities do not need identifiers they inherit from the CUSTOMER entity.

Note

A-2

ERD Examples

Building Attribute Hierarchies

Figure A-4

CUSTOMER, CORPORATE, and INDIVIDUAL hierarchies

9.

Create the hierarchy in Figure A-5 for the LOCATION entity.


LOCATION hierarchy

Figure A-5

10. Create the hierarchy in Figure A-6 for the RESERVATION entity.
Figure A-6 RESERVATION hierarchy

11. Create the hierarchy in Figure A-7 for the VEHICLE entity.
Figure A-7 VEHICLE hierarchy

12. Select File > Commit from the Construction Workbench menu. Name the entity relationship diagram RENTAL_ERD.

AppBuilder 2.1.0 Development Tools Reference Guide

A-3

Forward Engineering an ERD

Forward Engineering an ERD


This section assumes you have created the entity relationship diagram and attributes described in Building Attribute Hierarchies. 1. 2. 3. Make the Entity Relationship Diagram window active in the Construction Workbench by clicking on the window or selecting the window from the Construction Workbench Windows menu. Check each relationship in the diagram to ensure it has a cardinality symbol at each end. If any cardinality symbols are missing, place them as shown in Figure A-1. Select Edit > Show details to show the hierarchy for each entity in the diagram. Check each entity to ensure it has the minimum attribute structure required, as shown in Creating Attribute Hierarchies in an ERD on page 23.
The CORPORATE and INDIVIDUAL subtype entities do not need primary identifiers.

Note
4.

Select Analysis > Forward engineer. The system displays a message in the Analysis tab of the Output window showing the status of the process. If you encounter errors, repeat steps 15 of this walkthrough again. In the Database Diagram, you can display the tables and keys that forward engineering creates (see Figure A-8). For a details on the results of Forward Engineering, see Doing Trace Analysis on an ERD.
Tables and keys that forward engineering created

5.

Figure A-8

6.

Select File > Commit from the Construction Workbench menu. If you have displayed the columns and keys in the Database Diagram, name and save the diagram.

A-4

ERD Examples

Doing Trace Analysis on an ERD

Doing Trace Analysis on an ERD


This example assumes you have created the ERD and attributes described in Building Attribute Hierarchies, and that you forward engineered as described in Forward Engineering an ERD. 1. Bring the Entity Relationship Diagram window to the top of the Construction Workbench by clicking on the window or selecting the window from the Construction Workbench Windows menu. Select Analysis > Trace from the Construction Workbench menu. You can also perform a Trace Analysis on one or more specific entities by selecting Analysis > Trace selected. The system displays the status of the process in the Analysis tab of the Output window, as shown in Figure A-9. Select File > Print from the Construction Workbench to print the report to a printer or file. If the process concludes with errors, make sure you downloaded the diagram correctly. If necessary, delete the columns the previous forward engineering process created, forward engineer the ERD again, and then do another trace analysis.
Figure A-9 Trace Analysis report

2. 3.

The remaining sections illustrate the entities implemented in the relational model.

Agent
The system generates the following report when you perform a Trace Analysis for the AGENT subentity. Figure A-10 illustrations the information in the report. Identifier AGENT_ID creates key AGENT_AGENT_ID_PK. Identifier AGENT_ALTERNATE_ID creates key AGENT_AGENT_ALTERNATE_ID_IK. Identifier AGENT_ID is inherited through relationship HANDLE as the foreign key HANDLES_AGENT_ID_FK. Identifier AGENT_ID is inherited through relationship CREATES as the foreign key CREATES. Attribute AGENT_NUMBER creates column AGENT_NUMBER. Attribute AGENT_LAST_NAME creates column AGENT_LAST_NAME. Attribute AGENT_FIRST_NAME creates column AGENT_FIRST_NAME. Attribute AGENT_NUMBER is inherited through relationship HANDLES as the column AGENT_NUMBER. Attribute AGENT_NUMBER is inherited through relationship CREATES as the column AGENT_NUMBER.

AppBuilder 2.1.0 Development Tools Reference Guide

A-5

Doing Trace Analysis on an ERD

Figure A-10

Tables, columns, and keys for the AGENT entity

Corporate Entity
The system generates the following report when you perform a Trace Analysis for the CORPORATE subentity. Figure A-11 illustrations the information in the report. Implementation Details for Entity CORPORATE --------------------------------------------------------------This object creates table CORPORATE. This object creates primary key CORPORATE_PK. Attribute BRANCH_LOCATION_ADDRESS creates column BRANCH_LOCATION_ADDRESS. Attribute CLIENT_CONTRACT creates column CLIENT_CONTACT.
Figure A-11 Tables, columns, and keys for the CORPORATE subtype entity

A-6

ERD Examples

Doing Trace Analysis on an ERD

Customer Entity
The system generates the following report when you perform a Trace Analysis for the CUSTOMER entity. Figure A-12 illustrations the information in the report. Implementation Details for Entity CUSTOMER --------------------------------------------------------------This object creates table CUSTOMER. Identifier CUSTOMER_ID creates key CUSTOMER_CUSTOMER_ID_PK. Identifier CUSTOMER_ID is inherited through relationship CAN_BE as the foreign key CORPORATCSTMR_CUSTOMER_ID_FK. Identifier CUSTOMER_ID is inherited through relationship MAKES as the foreign key MAKES_CUSTOMER_ID_FK. Identifier CUSTOMER_ID is inherited through relationship IS as the foreign key INDIVIDLCSTMR_CUSTOMER_ID_FK. Attribute CUSTOMER_NUMBER creates column CUSTOMER_NUMBER of table CUSTOMER. Attribute CUSTOMER_LAST_NAME creates column CUSTOMER_LAST_NAME of table CUSTOMER. Attribute CUSTOMER_BILLING_ADDRESS creates column CUSTOMER_BILLING_ADDRESS of table CUSTOMER. Attribute CUSTOMER_PHONE_V1 creates column CUSTOMER_PHONE of table CUSTOMER. Attribute CUSTOMER_NUMBER is inherited through relationship CAN_BE creates column ZAADKBN_CUSTOMR_CUSTOMER_NUMBR of table CORPORATE. Attribute CUSTOMER_NUMBER is inherited through relationship MAKES creates column CUSTOMER_NUMBR of table RESERVATION. Attribute CUSTOMER_NUMBER is inherited through relationship IS creates column CUSTOMER_NUMBR of table INDIVIDUAL.
Figure A-12 Table, keys, and columns for the CUSTOMER entity

AppBuilder 2.1.0 Development Tools Reference Guide

A-7

Doing Trace Analysis on an ERD

Individual Subtype Entity


The system generates the following report when you perform a Trace Analysis for the INDIVIDUAL subentity. Figure A-13 illustrations the information in the report. Implementation Details for Entity INDIVIDUAL --------------------------------------------------------This object creates table INDIVIDUAL. This object creates primary key INDIVIDUAL_PK. Attribute CREDIT_CARD_NUMBER creates column CREDIT_CARD_NUMBER.
Figure A-13 Table, columns, and keys for the INDIVIDUAL entity

Location Entity
The system generates the following report when you perform a Trace Analysis for the LOCATION entity. Figure A-14 illustrations the information in the report. Implementation Details for Entity LOCATION --------------------------------------------------------This object creates table LOCATION. Identifier LOCATION_ID creates key LOCATION_LOCATION_ID_PK. Identifier LOCATION_ID is inherited through relationship OCCUPIES as the foreign key OCCUPIES_LOCATION_ID_FK. Attribute LOCATION_NUMBER creates column LOCATION_NUMBER. Attribute LOCATION_CITY creates column LOCATION_CITY. Attribute LOCATION_NUMBER is inherited through relationship OCCUPIES as the column LOCATION_NUMBER.
Figure A-14 Table, columns, and keys for the LOCATION entity

A-8

ERD Examples

Doing Trace Analysis on an ERD

Reservation Entity
The system generates the following report when you perform a Trace Analysis for the RESERVATION entity. Figure A-15 illustrations the information in the report. Implementation Details for Entity RESERVATION --------------------------------------------------------This object creates table RESERVATION. Identifier RESERVATION_ID creates key RESERVATION_RESERVATION_ID_PK. Identifier RESERVATION_ID is inherited through relationship RESERVES as the foreign key RESERVES_RESERVATION_ID_FK. Identifier RESERVATION_ID is inherited through relationship UPDATES as the foreign key UPDATES_RESERVATION_ID_FK. Attribute RESERVATION_NUMBER creates column RESERVATION_NUMBER. Attribute TIME_CREATED creates column TIME_CREATED. Attribute RESERVATION_NUMBER is inherited through relationship RESERVES as the column RESERVATION_NUMBER. Attribute RESERVATION_NUMBER is inherited through relationship UPDATES as the column RESERVATION_NUMBER.
Figure A-15 Table, columns, and keys for the RESERVATION entity

AppBuilder 2.1.0 Development Tools Reference Guide

A-9

Doing Trace Analysis on an ERD

Reserves Table
The system generates the following report when you perform a Trace Analysis for the RESERVES entity (created to resolve the many-to-many relationship between the RESERVATION and VEHICLE entities. Figure A-16 illustrations the information in the report. Implementation Details for Relationship RESERVES --------------------------------------------------------This object creates table RESERVES. This object creates primary key RESERVES_PK. Identifier RESERVATION_ID from entity RESERVATION is inherited through this relationship as the foreign key RESERVES_RESERVATION_ID_FK. Identifier VEHICLE_ID from entity VEHICLE is inherited through this relationship as the foreign key RESERVES_VEHICLE_ID_FK. Attribute RESERVATION_NUMBER from entity RESERVATION is inherited through this relationship as the column RESERVATION_NUMBER. Attribute VEHICLE_NUMBER from entity VEHICLE is inherited through this relationship as the column VEHICLE_NUMBER.
Figure A-16 Table, columns, and keys to resolve the many-to-many relationship between RESERVATION and VEHICLE

A-10

ERD Examples

Doing Trace Analysis on an ERD

Vehicle Entity
The system generates the following report when you perform a Trace Analysis for the VEHICLE entity. Figure A-17 illustrations the information in the report. Implementation Details for Entity VEHICLE --------------------------------------------------------This object creates table VEHICLE. Identifier VEHICLE_ID creates key VEHICLE_VEHICLE_ID_PK. Identifier VEHICLE_ID is inherited through relationship RESERVES as the foreign key RESERVES_VEHICLE_ID_FK. Attribute VEHICLE_NUMBER creates column VEHICLE_NUMBER. Attribute VEHICLE_NUMBER is inherited through relationship RESERVES as the column VEHICLE_NUMBER.
Figure A-17 Tables, columns, and keys for the VEHICLE entity

AppBuilder 2.1.0 Development Tools Reference Guide

A-11

Doing Trace Analysis on an ERD

A-12

ERD Examples

APPENDIX

EDIT AND DISPLAY MASKS

AppBuilder 2.1.0 Development Tools Reference Guide

AppBuilder supports the use of edit (or input) masks, for Java clients, and display masks (or display pictures) supported on Java and C . Use edit masks to format the data in a field when the field does have focus or to restrict the input to certain characters in certain positions. Use the display masks to format the data in a field when the field does not have focus. The supported edit and display masks are listed and explained in this topic. These masks are based on the characters used in Microsoft VisualBasic. The edit masks include: Alphanumeric Edit Masks Date and Time Edit Masks The display masks include: Numeric Display Masks

Edit Masks
The edit masks, for Java only, include: Alphanumeric Edit Masks Date and Time Edit Masks

Alphanumeric Edit Masks


Here are the descriptions of the alphanumeric mask characters.
Table B-1 Mask character Alphanumeric mask characters Input mask? Y Y

Description Digit placeholder. Decimal placeholder. The specified character is used as the decimal placeholder in the international settings. This character is treated as a literal.

Display mask?

# .

AppBuilder 2.1.0 Development Tools Reference Guide

B-1

Edit Masks

Table B-1 Mask character -

Alphanumeric mask characters (Continued) Input mask? Y

Description Sign placeholder. The specified character is used as the sign placeholder. This character is treated as a literal. Thousands separator. The specified character is used as the thousands separator in the international settings. This character is treated as a literal. Time separator. The specified character is used as the time separator in the international settings. This character is treated as a literal. Date separator. The specified character is used as the date separator in the international settings. This character is treated as a literal. Treat the next character in the mask string as a literal. Use this character to include #, &, A, and ? characters in the mask. Single quotes hold a group of literals. For example, the mask Today is

Display mask? Y

/ \\

'.......'

EEEE the

appears as Today is Monday the 13th. This character is treated as a literal. Character placeholder. Valid values are ANSI characters 32 126 and 128 255. Convert all the characters that follow to UPPERCASE. Convert all the characters that follow to lowercase. Alphanumeric character placeholder (entry required). For example: a z, A Z, or 0 9. Alphanumeric character placeholder (entry optional). Digit placeholder (entry optional). For example: 0 9. Character or space placeholder (entry optional). This operates exactly like the & placeholder and ensures compatibility with Microsoft Access. Letter placeholder. For example: a z or A Z. All other symbols are displayed as literals; that is, as themselves.

ddth

& > < A a 9 C ?


Literal

Y Y Y Y Y Y Y Y Y

Examples Here are some examples of alphanumeric display masks.


Table B-2 Alphanumeric display masks

###\\-##\\-#### 9,999.99 [2-5]9 [A-F]AAA

String character mask for SSN input digits only (since hyphen is a valid mask character we need to escape it with the double back slashes, \\-). Number mask First digit takes a range of digits from 2 5 (inclusive) and second digit takes any digit. First character takes a range of letters from A F (inclusive) and subsequent characters take any alphanumeric character.

B-2

Edit and Display Masks

Date and Time Edit Masks

Date and Time Edit Masks


Here are the descriptions of the date and time mask characters.

Mask Character Descriptions


Table B-3 Mask character Character descriptions for date and time masks

Description For month digit replacement. (for example, MM /dd/yy for month in a date format) Day digit replacement (for example, dd/MM/yy for day of the month in a date format) Year digit replacement (for example, dd/MM/yy for 2 digit year and dd/MM/yyyy for 4 digit year) Week day placeholder For 24 hour time hour replacement (for example, HH:mm:ss) For 12 hour time hour replacement (for example, hh:mm:ss) For minute replacement digit (for example, hh:mm:ss) For seconds replacement digit (for example, hh:mm:ss) For AM/PM placeholder

M d y E H h m s T

Date and Time Masks


Table B-4 Date and time masks Input mask? Y Y Y Y Y Y Y Y Y Y Y Display mask? Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
B-3

Mask

Example 7 07 Mar March 7 07 Wed Wednesday 99 1999 22 02 1 01 1 01 1 01 A/P AM/PM

M MM MMM MMMM d dd EEE EEEE yy yyyy H HH h hh m mm s ss t tt

AppBuilder 2.1.0 Development Tools Reference Guide

Display Masks

Examples Here are some examples of date masks.


Table B-5 Example Date Masks

MM/dd/yy MM/dd/yyyy MMM/dd/yy MMMM dd yy dd/MM/yy EEE dd/MM/yy EEEE dd/mm/yy

Month, day, and year (2 digit year) Month, day, and year (4 digit year) Short month name (Jan, Feb, Mar, etc.), day, and year Long month name (January, February, etc.) day, and year Day, month and year Short day name (Sun, Mon, etc.) day, month, year Long day name (Sunday, Monday, etc.) day, month, year

Here are some examples of time masks.


Table B-6 Example Time Masks

HH:mm:ss tt hh:mm tt hh:mm

Hours (0-23), minutes, seconds and AM/PM Hours (0-11), minutes and AM/PM Hours and minutes only

Display Masks
Display masks include: Numeric Display Masks

Numeric Display Masks


Table B-7 Character 9 . , $ Z * S + cr db Numeric display picture characters Description Specifies a numeric character. Specifies the decimal separator. Governed by the country setting of the field. Specifies the thousands separator. Governed by the country setting of the field. Specifies the currency symbol. Governed by the country setting of the field. Suppresses leading zeroes. Suppresses leading zeroes and replaces them with asterisks. Specifies sign. Governed by the country setting of the field. Specifies sign. Displayed as a blank character if the fields value is zero or negative. Not governed by the fields country setting. Specifies sign. Displayed as a blank character if the fields value is zero or positive. Not governed by the fields country setting. Specifies credit. Displayed as blank characters if the fields value is zero or positive. Not governed by the fields country setting. Specifies debit. Displayed as blank characters if the fields value is zero or positive. Not governed by the fields country setting.

B-4

Edit and Display Masks

APPENDIX

FONT MAPPING AT EXECUTION TIME

AppBuilder 2.1.0 Development Tools Reference Guide

There is one cross-platform table of font definitions used by various AppBuilder tools including Window Painter, Report Writer, C runtime, and Java runtime. A configuration file named font.ini is in the AppBuilder client runtime. This file externalizes the font mappings used by the client runtime. The client runtime references the font.ini to retrieve the mapping for any logical font names specified in panel files. The mappings in the font.ini match those previously defined internally to the product. The font.ini file is located in the same directory as the system configuration file (hps.ini). Refer to Font Mappings for more details on how AppBuilder refers to the logical font and to which execution time font this corresponds. Refer to Font Definition Syntax to understand how to edit the font.ini file.
Caution
Changes to the font mappings in the font definition file (font.ini) may affect the appearance of the font on windows in the execution environment. Be careful in making any changes to the font.ini file. When you do make changes, you must follow the Font Definition Syntax rules.

The following should be noted if the font.ini is changed: If you make a syntax mistake with the font mapping (for example, no valid point size specified or a misplaced comma), AppBuilder defaults to not specifying a font for any objects using that logical name and this results in the system font being used. No warning is given about the substitution of fonts. If the syntax is correct, but no such font exists for the font mapping specified, AppBuilder attempts to use the font as specified and it is left to the operating system to provide any substitution. No warning is given about the substitution of fonts. Any unknown or unsupported styles are ignored, without any warning. Sizes of window controls are not determined by these font definitions, so it is your responsibility to make sure that the chosen font size fits the controls. The existing font mapping that is specified in the wp.ini or in Window Painter are not affected by this. This font mapping applies only to AppBuilder-defined standard fonts.

AppBuilder 2.1.0 Development Tools Reference Guide

C-1

Font Mappings Table 1 shows how AppBuilder maps the logical font names shown in the workstation tool (such as Window Painter) to the actual fonts used at execution time. Previously, this table was statically defined internal to the runtime. Now, you can edit the values in font.ini to change the mappings. If you change font.ini, the mappings in this table are only of value for historical purposes.
Table 1 Font mappings for runtimes Window Painter Logical Font MODERN0 MODERN10 MODERN12 ROMAN8 ROMAN10 ROMAN12 ROMAN14 ROMAN18 ROMAN24 SWISS8 SWISS10 SWISS12 SWISS14 SWISS18 SWISS24 SYSTEMFONT Face Name Courier Courier Courier Tms Rmn Tms Rmn Tms Rmn Tms Rmn Tms Rmn Tms Rmn Helv Helv Helv Helv Helv Helv System Size 10 12 15 8 10 12 14 18 24 8 10 12 14 18 24 10 Windows C Runtime Face Namea, b Courier Courier Courier Tms Rmn Tms Rmn Tms Rmn Tms Rmn Tms Rmn Tms Rmn Helv Helv Helv Helv Helv Helv System Size 10 12 15 8 10 12 14 18 24 8 10 12 14 18 24 10

a. The Tms Rmn font maps to MS Serif font in the Windows operating system. b. The Courier font maps to MS Sans Serif font in the Windows operating system.

C-2

Font Mapping at Execution Time

Font Definition Syntax [<LOGICAL NAME>] <platform>=<face name>,<point size>,<style1>, ..., <stylen> <platform>=<face name>,<point size>,<style1>, ..., <stylen> GUI_SIZE= height, width PRINT_POINT_SIZE= height, width USAGE= <usage>, <usage> where:
Table C-2 Variable <LOGICAL NAME> Font Definition Syntax Description of value Used as the panel file symbol, all uppercase, no punctuation or spaces. This logical name should not be all numeric except for Report Fonts. Can be any of these: HTML Java Win32 Name of the face sent to the underlying operating system. If you are executing your application in the Windows environment, this is the name of the actual font as defined in the Fonts settings for the machine. In other words, Arial is not the same as Arial Bold, which is not the same as Arial Bold Italic. Positive integer size sent to the operating system Can be any of these: BOLD ITALIC UNDERSCORE (not supported for Java) STRIKEOUT (not supported for Java) Multiple, comma-separated styles may be specified. Not all styles may be supported by all platforms Allows you to override the font size reported by the operating system. Width and height are positive integer numbers. Empty by default. This does not include edit field borders Point size for Report Painter Width and height are positive integer numbers. Specify which tool uses this font (to prevent Window Painter from displaying mainframe Report Writer fonts). These include: Window (as in Window Painter) Report (as in Report Painter and Report Writer) Multiple, comma-separated values may be specified.

<platform>

<face name>

<point size>

<style1>,... <stylen>

GUI_SIZE= width, height

PRINT_POINT_SIZE= width, height

<usage>

To add a new entry, simply create a unique logical name and add the platform and usage lines (and any other needed lines). The PRINT_POINT_SIZE is specified in width, height format. These values specify width and height of a character of this font in points (or pixels) for resolution of 240 DPI (dots per inch, which means one point = 1/240 of an inch). If PRINT_POINT_SIZE is not specified for a particular font, the system font

AppBuilder 2.1.0 Development Tools Reference Guide

C-3

metrics are used. Use this setting to control printing of the report or diagram if the default font metrics are not appropriate in your case. PRINT_POINT_SIZE affects report printing in the following sense: Width of font is used to calculate horizontal offset when printing a section horizontally (if the horizontal section direction has been specified along with a non-zero number of appearances in a row at design time). If sections that are printed horizontally overlap, specify a greater value for the font width. Height of font is used to calculate the vertical offset when printing next to the section line. If section lines overlap each other, specify a greater value for the font height.

This is the font used to create font metrics for CharCoordinateSystem. [CCS_FONT] Java=sansserif,12,BOLD Win32=System,10 OS2=System,10 HTML=System,10 Usage=Window

This is an example of how to set up Arial Bold Italic 14: [ArialBoldItalic14] Windows=Arial Bold Italic,16,BOLD,ITALIC Java=Arial Bold Italic,16,BOLD,ITALIC HTML=Arial Bold Italic,16,BOLD,ITALIC Usage= Window

C-4

Font Mapping at Execution Time

Index

INDEX
AppBuilder 2.1.0 Development Tools Reference Guide

Symbols
* (indication in Window Painter) 9-3 ..., denoting collapsed object in diagram 7-10

Numerics
3270 color, font support 9-59 3270 Converse caption bar support 9-59 color support 9-59 Combo Box object 9-62 Edit Field object 9-62 font support 9-59 Function-key object 9-63 MCLB 9-64 Menu Bar object 9-63 Static Text object 9-64 Table 9-64 Window Painter 9-59 3270 panel 9-59 3270 Window Painter 9-58 controls 9-60 number of entities limit 9-58 opening window 9-58

A
abandon changes 1-14 accelerator push button 9-53 accelerator keys menus 9-45 system defined 9-30 Accelerator window 9-54 adding accelerator (shortcut) 9-53 application configurations 5-2 bitmap 5-16 Bitmap object 9-32 breakpoint 3-6 Chart 9-33 Check Box 9-36 child object 8-6

columns to MCLB 9-49 Combo Box 9-37 components 5-17 Edit Field 9-38 Ellipse 9-40 fields 5-11 File Editor object 9-52 files 5-19 functions 5-5 Group Box 9-41 Hot Spot 9-42 List Box 9-43 matrix row or column 8-26 Menu 9-44 Multicolumn List Boxes 9-47 Multiline Edit Field 9-51 name of remote machine 3-10 new variables for compile 3-9 note to diagram 7-13 object to diagram 7-12 objects to hierarchy 4-3 partition 5-3 process 5-6, 5-7 reserved word to Rules source code 8-9 reserved words to rules 8-9 rules 5-8 sets 5-14 Static Text 9-57 values 5-15 views 5-10 windows 5-9 adjusting column width in MCLB 9-50 Align buttons 9-26, 9-28 aligning objects in diagram 7-15 window objects 9-26, 9-28 All Object Types (for HTML update) 10-7 alphanumeric keys 9-53 Alt+arrow keys 4-6 Alt+Enter, display job details in Prep Status tab 6-3 Alt+Enter, view properties 4-15 Alt+F4, close in Window Painter 9-30 Alt+n, to expand hierarchy n levels 4-6

AppBuilder 2.1.0 Development Tools Reference Guide

analysis check for duplicates 7-22 check for unnamed 7-22 denormalize a database 7-34 forward engineering 7-23 menu 7-22 tab 7-23 Analysis tab 6-7 appearance of diagram 7-9 Append functions on menu (option) 3-8 appending functions 3-8 application attribute 4-10 component 4-10 data type 4-10 entity 4-10 event 4-11 function 4-7 process 4-8 set 4-9 value 4-10 application configuration adding 5-2 defined 5-2 object 4-8 Application Configuration button 5-2 application server option 3-7 application type (option) 3-7, 3-8 application type function 3-8 associated file 1-14 associating objects (in matrix) 8-25 associative (entity type) 7-18 asterisk in Window Painter title bar 9-3 attribute hierarchies building A-1 forward engineering 7-23 attributes 4-10 Audit tab 4-17 auto formatting option in drawing tools 3-17 auto indent, option in Text Editor 3-16 auto size option in drawing tools 3-17 automate section repetition Report Painter tab 3-12 automate section width Report Painter tab 3-12

adding 5-16 BitMap Viewer 8-20 create 8-20 defined 5-16 export 8-21 image types 8-22 import 8-20, 8-21 stretch to fit button 9-20 view 8-20 Bitmap button 5-16, 9-32 Bitmap object 9-32 adding 9-32 in hierarchy 4-10 Bitmap Viewer 8-20 export image 8-21 import image 8-21 valid image types 8-22 Bitmap window 8-22 blank user ID 3-10 BMP (.bmp) file type 8-22 bookmarks 2-7 border color not in Java MCLB 9-42, 9-46 bottom, left coordinates of window 9-3 breakpoint, adding 3-6 bring window to front 1-4 browse HTML 3-21, 10-3 Build Verify (window) 9-11 building sets 8-24 business function object 5-5 business object type referential 7-20 transactional 7-20 button Edit Field 9-38 Hot Spot 9-42 push button 9-52 stretch bitmap to fit 9-20

C
c_component_skeleton 8-17 call editor option in HTML generation tools 3-21 caption bar support in 3270 Converse 9-59 cascade windows 1-4 cascading style sheets updating 10-5 see also HTML cascading style sheets (CSS) 10-3 cell functions 8-27 Center Screen 9-11 centering the screen (in panel layout) 9-12

B
background panel in 3270 9-59 basic rule, creating 8-4 bind files 3-7 using existing 3-5 bitmap

ii

AppBuilder 2.1.0 Development Tools Reference Guide

change indication (Window Painter) 9-3 changing height of edit field 9-39 changing size of object in diagram 7-13 Character format 9-21 characteristic (entity type) 7-18 characters, numerical display picture B-4 Chart button 9-33 Chart Editor 9-33, 9-34 Chart object 9-33 adding 9-33 using Chart Editor 9-33, 9-34 Check Box button 9-36 Check Box object 9-35 adding 9-36 child object inserting 8-6 circle 9-40 Clear button 9-65 clear command 9-29 Clear Object button 4-4 clearing matrix row or column 8-27 objects from window 9-29 close workbench confirm option 3-3 COBOL zones option in Text Editor 3-16 collapsing hierarchy 4-5 color configurations Report Painter options 3-12 color support in 3270 Converse 9-59 colors window painter options 3-14 colors, option in Text Editor 3-16 column option in engineering tools 3-19 column justification 9-50 column number in status bar 8-2 column width adjusting 9-50 columns, of matrix 8-25 combo box button in Window Painter 9-37 Combo Box object 9-37 3270 Converse support 9-62 adding 9-37 commit confirm option 3-3 indication (in Window Painter) 9-3 commit to repository hierarchy 1-14, 4-4, 4-5 common object properties 9-19 compile conditionals 3-9 compile options 3-9 Complex 7-32 component component folder 8-19

Component button 5-17, 5-18 Component Folder 8-19 HTML objects 10-15 Component Painter 8-14 macro 8-15 components creating 5-17 defined 4-10, 5-17 Conditional Compilation dialog 3-9 conditionals for compile 3-9 configuration diagram 4-12 partitions 5-3 tab 4-12 see also application configuration Configuration, in Prep status tab 6-2 Confirm 3-4, 3-13 confirm (option) 3-4 confirm close workbench option 3-3 confirm commit workbench option 3-3 confirm dialog 7-8 confirm on option in drawing tools 3-18 confirm rollback workbench option 3-3 confirmations delete objects 3-4 delete set symbols 3-13 delete sets 3-13 confirming deleting objects 3-4 construction tools defined 1-1, 2-1 Construction Workbench customizing 3-1 menu bar 1-2 options 3-1 session properties 1-12 Standard toolbar 1-7, 2-6 toolbars 2-1, 9-4 Copy command 9-29 copying object from diagram 7-14 objects in hierarchy 4-6 window objects 9-29 country code dependent units 7-5 Country property 9-23, 9-24 create desktop (option) 3-8 create desktop objects function 3-8 create menu (option) 3-8 create menu function 3-8 create new object option in Matrix Builder tab 3-23 Create New Project window 1-8 creating application configurations 5-2 basic rule 8-4
Index iii

bitmap 8-20 components 5-17 display rule 8-4 functions 5-5 keywords 4-20 macro 8-16 matrix 8-25 matrix cell function 8-27 matrix template 8-26 menu (for function) 3-5 partition 5-3 projects 1-7 push buttons 9-53 quick macro 8-16 radio buttons 9-55 rectangles 9-56 shortcut (for function) 3-5 SQL rule 8-4 values 5-15 window templates 9-8 windows 9-8 windows from template 9-9 creating a rule 8-3 CRUD (create, update, delete, read) functions in matrix cell 8-27 Ctrl + A, select all 9-26 Ctrl+Alt+M, submit jobs to prepare 6-6 Ctrl+D, Tab Order in Window Painter 9-15 Ctrl+Enter, view relationship properties 4-21 Ctrl+F, find object in diagram 7-14 Ctrl+F, find text 6-4 Ctrl+G, set Guide Settings in Window Painter 9-5 Ctrl+K, lock object in Window Painter 9-26 Ctrl+R, restart preparation 6-4 Ctrl+S, save prepare jobs 6-6 Ctrl+Shift+C, insert component in Rule Painter 8-6 Ctrl+Shift+F, insert file in Rule Painter 8-6 Ctrl+Shift+H, insert system identifier (HPSID) in Rule Painter 8-6 Ctrl+Shift+R, insert rule in Rule Painter 8-6 Ctrl+Shift+S, insert set in Rule Painter 8-6 Ctrl+Shift+V, insert view or field in Rule Painter 8-6 Ctrl+Shift+V, insert view or field in Rule painter 8-7 Ctrl+Shift+W, insert window in Rule Painter 8-6 Ctrl+Shift+Y, insert symbol in Rule Painter 8-6 Ctrl+T, Tabbing Editor 9-13 Ctrl+U for Menu Editor 9-44 Ctrl+U, Menu Editor 9-44 Ctrl, copy (drag and drop) 1-5 Ctrl, selecting multiple jobs for preparation 6-4, 6-6 Currency property 9-24 Current Key group 9-65 customizing Construction Workbench 3-1 HTML Editor 3-20

Matrix Builder 3-23 Report Painter 3-11 Set Builder 3-12 Text Editor 3-15 TurboCycler 3-13 Window Painter 3-14 cutting object from diagram 7-14

D
data types 4-10 database model 7-22 database access 8-12 Database Diagram defined 7-33 toolbar 2-3 database diagram denormalize 7-34 database information (option) 3-7 database option 3-7 database type, specifying 1-8 Date format 9-22 DBD 7-34 DBMS Usage property 8-12 debug directory 3-6 debugging 3-6 debugging rule 3-5 Decimal format 9-24 default display options 4-2 default entity type 7-18, 7-20 default font option in Matrix Builder tab 3-24 default insert objects as (option) 3-4 default settings (for preparing standalone application) 3-5 Define field 8-23 define keywords 4-20 defining a set 8-25 delete (matrix cell function) 8-27 Delete successful jobs 3-7 deleting HTML file 10-11 job from Prep Status 3-7 matrix column or row 8-27 name from list of remote machines 3-10 object from diagram 7-14 objects from window 9-29 objects, confirming 3-4 relationships 4-5 variable for compile 3-9 See also removing. denormalization 7-34 design tools 3-17, 7-1 details (of preparation) 6-3

iv

AppBuilder 2.1.0 Development Tools Reference Guide

Details window 6-3 details, preparation 6-3 development macro 8-15 Diagnostics tab 6-7 diagram adding note 7-13 adding object 7-12 align objects 7-15 appearance 7-9 changing owner 7-10 changing project 7-10 check for duplicates 7-22 check for unnamed objects 7-22 common tasks 7-7 common tasks with objects 7-12 copy object 7-14 cut object 7-14 delete object 7-14 display options 7-4 find object 7-14 font 7-8 header 7-6 header and footer 7-6 hide details 7-10 hiding grid 7-4 move object 7-13 navigating to another 7-7 page bounds 7-5 paste object 7-14 properties 7-7 reformat objects 7-15 rulers 7-5 saved as instances of diagram type 7-2, 7-3 selecting font 3-18 selecting font (in header/footer) 7-7 settings 7-7 show details 7-10 showing grid 7-4 title 7-6 verify 7-22 zooming 7-6 diagram tools new drawing 7-2 opening an existing drawing 7-3 display options 4-2 options (diagrams) 7-4 picture characters B-4 properties 4-25 Display field 8-23 display options (option) 3-4 Display Pic property 9-23, 9-24 Display property 9-22 display rule, creating 8-4 display zoom 2-5, 7-4, 7-6 displaying

field 8-23 hierarchy 4-2 objects parents 4-14, 4-15 preparation details 6-3 toolbars 2-1, 9-4 verification errors 6-9 displaying diagnostics messages 6-7 displaying results of engineering tool 6-7 displaying verification results 6-9 Distribute buttons 9-28 distributed application configuration, in Prep Status tab 6-2 partition, in Prep Status tab 6-2 distributing window objects 9-28 DIV element for generated HTML 10-14 docking window 1-4 domained sets MCLB columns 9-47 domained values edit field 9-38 dot notation effect of setting 8-8 dot notation, option in Text Editor 3-16 double-click action (option) 3-5 double-click action, default 3-5 drag and drop Bitmap Viewer 8-22 BMP, JPEG, or ICO file 8-22 hierarchy 1-5 in Construction Workbench 1-5 objects in hierarchy 4-6 Prep List tab 1-6 Prep Status tab 1-6 Rule Painter 1-6, 8-7 to Hierarchy 1-5 Window Painter 1-6 work area 1-5 dragging and dropping 1-5, 1-6 drawing tools auto formatting option 3-17 auto size 3-17 confirm on 3-18 grid alignment 3-17 orthogonal lines option 3-17 sample font 3-18 see design tools see design tools. show note borders 3-17 Drawing Tools tab, Workbench Options 3-17 drawings new 7-2 opening one from the repository 7-3 dropping (and dragging) 1-5, 1-6 duplicate object confirm 7-8 duplicate objects
Index v

option in Matrix Builder tab 3-23 duplicate objects in diagram 7-22

E
Edit Field 3270 Converse support 9-62 adding object 9-38 button 9-38 defined 9-38 object 9-38, 9-51 recalculating field size 3-15 resize 9-39 Edit Mask property 9-22, 9-23, 9-24 Edit menu in diagram 7-15 editing changing project 7-10 HTML 10-11 macro 8-17 matrix template 8-26 quick macro 8-16 rule in Rule Painter 8-5 variable for compile 3-9 editor chart 9-33, 9-34 File Editor 9-52 function key for 3270 Converse 9-65 HTML 3-21 MCLB Editor 9-48 Menu Editor 9-44 option in HTML generation tools 3-21 Ellipse button 9-40 Ellipse object 9-40 adding 9-40 ellipse, window 9-40 enable, disable a tab 9-14 enabling tab order 9-13 Encoding field 8-23 end-user interface window 9-1, 9-15 Engineering tab, Workbench Options 3-18 engineering tools 6-7 column option 3-19 denormalize 7-34 file generation method 3-19 forward engineering 7-22, 7-32 hps.ini settings 3-18 query user 3-19 referential integrity 3-19 suffix option 3-19 text and keyword option 3-19 trace analysis 7-32 entities defined 4-10 Entity Relationship Diagram

defined 7-15 toolbar 2-3, 7-17 entity type 7-18, 7-20 associative 7-18 characteristic 7-18 intersection 7-18 kernel 7-18 error messages window verification 9-11 error sets 5-13 errors preparation 6-3 verification 6-9 Esc key, stop loading 1-5 event procedures macro 8-17 events object 4-11 examples trace analysis, forward engineering A-5 Executing (preparation status) 6-3 execution font mapping C-2 execution time font mapping C-1 Expand/Collapse Object option 4-6 expanding hierarchy 4-5 Explode to Leaf button 4-6 exploding objects in diagram 7-10 one level 4-6 relation in diagram 7-10 to leaf 4-6 export/import option in HTML generation tools 3-21 exporting bitmap 8-21 HTML 10-11 extension.js in generated HTML 10-13 external HTML editor 3-21 external source code 8-19 External tab, of component folder properties 8-19

F
F8, Shift+F8, expand hierarchy 4-6 Field button 5-11 field labels window painter options 3-14 field size, recalculating 3-15 fields adding 5-11 application 4-9 defined 5-11 Display 8-23

vi

AppBuilder 2.1.0 Development Tools Reference Guide

encrypted 9-38, 9-51 window 4-9 file *.asc 3-6 adding 5-19 BMP (.bmp) 8-22 font.ini 9-6, C-1 icon (.ico) 8-22 JPEG (.jpeg, .jpg, .jpe) 8-22 object 5-19 physical 4-10 pwbatch.dat 6-6 tooltips.dat 4-25 File button 5-19 File Editor object 9-52 File export successful message 8-21 file generation method option in engineering tools 3-19 file type, option in Text Editor 3-16 Find window 6-4 finding object in diagram 7-14 finding text 2-7, 6-4 floating window 1-4 folder type, HPS_WEB_RESOURCE 10-15 font definition, syntax in font.ini C-3 definitions C-1 in diagram 7-8 mapping 9-6, C-1, C-2 select (in diagram) 3-18 size (GUI_SIZE) C-3 size for reports in font.ini C-3 support in 3270 Converse 9-59 font definitions C-1 font sample area, option in Text Editor 3-17 font.ini file 9-6, C-1 font definition syntax C-3 footer for diagram 7-6 foreign key 7-35 FORM element in generated HTML 10-13 forward engineering attribute hierarchies 7-23, A-1 definition 7-22 error messages 7-31 example A-4, A-5 many-to-many relationships 7-27 one-to-many relationships 7-26 one-to-one relationships 7-26 query user 3-18, 7-24 recursive relationships 7-29 relationship patterns 7-26 renaming generated names 7-24 supertype-subtype relationships 7-29 trace analysis 7-22, 7-32 traceability report 7-32

verification 7-24 fully qualified field name in Rule Painter 8-7 fully-qualified links window painter options 3-14 function 4-8 defined 5-5 hierarchy object 4-7 Function button 5-5 Function Key Editor 9-65 function keys 9-65 function prepare settings 3-8 Function-key object 3270 Converse support 9-63 functions appending on menu 3-8 application type 3-8 create desktop objects 3-8 create menu 3-8 creating 5-5 export HTML 10-11 import HTML 10-11 preparation as menu item 3-8 preparation settings 3-5 Top menu caption 3-8 fundamental (entity type) (see kernel) 7-18

G
General Properties tab 4-17 General tab, Workbench Options 3-2 Generate display code option 8-5 generated HTML, See HTML. global resources for HTML pages 10-15 graph 9-33 Graphic Character (DBCS) format 9-21 graphical objects ellipse 9-40 rectangle 9-56 graphical user interface (GUI) 9-1, 9-15 grid alignment option in drawing tools 3-17 grid pattern hiding 7-4 showing 7-4 grid properties 7-4 grid spacing 9-5 Group Box button 9-41 Group Box object 9-41 adding 9-41 grouping tab order 9-13 GUI actions, accelerator keys for 9-30 GUI_SIZE font size in font.ini C-3 Guide Settings 9-5

Index

vii

H
H in window icon 10-4 handles 7-13, 9-25, 9-39 HEAD section in generated HTML 10-13 header for diagram 7-6 header orientation option in Matrix Builder tab 3-24 height of edit field (resize) 9-39 height of field, recalculating 3-15 hiding child objects 4-5 details in diagram 7-10 grid in diagram 7-4 hierarchy (collapsing) 4-5 Output window 6-1 property in Matrix toolbar 2-5 window 1-4 hierarchy adding objects 4-3 commit changes 1-14, 4-4, 4-5 Configuration tab 4-12 defined 4-2 drag and drop 1-5 forward engineering 7-23 hiding 4-5 Hierarchy window 4-2 Inverted tab 4-14 minimum attributes 7-23 object properties 4-15 Project tab 4-11 relationship properties 4-21 removing objects 4-4 removing relationships 4-5 Repository tab 4-13 rollback changes 1-14 sample 4-2 toolbar 2-4, 2-5, 4-7 window 4-2, 4-11 hierarchy display 4-25 Hierarchy Objects 4-7 hierarchy objects move 4-6 Hierarchy Objects toolbar 2-4, 4-3, 5-1 Hierarchy Operations toolbar 2-4, 2-5, 4-3 Hierarchy tab confirm option 3-4 default insert objects as option 3-4 display options 3-4 double-click action option 3-5 Hierarchy tab in Workbench Options 4-6 hierarchy toolbar 4-3 displaying 4-3 Hierarchy window 4-2 drag and drop 4-6 expanding, collapsing 4-5

tab to tab 4-6 Hot Spot button 9-42 Hot Spot object 9-42 adding 9-42 HPS ID see system identifier hps.ini file variables for engineering tools 3-18 HPS_SET_BITMAP_FILE 9-33 HPS_WEB_RESOURCE folder type 10-15 hpsformat.js in generated HTML 10-13 HPSID (system identifier), inserting in Rules code 8-6 HTML browse 3-21, 10-3 cascading style sheet 10-13 changes to 10-10 changes, rollback 10-3, 10-6 deleting file 10-11 DIV element 10-14 editor 3-20, 3-21 export 10-11 FORM element 10-13 HEAD section 10-13 import 10-11 menu types supported 10-14 merge changes 10-5 META tags 10-15 options 3-20 regenerate 10-5 run-time support 10-11 SCRIPT element 10-14 SCRIPT section 10-13 template 3-22 TITLE section 10-13 update 10-5 viewer 3-21, 3-22, 10-3 HTML editor 10-11 HTML Editor tab, Workbench Options 3-20 HTML FORM element 3-22, 10-12 HTML generation tools call editor option 3-21 editor file name option 3-21 export/import option 3-21 template for HTML pages option 3-21 temporary HTML option 3-21 HTML resource files 10-15

I
icon .ico file type 8-22 H in window for HTML 10-4 object, displaying 3-4 object, dragging and dropping 8-7 window 9-19 icons

viii

AppBuilder 2.1.0 Development Tools Reference Guide

Hierarchy objects 4-7 identifiers 4-11 identify entity 4-11 image 9-32 image types, valid 8-22 images subdirectory, HTML resources prepared to 10-15 import bitmap 8-20, 8-21 import HTML 10-11 only previously exported 10-11 previously exported only 10-11 Include mainframe rules 3-8 indent, option in Text Editor 3-16 Insert Child button 4-3 Insert commands in Rule Painter 8-6 insert objects, default 3-4 Insert Sibling button 4-3 inserting child object 8-6 HPSID in Rules code 8-6 HPSID with quotes in Rules code 8-7 objects in Rules code 8-6 reserved word to Rules source code 8-9 Integer format 9-24 intermediate file (option) 3-7 intersection (entity type) 7-18 Inverted tab 4-14

reserved words list 8-9, 8-12

L
Label object. see Static Text object. label rotation 7-9 labeling row, column 8-26 labels Report Painter options 3-12 Last Modified, in Prep status tab 6-2 layout guide settings 9-5 layout in Window Painter 9-5 layout, of window 9-11 leaf objects 4-6 limit, number of entities in 3270 Window Painter 9-58 line number in status bar 8-2 linked field format character 9-21 date 9-22 numeric 9-24 time 9-22 linking item to list box 9-43 item to MCLB 9-48, 9-51 List Box linking 9-43 List Box button 9-43 List Box object 9-42 adding 9-43 multicolumn list box (MCLB) 9-46 list boxes defined 9-42 list, preparation 6-5 local database (option) 3-7 local database setting 1-8 local machine name remote preparation tab 3-10 Lock to repository 9-23, 9-24 <Locked> (indication in Window Painter) 9-3 locking window objects 9-26 lookup sets 5-13

J
Java execution client 3-6 requires unique object ID 9-16 JavaEventProcByObj 8-17 JavaEventProcByType 8-17 JavaScript creating 10-3 updating 10-5 JavaUserComponent 8-17 JPEG (.jpeg, .jpg, .jpe) file type 8-22 JS. see JavaScript justification column in MCLB 9-50 Justification property 9-22, 9-23, 9-24

K
kernel (entity type) 7-18 keyboard quick macro 8-16 keyboard short-cuts Insert commands in Rule Painter 8-6 keys accelerator 9-53 keyword search 4-20 Keyword tab 4-20 keywords 4-20

M
macro creating 8-16 editing 8-17 modifying 8-17 playing 8-17 quick 8-16 quick (keyboard) 8-16 recording 8-16 running 8-17 Tools menu 8-15

Index

ix

macro, in development 8-15 mainframe rules, preparing locally 1-8 MAP statements defined 8-11 Mapping Wizard 8-11 mapping fonts at execution time C-2 Mapping Wizard 8-2, 8-11 defined 8-11 using 8-11 mapping wizard window 8-11 Matrix template 8-26 matrix adding row or column 8-26 clearing row or column 8-27 creating 8-25 creating cell function 8-27 CRUD (create, update, delete, read) functions 8-27 deleting cell function 8-27 editing header 8-26 moving row or column 8-27 opening 8-25 querying repository 8-26 reading cell function 8-27 removing a row or column 8-27 sorting a row or column 8-27 updating cell function 8-27 Matrix Builder defined 8-25 options 8-25 toolbar 2-5 Workbench Options 3-23 Matrix Builder tab create new object option 3-23 default font option 3-24 duplicate objects option 3-23 header orientation option 3-24 name style option 3-24 show attributes option 3-23 matrix elements 8-25 Matrix toolbar 2-5 Max property 9-24 MCLB Editor column justification 9-50 column width 9-50 columns, adding, modifying 9-49 opening 9-48 mclb.js in generated HTML 10-13 measurement system units 7-5 menu bar 1-2 Menu Bar object 9-44 3270 Converse support 9-63 Menu Editor 9-44 differences in 3270 9-59 window 9-45
x AppBuilder 2.1.0 Development Tools Reference Guide

menu file name 3-5 menu in HTML pull-down type 10-14 tree form 10-14 menu items, preparation of function as 3-8 Menu object adding 9-44 using Menu Editor 9-44 menu options, system-defined accelerators 9-30 menu types supported in HTML 10-14 menu.js in generated HTML 10-13 menus Construction Workbench 1-2 defined 9-44 standard 9-46 Window Painter 9-5 message preparation 6-3 messages diagnostics 6-7 window verification 9-11 META tags, including in HTML 10-15 Microsoft VBScript, in macro 8-15 Min property 9-24 minimum hierarchy attribute structure 7-23 Mixed Character format 9-21 model database 7-22 relational 7-22 modifier keys 9-53 modifying column justification in MCLB 9-50 columns in MCLB 9-49 macro 8-17 object properties 9-18 quick macro 8-16 rule source code 8-5 modifying columns in MCLB 9-50 monitor screen resolution 9-11 move left 4-6 Move Left button 4-6 move right 4-6 Move Right button 4-6 moving handles 7-13 matrix row or column 8-27 object in diagram 7-13 objects in hierarchy 4-6 window objects 9-28 Multicolumn List Box 3270 Converse support 9-64 adding 9-47 button 9-47 defined 9-46 linking 9-48, 9-51 MCLB Editor 9-48

multicolumn list box (MCLB) object 9-46 Multiline Edit Field button 9-51 Multiline Edit Field object 9-51 adding 9-51 multiline edit fields defined 9-51 multimedia, including in GUI 10-15

N
name style option in Matrix Builder tab 3-24 Name, in Prep status tab 6-2 navigating to another diagram 7-7 New Object button 5-9, 5-17, 9-8, 9-9 note borders, showing 7-9 numeric format 9-24 numerical display picture characters B-4

O
object Bitmap 9-32 Chart 9-33 Check Box 9-35 Combo Box 9-37 Edit Field 9-38 ellipse 9-40 File Editor 9-52 Group Box 9-41 Hot Spot 9-42 List Box 9-42 locking 9-26 Menu Bar 9-44 multiline edit field 9-51 Push Button 9-52 Radio Button 9-54 Rectangle 9-56 Static Text 9-57 object information 4-25 object properties, in Window Painter 9-19 objects adding to hierarchy 4-3 audit properties 4-17, 4-18 copying in window 9-29 general properties 4-17 Inverted tab 4-14 keyword 4-20 moving in window 9-28 placing in window 9-28 Project tab 4-11 properties 4-15, 4-21 relationship properties 4-21 relationships, removing 4-5 removing from window 9-29

repositories 4-14 text properties 4-19 occurring views limit of entities in 3270 Window Painter 9-58 Open Project button 1-9 opening a matrix 8-25 opening File Editor in window 9-52 opening MCLB Editor 9-48 options confirm close workbench 3-3 confirm commit 3-3 confirm rollback 3-3 engineering tools 3-18 general workbench 3-2 HTML Editor 3-20 Matrix Builder 3-23, 8-25 preparation 3-5 remote preparation 3-10 Report Painter 3-11 Set Builder 3-12, 8-23 Text Editor 3-15, 8-2 TurboCycler 3-13 Window Painter 3-14, 9-6 Workbench Options 4-2 order of the tabs 9-15 ordering tabs 9-15 orthogonal lines option in drawing tools 3-17 Output window Analysis tab 7-23 Prep Status tab 6-2 window verification 9-11 output window Analysis tab 6-7 Diagnostics tab 6-7 Prep List tab 6-5 Prep Status tab 6-2 Prepare tab 6-7 Verify tab 6-9

P
page bounds (in diagrams) 7-5 page breaks (in diagrams) 7-5 Panel Layout 9-11 Center Screen 9-12 Panel Layout window 9-12 parents displaying 4-14, 4-15 partition adding 5-3 Partition button 5-3 Partition, in Prep status tab 6-2 partitions defined 5-3

Index

xi

password, edit field 9-38, 9-51 Paste command 9-29 pasting object to diagram 7-14 Pending (preparation status) 6-3 picture 9-32 picture characters B-4 pixels, grid spacing 9-5 placing window objects 9-28 Platform (target), in Prep status tab 6-2 playing macro 8-17 quick macro 8-16 playing macro 8-17 pop-up menu 1-3 popup values in Rule Painter 8-6 position of object in diagram 7-13 position of window 9-2 PPD 7-36 creating 7-36 inserting objects into 7-37 PPD objects inserting in diagram 7-37 prefer dot notation 8-8 Prep List 3-7 Prep List tab 6-5 drag and drop 1-6 Prep Status tab 6-2 Configuration 6-2 drag and drop 1-6 Last Modified 6-2 Name (of object) 6-2 Output window 6-2 Partition 6-2 Platform (target) 6-2 Submission Status 6-2 Submission Time 6-2 Type (of object) 6-2 preparation details, displaying 6-3 displaying details 6-3 list 6-6 remote 3-10 restarting jobs 6-4 suspending and resuming 6-4 preparation list 6-5 saving 6-6 preparation status 6-2, 6-7 Executing 6-3 Pending 6-3 Remote submitted 6-3 Starting 6-3 Successful 6-3 Unsuccessful 6-3

Waiting 6-3 Preparation tab Append functions on menu 3-8 application server option 3-7 application type 3-8 application type option 3-7 create desktop objects 3-8 create menu 3-8 database information option 3-7 delete successful jobs option 3-7 function prepare 3-8 local database option 3-7 Project options 3-7 rule debug option 3-6 Save intermediate files option 3-7 submit to work list only option 3-7 Syntax check only option 3-7 top menu caption 3-8 use existing bind file option 3-7 Preparation tab, Workbench Options 3-5 Prepare tab 6-7 preparing Details window 6-3 list options 3-7 messages displayed 6-7 of function as menu items 3-8 restart a job 6-4 Preview button 9-10 previewing windows 9-10 primary (entity type) (see kernel) 7-18 print zoom 7-9 PRINT_POINT_SIZE Report Painter font size in font.ini C-3 process adding 5-6, 5-7 defined 5-6 definition 4-8 Process button 5-6 Process Dependency Diagram 7-36 Process Dependency Diagram toolbar 2-6 Project Name, specifying 1-8 Project Options button 1-9 Project options settings 3-7 Project Options window 1-10 Project tab 4-11 Project toolbar 2-6 projects 4-8 changing 7-10 creating 1-7 defined 1-7, 5-4 options 1-9 recent 1-9 toolbar 2-6 properties

xii

AppBuilder 2.1.0 Development Tools Reference Guide

audit 4-17 audit, remote 4-18 general 4-17 keyword 4-20 object 4-15, 9-18 relationships 4-21 text 4-19 properties for remote audit tab 4-19 properties, object 9-19 property Resize 9-39 protected edit fields 9-38 protected MCLB columns 9-47 pull-down type of menu in HTML 10-14 push button accelerator 9-53 Push Button button 9-53 Push Button object 9-52 creating 9-53 pwbatch.dat file 6-6

Q
query language commands 8-12 query repository 8-26 query user option in engineering tools 3-19 query user option 3-18, 7-24 quick (keyboard) macro 8-16 quick macro 8-16 creating 8-16 editing 8-16 modifying 8-16 playing 8-16 recording 8-16 running 8-16 window 8-16 quick_macro.qm (quick macro) 8-16

R
Radio Button button 9-55 Radio Button object 9-54 creating 9-55 radio buttons defined 9-54 range (min, max) values 9-24 reading (matrix cell function) 8-27 recalculate field sizes window painter options 3-14 Recalculate Field Sizes option 3-15 recalculating field sizes 3-15 recent project list 1-9 recording macro 8-16 quick macro 8-16

recording macro 8-17 Rectangle button 9-56 Rectangle object 9-56 creating 9-56 rectangles defined 9-40, 9-56 window 9-40 redrawing objects 7-15 referential business object type 7-20 referential integrity option in engineering tools 3-19 reformatting objects in diagram 7-15 regenerate HTML 10-5 regional settings of units 7-5 relational model 7-22 relationship changing project 7-10 Relationship Properties window 4-22 relationships forward engineering 7-26 many-to-many 7-27 properties 4-21 recursive 7-29 removing between objects 4-5 supertype-subtype 7-29 Remote Audit tab 4-18 remote audit tab properties 4-19 remote preparation options 3-10 remote preparation server name 3-10 Remote Preparation tab, Workbench Options 3-10 Remote submitted (preparation status) 6-3 Remove Relationship button 4-5 removing matrix row or column 8-27 relationships 4-5 variable for compile 3-9 window objects 9-29 See also deleting. renaming generated names 7-24 Report Painter tab, Workbench Options 3-11 reports see also Output window Trace Analysis report A-5 traceability 7-32 repository working with items 4-14 Repository tab 4-13 Reserved Object 8-9 reserved system identifiers (HPS IDs) 9-30 reserved system IDs 9-46 reserved word adding to rules 8-9 definition 8-9 list of 8-9, 8-12
Index xiii

rule 8-9 Reset Defaults 3-9 resize edit field 9-39 not in 3270 9-62 RESIZE environment variable 9-62 Resize property 9-39 resizing windows 9-9 resizing object 7-13 resizing window objects 9-25 resolution guidelines 9-12 resolution, screen 9-2 resource files for HTML pages 10-15 Restart short-cut 6-4 restarting preparation job 6-4 results server name remote preparation tab 3-10 resuming suspended preparation jobs 6-4 reverse trace 7-35 rollback confirm option 3-3 hierarchy changes 1-14 HTML changes 10-3, 10-6 toolbar button 1-7, 2-6 roll-over 4-25 root objects 4-6 root rule 4-8 rotating labels 7-9 rows, of matrix 8-25 rule adding 5-8 basic, creating 8-4 creating in Rule Painter 8-3 debugging 3-5 defined 4-8, 5-8 definition 8-2 display, creating 8-4 editing 8-5 mapping wizard 8-11 reserved words 8-9 root 4-8 SQL, creating 8-4 verifying 8-13 Rule button 5-8 rule debug (option) 3-6 Rule Painter 8-2 defined 8-1 drag and drop 1-6 drag and drop into 8-7 Insert commands 8-6 macro 8-15 Mapping Wizard tool 8-11 popup values 8-6 Reserved Words list 8-9, 8-12 SQL Builder tool 8-12
xiv AppBuilder 2.1.0 Development Tools Reference Guide

toolbar 8-2 toolbars 2-7, 2-8 rulers (in diagrams) 7-5 units of measure 7-5 rule see also Rules Language Rules Language 8-2 RuleView 3-6 RuleView debugger 3-6 running macro 8-17 quick macro 8-16 running macro 8-17 runtime environment, specifying 1-8 runtime font mapping C-1, C-2

S
sample font option in drawing tools 3-18 Save Template window 9-8 saving diagrams 7-2, 7-3 intermediate files, during preparation 3-7 preparation list 6-6 scale Report Painter options 3-12 screen resolution 9-11, 9-12 may affect window location 9-2 screen resolution in 3270 Converse 9-59 screen, centering window 9-12 SCRIPT element for generated HTML 10-14 SCRIPT section of generated HTML 10-13 searching for keywords 4-20 for text 6-4 searching text 2-7, 6-4 select font, option in Text Editor 3-17 Selected Object Types (for HTML update) 10-7 selecting all with Ctrl+A 9-26 HTML attributes for updating 10-7 selecting font (in diagrams) 3-18 server name remote preparation 3-10 session properties 1-12 Session Properties window 1-13 set Define 5-13 Set Builder 4-9, 5-12, 8-23 default options 8-23 defined 8-24 tab, Workbench Options 3-12 window 8-24 set builder options confirm set delete 3-13

delete set symbols 3-13 select font 3-13 Set button 5-14, 9-65 SET_MENU_MODE system component 9-63 sets 4-9 adding 5-14 define procedure 8-25 defined 5-12 error sets 5-13 lookup sets 5-13 Set Builder 8-24 setting font 7-8 tab order 9-15 settings, guide in Window Painter 9-5 Shift+F8, expand hierarchy 4-6 Shift+L, Panel Layout 9-11 Shift+Tab, move in hierarchy 4-6 Shift+V, preview in Window Painter 9-10 shortcut keys. see accelerator keys shortcut. See accelerator show attributes option in Matrix Builder tab 3-23 show note borders option in drawing tools 3-17 show underscore 7-9 showing grid in diagram 7-4 showing details in diagram 7-10 skeleton C user component 8-17 Java user component 8-17 Small Integer or Integer format 9-24 sorting matrix row or column 8-27 source code, rule editing 8-5 space, option in Text Editor 3-16 specifying project options 1-9 verification language 8-13 SQL statement, adding to rule 8-12 SQL Builder 8-2, 8-12 requirement 8-12 SQL rule, creating 8-4 standalone application default preparation settings 3-5 Standard toolbar 1-7, 2-6 Starting (preparation status) 6-3 State Transition Diagram 7-37 State Transition Diagram toolbar 2-7 Static Text button 9-57 Static Text object 9-57 3270 Converse support 9-64 adding 9-57

status bar 1-5 line number, column number 8-2 Window Painter 9-3 status window 6-2, 6-5, 6-7, 6-9 status, preparation 6-2 STD creating 7-37 inserting objects into 7-38 stepping from tab to tab 4-6 Stop Verification button 8-13 stretch to fit 9-20 styles.css in generated HTML 10-13 Submission Status, in Prep status tab 6-2 Submission Time, in Prep status tab 6-2 Submit to work list only 3-7 subordinate object inserting 8-6 subtype entity 7-29 Successful (preparation status) 6-3 successful prepares not shown 3-7 suffix option in engineering tools 3-19 supertype entity 7-29 supertype table 7-29 support.js in generated HTML 10-13 suspending preparation jobs 6-4 symbol objects 8-23 Syntax check only (option) 3-7 system identifier (HPSID) in Java 9-16 inserting in Rules code 8-6 reserved 9-46 system-defined accelerator keys 9-30

T
Tab property of Window Painter object 9-20 Tab button 9-14, 9-15 tab group 9-13 tab listing 9-14 tab order 9-13, 9-15 3270 windows 9-60 Tab Order tool 9-15 Tab, to move in hierarchy 4-6 Tabbing Editor 9-13 toolbar 9-14 Tabbing Editor toolbar 9-14 Table List Box 9-43 table 9-46 Table object 3270 Converse support 9-64 tabs Configuration 4-12

Index

xv

in Hierarchy window 4-6 Inverted 4-14 Keywords 4-20 Project 4-11 Repository 4-13 tabs, option in Text Editor 3-16 target platform, in Prep Status tab 6-2 target table in denormalize of database 7-35 template matrix 8-26 template for HTML 3-22 template for HTML pages option in HTML generation tools 3-21 Template Wizard, Window Painter 9-8, 9-9 templates creating 9-8 creating windows 9-9 TurboCycler, specifying location 3-13 temporary HTML option in HTML generation tools 3-21 temporary macro 8-16 text and keywords option in engineering tools 3-19 Text Audit tab 4-19 text bookmarks 2-7 Text Editor auto indent option 3-16 Bookmarks toolbar 2-7 COBOL zones 3-16 colors option 3-16 dot notation option 3-16 file type option 3-16 font sample area 3-17 indent option 3-16 options, using 8-2 select font option 3-17 tab 3-16 tabs option 3-16 toolbar 8-2 Tools toolbar 2-8 ToolTip 4-25 white space option 3-16 wrap rules option 3-16 Text Editor tab using 8-8 Text Editor tab, Workbench Options 3-15 text file 9-52 text find 2-7, 6-4 Text object. see Static Text object. text search 2-7, 6-4 Text toolbar 8-2 tile windows 1-4 Time format 9-22 title of diagram, displaying 7-6 TITLE section in generated HTML 10-13

tool windows 1-4 toolbars Database Diagram 2-3 defined 2-1 displaying 2-1, 9-4 Entity Relationship Diagram 2-3, 7-17 hierarchy 4-7 Hierarchy Objects 4-3, 5-1 Hierarchy Operations 2-4, 4-3 Matrix toolbar 2-5 Process Dependency Diagram toolbar 2-6 Project 2-6 Rule Painter 2-7, 2-8 Standard 1-7, 2-6 State Transition Diagram toolbar 2-7 Text 8-2 Window Flow toolbar 2-10 Window Layout 2-8 Window Objects 2-9 Window Painter 9-4 tools arrange window 1-4 design 3-17, 7-1 MCLB Editor 9-48, 9-49, 9-50 window 1-4 Window Painter, options 9-6 ToolTip 4-25 tooltips.dat file 4-25 top menu caption 3-5 top menu caption function 3-8 top menu caption(option) 3-8 trace report A-5 trace analysis definition 7-22 forward engineering 7-32, A-5 report 7-32 Trace Analysis report A-5 transactional business object type 7-20 tree form of menu 10-14 Turbo.ini file TurboCycler, specifying location 3-13 TurboCycler options ini file 3-13 templates 3-13 TurboCycler tab, Workbench Options 3-13 Type, in Prep status tab 6-2 types of entities 7-18, 7-20 types of sets 5-13

U
underscore 7-9 undocking window 1-4

xvi

AppBuilder 2.1.0 Development Tools Reference Guide

units of measure (in diagram rulers) 7-5 unlocking window objects 9-26 unnamed objects 7-22 Unsuccessful (preparation status) 6-3 update HTML 10-5 updating (matrix cell function) 8-27 updating criteria (for HTML) dialog 10-7 USAGE in font.ini C-3 Use existing bind file (option) 3-7 user component 4-10, 8-19 Component Painter 8-14 user identifier remote preparation server 3-10 using existing bind files 3-5

V
valid image types 8-22 Value button 5-15 values 4-10 creating 5-15 defined 5-15 VarChar (variable character) format 9-21 variable for compile 3-9 delete 3-9 editing 3-9 variables for compile adding 3-9 verification errors displaying 6-9 verification language, specifying 8-13 verification report 6-9 Verify Complete displayed 9-11 Verify Rule button 8-13 Verify tab 6-9 Verify tab in Output window 9-11 verifying an ERD 7-24 diagram 7-22 forward engineering 7-24 language 8-13 rules 8-13 verifying a window 9-11 View Usage property 8-12 viewing object properties 9-18 views adding 5-10 defined 5-10 window message view 4-9 virtual keys 9-53

W
Waiting (preparation status) 6-3 warning messages window verification 9-11

warnings verification 6-9 see also errors WFD creating 7-38 inserting objects into 7-39 white space, option in Text Editor 3-16 width of field, recalculating 3-15 window adding 5-9 aligning objects 9-26, 9-28 arrange 1-4 Bitmap 9-32 bring to front 1-4 cascade 1-4 centering on screen 9-12 Chart 9-33 Check Box 9-36 Combo Box 9-37 copying objects 9-29 create 9-1 creating 9-8 creating from template 9-9 defined 4-8, 5-9 distributing objects 9-28 docking 1-4 Edit Field 9-38 edit field in 3270 9-62 Ellipse 9-40 export HTML 10-11 file editor object 9-52 floating 1-4 graphics 9-40 Group Box 9-41 hiding 1-4 Hierarchy 4-2 Hot Spot 9-42 import HTML 10-11 JavaScript 10-3 layout 9-11 List Box 9-43 locking objects 9-26 Menu 9-44 Menu Editor 9-44 moving objects 9-28 Multicolumn List Box 9-47 Multiline Edit Field 9-51 placing objects 9-28 previewing 9-10 push buttons 9-53 radio buttons 9-55 rectangles 9-56 removing objects 9-29 resizing 9-9 resizing objects 9-25 screen resolution affects location 9-2
Index xvii

Static Text 9-57 tab order 9-15 templates 9-8 tile 1-4 tools 1-4 undocking 1-4 unlocking objects 9-26 work area 1-4 Window button 5-9, 5-10 Window Flow Diagram 7-38 Window Flow toolbar 2-10 window icon with H 10-4 Window Layout 9-11 Window Layout toolbar 2-8 window message view 4-9 Window Objects toolbar 2-9 Window Painter adding an object 9-17 aligning objects 9-26 closing 9-2 common object properties 9-19 copying a window object 9-29 creating windows 9-8 definition 9-1 distributing objects 9-28 drag and drop 1-6 dragging an object 9-17 font mapping 9-6 formatting a window object 9-21 formatting fields 9-21 Guide Settings 9-5 interface 9-3 Layout menu 9-5 locking object 9-26 menus 9-5 modifying object properties 9-18 opening 9-2 options 9-6 Panel Layout 9-11 placing and moving window 9-28 removing a window object 9-29 resize window object 9-25 sample 9-1 specifying character format 9-21 specifying date and time format 9-22 specifying numeric input 9-24 standard menu functions 9-30 status bar 9-3 Tab Order 9-15 tab order 9-13 Tabbing Editor 9-13 toolbars 9-4 verifying a window 9-11 window 9-1 window painter options colors 3-14
xviii AppBuilder 2.1.0 Development Tools Reference Guide

field labels 3-14 fully-qualified links 3-14 recalculate field sizes 3-14 Window Painter tab, Workbench Options 3-14 Window Painter Verify displayed 9-11 window position 9-2 work area drag and drop 1-5 work area window 1-4 work list for preparing 3-7 workbench options 8-2, 8-23 see also construction tools Workbench Options Drawing Tools tab 3-17 Engineering tab 3-18 General tab 3-2 Hierarchy tab 4-2, 4-6 HTML Editor tab 3-20 Matrix Builder tab 3-23, 8-25 Preparation tab 3-5 Remote Preparation tab 3-10 Report Painter tab 3-11 Set Builder tab 3-12, 8-23 Text Editor tab 3-15, 8-2 TurboCycler tab 3-13 window 3-1 Window Painter tab 3-14, 9-6 wrap rules, option in Text Editor 3-16

Z
zones, COBOL 3-16 zoom (resize) for printing 7-9 display 7-4, 7-6 matrix 2-5

Potrebbero piacerti anche