microsoft dexterity dexterity utilities - apnagp · pdf file2 dexterity utilities introduction...

177
Microsoft ® Dexterity Dexterity Utilities Release 11

Upload: hoangdien

Post on 17-Mar-2018

244 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

Microsoft® Dexterity

Dexterity UtilitiesRelease 11

Page 2: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

Copyright Copyright © 2010 Microsoft Corporation. All rights reserved.

Limitation of liability This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it.

Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred.

Intellectual property This document does not provide you with any legal rights to any intellectual property in any Microsoft product.

You may copy and use this document for your internal, reference purposes.

Trademarks Microsoft, Dexterity, Microsoft Dynamics, and Windows are trademarks of the Microsoft group of companies. FairCom and c-tree Plus are trademarks of FairCom Corporation and are registered in the United States and other countries.

All other trademarks are property of their respective owners.

Warranty disclaimer Microsoft Corporation disclaims any warranty regarding the sample code contained in this documentation, including the warranties of merchantability and fitness for a particular purpose.

License agreement Use of this product is covered by a license agreement provided with the software product. If you have any questions, please call the Microsoft Dynamics GP Customer Assistance Department at 800-456-0025 (in the U.S. or Canada) or +1-701-281-6500.

Publication date March 2010

Page 3: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S i

Contents

Introduction .................................................................................................................................2What’s in this manual .................................................................................................................. 2

What’s new in Dexterity Utilities ............................................................................................... 2

Symbols and conventions............................................................................................................ 3

Part 1: Basics .............................................................................................................................6

Chapter 1: Getting Started .......................................................................................... 7Basic components ......................................................................................................................... 7

Launching Dexterity Utilities...................................................................................................... 7

Dexterity Utilities terms............................................................................................................... 8

Working with dictionaries ......................................................................................................... 10

Chapter 2: The Dexterity Utilities Interface ..............................................11The main menu ........................................................................................................................... 11

The toolbar................................................................................................................................... 12

The menu bar............................................................................................................................... 13

Part 2: Utility Reference ......................................................................................... 16Utility Summary ......................................................................................................................... 17

Chapter 3: Transfer Utilities .................................................................................... 21Transferring resources................................................................................................................ 22

Transferring strings and messages ........................................................................................... 29

Transferring windows................................................................................................................ 31

Transferring dictionary modules.............................................................................................. 33

Developer update ....................................................................................................................... 35

Chapter 4: Script Utilities ......................................................................................... 37Compiling form scripts .............................................................................................................. 38

Compiling global procedures ................................................................................................... 40

Compiling global functions....................................................................................................... 42

Searching and replacing............................................................................................................. 44

Page 4: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

C O N T E N T S

ii D E X T E R I T Y U T I L I T I E S

Chapter 5: Resource Utilities..................................................................................47Changing the dictionary core ................................................................................................... 48

Updating series resources ......................................................................................................... 50

Chapter 6: Inquiry Utilities........................................................................................53Viewing form information ........................................................................................................ 54

Viewing resource information.................................................................................................. 55

Chapter 7: Dictionary Utilities ..............................................................................57Synchronizing a dictionary....................................................................................................... 58

Using the packaging utilities.................................................................................................... 59

Compressing dictionaries ......................................................................................................... 60

Creating chunk dictionaries ..................................................................................................... 61

Comparing dictionaries............................................................................................................. 67

Adding product information.................................................................................................... 69

Extracting .................................................................................................................................... 72

Expanding windows.................................................................................................................. 74

SQL Compatibility ..................................................................................................................... 75

Auto-Chunk ................................................................................................................................ 78

Converting a user interface....................................................................................................... 82

Changing Evaluate After .......................................................................................................... 90

Part 3: Report Reference ........................................................................................94Printing reports .......................................................................................................................... 94

Information about the sample reports .................................................................................... 94

Reports summary....................................................................................................................... 95

Forms Report ............................................................................................................................ 101

Reports Report.......................................................................................................................... 104

Tables Report ............................................................................................................................ 106

Global Functions Report ......................................................................................................... 109

Global Procedures Report ........................................................................................................ 111

Global Resources Report ..........................................................................................................113

Local Resources Report ............................................................................................................116

Resource Lists ............................................................................................................................119

Global Resource Usage Report............................................................................................... 122

Local Resource Usage Report ................................................................................................. 126

Page 5: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S iii

C O N T E N T S

Linked Prompt Report ............................................................................................................. 129

Diagnostics Report (Emergency Diagnostics) ...................................................................... 132

Summary Reports ..................................................................................................................... 137

Cross Link Analysis Report..................................................................................................... 140

Prompt Overflow Report......................................................................................................... 142

Referential Diagnostics Report ............................................................................................... 144

Table Relationships Validation Report .................................................................................. 147

Resource ID Validation Report ............................................................................................... 149

Appendix .................................................................................................................................. 152

Appendix A: Dictionary Structure .................................................................. 153Parts of a dictionary.................................................................................................................. 154

Types of modules ...................................................................................................................... 155

Dictionary cores ........................................................................................................................ 155

Resources stored in modules................................................................................................... 157

Form modules ........................................................................................................................... 158

Report modules......................................................................................................................... 158

Glossary..................................................................................................................................... 159

Index............................................................................................................................................... 165

Page 6: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

iv D E X T E R I T Y U T I L I T I E S

Page 7: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

INT

RO

DU

CT

ION

Page 8: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

2 D E X T E R I T Y U T I L I T I E S

IntroductionWelcome to Microsoft® Dexterity Utilities, an integral component of theDexterity development system. Dexterity Utilities provides utilities andreports that help you manage dictionaries created with Dexterity. You’ll usethe various utilities and reports in Dexterity Utilities throughout theapplication development process.

What’s in this manual

Following is a list of the parts of the Dexterity Utilities manual, with a shortdescription of each.

• Part 1, Basics, explains how to get started with Dexterity Utilities andintroduces terms and concepts used in this manual. The Dexterity Utili-ties interface is also described.

• Part 2, Utility Reference, describes the various transfer, script, resource,inquiry and dictionary utilities that are available in Dexterity Utilities.

• Part 3, Report Reference, describes the various reports that are availablein Dexterity Utilities.

What’s new in Dexterity Utilities

A scrolling window update feature has been added to the user interfaceconversion utility. This utility will properly set the SetChangeFlag propertyfor scrolling window fields.

The Product Information window and Compare Dictionaries window havebeen updated to reflect the new method of updating forms and reportsdictionaries.

Several other additions and changes available with this version of DexterityUtilities are indicated throughout the manual by the New symbol.

New

Page 9: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 3

I N T R O D U C T I O N

Symbols and conventions

To help you use the Dexterity Utilities documentation more effectively,we’ve used the following symbols and conventions within the text to makespecific types of information stand out.

Symbol Description

The light bulb symbol indicates helpful tips, shortcuts and suggestions.

Warnings indicate situations you should be aware of when completing tasks with Dexterity Utilities.

Margin notes sum-marize important information.

Margin notes call attention to critical information, and direct you to other areas of the documentation where a topic is explained.

The New symbol indicates additions and changes available with this release of Dexterity Utilities.

Convention Description

Part 1, Basics Bold type indicates the name of a part.

Chapter 4, “Script Utilities”

Quotation marks indicate a chapter name.

Applying formats Italicized type indicates a section name.

RUNTIME.EXE Words in uppercase indicate a file name.

Software Development Kit (SDK)

Acronyms are spelled out the first time they’re used.

TAB or ALT+M Small capital letters indicate a key or a key sequence.

New

Page 10: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

4 D E X T E R I T Y U T I L I T I E S

Page 11: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

PA

RT

1: B

AS

ICS

Page 12: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

6 D E X T E R I T Y U T I L I T I E S

Part 1: BasicsUse this portion of the manual to become familiar with Dexterity Utilities.The information is divided into the following chapters:

• Chapter 1, “Getting Started,” describes the components necessary torun the utilities and explains how to start the utilities. It also includes alist of the terms used in Dexterity Utilities and describes the differentmethods of accessing dictionaries.

• Chapter 2, “The Dexterity Utilities Interface,” describes the toolbar andmenu options available in Dexterity Utilities.

Be sure to review this information before you begin using DexterityUtilities. Understanding the basic concepts will help you make better use ofthe utilities and reports.

Page 13: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 7

Chapter 1: Getting StartedYou can begin using Dexterity Utilities immediately after you install it. Thischapter describes what files are required to run Dexterity Utilities andintroduces some new terms and concepts. Information is divided into thefollowing sections:

• Basic components• Launching Dexterity Utilities• Dexterity Utilities terms• Working with dictionaries

Basic components

When you installed Dexterity, you also should have installed DexterityUtilities. The following table lists the files that are necessary to runDexterity Utilities.

If the appropriate files haven’t been installed, refer to the installationinstructions for information about installing Dexterity Utilities.

We recommend that you install Dexterity Utilities in the same location asDexterity.

Launching Dexterity Utilities

To ensure that Dexterity Utilities will function properly, the DexterityUtilities application, its dictionary, and the DEX.DIC dictionary must be inthe same location. To start Dexterity Utilities, locate and double-click theDexterity Utilities icon in the folder where you installed Dexterity.

File Description

DEXUTILS.EXE The Dexterity Utilities application.

DEXUTILS.DIC A dictionary used by the Dexterity Utilities application.

DEX.DIC The dictionary used by Dexterity and the runtime engine. Dexterity Utilities uses shared code from this dictionary.

DEXUTILS.CHM The help file for Dexterity Utilities.

Page 14: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 1 B A S I C S

8 D E X T E R I T Y U T I L I T I E S

Dexterity Utilities terms

Several terms specific to Dexterity Utilities are used in this manual. Youmay want to familiarize yourself with them before beginning to use thisapplication.

Block A block is the smallest element of a dictionary. All of the resourcesin the dictionary and internal information about the dictionary arecomposed of blocks.

Chunk dictionary A dictionary that contains only portions, or“chunks,” of information from a complete dictionary. Chunk dictionariesallow large dictionaries to be divided into more manageable pieces fordelivery to customers. The runtime engine “unchunks” or merges thechunk dictionaries to recreate the complete dictionary. Chunk dictionariesare also used to update dictionaries.

Compile To run a script through a compiler. A compiler translates scriptinstructions into a language that the computer can understand. Once thescript has been compiled, the instructions within the script can becompleted.

Compress The process of removing unneeded information (such asscript source) and unused blocks from dictionaries. Dictionaries aretypically compressed before being sent to customers.

Core module A group of related resources in a Dexterity dictionary thatare used by several parts of the application. Resources such as fields, datatypes or strings are stored in core modules.

Core resources Resources such as strings, data types or global fieldsthat are used by several parts of the application.

Destination dictionary The dictionary to which resources, strings andmessages, windows, and dictionary modules will be transferred.

Dictionary module A group of related resources, such as those for aform or a report, that make up a subset of a larger dictionary. There arethree types of dictionary modules: core modules, form modules and reportmodules.

Editable dictionary A dictionary that you can access in a read/writemanner.

Page 15: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 9

C H A P T E R 1 G E T T I N G S T A R T E D

Extract To copy the resources created for a third-party application fromthe Dynamics.dic dictionary to a new dictionary, excluding any mainproduct resources.

Extracted dictionary The dictionary that is created when third-partyresources are copied from the development dictionary to a new dictionary.

Resource An independent object such as a field, table, window or form,used to create Dexterity applications.

Series A means of grouping tables, table groups, forms and reports intocategories. Dexterity Utilities allows you to generate reports and specifyresources to work with based upon series.

Series resources Lists containing the names of forms, reports, tablesand table groups in an application dictionary. These lists are used forsecurity, the Work menu, palettes and table maintenance.

Synchronize The process of checking all relationships between resourcesin a dictionary and recalculating buffer sizes.

Source dictionary A read-only dictionary that is used as the sourcewhen transferring resources to a destination dictionary or generatingdictionary reports.

Transfer To copy specified resources from a source dictionary to adestination dictionary.

Page 16: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 1 B A S I C S

10 D E X T E R I T Y U T I L I T I E S

Working with dictionaries

To effectively use Dexterity Utilities, you must understand how it workswith dictionaries. A dictionary can be accessed in one of three ways:

• A source dictionary is opened in read-only mode. You’ll open adictionary as a source dictionary when you want to generate reportsabout the dictionary or when you want to transfer resources from onedictionary to another dictionary.

• An editable dictionary is opened in read/write mode. You’ll open adictionary as an editable dictionary when you want to update or mod-ify resources in it.

• A destination dictionary is opened in write mode. You’ll open adictionary as a destination dictionary when you want to transferresources to it from a source dictionary.

You can’t open a dictionary in more than one mode at a time. For instance, youcan’t open the same dictionary as both a source and editable dictionary at the sametime. Also, you can’t open a dictionary with Dexterity Utilities if the dictionary isin use by another application.

You can close a single dictionary by choosing the appropriate Close optionfrom the File menu. All dictionaries are closed when you quit DexterityUtilities. Dictionaries are also closed automatically when you open adifferent dictionary in the same mode. For example, if Dictionary A is openas a source dictionary, and you choose to open Dictionary B as a sourcedictionary, Dictionary A will be closed automatically.

You can use the Dictionaries menu to help keep track of which dictionaries are open.

Page 17: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 11

Chapter 2: The Dexterity Utilities InterfaceThis portion of the documentation describes the interface for DexterityUtilities. It is divided into the following sections:

• The main menu• The toolbar• The menu bar

The main menu

When you start Dexterity Utilities, the main menu will appear. Thiswindow allows you to access all of the utilities and reports that are part ofDexterity Utilities. The main menu is shown in the following illustration:

The menu bar includesthe standard operatingsystem menus and the

Dexterity Utilities menus.

The toolbar includesbuttons that allow you to

access the utilities andreports in Dexterity Utilities.

Page 18: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 1 B A S I C S

12 D E X T E R I T Y U T I L I T I E S

The toolbar

Each button that appears in the Dexterity Utilities toolbar represents one ofthe categories of operations you can perform. The following table lists thebuttons on the toolbar and gives a short description of each:

The individual utilities and reports accessed using these buttons aredescribed in Part 2, Utility Reference, and Part 3, Report Reference.

The drop-down list on the right side of the toolbar serves two purposes:

• It sets the default series. Any place in Dexterity Utilities where theseries can be specified will default to the same setting as the drop-downlist on the toolbar.

• It specifies the dictionary core in which new core resources will becreated. Refer to Appendix A, “Dictionary Structure,” for more infor-mation about core resources and dictionary cores.

This button Allows you to do this

Transfer items from a source dictionary to a destination dictionary.

Compile selected scripts in the dictionary and search and replace items in scripts.

Generate various reports providing information about the dictionary.

Work with resources in a dictionary.

View lists of forms, tables and other resources in a dictionary.

Perform various utility procedures on a dictionary.

Page 19: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 13

C H A P T E R 2 T H E D E X T E R I T Y U T I L I T I E S I N T E R F A C E

The menu bar

This section describes the Dexterity Utilities menu items available.

File: Open Source DictionaryThis menu item allows you to select a dictionary to open as a sourcedictionary. Only one source dictionary can be open at a time.

File: Close Source DictionaryThis menu item closes the current source dictionary, if one is open.

File: Open Editable DictionaryThis menu item allows you to select a dictionary to open as an editabledictionary. Only one editable dictionary can be open at a time.

File: Close Editable DictionaryThis menu item closes the current editable dictionary, if one is open.

File: Open Destination DictionaryThis menu item allows you to select a dictionary to open as a destinationdictionary. Only one destination dictionary can be open at a time.

File: Close Destination DictionaryThis menu item closes the current destination dictionary, if one is open.

File: Create New DictionaryThis menu item allows you to create a new dictionary.

File: Close WindowThis menu item closes the currently active window.

File: ExitThis menu item allows you to exit Dexterity Utilities.

Edit: UndoThis menu item will undo the last cut, copy, paste, clear or keyboard entryin an editable field.

Edit: Cut/Copy/PasteThese menu items allow you to cut, copy or paste text in editable fields.

Edit: ClearThis menu item allows you to remove text from an editable field.

Page 20: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 1 B A S I C S

14 D E X T E R I T Y U T I L I T I E S

Edit: Select AllThis menu item allows you to select the contents of an editable field.

Macro: (all)This menu allows you to record and play macros in Dexterity Utilities. Youcan use macros to automate common utility tasks. Refer to Chapter 34,“Testing Your Application,” in Volume 2 of the Dexterity Programmer’sGuide for more information about the macro system.

Windows:This menu displays a list of the windows currently open in DexterityUtilities. Selecting a window from this menu will make the window active.

Dictionaries:This menu displays a list of the dictionaries currently open in DexterityUtilities. Its purpose is only to list the open dictionaries.

Help: LookupThis menu item opens any lookup window for the current field.

Help: ContentsThis menu item displays the contents topic for Dexterity Utilities onlinehelp.

Help: Search for Help OnThis menu item displays the search window for the help system, allowingyou to search the Dexterity Utilities online help.

Help: Window HelpThis menu item displays help for the current window in Dexterity Utilities.

Help: How to Use HelpThis menu item displays help information describing how to use the helpsystem.

Help: Online ManualsThis menu item lists the online manuals available for Dexterity. Themanuals are in Adobe Acrobat Portable Document (PDF) format.

Help: About Dexterity UtilitiesThis menu item displays the About Dexterity Utilities window.

Page 21: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

PA

RT

2: U

TILIT

Y R

EFE

RE

NC

E

Page 22: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

16 D E X T E R I T Y U T I L I T I E S

Part 2: Utility ReferenceUse this portion of the documentation to learn about the various utilityprocedures in Dexterity Utilities. The information is divided into thefollowing chapters:

• Chapter 3, “Transfer Utilities,” describes the utilities used to transferresources, strings and messages, windows, and dictionary modulesfrom one dictionary to another. It also describes how to transfer third-party resources from a Dynamics.dic dictionary to a newer version ofthe dictionary.

• Chapter 4, “Script Utilities,” describes how to compile selected formscripts, procedures and functions in your application. It also describeshow to search for and replace specified text in scripts.

• Chapter 5, “Resource Utilities,” describes how to change the core forcore resources and update series resources.

• Chapter 6, “Inquiry Utilities,” explains how to display informationabout forms and other resources in a dictionary.

• Chapter 7, “Dictionary Utilities,” explains how to synchronize andcompress dictionaries. Utilities to extract third-party resources from aDynamics.dic dictionary, add product information to a dictionary, cre-ate chunk dictionaries for installation, and compare dictionaries aredescribed. In addition, utilities used to create an international versionof an application, test for SQL compatibility, and update your applica-tion’s interface are described.

Page 23: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 17

P A R T 2 U T I L I T Y R E F E R E N C E

Utility Summary

The following table summarizes the utilities available for various resources.

Category Action Utility to use

Composites Transferring between dictionaries.

Transfer Resources utility. Select Composites as the resource type.

Constants Transferring between dictionaries.

Transfer Resources utility. Select Constants as the resource type.

Data Types Transferring between dictionaries.

Transfer Resources utility. Select Data Types as the resource type.

Dictionaries Adding product information. Product Information utility.

Comparing two dictionaries. Compare Dictionaries utility.

Compressing dictionaries. Compress Dictionary utility.

Creating chunk dictionaries. Auto-Chunk utility or the Create Chunk Dictionary utility.

Diagnosing dictionary problems.

Referential Diagnostics utility.

Extracting third-party resources from the Dynamics.dic dictionary.

Extract utility.

Preparing an application for use with SQL.

SQL Compatibility utility.

Preparing a dictionary for an update.

Compare Dictionaries utility.

Transferring an extracted dictionary back into the Dynamics.dic dictionary.

Developer Update utility.

Fields Transferring between dictionaries.

Transfer Resources utility. Select Fields as the resource type.

Formats Transferring between dictionaries.

Transfer Resources utility. Select Formats as the resource type.

Forms Displaying information about. Form Inquiry utility.

Transferring between dictionaries.

Transfer Resources utility. Select Forms as the resource type.

Functions Compiling global functions. Compile Global Functions utility.

Compiling form-level functions. Compile Form Scripts utility.

Searching function scripts. Search and Replace utility.

Transferring between dictionaries.

Transfer Resources utility. Select Global Functions as the resource type.

Global Variables Transferring between dictionaries.

Transfer Resources utility. Select Global Variables as the resource type.

Page 24: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

18 D E X T E R I T Y U T I L I T I E S

Messages Transferring between dictionaries.

Transfer Resources utility. Select Messages as the resource type.

Updating for international applications.

Transfer Strings and Messages utility.

Metafiles Transferring between dictionaries.

Transfer Resources utility. Select Metafiles as the resource type.

Pictures Transferring between dictionaries.

Transfer Resources utility. Select Generic Pictures as the resource type.

Procedures Compiling global procedures. Compile Global Procedures utility.

Compiling form-level procedures.

Compile Form Scripts utility.

Searching procedure scripts. Search and Replace utility.

Transferring between dictionaries.

Transfer Resources utility. Select Global Procedures as the resource type.

Reports Transferring between dictionaries.

Transfer Resources utility. Select Reports as the resource type.

Resources Changing core series of core resources.

Change Core utility.

Removing unused resources from a dictionary.

Global Resource Usage reportorLocal Resource Usage report.

Updating series resource lists. Series Resources utility.

Scripts Compiling form scripts. Compile Form Scripts utility.

Compiling global functions. Compile Global Functions utility.

Compiling global procedures. Compile Global Procedures utility.

Searching scripts. Search and Replace utility.

Transferring global functions between dictionaries.

Transfer Resources utility. Select Global Functions as the resource type.

Transferring global procedures between dictionaries.

Transfer Resources utility. Select Global Procedures as the resource type.

Strings Transferring between dictionaries.

Transfer Resources utility. Select Strings as the resource type.

Updating for international applications.

Transfer Strings and Messages utility.

Tables Transferring between dictionaries.

Transfer Resources utility. Select Tables as the resource type.

Table Groups Transferring between dictionaries.

Transfer Resources utility. Select Table Groups as the resource type.

Category Action Utility to use

Page 25: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 19

P A R T 2 U T I L I T Y R E F E R E N C E

Windows Expanding the size of windows and fields.

Expand Windows utility.

Transferring between dictionaries.

Transfer Window utility.

Updating a user interface. User Interface Conversion utility.

Category Action Utility to use

Page 26: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

20 D E X T E R I T Y U T I L I T I E S

Page 27: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 21

Chapter 3: Transfer UtilitiesThe Transfer utilities allow you to transfer resources, strings and messages,windows, and dictionary modules between dictionaries. You can alsotransfer third-party resources from a Dynamics.dic development dictionaryto a newer version of the dictionary.

To perform a transfer, open a source and a destination dictionary by choosing each item from the File menu and selecting the appropriate dictionary.

Before beginning a transfer, you must choose a source and a destinationdictionary. To open a source dictionary, choose Open Source Dictionaryfrom the File menu and select the appropriate dictionary in the dialog boxthat will appear. To open a destination dictionary, choose Open DestinationDictionary from the File menu and select a dictionary using the samemethod.

If you want to transfer resources, strings and messages, windows, ordictionary modules into a new dictionary, choose Create New Dictionaryfrom the File menu and specify the name and location of the dictionary inthe dialog box that will appear. Then choose Open Destination Dictionaryfrom the File menu and select the new dictionary.

Transferring items only copies them from the source dictionary to the destinationdictionary. Transferring doesn’t remove items from the source dictionary.

The following topics are discussed:

• Transferring resources• Transferring strings and messages• Transferring windows• Transferring dictionary modules• Developer update

Page 28: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

22 D E X T E R I T Y U T I L I T I E S

Transferring resources

Resources are elements of application dictionaries, such as forms, tablesand data types, that you’ve created using Dexterity. Transferring resourcesallows you to save time by copying a resource from one dictionary toanother, instead of re-creating it in the destination dictionary.

To begin a transfer, select a source and a destination dictionary, then chooseResources from the Transfer menu to display the Transfer Resourceswindow, shown in the following illustration.

1. Mark transfer options.Mark the appropriate transfer options for the resources you want totransfer. The selections you make will be applied to all transferredresources.

Skip Related Tables Mark this option if you are transferring tables,and you want to transfer only the selected tables. Dexterity Utilitieswon’t transfer tables related to the selected tables.

These are the optionsfor the transfer.

These drop-down listsspecify the series and type

of resource to transfer.

The resources to transferwill appear in this list.

Page 29: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 23

C H A P T E R 3 T R A N S F E R U T I L I T I E S

Replace Referenced Resources This applies only to global fields,global data types and formats that are referenced by other resources. Ifthis option is marked and the resources you’re transferring referenceglobal fields, global data types or formats that already exist in thedestination dictionary, these referenced resources will be replaced. Ifthis option isn’t marked, only resources with names that are differentfrom resources in the destination dictionary will be added; the existingreferenced resources in the destination dictionary won’t be replaced.

If you replace referenced resources, be sure the Synchronize Dictionary optionis marked. This will ensure any updated resources will be referenced properlyin the destination dictionary.

As an example, suppose you’re transferring a form that uses theCustomer Number field. If the Customer Number field doesn’t exist inthe destination dictionary, it will be added to the destination dictionary.If the Customer Number field already exists in the destinationdictionary, and Replace Referenced Resources isn’t marked, theCustomer Number field won’t be replaced in the destination dictionary.If the Customer Number field already exists in the destinationdictionary, and Replace Referenced Resources is marked, the field willbe replaced in the destination dictionary.

In the previous example, you would mark the Replace ReferencedResources option if you had made changes to the Customer Numberfield, data type or format and wanted these changes transferred to thedestination dictionary and used for the Customer Number field thatalready existed there.

If you’re transferring resources that don’t already exist in a destinationdictionary or if the global fields, global data types or formats referencedby the resources you’re transferring haven’t changed, don’t markReplace Referenced Resources. In these cases, transferring referencedresources won’t serve any purpose and the transfer could take muchmore time.

If you mark the Replace Referenced Resources option, all referenced resourcesfor the items you’re transferring will be replaced. If you want to replacereferenced resources for only a certain resource such as an individual field,transfer the resources individually.

Page 30: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

24 D E X T E R I T Y U T I L I T I E S

Create Series Resources Mark this option if you want to haveseries resources automatically created after the transfer and compileprocesses are completed. Series resources are lists of the forms, reports,tables and table groups in an application. These lists are used forsecurity, palettes, table maintenance and the Work menu. Seriesresources are discussed in further detail in Chapter 5, “ResourceUtilities.”

Synchronize Dictionary Mark this option if you want toautomatically synchronize the destination dictionary as the finalprocess in the transfer. Synchronizing a dictionary will recalculatebuffer sizes, check all relationships between resources and ensure theproper data types and fields are referenced throughout the dictionary.Synchronizing is especially necessary if you’ve replaced referencedresources in the destination dictionary.

If this option isn’t marked, you should synchronize the dictionary oncethe transfer is complete by choosing Synchronize from the Utilitiesmenu.

Compile Scripts Mark this option if you want all the scripts for thetransferred items to be compiled after they’ve been transferred to thedestination dictionary. If you mark the Compile Scripts option, amessage will be displayed indicating whether all of the scriptscompiled. If all scripts weren’t compiled, refer to the transfer report thatwill be created for a list of the compiler errors that occurred.

Because resources could be renumbered when they’re transferred, any scriptstransferred must be compiled when they’re transferred to avoid “Not Found”errors when you attempt to use the destination dictionary. If any scripts will betransferred, be sure to mark the Compile Scripts option.

If the Compile Scripts option isn’t marked, the transferred scripts canbe compiled using the Compile Form Scripts, Compile GlobalProcedures and Compile Global Functions utilities, which are discussedin Chapter 4, “Script Utilities.”

Page 31: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 25

C H A P T E R 3 T R A N S F E R U T I L I T I E S

Compiler Errors Only Mark this option if the only status messagesyou want printed on the transfer report are compiler errors. If thisoption isn’t marked, all status messages will be printed, includingcompiler error messages.

Compile Debug Mark this option to include debugging informationin scripts, and to compile the debug and assert statements in your code.If you don’t mark this option, you won’t be able to use the ScriptDebugger, and the debug and assert statements won’t be executed. Werecommend unmarking this option in the final version of yourapplication to ensure optimal script performance.

2. Select a series and resource type. Select the series to which the resources being transferred belong. Forexample, if the resources to be transferred are part of the Sales series,select Sales and the existing Sales series resources will appear in theResources list.

You can set a default series prior to opening the Transfer Resources window.Select the appropriate series from the Series list located on the toolbar. Oncespecified, the selected series will appear as the default whenever a series can beselected in a window.

Select the resource type that you want to transfer from the ResourceType list. Once the type is selected, you can select specific resources ofthat type to transfer.

You can transfer resources from different series and of different types atthe same time. Insert the appropriate resources, as described in the nextstep, then select a different series or type.

Use the Show drop-down list to specify whether main product, third-party, or all resources are displayed in the Resources list.

3. Select resources to transfer.Select the resource you want to transfer by highlighting the resource inthe Resources list and clicking Insert to display it in the SelectedResources list. Double-clicking the selection will perform the samefunction. Click the Insert All button to transfer all listed resources. Youcan use the Remove and Remove All buttons to remove items from theSelected Resources list.

Page 32: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

26 D E X T E R I T Y U T I L I T I E S

Resources are transferred based upon their names. If a resource of thesame type with the same name exists in the destination dictionary, itwill be replaced. The resource ID for the replaced resource in thedestination dictionary will not change. If the resource doesn’t exist inthe destination dictionary, it will be added and will be assigned the nextavailable resource ID for that type of resource. It is very likely that theresource ID of the resource in the destination dictionary will bedifferent than it was in the source dictionary.

When selecting the resources to transfer, keep in mind that manyresources related to the resource you’re transferring will also betransferred. For example, when you transfer a field resource, the datatype, composite, format and static picture resources for the field aretransferred as well; you don’t have to transfer the related resourcesindividually. The following table lists the additional resources that aretransferred when you transfer a specific resource.

Resource being transferred Additional resources transferred

Composites Fields and data types for fields in the composite

Constants None

Data types Composite for data typeFormat for data typeStatic pictures or text

Fields Data type for fieldComposite for data typeFormat for data typeStatic pictures or text

Forms WindowsGlobal fields used in the formData types for global fields\Composites for data typesFormats for data typesStatic pictures or textLocal data types and local fieldsStrings in windowsPictures and native picturesForm, window and field scriptsForm functionsForm proceduresForm menus and scriptsScrolling windows and scriptsTables attached to the formAny tables related to attached tables

Page 33: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 27

C H A P T E R 3 T R A N S F E R U T I L I T I E S

4. Set the series list on the toolbar.Refer to Appendix A, “Dictionary Structure,” for information about dictionary cores and core resources.

The series list on the right side of the toolbar indicates the dictionarycore in the destination dictionary in which any new core resources willbe created. Set this list to indicate the appropriate dictionary core. Thedictionary core any new core resources are created in won’t affectwhether the transfer is successful, but it’s a good idea to create the coreresources for your application in one dictionary core because they’ll beeasier to manage.

Formats None

Functions None

Generic pictures None

Globals Global field for the global variableData type for fieldComposite for data typeFormat for data type

Messages None

Metafiles None

Procedures None

Reports Strings used for the reportTables attached to the reportTable relationshipsAny related tables

Strings None

Tables Global fields in the tableData types for global fieldsComposites for fieldsFormats for fieldsTable relationshipsAny related tables *Keys for the tableRestrictions applied to the table

Table groups Tables in the table groupTable relationshipsAny related tables

* If the Skip Related Tables option is not marked

Resource being transferred Additional resources transferred

Page 34: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

28 D E X T E R I T Y U T I L I T I E S

5. Transfer the selected resources.Click the Transfer button to transfer the resources in the SelectedResources list to the destination dictionary. The Report File Namedialog box will appear. Enter the name and location for the TransferResource Status Report file, then click OK to continue the transferprocess, or click Cancel to return to the Transfer Resources window.

6. Use the status report to verify the transfer.Search the Dexterity online help for Compiler messages to see a list of compiler error messages.

Once the transfer is complete, the status report will be printed to a textfile. This report will list everything that was transferred and whether itwas simply added to the destination dictionary or whether it replacedan existing resource in the destination dictionary. It also will list anycompiler errors that occurred if you chose to compile scripts that weretransferred.

The most common problem when transferring resources is errorscompiling scripts. Use the Transfer Resource Status Report to trackcompiling errors. Common reasons for compiling errors include:

Refer to Chapter 4, “Script Utilities,” for information about using the Compile Form Scripts, Compile Global Procedures and Compile Global Functions utilities.

• You haven’t transferred all necessary resources to the destinationdictionary, such as constants, global variables, or other forms.Transfer these additional resources and then use the Compile FormScripts, Compile Global Procedures and Compile Global Functionsutilities to compile scripts.

• You used the Save Source menu item while in the script editor, soonly the script source was saved. Determine whether you trans-ferred any scripts for which only source was saved. If these scriptscontain any errors, they won’t be compiled properly.

Page 35: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 29

C H A P T E R 3 T R A N S F E R U T I L I T I E S

Transferring strings and messages

A string is any static text that appears as a prompt, static text value,window display name, and so on. A message is created using the Messageswindow in Dexterity and referenced using the getmsg() function.

This utility is used only for making interna-tional versions of an application.

The Transfer Strings and Messages utility is used to transfer all strings andmessages in a dictionary to a separate dictionary so they can be updated forinternational versions of an application. After they’ve been updated, thestrings and messages are transferred back into the application dictionaryusing this same utility.

Refer to Chapter 23, “Strings,” in Volume 1 of the Dexterity Programmer’s Guide for information about the Strings resource.

The resource IDs of the strings and messages, not the string or messagecontent, are used to determine whether a string or message exists in thedestination dictionary. Also, string and message resources aren’trenumbered when they’re transferred using the Transfer Strings andMessages utility. For these reasons, we recommend that you use this utilityonly to transfer strings and messages from an application dictionary to aseparate dictionary for updating using the Strings resource, and then backinto the original application dictionary. If you want to transfer strings ormessages from one dictionary to another for other purposes, use theTransfer Resources utility.

To begin a transfer, select a source and a destination dictionary, then chooseStrings and Messages from the Transfer menu to display the TransferStrings and Messages window, shown in the following illustration.

1. Select resources to transfer.Specify whether you want to transfer strings, messages or both bymaking the appropriate selection from the Transfer Resources list.

These lists select the typeof resources to transferand how the resources

will be transferred.

Page 36: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

30 D E X T E R I T Y U T I L I T I E S

2. Select a transfer type.Use the Transfer Type list to specify whether only new strings ormessages will be added to the destination dictionary, or whetherexisting strings or messages will be replaced and new ones added. Ifyou select Add Only, only those strings and messages withoutcorresponding strings and messages (those with the same resource IDs)in the destination dictionary will be transferred. If you select Replaceand Add, any string or message in the destination dictionary that hasthe same resource ID as one being transferred will be replaced, and anynew strings or messages will be added.

3. Transfer the selected resources.Click Transfer to transfer the strings, messages or both from the sourcedictionary to the destination dictionary. The Report File Name dialogbox will appear. Enter the name and location for the Transfer Stringsand Messages Status Report file, then click OK to continue the transferprocess, or click Cancel to return to the Transfer Strings and Messageswindow.

4. Use the status report to verify the transfer.Once the transfer is complete, the status report will be printed to a textfile. The report lists everything that was transferred and whether it wassimply added to the destination dictionary or replaced an existingstring or message.

Page 37: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 31

C H A P T E R 3 T R A N S F E R U T I L I T I E S

Transferring windows

Dexterity Utilities allows you to transfer a single window from a form in asource dictionary to a form having the same name in a destinationdictionary. This utility allows new windows in multi-window forms thatare prototyped by one programmer to be transferred to the dictionary ofanother programmer without affecting any other work that may have beendone in the destination dictionary.

If the window exists in the destination dictionary, it will be replaced;otherwise, it will be added to the form it belongs to. After a window istransferred in this manner, use the Compile Form Scripts utility describedin Chapter 4, “Script Utilities,” to compile any window or field scripts thatwere transferred.

To begin a transfer, select a source and a destination dictionary, then chooseWindow from the Transfer menu to display the Transfer Window window,shown in the following illustration.

1. Select the window to transfer.From the Forms list, select the form containing the window you want totransfer. The windows in the form will appear in the Windows list.Select the window you want to transfer.

The window selected inthis list will be transferred

to the destinationdictionary.

Page 38: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

32 D E X T E R I T Y U T I L I T I E S

2. Transfer the selected window.Click the Transfer button to transfer the selected window to thedestination dictionary. The Report File Name dialog box will appear.Enter the name and location for the Transfer Window Status Report file,then click OK to continue the transfer process, or click Cancel to returnto the Transfer Window window.

Refer to Chapter 4, “Script Utilities,” for information about compiling window and field scripts.

When you transfer a window, you’re also transferring any scrollingwindows, global fields, global data types, local fields, local data types,composites, formats, strings and pictures used for the window thatdon’t already exist in the destination dictionary. Any window, scrollingwindow or field scripts will be transferred as well, though they won’tbe compiled. Use the Compile Form Scripts utility to compile thesescripts.

If a window exists in the destination dictionary with the same name as the onebeing transferred, that window will be replaced when the transfer occurs. Forthat reason, we recommend that you be aware of the windows included in eachdictionary before performing the transfer. The Forms option in the Inquirymenu allows you to view names of windows associated with different formswithin a dictionary.

3. Use the status report to verify the transfer.Once the transfer is complete, the status report will be printed to a textfile. The report lists everything that was transferred and whether it wasadded to the destination dictionary or replaced an existing resource.

Page 39: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 33

C H A P T E R 3 T R A N S F E R U T I L I T I E S

Transferring dictionary modules

Refer to Appendix A, “Dictionary Structure,” for information about dictionary modules and the structure of a dictionary.

The transfer dictionary module utility is useful when creating a “subset”dictionary without the slower process of transferring and compiling.

For example, you may want to create a version of an application dictionarythat doesn’t include certain forms or reports. To do so, you would use thisutility to transfer all dictionary modules from the source dictionary to anewly created destination dictionary, with the exception of the formmodules and report modules for the items you’re not including.

This utility is not intended to be used as a general-purpose tool to transferresources between dictionaries. It can be used to transfer modules betweendictionaries only if the resource IDs for all resources are the same in both thesource and destination dictionaries.

The transfer dictionary module utility is also used when creatingapplications that integrate with Microsoft Dynamics™ GP. This utility isused to transfer the dictionary modules for modified forms and reportsfrom the Dynamics.dic dictionary to a third-party extracted dictionary.Refer to the Integration Guide for more information about using this utility.

To begin a transfer, select a source and a destination dictionary, then chooseDictionary Module from the Transfer menu to display the TransferDictionary Module window, shown in the following illustration.

1. Select a series and module type.Select the appropriate series from the Series list, then select the moduletype you want to transfer from the Dictionary Module Type list. The

These lists specify the seriesand module type of the

modules displayed in theSource Dictionary Modules list.

The Transfer button copiesthe selected module to the

destination dictionary.

The Delete button removesthe selected module from the

destination dictionary.

Page 40: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

34 D E X T E R I T Y U T I L I T I E S

modules of the specified type in that series will appear in the SourceDictionary Modules list.

You can set a default series prior to opening the Transfer Dictionary Modulewindow. Select the appropriate series from the Series list located on the toolbar.Once specified, the selected series will appear as the default whenever a seriescan be selected in a window.

2. Transfer dictionary modules.Select a module and click Transfer to transfer it to the destinationdictionary. Double-clicking a module also transfers it.

Clicking Transfer or All performs the actual transfer. To cancel the transfer,you must individually delete any modules transferred to the destinationdictionary.

If you want to delete a module from the destination dictionary, selectthe module name and click Delete.

The Dictionary Module Size and Total Size fields at the bottom of eachlist show the size of the selected module, and the combined sizes of allmodules in the list.

3. Click Close to complete the transfer process.Clicking Close will synchronize core tables in the destination dictionaryand close the Transfer Dictionary Module window. Synchronizing coretables creates an internal directory in the destination dictionary soresources can be accessed.

Page 41: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 35

C H A P T E R 3 T R A N S F E R U T I L I T I E S

Developer updateThe Developer Update utility is used to transfer third-party resources (allthose with resource IDs of 22,000 or greater) from an extracted dictionaryback into the Dynamics.dic dictionary. This can be useful if you have anextracted dictionary that you created with the Extract utility, but no longerhave the development dictionary you used to create your third-partyproduct.

The Developer Update utility is no longer used to move integrating applications tonew versions of Microsoft Dynamics GP. You must now use the source code controlcapabilities in Dexterity to update your integrating applications. Refer to Chapter43, “Updating an Application,” in the Integration Guide for a complete descriptionof this process.

When you transfer an extracted dictionary back into the Dynamics.dicdictionary, it’s essential that you are transferring resources into exactly thesame version of the Dynamics.dic dictionary that they were extracted from.If the versions of the dictionary aren’t the same, you will encounter errors inyour application, such as incorrect strings being displayed.

When transferring an extracted dictionary, the Developer Update utility canalso remake any modifications you’ve made to alternate forms in MicrosoftDynamics GP. To use this capability, you must have an original, unalteredversion of the Dynamics.dic dictionary available.

To begin an update, select the extracted dictionary containing third-partyresources as the source dictionary and the corresponding version of theDynamics.dic dictionary as the destination dictionary. Then chooseDeveloper Update from the Transfer menu to display the Developer Updatewindow, shown in the following illustration.

Page 42: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

36 D E X T E R I T Y U T I L I T I E S

1. Select alternate forms (optional).If you made modifications to Microsoft Dynamics GP forms and wantthose changes transferred to the destination dictionary, mark theAlternate Forms option. A file dialog will appear, asking you to selectan editable dictionary. Select an unmodified Dynamics.dic dictionarythat is the same version as the dictionary containing yourmodifications. The utility will use this unmodified dictionary as abaseline to find out what modifications you made.

After a moment, the names of all the forms you modified will appear inthe Alternate Forms list. Select each form for which you wantmodifications transferred and click Insert to display it in the SelectedForms list.

2. Perform the transfer.Click the Transfer button to transfer the third-party resources to thedestination dictionary and make modifications to any alternate formsyou have selected. The Report File Name dialog box will appear. Enterthe name and location for the Developer Update Status Report file, thenclick OK to continue the process, or click Cancel to return to theDeveloper Update window.

3. Use the status report to verify the transfer.Once the transfer is complete, the status report will be printed to a textfile. This report lists all resources that were transferred to thedestination dictionary and any errors that occurred while updatingalternate forms.

Refer to Chapter 4, “Script Utilities,” for information about the Compile Form Scripts, Compile Global Procedures and Compile Global Functions utilities.

In most cases, your third-party application will work after it has beentransferred back into the Dynamics.dic dictionary. If your applicationcan’t locate some resources, you may have to recompile your scripts inthe destination dictionary using the Compile Form Scripts, CompileGlobal Procedures and Compile Global Functions utilities.

Page 43: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 37

Chapter 4: Script UtilitiesThe script utilities allow you to compile all scripts for a specific form orcompile the global procedures or global functions in an applicationdictionary. You can also search for a specific text string and replace it with anew string or you can simply search for a text string to find where it occursin scripts.

Before using the script utilities, you must choose an editable dictionary. Toopen an editable dictionary, choose Open Editable Dictionary from the Filemenu and select the appropriate dictionary in the dialog box that willappear.

The following topics are discussed:

• Compiling form scripts• Compiling global procedures• Compiling global functions• Searching and replacing

Page 44: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

38 D E X T E R I T Y U T I L I T I E S

Compiling form scripts

This utility compiles all scripts associated with a form, including formprocedure scripts, form function scripts, form pre and post scripts, windowscripts, scrolling window scripts, and all field scripts. Use this utility in thefollowing situations:

• If you used the Transfer Window utility to transfer a window into a dic-tionary, use the Compile Form Scripts utility to compile the scripts forthe window.

• If you transferred forms into a dictionary using the Transfer Resourcesutility, but didn’t have the Compile Scripts option marked, you’ll usethe Compile Form Scripts utility to compile those scripts.

• If you transferred resources into a dictionary using the TransferResources utility, but some scripts didn’t compile because resourceswere missing from the destination dictionary, use the Compile FormScripts utility to compile the uncompiled scripts after the missingresources have been included.

• Before you send out an application, it’s a good idea to compile allscripts using the Compile Form Scripts utility. This ensures that allresources referenced by scripts are included in the dictionary, that thelatest version of scripts are being used, and that scripts don’t containsyntax errors.

To begin compiling scripts for a form, select an editable dictionary, thenchoose Compile Form Scripts from the Scripts menu to display the CompileForm Scripts window, shown in the following illustration.

This list specifies the seriesof the forms displayed in

the Forms list.

This is a list of the formsin the specified series.

The scripts for the formsin this list will be

compiled.

Page 45: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 39

C H A P T E R 4 S C R I P T U T I L I T I E S

1. Select a series.Select the series that includes the form for which scripts are beingcompiled. The forms in that series will appear in the Forms list.

You can set a default series prior to beginning the compiling process. Select aseries from the Series list located on the toolbar. Once specified, the selectedseries will appear as the default whenever a series can be selected in a window.

2. Select compiling options.The following options control how the scripts will be compiled.

Compiler Errors Only Mark this option to include only compilererror messages in the status report that is printed after the scripts arecompiled. Otherwise, all status messages will be saved to the report.

Compile Debug Mark this option to include debugging informationin scripts, and to compile the debug and assert statements in your code.If you don’t mark this option, you won’t be able to use the ScriptDebugger, and the debug and assert statements won’t be executed. Werecommend unmarking this option in the final version of yourapplication to ensure optimal script performance.

3. Select scripts to compile.Select the scripts you want to compile by selecting each form name andclicking Insert to add it to the list of selected forms. Double-clickingyour selection will perform the same function. You can select andcompile scripts from several series at one time. If you want to compilescripts for all forms in the selected series, click the Insert All button.You can use the Remove and Remove All buttons to remove forms fromthe Selected Forms list.

4. Compile scripts.Click the Compile button to compile the scripts for the selected forms.The Report File Name dialog box will appear. Enter the name andlocation for the Compile Form Scripts Status Report file, then click OKto continue the compiling process, or click Cancel to return to theCompile Form Scripts window.

5. Use the status report to verify that scripts compiled.Search the Dexterity online help for Compiler messages to see a list of compiler error messages.

Once compiling is complete, the status report will be printed to a textfile. This report lists each script along with a message that indicateswhether the script was compiled successfully. If the script wasn’tcompiled successfully, the message will indicate the compiler error thatoccurred. If you mark Compiler Errors Only, only information aboutscripts that couldn’t be compiled will appear in the report.

Page 46: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

40 D E X T E R I T Y U T I L I T I E S

Compiling global procedures

Refer to Compiling form scripts on page 38 if you want to compile form procedure scripts.

This utility is used to compile specified global procedures in an applicationdictionary. If your application uses global procedures, you may need to usethis utility under the following circumstances:

• If you transferred global procedures using the Transfer Resources util-ity, but didn’t have the Compile Scripts option marked, use the Com-pile Global Procedures utility to compile those global procedures.

• If you transferred global procedures into a dictionary using the TransferResources utility, but some global procedures couldn’t be compiledbecause resources were missing from the destination dictionary, use theCompile Global Procedures utility to compile the uncompiled globalprocedures after the missing resources have been included.

• Before you send out your application, it’s a good idea to compile allglobal procedures using the Compile Global Procedures utility. Thisensures that all resources referenced by the global procedures areincluded in the dictionary, that the latest version of scripts are beingused, and that the global procedures don’t contain any syntax errors.

To begin compiling global procedures, select an editable dictionary, thenchoose Compile Global Procedures from the Scripts menu to display theCompile Global Procedures window, shown in the following illustration.

This list specifies the seriesof the global procedures

displayed in the Scripts list.

This is a list of the globalprocedures in the

specified series.

The global procedures inthis list will be compiled.

Page 47: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 41

C H A P T E R 4 S C R I P T U T I L I T I E S

1. Select a series.Select the series that includes the global procedures being compiled.The global procedures in that series will appear in the Scripts list.

You can set a default series prior to beginning the compiling process. Select aseries from the Series list located on the toolbar. Once specified, the selectedseries will appear as the default whenever a series can be selected in a window.

2. Select compiling options.The following options control how the scripts will be compiled.

Compiler Errors Only Mark this option to include only compilererror messages in the status report that is printed after the globalprocedures are compiled. Otherwise, all status messages will be savedto the report.

Compile Debug Mark this option to include debugging informationin scripts, and to compile the debug and assert statements in your code.If you don’t mark this option, you won’t be able to use the ScriptDebugger, and the debug and assert statements won’t be executed. Werecommend unmarking this option in the final version of yourapplication to ensure optimal script performance.

3. Select scripts to compile.Select the global procedures to compile by selecting each one andclicking Insert to add it to the list of selected scripts. Double-clicking ascript performs the same function. You can select and compileprocedures from several series at one time. To compile all globalprocedures in the selected series, click Insert All. Use the Remove andRemove All buttons to remove scripts from the Selected Scripts list.

4. Compile scripts.Click the Compile button to compile the selected global procedures.The Report File Name dialog box will appear. Enter the name andlocation for the Compile Global Procedures Status Report file, then clickOK to continue the compiling process, or click Cancel to return to theCompile Global Procedures window.

5. Use the status report to verify that scripts compiled.Search the Dexterity online help for Compiler messages to see a list of compiler error messages.

Once compiling is complete, the status report will be printed to a textfile. This report lists each global procedure along with a message thatindicates whether it was compiled successfully. If the global procedurewasn’t compiled successfully, the message indicates the compiler errorthat occurred. If you mark Compiler Errors Only, only informationabout scripts that couldn’t be compiled will appear in the report.

Page 48: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

42 D E X T E R I T Y U T I L I T I E S

Compiling global functions

Refer to Compiling form scripts on page 38 if you want to compile form function scripts.

This utility is used to compile specified global functions in an applicationdictionary. If your application uses global functions, you may need to usethis utility under the following circumstances:

• If you transferred global functions using the Transfer Resources utility,but didn’t have the Compile Scripts option marked, use the CompileGlobal Functions utility to compile those global functions.

• If you transferred global functions into a dictionary using the TransferResources utility, but some global functions couldn’t be compiledbecause resources were missing from the destination dictionary, use theCompile Global Functions utility to compile the uncompiled globalfunctions after the missing resources have been included.

• Before you send out your application, it’s a good idea to compile allglobal functions using the Compile Global Functions utility. Thisensures that all resources referenced by the global functions areincluded in the dictionary, that the latest version of scripts are beingused, and that the global functions don’t contain any syntax errors.

To begin compiling global functions, select an editable dictionary, thenchoose Compile Global Functions from the Scripts menu to display theCompile Global Functions window, shown in the following illustration.

This list specifies the seriesof the global functions

displayed in the Scripts list.

This is a list of the globalfunctions in the specified

series.

The global functions inthis list will be compiled.

Page 49: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 43

C H A P T E R 4 S C R I P T U T I L I T I E S

1. Select a series.Select the series that includes the global functions being compiled. Theglobal functions in that series will appear in the Scripts list.

You can set a default series prior to beginning the compiling process. Select aseries from the Series list located on the toolbar. Once specified, the selectedseries will appear as the default whenever a series can be selected in a window.

2. Select compiling options.The following options control how scripts will be compiled.

Compiler Errors Only Mark this option to include only compilererror messages in the status report that is printed after the globalfunctions are compiled. Otherwise, all status messages will be saved tothe report.

Compile Debug Mark this option to include debugging informationin scripts, and to compile the debug and assert statements in your code.If you don’t mark this option, you won’t be able to use the ScriptDebugger, and the debug and assert statements won’t be executed. Werecommend unmarking this option in the final version of yourapplication to ensure optimal script performance.

3. Select scripts to compile.Select the global functions to compile by selecting each one and clickingInsert to add it to the list of selected scripts. Double-clicking a scriptperforms the same function. You can select and compile functions fromseveral series at one time. To compile all global functions in the selectedseries, click Insert All. Use the Remove and Remove All buttons toremove scripts from the Selected Scripts list.

4. Compile scripts.Click the Compile button to compile the selected global functions. TheReport File Name dialog box will appear. Enter the name and locationfor the Compile Global Functions Status Report file, then click OK tocontinue the compiling process, or click Cancel to return to the CompileGlobal Functions window.

5. Use the status report to verify that scripts compiled.Search the Dexterity online help for Compiler messages to see a list of compiler error messages.

Once compiling is complete, the status report will be printed to a textfile. This report lists each global function along with a message thatindicates whether it was compiled successfully. If the global functionwasn’t compiled successfully, the message indicates the compiler errorthat occurred. If you mark Compiler Errors Only, only informationabout scripts that couldn’t be compiled will appear in the report.

Page 50: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

44 D E X T E R I T Y U T I L I T I E S

Searching and replacing

This utility allows you to search script source for a specified text string and,if you wish, replace the text string with another. You can select to search allforms’ scripts, a selected form’s scripts, any global procedures, any globalfunctions or a combination of these. This utility is useful if you’ve changedthe name of a resource, such as a field or window, and need to update thereferences to the resource in your application’s scripts.

To begin a search, select an editable dictionary, then choose Search andReplace from the Scripts menu to display the Search and Replace window,shown in the following illustration.

1. Enter the text to search for.In the Search For field, enter the text that you want to find. The entrycan be up to 255 characters. Note that the search is case-sensitive.

2. Enter a replacement string (optional).Enter a replacement string, if desired. The entry can be up to 255characters. If this field is left blank, the occurrences of the string you’researching for will be listed on the status report, but no text will bereplaced.

These lists specify thetype and series of the

resources displayed in theResources list.

This is a list of the forms,global procedures, or

global functions in thespecified series.

The scripts in this listwill be searched.

Page 51: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 45

C H A P T E R 4 S C R I P T U T I L I T I E S

Use caution when replacing strings using this utility. Any occurrences of thespecified string will be replaced, including partial strings. For instance, if youreplaced “Customer” with “Client”, the field name Customer_Number wouldbecome Client_Number. You may want to search for the specified string andview the status report first. This will allow you to see which items will bereplaced before you perform the replace operation.

3. Select the series and resource type.Select the series containing the script to be searched, then select theappropriate resource type. Select Forms to display a list of all forms inthe selected series. Select Global Procedures to display a list of theglobal procedures in the selected series. Select Global Functions todisplay a list of the global functions in the selected series.

You can set a default series prior to beginning the search and replace process.Select a series from the Series list located on the toolbar. Once specified, theselected series will appear as the default whenever a series can be selected in awindow.

4. Select the scripts to search.From the Resources list, select the global procedures, global functionsor the forms containing the scripts you want to search and click Insertto add items to the Selected Scripts list. Double-clicking your selectionwill perform the same function. If you want to search all globalprocedures, global functions or form scripts in a series, simply click theInsert All button. You can use the Remove and Remove All buttons toremove scripts from the Selected Scripts list.

5. Search the selected forms or scripts.Click the Search button to search for the specified string. The ReportFile Name dialog box will appear, allowing you to enter the name andlocation for the Search and Replace Report file. Click OK to continuethe search and replace process, or click Cancel to return to the Searchand Replace window. If you continue the search and replace processand you specified replacement text, any occurrences of the text beingsearched for will be replaced.

6. Use the status report to verify the search.The status report lists all occurrences of the text you searched for. If youonly searched for a string, the report will list what type of script thestring was found in, the script name, the line number and actual linewhere the string was found. If you replaced the string, the report willlist the type of script the string was found in, the script name, and thenumber of occurrences of the string that were replaced.

Page 52: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

46 D E X T E R I T Y U T I L I T I E S

Page 53: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 47

Chapter 5: Resource UtilitiesThe resource utilities allow you to perform maintenance actions such asupdating series resource lists. Before performing a resource procedure, youmust choose an editable dictionary. To open an editable dictionary, chooseOpen Editable Dictionary from the File menu and select the appropriatedictionary in the dialog box that will appear.

The following topics are discussed:

• Changing the dictionary core• Updating series resources

Page 54: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

48 D E X T E R I T Y U T I L I T I E S

Changing the dictionary core

Refer to Appendix A, “Dictionary Structure,” for more information about core resources and dictionary cores.

The Change Core utility allows you to change which dictionary core a coreresource is located in. Each core resource is located in one of the sevendictionary cores:

• System• Financial• Sales• Purchasing• Inventory• Payroll• Project

Large applications, such as Microsoft Dynamics GP, have thousands of coreresources. Because of limitations in Windows 3.1 and to better manage all ofthese core resources, the core resources are grouped into dictionary cores.These dictionary cores correspond to series for Microsoft Dynamics GP. Forthis reason, the dictionary cores are sometimes referred to as “series.” If acore resource was inadvertently placed in the incorrect dictionary core, theChange Core utility is used to move it to the proper dictionary core.

The series associated with forms, reports, tables and table groups have no directrelation to the “series” that correspond to the dictionary cores. The series associatedwith forms, reports, tables and table groups are used for the series resource lists,which are described in the Updating series resources section, later in this chapter.

When you change which dictionary core a table is located in, you alsochange the location of the keys and table relationships for that table.Changing which dictionary core a table is located in doesn’t change theseries marked on the table resource itself as seen in Dexterity. If you changethe dictionary core a field is located in, the location of the physical nameresource that corresponds to that field is changed as well.

Only global fields used in tables require physical names. For this reason, thephysical name for each global field is stored as a separate resource. When aglobal field is created, it’s stored in the core specified by the Default Coredrop-down list. If a physical name is added later with the Default Core setto a different core, the physical name won’t be in the same core as the globalfield. The Change Core utility can be used to remedy this situation.

Page 55: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 49

C H A P T E R 5 R E S O U R C E U T I L I T I E S

To begin using the Change Core utility, select an editable dictionary, thenchoose Change Core from the Resources menu to display the Change Corewindow, shown in the following illustration.

1. Select the current core and new core for the resource.Use the Core drop-down list to select the dictionary core containing theresource that you want to move to a different dictionary core. Use theNew Core drop-down list to select the dictionary core that you want tomove the resource to.

2. Select the resource type and resource to move.Select the appropriate resource type; the available resources of that typewill appear in the Resources list. Select the specific resource that youwant to move to the new dictionary core.

3. Move the resource to the new dictionary core.Click the Change Core button to move the selected resource to the newdictionary core.

These drop-down lists specifythe current dictionary coreand the dictionary core to

which the selected resourcewill be moved.

The resource selected inthis list will be moved tothe new dictionary core.

Page 56: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

50 D E X T E R I T Y U T I L I T I E S

Updating series resources

This utility allows you to update the series resource lists in a dictionary.Series resource lists contain the names of forms, reports, tables and tablegroups in the application dictionary, grouped according to their assignedseries. Series resource lists allow the names of resources of a specific typeand series to be retrieved quickly, instead of requiring that a script checkeach resource and determine its series. If necessary, you can use thisprocedure to manually update the series resource lists.

If you want to update all series resource lists for a dictionary, mark the All ResourceTypes and All Series options and click Update. All series resource lists will beupdated. If you want to specify the type and series to be updated, follow the steps inthe following procedure.

To update series resources, select an editable dictionary, then choose SeriesResources from the Resources menu to display the Series Resourceswindow, shown in the following illustration.

1. Select a resource type and series.Select the appropriate resource type and series from the respective lists.You can select from four types of resources: forms, reports, tables andtable groups.

These drop-down listsspecify the resource type

and series of the resourcesin the Resources list.

Mark these two options toupdate all of the series

resources lists for thedictionary.

Page 57: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 51

C H A P T E R 5 R E S O U R C E U T I L I T I E S

Once your selections are made, the Resources list will automaticallydisplay the names of any resources of the specified type and series thatare in the series resource lists. This list is informational only. It indicateswhich resources of the specified type and series currently have entriesin the series resource lists. You won’t see additions, deletions orchanges to the series resource lists until you update them.

2. Mark resource options.The following options allow you to specify how extensive the updatewill be.

All Resource Types Mark this option if you want to update theseries lists for all resource types (forms, reports, tables and tablegroups) in the selected series.

All Series Mark this option if you want to update the series resourcelists for resources of the selected type for every series.

Mark both options if you want to update all series resource lists.

3. Update the dictionary.After the resource type and series are selected and you’ve marked youroptions, click Update to complete the process.

Page 58: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

52 D E X T E R I T Y U T I L I T I E S

Page 59: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 53

Chapter 6: Inquiry UtilitiesThe inquiry utilities give you the ability to view summary informationabout selected forms and resources. The two options available from thismenu are Forms and Resources. Form inquiry allows you to view all formsin a dictionary by series, and the windows, menus and tables associatedwith each. Resource inquiry allows you to view the resources in adictionary by series and resource type, such as table, field or data type.

Before beginning an inquiry, you must choose a source dictionary. To open asource dictionary, choose Open Source Dictionary from the File menu andselect the appropriate dictionary in the dialog box that will appear.

The following topics are discussed:

• Viewing form information• Viewing resource information

Page 60: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

54 D E X T E R I T Y U T I L I T I E S

Viewing form information

The Form Inquiry window allows you to list forms by series and view thewindows, menus and tables included in each form.

To perform a form inquiry, select a source dictionary, then choose Formsfrom the Inquiry menu to display the Form Inquiry window, shown in thefollowing illustration.

1. Select a series.Select the series that includes the form you wish to view. The forms inthe selected series will appear in the Forms list.

You can set a default series prior to beginning the inquiry process. Select theappropriate series from the Series list located on the tool bar. Once specified, theselected series will appear as the default whenever a series can be selected in awindow.

2. Select a form.Select the appropriate form; the names of the windows, menus andtables for that form will be displayed.

3. Close the Form Inquiry window.When you’ve finished viewing the displayed information, select adifferent form or click Close to close the window.

Page 61: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 55

C H A P T E R 6 I N Q U I R Y U T I L I T I E S

Viewing resource information

The Resource Inquiry window allows you to view global resources by typein a single series or all series.

Once you’ve selected a source dictionary, choose Resources from theInquiry menu to display the Resource Inquiry window, shown in thefollowing illustration.

1. Select a series.Select the series containing the resources for which you wantinformation. You can select All to display resources from all series inthe dictionary.

You can set a default series prior to beginning the inquiry process. Select theappropriate series from the Series list located on the tool bar. Once specified, theselected series will appear as the default whenever a series can be selected in awindow.

2. Select a resource type.Select the type of resource to display. The resources of the selected typein the specified series will be displayed in the Resources list.

3. Close the Resource Inquiry window.Select a different series and resource type to view additional resources,or click Close to close the Resource Inquiry window.

Page 62: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

56 D E X T E R I T Y U T I L I T I E S

Page 63: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 57

Chapter 7: Dictionary UtilitiesThe utilities displayed in the Utilities menu allow you to perform a varietyof maintenance procedures on a dictionary. The utilities are primarily usedto prepare an application dictionary to be sent to customers. The compressutility, for instance, removes source code from the dictionary andcompresses it, removing all unused blocks so that the dictionary will be assmall as possible. Two other utilities allows you to create dictionary“chunks” that you will use to package your application for delivery tocustomers.

The following topics are discussed:

• Synchronizing a dictionary• Using the packaging utilities• Compressing dictionaries• Creating chunk dictionaries• Comparing dictionaries• Adding product information• Extracting• Expanding windows• SQL Compatibility• Auto-Chunk• Converting a user interface• Changing Evaluate After

Page 64: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

58 D E X T E R I T Y U T I L I T I E S

Synchronizing a dictionary

Synchronizing a dictionary should be performed if a field’s data type haschanged, or if a data type’s control type has changed. A field’s data typereference is stored with the window, table, key, report and system variableresources for faster processing. If the data type changes, synchronizing thedictionary will ensure all references are correct. The procedure alsorecalculates the buffer sizes for tables and windows.

Open an editable dictionary, then choose Synchronize from the Utilitiesmenu to display the Synchronize Dictionary window, shown in thefollowing illustration.

1. Synchronize the dictionary.Click the OK button to begin the synchronization. The time required tocomplete this process depends on the size and complexity of yourdictionary. A progress dialog will display the procedure’s progress.

Page 65: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 59

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

Using the packaging utilities

Refer to Part 11, Packaging Applications, in Volume 1 of the Dexterity Programmer’s Guide for information about packaging and updating stand-alone applications.

Refer to Part 9, Packaging Your Application, in the Integration Guide for more information about packaging and updating applications that integrate with Microsoft Dynamics GP.

The Compress, Extract, Compare, Create Chunk Dictionary, and ProductInformation utilities are typically used together when you package yourproduct for distribution. The following chart lists the steps in packagingand updating stand-alone and integrating applications.

These utilities are used to package applications so launch files will beproperly updated when the application is installed. They also ensure thatform dictionaries and report dictionaries will be updated properly whenapplications are updated.

Stand-alone Integrating

Packaging 1. Add product information2. Compress3. Create chunk dictionaries

1. Extract2. Transfer form and report

modules3. Add product information4. Compress5. Create chunk dictionaries

Updating 1. Compress2. Compare3. Create chunk dictionaries

1. Source Code Control for update (if core application version has changed)

2. Development changes (if required)

3. Extract4. Transfer form and report

modules5. Add product information6. Compress7. Compare8. Create chunk dictionaries

Page 66: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

60 D E X T E R I T Y U T I L I T I E S

Compressing dictionaries

The Compress utility can perform two types of compression: totalcompression or removing unused blocks. Total compression removes scriptsource and all unused blocks from a dictionary. Total compression is usedwhen you’re preparing a dictionary to be distributed. Removing unusedblocks removes only unused blocks from the a dictionary, leaving the scriptsource intact. As you work with a dictionary, it will accumulate unusedblocks. Typically, the unused blocks are removed several times during thedevelopment process to keep a dictionary from getting unnecessarily large.

When a dictionary is compressed, a separate new dictionary is created. Thecompression in no way affects the original dictionary.

To compress a dictionary, select an editable dictionary, then chooseCompress from the Utilities menu to display the Compress Dictionarywindow, shown in the following illustration.

1. Select compression options.You can choose to compress a dictionary completely, or to remove onlyunused blocks of space from a dictionary

Total Compression Mark this option to create the smallest versionof a dictionary for distribution. All script source will be removed, aswell as unused blocks and unused space within blocks.

Remove Unused Blocks Mark this option to remove only emptyblocks from the dictionary. This is useful if many resources, especiallylarge ones like pictures, have been removed from a dictionary.

2. Compress the dictionary.Click OK to compress the dictionary. The Compressed DictionaryName dialog box will appear, allowing you to enter the name andlocation for the compressed dictionary. Click OK to create thecompressed dictionary, or click Cancel to return to the CompressDictionary window.

Page 67: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 61

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

Creating chunk dictionaries

This utility allows you to split your extracted or stand-alone applicationdictionary into “chunks” that are used to install or update an application.The dictionary chunks are part of what you deliver to your customer.

Dexterity Utilities has the Auto-Chunk utility, which greatly simplifies the processof creating a dictionary chunk. For this reason, we recommend that you use theAuto-Chunk utility, rather than the Create Chunk Dictionary utility.

Installing applicationsIf you are creating an application that integrates with Microsoft DynamicsGP, the dictionary chunks are combined to re-create the integratingdictionary. If you’re creating a stand-alone application, the chunks arerecombined to create the stand-alone dictionary. Chunk dictionaries areused for two reasons:

• Chunks allow large dictionaries to be divided into more manageablepieces.

• When an integrating or stand-alone dictionary is installed fromdictionary chunks, the launch file for the application is updatedautomatically.

If your application dictionary is small (less than 1 megabyte in size), youcan make a single chunk that contains all of the integrating or stand-alonedictionary’s resources. If the dictionary is larger than this, you may want tocreate several chunks. A common way to divide a dictionary into multiplechunks is to include core resources in one chunk, forms in another chunk,and reports in a third chunk.

Updating applicationsIf you’re updating an application that integrates with Microsoft DynamicsGP, the dictionary chunks add or change resources in the integratingdictionary. If you’re updating a stand-alone dictionary, the chunks mergewith the main dictionary to add or change resources. Also, the dictionarychunks update the core resources in the forms and reports dictionariesassociated with the integrating or stand-alone dictionary.

Page 68: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

62 D E X T E R I T Y U T I L I T I E S

The Extract utility, used to make an extracted dictionary, is described later in this chapter.

To begin creating the chunk dictionary, select a source dictionary. Thesource dictionary is the dictionary containing the resources you want totransfer to the chunk dictionary. (This is the application dictionary forstand-alone applications or the extracted dictionary for integratingapplications.) Next, choose Create Chunk Dictionary from the Utilitiesmenu.

1. Choose whether to edit an existing chunk dictionary.A dialog box will appear, asking whether you want to edit an existingdictionary chunk. If you are adding resources to an existing chunkdictionary, click Yes. If you’re creating a new chunk dictionary, click No.

If you clicked Yes a dialog box will appear, allowing you to select adictionary chunk to edit. If you clicked No, a dialog box will appear,allowing you to specify the name and location of the new chunkdictionary.

Due to a historical limitation imposed by early versions of Windows, the nameof the chunk dictionary must not exceed 13 characters, including the .cnkextension. If the name exceeds 13 characters, the chunk cannot be accessed bythe runtime engine and will not be unchunked.

The Create Chunk Dictionary window will appear, as shown in thefollowing illustration.

This is the dictionary thechunk will become part of.

These lists specify theseries and module type ofthe modules displayed in

the Source DictionaryModules list.

This is a list of all dictionarymodules that will be included

in the dictionary chunk.

Page 69: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 63

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

2. Examine the Dictionary field.It will contain name of the source dictionary from which the dictionarychunk is being made. The name in this field is the name of thedictionary that the chunk will become part of. For instance, if you’recreating a chunk from the stand-alone dictionary RESM.DIC, be surethat name appears here. If you’re creating a chunk from an extractedintegrating dictionary, be sure that dictionary name appears here.

3. Specify the sequence number.The sequence number indicates the order in which this chunk will beread when “unchunked.” If you’re creating a single chunk for the entiredictionary, specify 1. If you break the application dictionary into severalsmaller chunks, the chunks will be merged into the applicationdictionary in the order specified by the sequence number.

4. Select a module.This selection indicates which module the Major Version, MinorVersion and Build Number information is associated with. (These arethe fields below the Module field.) The setting in the Module field isused when the version numbers and build number are retrieved fromthe dictionary.

5. Set the major version, minor version and build number.Refer to the Runtime_GetModuleInfo() function in the Function Library Reference manual for information about retrieving version and build numbers.

The Major Version and Minor Version numbers indicate the major andminor version numbers for your application. The Build Numberindicates the build of the current version of the dictionary. For instance,if this is the first build of release 1.3 of your application, enter a 1 for themajor number, 3 for the minor number and 1 for the build number. Theversion numbers and build number can be retrieved from thedictionary using the Runtime_GetModuleInfo() function. Typicallythese numbers are displayed in the application’s About Box.

The values you choose for the major version and minor version aresignificant. If the installation folder contains a dictionary for a previousversion of your product dictionary, the dictionary chunk you arecreating will unchunk only if the major version and minor versionnumbers in the chunk match those in the existing dictionary. If theversion numbers don’t match, an error indicating the issue will bewritten to the InstallErrors.txt file in the installation folder. Thedictionary chunk won’t be deleted.

Page 70: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

64 D E X T E R I T Y U T I L I T I E S

If you have multiple dictionary chunks with the same major versionand minor version values, the build number is used to determine theorder in which the dictionary chunks are unchunked. The chunks withlower build number values are unchunked first.

If the installation folder contains a dictionary for which the major andminor version numbers match those of the dictionary chunk, the buildnumber will be examined. If the build number of the chunk is the sameor greater than the build number of the dictionary, the chunk will beunchunked. If the build number of the chunk is lower, it will not beunchunked, and a message indicating the issue will be written to theInstallErrors.txt file in the installation folder. The dictionary chunk willbe deleted.

6. Select starting and ending scripts.Refer to the Volume 1 of the Dexterity Programmer’s Guide and the Integration Guide for more information about writing installation scripts.

These fields specify which installation scripts (procedures) will be runwhen the chunk is merged into the application dictionary. To specify astarting or ending script, mark the corresponding check box and thenclick the lookup button for the starting or ending script. A list of theprocedures in the application dictionary is displayed, allowing you toselect a script.

The starting and ending scripts run only after all dictionary chunkshave been merged into the application dictionary. All starting scriptsare run in the order the chunks were merged. Then all endingscripts are run in reverse order. For example, if three dictionary chunkswere merged, the starting and ending scripts would run in thefollowing order:

• Chunk 1 Starting Script• Chunk 2 Starting Script• Chunk 3 Starting Script• Chunk 3 Ending Script• Chunk 2 Ending Script• Chunk 1 Ending Script

To remove the procedure script selected for the starting or endingscript, simply unmark the check box for the starting script or endingscript.

Page 71: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 65

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

7. Select a series and dictionary module type.Select the series from which you want to add resources to the chunkdictionary. Select the type of resources (Forms, Reports or Coreresources) you want to add to the chunk dictionary. Mark the Sharedoption if you want only forms or reports marked as shared to bedisplayed in the Source Dictionary Modules list. (Forms are marked asshared in the Form Definition window. Reports are marked as shared inthe Report Definition window.)

8. Select the dictionary modules to include in the chunk dictionary.To add a module to the chunk dictionary, select it from the list, thenclick Transfer. If you want to add all modules from the SourceDictionary Modules list, click All. If you want to delete a module fromthe destination dictionary, select the module in the Chunk DictionaryModules list and click Delete.

If you’re making a single chunk dictionary, first add all forms andreports from your dictionary to the Chunk Dictionary Modules list.Then add all core resources for the series listed from Financial throughSystem in the Series list. Core resources for the Company throughReport Writer series can be ignored because they contain duplicateresources from the System series. When you’ve finished, the size of thechunk dictionary should be nearly the same size as the sourcedictionary. (You can see this by viewing the Total fields beneath thesource dictionary and the chunk dictionary lists.)

If you’re making multiple chunk dictionaries, the entry in theDictionary name field must be the same for each chunk. Also, eachchunk must contain the [Core] System Core Tables and the [Core]System Install modules for the dictionary chunks to merge properly. Besure that you haven’t forgotten to include these resources in eachdictionary chunk.

If you’re packaging an application, be sure you include all of thedictionary modules for your application.

The Compare Dictionaries utility is described later in this chapter.

If you’re updating an application, use the report generated by theCompare Dictionaries utility to determine which dictionary modulesyou need to include in your update chunk. Be sure the update chunkcontains the [Core] System Core Tables and the [Core] System Installmodules so the update chunk will merge properly.

Page 72: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

66 D E X T E R I T Y U T I L I T I E S

9. Click Close to complete the process.When you’ve added the necessary resources to the Chunk DictionaryModules list, click Close to complete the chunking process.

At this point, we recommend that you make backups of your chunkdictionaries.

Page 73: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 67

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

Comparing dictionariesRefer to Chapter 60, “Updating an Applica-tion,” in Volume 1 of the Dexterity Program-mer’s Guide for infor-mation about updating stand-alone applica-tions.

Refer to Chapter 43, “Updating an Applica-tion,” in the Integration Guide for information about updating appli-cations that integrate with Microsoft Dynam-ics GP.

At some point after you’ve shipped your application to customers, you mayneed to send an update. The extent of changes in your applicationdetermines the method you will use to package your update.

• If you’re adding major new functionality to your application, youshould consider having your customers install a new version andmigrate data to it from their current version.

• If you’re including only problem fixes and minor application changes,you can send your update in the form of a dictionary chunk. To do this,the Compare Dictionaries utility is used to indicate which resourceshave changed in the updated version.

To determine what to include in the update, you will be comparing theupdated dictionary with the version of the dictionary your customerscurrently have. The Dictionary Comparison report generated by theCompare Dictionaries utility lists the dictionary modules that have beenadded or changed in the updated dictionary. These are the modules thatmust be included in the update.

The Extract utility, used to make an extracted dictionary, is described later in this chapter.

To compare two dictionaries, open the original dictionary as a sourcedictionary and the dictionary you’ve made changes to (the comparedictionary) as an editable dictionary. If your application integrates withMicrosoft Dynamics GP, you will compare the extracted dictionary from theoriginal version of your application with the extracted dictionary from theupdated version of your application. When you’ve selected the dictionaries,choose Compare from the Utilities menu to display the CompareDictionaries window, shown in the following illustration.

1. Verify the dictionaries to be compared.The two dictionaries you selected will appear in the Original Dictionaryand Compare Dictionary fields on the window. Verify that these are thecorrect dictionaries to be compared.

2. Click OK to complete the procedure.Click OK to generate the report comparing the two selecteddictionaries.

Page 74: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

68 D E X T E R I T Y U T I L I T I E S

The comparison report lists the dictionary modules that you need toinclude when using the Create Chunk Dictionary window to create theupdate chunk. The following illustration shows a report comparingversions 1 and 2 of the Real Estate Sales Manager application.

The dictionary chunk to update version 1 of the application to version 2must contain the dictionary modules listed in this report.

Another report, CHANGES.TXT, will also be generated by theCompare Dictionaries utility. This report contains a list of the forms andreports that have changed in the updated dictionary.

Time printed: 10/20/1995 10:31:15

Dictionary Comparison

Source Dictionary : HD1:RESM_V1.DICCompare Dictionary : HD1:RESM_V2.DIC

* = New Resource or Name Change__________________________Core System Core 1 Table Seller_Data* Seller_Data_OLD Key* Seller_Data_By_ID!* Seller_Data_By_Name!* Seller_Data_By_Initial Contact Relation* 22005Core System Strings 2 String* Convert Data* Initial Contact:Core System GScript Code/Data 3 Global Script Data* Convert Data Global Script Code* Convert DataCore System Data Types 6 Data Type* Date* STR45Core System Fields 7 Field Seller Name* Initial Contact* String30Core System Short Names 8 Field Short Name* Initial Contact* String30Core System GScript Source/Debug 9 Global Script Source* Convert Data Global Script Debug* Convert DataCore System Core Tables 10 Core Table 3rd Local core table 1, 2 Local core table 5, 2 Local core table 6, 2

Form Sellers 22003 Form Sellers Window Sellers

In this illustration, boxeshave been drawn around

the module names. Theseare the modules you must

include in the update chunk.

Page 75: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 69

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

Adding product informationRefer to Chapter 58, “Using Launch Files,” in Volume 1 of the Dexterity Programmer’s Guide, or to Chapter 41, “Building An Application,” in the Integration Guide for additional information about using launch files.

Before you can use a dictionary with the runtime engine, you must use theProduct Information utility to add product information to the dictionary.Product information is used when the launch file for the application iscreated. If dictionaries don’t have product information, the launch filecreated won’t contain the appropriate information about the main productdictionary and any additional dictionaries being accessed.

If you’re developing applications that integrate with Microsoft Dynamics GP, thatis the main product.

To begin entering product information, open an editable dictionary (thedictionary you’re entering product information for), then choose ProductInformation from the Utilities menu to open the Product Informationwindow. The window is shown in the following illustration.

1. Name the launch file.Enter the name of the launch file in the Launch File field. The name islimited to eight characters plus a three-character extension. The nameshould have the .SET extension.

If you’re entering product information for the main product dictionary,this name is the default name the launch file will be given when it’screated. If you’re entering product information for an integratingdictionary, this should be the name of the launch file for the applicationyou’re integrating with.

These are the name and ID of thelaunch file. If your dictionary

integrates with another application,you must use the launch file name

and ID for that application.

The Product ID uniquely identifiesyour product. If your product isstand-alone, the product ID andlaunch file ID must be the same.

Page 76: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

70 D E X T E R I T Y U T I L I T I E S

2. Enter the launch file ID.Enter the launch file ID in the Launch ID field. The launch file ID is aninteger that uniquely identifies the launch file. If you’re enteringproduct information for the main application dictionary, the launch fileID should be the same as the product ID for the dictionary. If you’reentering product information for an integrating dictionary, the launchfile ID you use should be the same as the launch file ID for theapplication you’re integrating with.

3. Enter the product name.In the Product Name field, enter the complete name of the product.This name can be displayed in your application while it is running. Forexample, if your product integrates with Microsoft Dynamics GP, theproduct name you enter here will appear in various parts of theapplication.

4. Enter the product ID.Enter the product ID of your application in the Product ID field. Aproduct ID is an integer that uniquely identifies your product. Youobtain a product ID by registering your product with MicrosoftBusiness Solutions. Products should be registered so they each have aunique product ID. This minimizes the possibility of conflicts betweendifferent Dexterity applications. If you’re entering product informationfor the main application, the product ID must be the same as the launchfile ID.

5. Name the forms and reports dictionaries.In the Forms Dictionary and Reports Dictionary fields, enter the namesfor the forms and reports dictionaries. These are the names the formsand reports dictionaries will be given when they’re created for theapplication. The names are limited to eight characters and should havethe .DIC extension.

You must provide names for the forms and reports dictionaries, even if theModifier and Report Writer won’t be used in your application. Otherwise, thelaunch file won’t work properly.

6. Enter the compatibility ID and compatibility message.The Compatibility ID is a string that uniquely identifies the version ofyour application. When you launch your application with the runtimeengine, the compatibility ID in the application dictionary is comparedwith the compatibility IDs in the forms and reports dictionaries. If theymatch, items in the forms and reports dictionaries can be accessed.

Page 77: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 71

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

The compatibility message is the message that is displayed when thecompatibility IDs in the forms or reports dictionaries don’t match thecompatibility ID in the main dictionary. You should provideinformation in this message describing how to update your forms andreports dictionaries to make them compatible with the current versionof your application. Refer to Chapter 60, “Updating an Application,” inthe Volume 2 of the Dexterity Programmer’s Guide for moreinformation about updating forms and reports dictionaries.

7. Click OK to save the information.When you click OK, the information entered will be saved in thedictionary. When the dictionary is installed, the product informationwill be added to the launch file.

Page 78: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

72 D E X T E R I T Y U T I L I T I E S

Extracting

This utility is used when you develop your application in the Dynamics.dicdictionary, then want to create a dictionary to operate in multidictionarymode. The extract utility copies, or “extracts” resources with resource IDs22,000 or greater from the Dynamics.dic dictionary and places them in aseparate dictionary. The extract process excludes any Microsoft DynamicsGP resources, since these resource IDs are numbered below 22,000.

The Extract utility only copies resources from the modified dictionary. It doesn’tremove any resources from the Dynamics.dic dictionary.

To extract resources, select a source dictionary, then choose Extract from theUtilities menu to open the Extract window, shown in the followingillustration.

1. Click OK.Click OK to begin the process of creating a new dictionary in which tostore the extracted resources.

2. Specify the name of the extracted dictionary.A file name dialog box will appear, allowing you to name the extracteddictionary. The default name will be EXTRACT.DIC; accept that nameor specify a new one.

Because dictionaries can be overwritten by another dictionary with the samename, choose the name of your dictionary carefully.

The Extract utility will begin creating the new dictionary and extractingthe resources. As the resources are extracted, the types of resourcesbeing processed, such as system strings, and form and report names,will be displayed in a progress window.

Page 79: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 73

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

The only resources extracted will be those with IDs equal to or greaterthan 22,000. The numbers within this range are those created for anintegrating application; resources specific to Microsoft Dynamics GPwill be less than 20,000; IDs between 20,000 and 22,000 are reserved forthe runtime Report Writer and Modifier resources.

Modified Microsoft Dynamics GP forms and reports are not transferredby the Extract utility. You must use the Transfer Dictionary moduleutility to transfer modified forms and reports to the extracteddictionary. Refer to Chapter 41, “Building An Application,” in theIntegration Guide for more information.

You can’t perform any development in the extracted dictionary. Opening theextracted dictionary with Dexterity and attempting to make changes couldcorrupt the dictionary. Instead, you must make changes in the modifiedDynamics.dic dictionary, then re-extract.

Page 80: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

74 D E X T E R I T Y U T I L I T I E S

Expanding windows

This utility is used when you create an international version of yourapplication. It expands all windows and window fields in your applicationby a specified percentage to allow room for international characters.

To expand the windows in a dictionary, open an editable dictionary, thenchoose Expand Windows from the Utilities menu to open the ExpandWindows window, shown in the following illustration.

1. Select the amount to scale.Select the horizontal and vertical amounts to scale all windows andwindow fields in the dictionary. The numbers are expressed as apercentage of the current size. For example, to expand the windowsand fields by 10 percent, enter 110. To reduce the size of windows andfields by 20 percent, enter 80.

2. Click OK.A progress window will appear while the windows and fields are beingaltered. The windows and fields will appear expanded when you viewthem at runtime or edit them in the Dexterity layout window.

Page 81: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 75

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

SQL Compatibility

Use this utility when preparing an application dictionary for use with aSQL database. This utility examines a dictionary for the followingconditions, which would prevent the application from working properlywith SQL:

Refer to Appendix A, “Dexterity Limits,” in Volume 2 of the Dex-terity Programmer’s Guide for the specific limit values.

• SQL limits that have been exceeded. The following limits are tested: thenumber of fields in the table definition, the record size of each table, thenumber of keys for each table and the number of segments in each key.

• Table fields that don’t have physical names.

• Table field physical names that are SQL reserved words.

• Table database types that aren’t SQL or Default.

• Tables for which no index is generated.

The SQL Compatibility utility prints the incompatibility information as areport. It can also make the necessary changes to the application dictionaryto make it compatible for use with SQL.

To check the SQL compatibility of a dictionary, open an editable dictionary,then choose SQL Compatibility from the Utilities menu to open the SQLCompatibility window, shown in the following illustration.

Page 82: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

76 D E X T E R I T Y U T I L I T I E S

1. Specify the compatibility categories to examine.Mark the check boxes in the Category group to specify theincompatibilities to look for.

Field Physical Names Mark this option to find out which tablefields don’t have physical names.

Reserved Words Mark this option to examine table fields to find outwhether the physical names are SQL reserved words.

Table Database Types Mark this option to examine the databasetype of each table in the application dictionary.

Create Index Mark this option to examine the SQL key options foreach key of every table in the application dictionary.

2. Generate a compatibility report or make the dictionary compatible.Click Check to generate a report listing the SQL limits exceeded andany incompatibilities for the categories you specified. Click MakeCompatible to make changes to the application dictionary that willremove the SQL incompatibilities. When you click Make Compatible, areport will also be generated that lists the changes made to theapplication dictionary.

You may want to generate and examine the report listing any SQLincompatibilities before you choose to make the dictionary compatible. Thisallows you to see the changes that are required before they are actually made.

When you click Make Compatible, the following changes will be madeto remove incompatibilities:

• If you marked the Field Physical Names option, any table field thatdoesn’t have a physical name will be given one. The physical namewill be based upon the field name.

• If you marked the Reserved Words option, any table field physicalnames that are SQL reserved words will have an integer appendedto the name. The physical name will be truncated, if necessary.

• If you marked the Table Database Types option, any tables thatdon’t have SQL or Default as their database type will be changed tohave Default as the database type.

Page 83: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 77

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

• The Create Index SQL key option will be marked for each key ofevery table in the dictionary.

The Unique SQL key option will also be marked appropriately for each key, based upon current setting of the Duplicates key option. IfDuplicates is not marked, the Unique key option will be marked. If Duplicates is marked, the Unique key option will beunmarked.

While the SQL Compatibility utility can locate and make changes to overcomecertain SQL incompatibilities, its use doesn’t guarantee that an applicationwill work fully with SQL.

Page 84: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

78 D E X T E R I T Y U T I L I T I E S

Auto-Chunk

Refer to Part 11, Pack-aging Applications, in Volume 1 of the Dex-terity Programmer’s Guide for information about packaging and updating stand-alone applications.

Refer to Part 9, Pack-aging Your Applica-tion, in the Integration Guide for more infor-mation about packag-ing and updating applications that inte-grate with Microsoft Dynamics GP.

This utility allows you to easily create a single chunk from your extracted orstand-alone application dictionary. The dictionary chunk is part of whatyou deliver to your customer. The auto-chunk utility automaticallyperforms the following:

• If no product information has been added to the dictionary from whichyou are making a chunk, the Product Information window is displayedautomatically, allowing you to add product information.

• Automatically transfers all dictionary modules from the dictionary youspecified to a new chunk dictionary.

• Updates series resources in the chunk dictionary automatically.

• Compresses the chunk dictionary based upon the compression optionyou specify.

To begin creating the chunk dictionary, select an editable dictionary. Theeditable dictionary is the dictionary that the chunk dictionary will becreated from. (This is the application dictionary for stand-aloneapplications or the extracted dictionary for integrating applications.) Next,choose Auto-Chunk from the Utilities menu. The Auto-Chunk window willappear.

Click the Chunk Dictionarylookup button to specify the

name of the chunk dictionary.

This is the dictionary thechunk will become.

You can specify one startingscript and one ending script.

These are thecompression options for

the dictionary chunk.

Page 85: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 79

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

1. Create a new chunk dictionary.Click the Chunk Dictionary lookup button. This displays a dialog boxallowing you to name the chunk dictionary. The name will appear inthe Chunk Dictionary field.

Due to a historical limitation imposed by early versions of Windows, the nameof the chunk dictionary must not exceed 13 characters, including the .cnkextension. If the name exceeds 13 characters, the chunk cannot be accessed bythe runtime engine and will not be unchunked.

2. Examine the Dictionary field.In the Dictionary field, enter the name the dictionary will have whenthe chunk is unchunked. The default name is the same as the name ofthe editable dictionary the chunk is being made from. As an example, ifyou’re creating a chunk from the stand-alone dictionary RESM.DIC, besure that name appears in the Dictionary field. If you’re creating achunk from an extracted integrating dictionary, be sure that dictionaryname appears in the Dictionary field.

You can change this name if you want the dictionary created during theunchunking process to have a different name than the default name.

3. Select a module.This selection indicates which module the Major Version, MinorVersion and Build Number information is associated with. (These arethe fields below the Module field.) The setting in the Module field isused when the version numbers and build number are retrieved fromthe dictionary.

4. Set the major version, minor version and build number.Refer to the Runtime_GetModuleInfo() function in the Function Library Reference manual for information about retrieving version and build numbers.

The Major Version and Minor Version numbers indicate the major andminor version numbers for your application. The Build Numberindicates the build of the current version of the dictionary. For instance,if this is the first build of release 1.3 of your application, enter a 1 for themajor number, 3 for the minor number and 1 for the build number. Theversion numbers and build number can be retrieved from thedictionary using the Runtime_GetModuleInfo() function. Typicallythese numbers are displayed in the application’s About Box.

Page 86: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

80 D E X T E R I T Y U T I L I T I E S

The values you choose for the major version and minor version aresignificant. If the installation folder contains a dictionary for a previousversion of your product dictionary, the dictionary chunk you arecreating will unchunk only if the major version and minor versionnumbers in the chunk match those in the existing dictionary. If theversion numbers don’t match, an error indicating the issue will bewritten to the InstallErrors.txt file in the installation folder. Thedictionary chunk won’t be deleted.

If you have multiple dictionary chunks with the same major versionand minor version values, the build number is used to determine theorder in which the dictionary chunks are unchunked. The chunks withlower build number values are unchunked first.

If the installation folder contains a dictionary for which the major andminor version numbers match those of the dictionary chunk, the buildnumber will be examined. If the build number of the chunk is the sameor greater than the build number of the dictionary, the chunk will beunchunked. If the build number of the chunk is lower, it will not beunchunked, and a message indicating the issue will be written to theInstallErrors.txt file in the installation folder. The dictionary chunk willbe deleted.

5. Select starting and ending scripts.Refer to Volume 1 of the Dexterity Programmer’s Guide and the Integration Guide for more information about writing installation scripts.

These fields specify which installation scripts (procedures) will be runwhen the chunk is unchunked. To specify a starting or ending script,mark the corresponding check box and then click the lookup button forthe starting or ending script. A list of the procedures in the applicationdictionary is displayed, allowing you to select a script.

To remove the procedure selected for the starting or ending script,simply unmark the check box for the starting script or ending script.

6. Specify the level of compression.You can choose to compress the chunk dictionary completely, or toremove only unused blocks of space from the chunk dictionary.

Total Compression Mark this option if you want to create thesmallest version of a chunk dictionary. All script source will beremoved, as well as any empty blocks of space.

Remove Unused Blocks Mark this option if you want to removeonly empty blocks of space from the chunk dictionary.

Page 87: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 81

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

7. Click OK to complete the process.Adding product information is described in Adding product information on page 69.

When you have specified all of the necessary options, click OK to beginthe chunking process. If the editable dictionary doesn’t contain productinformation, you will be prompted to add the product information.After you’ve added the product information, click OK in the Auto-Chunk window to restart the chunking process. When the dictionarychunk is complete, the Auto-Chunk window will close.

Page 88: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

82 D E X T E R I T Y U T I L I T I E S

Converting a user interfaceUse this utility to globally change user interface characteristics of anyDexterity application. You may want to convert your application’s userinterface to accomplish the following objectives:

• Apply system colors to all your application’s window fields.• Apply a three-dimensional appearance to certain window fields,

including text boxes, check boxes, radio buttons and list boxes.• Apply a visual indicator to zoom fields.• Apply custom colors to alternating lines in scrolling windows.• Provide custom color support for all prompts and prompt boxes in

your application.• Reduce the height of drop-down lists and combo boxes in the layout

window to standard height.• Remove graphical buttons, such as lookups, from a tab sequence.• Specify alignment for text on push buttons.• Correct several properties used by the Modifier.• Update palettes to use the new palette style.• Set the SetChangeFlag property for all scrolling window fields.

To convert a user interface, open an editable dictionary, then chooseConvert User Interface from the Utilities menu to display the User InterfaceConversion window, shown in the following illustration.

1. Enter a report file name.Enter the name for the report file that will log the results of theconversion, or accept the default name (CONVERT.TXT). The reportlists any errors that occurred during the conversion, as well as anyobjects that the utility couldn’t convert. Review the report to find whichobjects you will need to convert manually.

Page 89: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 83

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

2. Select conversion options.Choose the options you want the conversion to perform. If you choosenot to perform some of the conversion operations now, you can run theconversion again later to perform those operations.

Refer to Chapter 11, “Windows,” in Volume 1 of the Dexterity Pro-grammer’s Guide for more information about using system colors.

Use System Colors Mark this option to change the FontColor,BackColor and LineColor properties for application objects to System.Once System becomes the default color, the object will inherit colors asdefined using the operating system’s control panel settings for color.This utility will perform the following system color conversions:

Use 3D Effects Mark this option to set the Appearance property to3D Border for the following objects that appear in standard windows.Items in scrolling windows are not affected.

• List box

• Multi-select list box

• Text

• Non-native list box

• Radio button

Object Conversion information

Push buttons Sets the BackColor and FontColor properties of all push buttons to System.

Fields Sets the FontColor property of all fields to System.

For all fields whose BackColor property is White or Light Gray, sets the BackColor property to System (unless the fields are in a scrolling window).

For all fields whose Editable property is false, sets the BackColor property to System, and the Appearance property to 3D Border.

Graphics For all graphics (lines, rectangles, rounded rectangles and circles) whose LineColor property is Medium Gray, sets the LineColor property to System.

For all graphics in a scrolling window, sets the LineColor property to System.

Static text Sets the FontColor property to System.

Windows Sets the BackColor property to True.

Page 90: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

84 D E X T E R I T Y U T I L I T I E S

• Check box

• Line – For adjoining lines that are of equal length, the utility willdelete the bottommost or rightmost line and set the remainingline’s Appearance property to 3D Border.

• Push buttons – For graphical push buttons, the Border property isalso set to true.

Use Visual Indicator for Zooms Mark this option to add a visualindicator to zoom field prompts. This utility will search for any statictext overlapping a zoom push button (a push button whose Zoomproperty is true) and set the static text item’s Zoom property to true.You can choose to display the following visual indicators for zoom fieldprompts:

Refer to the Field_SetZoom-Format() function in the Function Library Reference manual for more information.

• Display an underline for all zoom field prompts. You can show orhide this underline using the Field_SetZoomFormat() function. Ifyou don’t use this function, the application will attempt to use thedefaults file setting that specifies this characteristic. If this defaultsfile setting doesn’t exist, the prompt will appear underlined.

• Change the color of all zoom field prompts. You can specify colorusing the Field_SetZoomFormat() function. If you don’t use thisfunction, the application will attempt to use the defaults file settingthat specifies the zoom prompt color. If this defaults file settingdoesn’t exist, the prompt color will be black.

The underline and font color serve as visual cues, indicating thepresence of a zoom field. The following illustration shows how aconverted zoom field’s prompt will look:

Page 91: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 85

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

Use Custom Colors for Prompts Mark this option to use customprompt colors for all cyan prompts (rectangles or single-line entryfields with their BackColor property set to Cyan) that are 18 pixels high.The following actions are performed for each cyan prompt box orsingle-line entry field:

• Sets the prompt’s Size-Height and Size-Width properties to thesame values as the Size-Height and Size-Width properties of thecyan rectangle.

• Sets the prompt’s Position-Left and Position-Top properties to thesame values as the Position-Left and Position-Top properties of thecyan rectangle.

Refer to the Field_Set-CustomPrompt-Format() function in the Function Library Reference manual for more information.

• Sets the prompt’s BackColor, FontColor, PatternColor and Patternproperties to Custom. The Custom setting allows you change thecolor and pattern of prompts using the Field_SetCustomPrompt-Format() function.

• Sets the Border property to true.

• Deletes the cyan rectangle.

If you don’t use the Field_SetCustomPromptFormat() function to setcustom prompts, your application will attempt to use the defaults filesettings that specify the custom prompt characteristics. If these defaultsfile settings don’t exist, the custom prompts will have the followingdisplay characteristics:

These defaults do not apply to static text items for controls such as pushbuttons, check boxes and radio buttons. Your operating system colorsettings control the display characteristics for those objects if youconvert your application using the Use System Colors option.

Prompt attribute Default display

Back color Turquoise (Cyan)

Font color Black

Pattern 75% Shading

Pattern color White

Page 92: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

86 D E X T E R I T Y U T I L I T I E S

Refer to the Field_Set-AltLineColor() func-tion in the Function Library Reference man-ual for more informa-tion.

Use Custom Colors For Scrolling Windows Mark this optionto globally apply custom color support for scrolling window lines. Thisutility will change the AltLineColor property for all scrolling windowsto true. It also sets the BackColor, FontColor, Pattern and PatternColorproperties to Custom. Scrolling windows will then display alternatingscrolling window lines in the color you defined using theField_SetAltLineColor() function.

If you don’t use the Field_SetAltLineColor() function, the applicationwill attempt to use the defaults file settings that specify linecharacteristics for scrolling windows whose AltLineColor propert is setto true. If these defaults file settings don’t exist, alternating lines in thescrolling window will have the following display characteristics:

Collapse Drop Down Lists and Combo Boxes Mark this optionto set properties for drop-down list and combo box fields. Drop-downlists appearing in the control area will be resized to 20 pixels high. Allother drop-down lists will be resized to 18 pixels high. Combo boxeswill be resized to 20 pixels high. Both drop-down lists and combo boxeswill have the VisibleItems property set to 8.

Converting the drawn appearance of these controls makes thewindow’s layout appear less cluttered. Modifier users will also benefitfrom a more accurate representation of controls as they appear atruntime.

Remove Fields from Tab Sequence Mark this option to removefrom the tab sequence any button with a picture as the static item (suchas a lookup button or a browse button) by setting its TabStop propertyto false. This allows for more efficient data entry, since the tab sequenceincludes only fields used for keyboard entry. This option does notremove from the tab sequence buttons with text as the static item (suchas a Save or Delete button).

Attribute Default display

Back color Green

Font color Black

Pattern 75% Shading

Pattern color White

Page 93: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 87

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

Adjust Field Alignment Push buttons with static text values nowhonor the Alignment property. Mark this option to properly set thealignment of text that appears on push buttons.

Correct Required, Editable, Visible Properties Mark thisoption to correct some internal properties for window fields. Theseproperties are used by the Modifier only. They do not affect theappearance of fields.

New Palette Style Mark this option to update palettes to use thenew palette style. The following actions are performed for each palette:

• The positions of the push pin and palette title are exchanged.

• If a separator line exists below the palette title, the Appearanceproperty is set to 3D Border and the line is moved to position(0, 18).

• Graphical push buttons are moved from the window and theirVisible property is set to false.

• The visual switch appearing at the bottom of the palette is movedfrom the window and its Visible property is set to false.

• Prompt push buttons are widened to the width of the palette win-dow.

• The prompt fields are positioned three pixels from the left edge ofthe palette window.

• The data type used for the prompt button is updated to use nativepictures as the static items, rather than text. Then the followingproperties are set for each prompt button:

Property Value

Appearance 3D Highlight

BackColor Transparent

Position-Left 0

Position-Top Current value + 4

Size-Width 128

Visible True

Page 94: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

88 D E X T E R I T Y U T I L I T I E S

The prompt button must be based on a global push button data type for thebutton to appear properly. Otherwise, the prompt button won’t appear with the3D highlight.

• The following properties are set for each prompt string field thatdisplays the prompt text:

Set Change Flag Property For Scrolling Windows Mark thisoption to set the SetChangeFlag property to True for all scrollingwindow fields. In early versions of Dexterity, this property didn’tdefault to True for scrolling window fields.

3. Run the conversion.Click Start to begin the conversion process. When complete, the utilitysaves the conversion report to the same location as your dictionary.

4. Review the conversion report.The conversion text report shows all the objects the utility successfullyconverted. If the utility was unable to convert an object on a given form,it will display the form on the report in the following format:

***Exception*** Form: SY_Company_Options

Examine the forms listed to determine if any need additional changes.

5. Make any necessary changes.There are a number of user interface changes you may need to makebefore you’ve completely converted your application. The followingare the most common issues you will encounter.

Custom prompt colors If you choose the Use Custom PromptColors option, and the utility encounters a prompt that is more than 18pixels tall, it sets the BackColor property of the item to Custom;however, an exception will still be logged. This situation can occur ifyou’ve used one prompt for multiple fields.

Property Value

BackColor System

Border False

Size-Width 125

Position-Left 3

Position-Top Current value + 4

Page 95: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 89

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

Refer to the section titled System color support - automatic in Chapter 11, “Win-dows,” in Volume 1 of the Dexterity Program-mer’s Guide for infor-mation about making pictures blend with the window background color.

System colors If you choose the Use System Colors option, allwindows in your application will inherit system colors as the windowbackground color. However, bitmaps that appear in these windows willkeep their original background color, and the backgrounds may notmatch.

To address this problem, you’ll need to use the special backgroundcolor for the bitmap. The RGB values for this color are Red=192,Green=192 and Blue=192 on a scale of 255. If you use a paint or drawapplication that specifies RGB colors as percentages, use the followingpercentages: Red=75.294%, Green=75.294% and Blue=75.294%.Changing the background color of the bitmap to this specific colorallows the bitmap’s background color to blend automatically withwhatever window background color the user selects.

Page 96: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 2 U T I L I T Y R E F E R E N C E

90 D E X T E R I T Y U T I L I T I E S

Changing Evaluate After

This utility allows you to analyze the reports in your application to find outwhich use functions that are considered “unsafe.” You can also use it to setEvaluate After to <any> for each calculated field in reports that don’t useunsafe functions.

To use the Evaluate After utility, select an editable dictionary. Next, chooseChange Evaluate After from the Utilities menu. The Evaluate After Utilitywindow will appear.

1. Indicate which functions are safe and unsafe.The user-defined functions available for use in the Report Writer will belisted. Indicate which are safe and unsafe by selecting a function name,then clicking Toggle Status. Click All Safe to mark all functions as safe.Click All Unsafe to mark all functions as unsafe.

If you are checking reports that integrate with Microsoft Dynamics GP, look inthe SDK (Software Development Kit) for a list of the unsafe functions in eachof these products.

2. Save the list of unsafe functions (optional).When you have indicated which functions are safe and unsafe, youmay want to save the list of functions that are considered unsafe. Dothis by entering a file name in the File field and clicking Save.

Use this list to indicatewhich functions are safe

and unsafe.

This field indicates whichfunctions to display.

Use these fields to savethe list of unsafe

functions to a file.

Page 97: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 91

C H A P T E R 7 D I C T I O N A R Y U T I L I T I E S

You can load a list of unsafe functions by clicking Browse and selectingthe text file that contains the list of unsafe functions, then clicking Load.

3. Specify the report options.Mark the options that indicate what information you want to appear inthe log file generated by the Evaluate After utility. You can include thefollowing information:

Unsafe Reports that contain calculated fields that use unsafefunctions.

Modified Reports that contain calculated fields that don’t use anyunsafe functions. Evaluate After will be set to <any> for each calculatedfield in these reports.

Unchanged Reports that contain calculated fields that don’t use anyunsafe functions. Evaluate After is already set to <any> for thesecalculated fields, so no changes are required.

4. Analyze the reports (optional).If you want to find out which reports contain calculated fields that useunsafe functions and which will be modified by this utility, clickAnalyze. A dialog will be displayed prompting you to enter the nameof the output report.

5. Run the update.Click Modify to update the reports in the dictionary. All calculatedfields that don’t use unsafe functions will have the Evaluate After fieldset to <any>.

Page 98: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

92 D E X T E R I T Y U T I L I T I E S

Page 99: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

PA

RT

3: R

EP

OR

T R

EFE

RE

NC

E

Page 100: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

94 D E X T E R I T Y U T I L I T I E S

Part 3: Report ReferenceUse this portion of the documentation to learn about the reports available inDexterity Utilities. You may want to print reports from time to time whendeveloping or modifying a dictionary to keep information about thedictionary on hand.

Printing reports

Before you can print reports, you must open the dictionary for which youwant information. All reports, with the exception of the Global ResourceUsage and Local Resource Usage reports, require a source dictionary. Thelocal and global resource usage reports require an editable dictionary.

After opening a dictionary, select the report you want to print from theReports menu. A window will appear, allowing you to specify options forthe report. Choose the appropriate options and click Print. All reportsgenerated by Dexterity Utilities are printed directly to a text file. A dialogbox will appear, allowing you to name the text file. You can open the textfile using any text editor. Reports have the best appearance if displayed in amonospaced font.

Information about the sample reports

Space does not permit all possible printing options to be illustrated for eachreport. To clarify which options are included on the sample reports, thesection titled Options included in this example indicates which options wereselected when the report was printed.

When reviewing the sample reports, keep in mind that information on mostis only a sample of the kind of information you can include on the report.For example, while you can choose to print script information on severalreports, we’ve chosen to illustrate it on only the Forms report.

Page 101: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 95

P A R T 3 R E P O R T R E F E R E N C E

Reports summary

The following table summarizes the reports most commonly used to viewinformation about specific resources.

Category Action Report to use

Composites List the characteristics of a composite.

Global Resources Report. Select Composites as the resource type.

List the unused composites in a dictionary.

Global Resource Usage Report. Select Composites as the resource type. Select Unused as the resource detail. You can choose to remove the unused composites.

List the data types that a composite is used with.

Global Resource Usage Report. Select Composites as the resource type. Select List Occurrences as the resource detail.

Constants List the constants defined for a dictionary.

Global Resources Report. Select Constants as the resource type.

Data Types List the characteristics of global data types.

Global Resources Report. Select Data Types as the resource type.

List the characteristics of local data types.

Local Resources Report. Choose Local Data Types as the resource type.

List the unused global data types in a dictionary.

Global Resource Usage Report. Select Data Types as the resource type. Select Unused as the resource detail. You can choose to remove the unused data types.

List the unused local data types for a form.

Local Resource Usage Report. Select Local Data Types as the resource type. Select Unused as the resource detail. You can choose to remove the unused local data types.

Fields List the characteristics of global fields.

Global Resources Report. Select Global Fields as the resource type.

List the characteristics of local fields.

Local Resources Report. Choose Local Fields as the resource type.

List the unused global fields in an application.

Global Resource Usage Report. Select Fields as the resource type. Select Unused as the resource detail. You can choose to remove the unused fields.

List the unused local fields for a form.

Local Resource Usage Report. Select Local Fields as the resource type. Select Unused as the resource detail. You can choose to remove the unused local fields.

List where a specific global field is used.

Global Resource Usage Report. Select Global Fields as the resource type. Select List Occurrences as the resource detail.

Page 102: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

96 D E X T E R I T Y U T I L I T I E S

Fields (cont.) List where a specific local field is used.

Local Resource Usage Report. Select Local Fields as the resource type. Select List Occurrences as the resource detail.

List the fields in a window.

Forms Report. Mark the Window Information check box.

List the field options for a window field.

Forms Report. Mark the Window Information check box.

List the fields without physical names.

Summary Reports. Select Field Summary report.

List the resource IDs for global fields.

Resource Lists. Select [Core] Corename Fields as the dictionary module. Select Field as the resource type.

List the resource IDs for the local fields in a form.

Resource Lists report. Select [Form] Formname as the dictionary module. Select Field as the resource type.

List the window fields that are linked to prompts.

Linked Prompt Report. Select All Fields and Prompts as the field detail.

List the window fields that aren’t linked to a prompt.

Linked Prompt Report. Select Fields with no Prompt as the field detail.

Print field scripts. Forms Report. Mark the Window Information check box.orLocal Resources Report. Choose Local Scripts as the resource type.

Summarize the global fields in the dictionary.

Summary Reports. Select Field Summary report.

Formats List the characteristics of a format.

Global Resources Report. Select Formats as the resource type.

List the data types where a format is used.

Global Resource Usage Report. Select Formats as the resource type. Select List Occurrences as the resource detail.

List the unused formats in a dictionary.

Global Resource Usage Report. Select Formats as the resource type. Select Unused as the resource detail. You can choose to remove the unused formats.

Category Action Report to use

Page 103: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 97

P A R T 3 R E P O R T R E F E R E N C E

Forms List the form series a form is associated with.

Global Resource Usage Report. Select Forms as the resource type.

List the forms in a specific form series.

Global Resources Report. Select Form Groups as the resource type.

List the name of a form.

Forms Report.

List the resource ID of a form.

Resource Lists report. Select [Form] Formname as the dictionary module. Select Form as the resource type.

List the tables attached to a form.

Forms Report. Mark the File Information check box.

List whether the form is used for a lookup.

Global Resource Usage Report. Select Forms as the resource type.

Print form-level functions.

Forms Report.orLocal Resources Report. Select Form Functions as the resource type.

Print form-level procedures.

Forms Report.orLocal Resources Report. Select Form Procedures as the resource type.

Print form scripts. Forms ReportorLocal Resources Report. Select Local Scripts as the resource type.

Global Variables List the system variables in a dictionary.

Global Resources Report. Select System Variables as the resource type.

Menus List the menus for a form.

Forms Report. Mark the Menu Information check box.

Print menu scripts. Forms Report. Mark the Menu Information check box.orLocal Resources Report. Select Local Scripts as the resource type.

Messages List the messages in a dictionary.

Global Resources Report. Select Messages as the resource type.

Category Action Report to use

Page 104: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

98 D E X T E R I T Y U T I L I T I E S

Pictures List the generic pictures in a dictionary.

Global Resources Report. Select Pictures as the resource type.

List the Windows metafile pictures in a dictionary.

Global Resources Report. Select Metafiles as the resource type.

List the unused pictures in a dictionary.

Global Resource Usage Report. Select Pictures as the resource type for generic pictures. Select Metafiles as the resource type for Windows format pictures. Select Unused as the resource detail. You can choose to remove the unused pictures.

List where a picture is used in a dictionary.

Global Resource Usage Report. Select Pictures as the resource type for generic pictures. Select Metafiles as the type for Windows format pictures. Select List Occurrences as the resource detail.

Reports List the characteristics of a report.

Reports Report.

List the reports in a specific series.

Global Resources Report. Select Report Groups as the resource type.

Scripts Print field scripts. Forms Report. Mark the Window Information check box.orLocal Resources Report. Select Local Scripts as the resource type.

Print form-level functions.

Forms Report.orLocal Resources Report. Select Form Functions as the resource type.

Print form-level procedures.

Forms Report.orLocal Resources Report. Select Form Procedures as the resource type.

Print form scripts. Forms Report.orLocal Resources Report. Select Local Scripts as the resource type.

Print global functions. Global Functions Report.

Print global procedures. Global Procedures Report.

Print menu scripts. Forms Report. Mark the Menu Information check box.orLocal Resources Report. Choose Local Scripts as the resource type.

Category Action Report to use

Page 105: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 99

P A R T 3 R E P O R T R E F E R E N C E

Scripts (cont.) Print window scripts. Forms Report. Mark the Window Information check box.orLocal Resources Report. Select Local Scripts as the resource type.

Strings List the strings used in a dictionary.

Global Resources Report. Select Strings as the resource type.

List the unused strings in a dictionary.

Global Resource Usage Report. Select Strings as the resource type. Select Unused as the resource detail. You can choose to remove the unused strings.

List where a string is used in a dictionary.

Global Resource Usage Report. Select Strings as the resource type. Select List Occurrence as the resource detail.

Tables List table characteristics.

Tables Report.

List how many times and where a table is linked.

Global Resource Usage Report. Select Tables as the resource type. Select List Occurrences as the resource detail.

List the fields in a table. Tables Report. Mark the Fields check box.

List the keys for a table. Tables Report. Mark the Keys check box.

List the table relationships for a table.

Tables Report. Mark the Relationships check box.

List the tables attached to a form.

Forms Report. Mark the Table Information check box.

List the tables in a table group.

Global Resources Report. Select Table Groups as the resource type.

List the tables in a specific table series.

Global Resources Report. Select Table Lists as the resource type.

List the table groups in a specific series.

Global Resources Report. Select Table Group Lists as the resource type.

List the resource IDs of table groups.

Resource Lists report. Select [Core] Corename Core as the dictionary module. Select Table Group as the resource type.

List the resource IDs of tables.

Resource Lists report. Select [Core] Corename Core as the dictionary module. Select Table as the resource type.

Summarize the information for a table.

Summary Reports. Select Table Summary report.

Table Relationships

Identify invalid table relationships.

Table Relationships Validation Report.

Category Action Report to use

Page 106: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

100 D E X T E R I T Y U T I L I T I E S

Windows List characteristics of a window.

Forms Report. Mark the Window Information check box.

List resource ID of a window.

Resource Lists report. Select [Form] Formname as the dictionary module. Select Window as the resource type.

Print window scripts. Forms Report. Mark the Window Information check box.orLocal Resources Report. Choose Local Scripts as the resource type.

Category Action Report to use

Page 107: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 101

F O R M S R E P O R T

Forms Report

The Forms Report contains information about a form and the windows,fields, tables, menus and scripts that are part of the form. This report canalso be used to print the scripts attached to the form and to the windows,fields and menus for the form.

To use the Forms Report, open a source dictionary and choose Forms fromthe Reports menu. The Forms Report window will appear, as shown in thefollowing illustration.

1. Mark the report options.Mark the appropriate options to indicate the information you wantincluded in the report. The selections you make will apply to all formsfor which you print reports.

Scripts Only Mark this option to print only script information. Otherinformation won’t be included in the report.

Table Information This option allows you to include informationabout all tables used by each form selected.

Window Information This option allows you to include detailsabout all windows within each form.

Menu Information This option allows you to include informationabout any menus that are part of each form.

These are the optionsfor the report.

This drop-down listspecifies the series of the

forms in the Forms list.

The report will containinformation for forms in

this list.

Page 108: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

102 D E X T E R I T Y U T I L I T I E S

2. Indicate the level of detail for the script and field information.The first Script and Field Detail list allows you to specify the level ofscript detail to print. Select one of three options:

• No Scripts – Excludes script information from the report.

• Script Names – Includes only script names on the report.

• Script Names and Source – Includes script names and scriptsource.

Prompts placed on the window using the text tool are static window fields.

The second Script and Field Detail list allows you to specify the level offield detail to print for each field on a window in the form. Select one offour options:

• Name Only–All – Lists only the name of all window fields.

• Name Only–Non-static – Lists only names of non-static windowfields, such as string or currency fields.

• Detailed–All – Lists detailed information about all window fields.

• Detailed–Non-static – Lists detailed information for only non-static window fields, such as string or currency fields.

3. Select the forms you want to print information for.Select the series containing the form you want to print information for.The Forms list will be filled with the names of forms in the selectedseries. Select each of these forms you want to include and click Insert todisplay it in the Selected Forms list. Double-clicking the selectionperforms the same function. Click Insert All to select all forms listed.

4. Print the report.Click Print to print the report for the forms in the Selected Forms list.The Report File Name dialog box will appear. Enter the name andlocation for the Forms Report, then click Save. A sample Forms Reportis shown on the following page.

Page 109: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 103

F O R M S R E P O R T

Forms Report

Options included in this example:Window InformationTable InformationScript Detail: Script Names and SourceField Detail: Detailed - Non-static

Change-Field Script : [None]

Post-Field Script : [None]

____________________________________________________________________________________

Time printed: 11/24/1995 12:06:14

Dictionary: HD1:RESM.DIC

Form Resources

____________________________________________________________________________________

Form : Houses

Series : Sales

Pre-form Script : None

Post-form Script: None

Table Display Name Physical Name Table Group Access

_____________________________________________________________________________________________________________

House_Pictures House Pictures HOUSEPIC House Tables Read/Write

House_Descriptions House Descriptions HOUSEDES House Tables Read/Write

Seller_Data Seller Data SELLDAT Seller Tables Read/Write

House_Data House Data HOUSEDAT House Tables Read/Write

Window Name : Houses

Display Name: Houses

Window Type : Standard

Options:

Close Box

Auto Open

Auto Link

Background Color

Link Table : House_Data

Background : [None]

Pre-window Script: Houses_WIN_PRE !255F1255F0!

____________________________________________________________________________________

disable '(L) Delete Button'.

____________________________________________________________________________________

Post-window Script: Houses_WIN_POST !255F1255F1!

____________________________________________________________________________________

local integer reply.

if changed (window Houses) then

set 'reply' to ask("Do you want to save your changes","Yes","No","Cancel").

if reply = ASKBUTTON1 then

{Yes, save the changes}

if required(form Houses) then

{Move from window to table buffer.}

copy from window Houses to table House_Data.

Page 110: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

104 D E X T E R I T Y U T I L I T I E S

Reports Report

The Reports Report contains information about reports that have beencreated in a dictionary.

To use the Reports Report, open a source dictionary and choose Reportsfrom the Reports menu. The Reports Report window will appear, as shownin the following illustration.

1. Select the reports you want to print information for.Select the series containing the report you want to print informationfor; the Reports list will be filled with the names of reports in theselected series. Select each report you want to include and click Insert todisplay it in the Selected Reports list.

2. Print the report.Click Print to print the report for the reports in the Selected Reports list.The Report File Name dialog box will appear. Enter the name andlocation for the Reports Report, then click Save. A sample ReportsReport is shown on the following page.

This drop-down listspecifies the series of thereports in the Reports list.

The report will containinformation for reports in

this list.

Page 111: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 105

R E P O R T S R E P O R T

Reports Report

Options included in this example:Design Documents

Time printed: 11/24/1995 11:43:35

Dictionary: HD1:RESM.DIC

Report Resources

____________________________________________________________________________________

Report : Seller Report

Series : Sales

Type : Graphics

Options :

First Page Header

First Page Footer

Tables :

Seller_Data using key Seller_Data_By_ID

House_Data(1-M)

Sort :

Restrict :

Report Design Document:

This report prints a list of all individuals who currently have real estate for sale.

Tables used:

Seller_Data is the main table for this report.

House_Data is a related table.

____________________________________________________________________________________

Page 112: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

106 D E X T E R I T Y U T I L I T I E S

Tables Report

The Tables Report contains information about tables in a dictionary. Thereport can include the display and physical names of the table, the recordsize, information about fields in the table, and the name of the table groupto which the table belongs (if any).

To use the Tables Report, open a source dictionary and choose Tables fromthe Reports menu. The Tables Report window will appear, as shown in thefollowing illustration.

1. Select the report options.Mark the appropriate options to indicate the information you wantincluded in the report. The selections you make will apply to all tablesfor which you print reports.

Keys Mark this option to list the keys in the table. A list of fields ineach key and the attributes of the key will follow each key name.

These are the optionsfor the report.

This drop-down listspecifies the series of the

tables in the Tables list.

The report will containinformation for tables in

this list.

Page 113: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 107

T A B L E S R E P O R T

Fields This option allows you to include the following informationabout the table’s fields:

• Name

• Control type

• Keyable and storage lengths

• String field attributes

• Range of values (for currency fields only)

• Number of elements in array fields

• Static values for list boxes, drop-down lists, push buttons, radiobuttons, check boxes and visual switches

Relationships Mark this option to include information about relatedtables, including the linked fields.

2. Select the tables you want to print information for.Select the series containing the tables you want to print information for.The Tables list will be filled with the names of tables in the selectedseries. Select each of these tables you want to include and click Insert todisplay it in the Selected Tables list. Double-clicking the selection willperform the same function. Click Insert All to select all tables listed.

3. Print the report.Click Print to print the report for the tables in the Selected Tables list.The Report File Name dialog box will appear. Enter the name andlocation for the Tables Report, then click Save. A sample Tables Reportis shown on the following page.

Page 114: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

108 D E X T E R I T Y U T I L I T I E S

Tables Report

Options included in this example:KeysFieldsRelationships

Time printed: 11/24/1995 10:59:15

Dictionary: HD1:RESM.DIC

Table Resources

____________________________________________________________________________________

Table : Seller_Data Record Size : 152

Display Name : Seller Data Physical Name: SELLDAT

Database Type: Default

Series : Sales Table Group : Seller Tables

Options : Use 4 byte header

String Attribute Legend: U-Uppercase A-Alphanumeric #-Numeric Only

Lengths String Currency Range

Field Name Storage Type Keyable Storage Attributes Low High

_____________________________________________________________________________________________________________

Seller ID String 6 8 [ ]

Seller Name String 30 32 [ ]

Address String 30 32 [ ]

City String 20 22 [ ]

State String 2 4 [U A ]

ZIP Code String 9 10 [ #]

Phone String 10 12 [ #]

Agent String 30 32 [ ]

Keys

____________________________________________________________________________________

Seller_Data_By_ID

Seller ID

Key Length: 8

Seller_Data_By_Name

Seller Name

Key Length: 32

Max Key Length: 32

Relationship :

____________________________________________________________________________________

22000

Seller_Data links to many records of table House_Data using key House_Data_By_Seller_ID

Linked fields:

Seller ID

____________________________________________________________________________________

Page 115: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 109

G L O B A L F U N C T I O N S R E P O R T

Global Functions Report

The Global Functions Report allows you to print the script source for globalfunctions.

To use the Global Functions Report, open a source dictionary and chooseGlobal Functions from the Reports menu. The Global Functions Reportwindow will appear, as shown in the following illustration.

1. Mark the report options.Mark Form Feed After Script to start each global function on a separatepage.

2. Select the global functions you want to print.Select the series containing the global functions you want to print; theFunctions list will be filled with the names of global functions in theselected series. Select each function to include and click Insert todisplay it in the Selected Functions list.

3. Print the report.Click Print to print the report for the global functions in the SelectedFunctions list. The Report File Name dialog box will appear. Enter thename and location for the Global Functions Report, then click Save. Asample Global Functions Report is shown on the following page.

This option determineswhether each script

begins on a new page.

The report will contain thescript source for the global

functions in this list.

Page 116: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

110 D E X T E R I T Y U T I L I T I E S

Global Functions Report

Options included in this example:Form Feed After Script

Time printed: 11/24/1995 11:59:25

Dictionary: HD1:RANDOM.DIC

Functions

____________________________________________________________________________________

FUNCTION: random() !10093001!

____________________________________________________________________________________

function returns currency random_number.

local long temp, low, hi, test.

{Keep the current seed. This will be used to get the next random number in the

stream.}

set temp to seed of globals.

{Generate the next seed.}

set hi to seed of globals / QUOTIENT.

set low to seed of globals % QUOTIENT.

set test to (MULTIPLIER * low) - (REMAINDER * hi).

if test > 0 then

set seed of globals to test.

else

set seed of globals to test + MODULUS.

end if.

set random_number to temp * (1.0) / MODULUS.

____________________________________________________________________________________

Page 117: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 111

G L O B A L P R O C E D U R E S R E P O R T

Global Procedures Report

The Global Procedures Report allows you to print the script source forglobal procedures.

To use the Global Procedures Report, open a source dictionary and chooseGlobal Procedures from the Reports menu. The Global Procedures Reportwindow will appear, as shown in the following illustration.

1. Mark the report options.Mark Form Feed After Script to start each procedure on a separatepage.

2. Select the procedures you want to print.Select the series containing the global procedures you want to print; theGlobal Procedures list will be filled with the names of globalprocedures in the selected series. Select each procedure you want toinclude and click Insert to display it in the Selected Global Procedureslist.

3. Print the report.Click Print to print the report for the global procedures in the SelectedGlobal Procedures list. The Report File Name dialog box will appear.Enter the name and location for the Global Procedures Report, thenclick Save. A sample Global Procedures Report is shown on thefollowing page.

This option determineswhether each script

begins on a new page.

The report will contain thescript source for the global

procedures in this list.

Page 118: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

112 D E X T E R I T Y U T I L I T I E S

Global Procedures Report

Options included in this example:Form Feed After Script

Time printed: 11/24/1995 13:02:38

Dictionary: HD1:RESM.DIC

Global Procedures

____________________________________________________________________________________

PROCEDURE: Progress_Control !1009155F0!

____________________________________________________________________________________

{--------------------------------------------------------------------------

Script name: Progress_Control

Type: Procedure Script

Description:

This script updates the Progress_Control window based upon the ratio

of the two values passed to this script. The ratio is used to update

a visual switch that shows progress between 0% and 100%.

--------------------------------------------------------------------------}

in long Current_Value.

in long Total_Value.

local integer previous_value, current_display.

set previous_value to Progress_Bar_Status of globals.

{Don't update the Progress_Control form if it isn't open.}

if isopen(form Progress_Control) then

{Progress_Control is open, so update it.}

if Current_Value >= Total_Value then

set Progress_Bar of window Progress_Control of form Progress_Control to 10.

set Progress_Bar_Status of globals to 0.

else

set current_display to ((Current_Value*1.0/Total_Value)*100.0).

if ((current_display - previous_value) >= 10) then

set Progress_Bar of window Progress_Control of form Progress_Control to

(current_display)/10.

set Progress_Bar_Status of globals to previous_value + 10.

end if.

end if.

end if.

____________________________________________________________________________________

Page 119: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 113

G L O B A L R E S O U R C E S R E P O R T

Global Resources Report

The Global Resources Report contains information about global resourcesin a dictionary. Typically, it is used to list a specific type of resource, such asmessages.

To use the Global Resources Report, open a source dictionary and chooseGlobal Resources from the Reports menu. The Global Resources windowwill appear, as shown in the following illustration.

1. Select a series for the resource.From the Series drop-down list, select the series containing the globalresources for which you want to print information.

2. Select a resource type.From the Resource Type drop-down list, select the type of globalresource for which you want to print information. The following is a listof the resource types you can select, along with the information printedfor each:

• Composites – Name and the list of components.

• Constants – ID, name and value.

This drop-down list specifiesthe type of resource for

which information will bereported.

Select a resource in thislist if you’re printing

information for a specificresource.

The Printing Optionsspecify which resources to

include in the report.

Page 120: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

114 D E X T E R I T Y U T I L I T I E S

• Data types – Name, control type, keyable length, storage lengthand static values.

• Table, Table Group, Form and Report lists – List name, list mem-bers and their internal and display names.

• Formats – Attributes of the format.

• Global Fields – Name, data type, control type, keyable length, stor-age length and static values.

• Table Groups – Name, member tables and the table group displayname.

• Pictures, Mac pictures and Metafiles – Name and ID.

• Messages – ID, name and message text.

• Strings – ID, number of occurrences and the actual string.

• System variables – Name and storage type.

3. Specify the printing options.The printing options specify which resources to include in the report.Chose one of the following:

• To include all global resources of all types in the report, choose AllResources. This option may result in a lengthy report.

• To include information about all resources listed in the Resourceslist, choose Listed Resources.

• To include a single resource of the specified type, select the resourcein the Resources list and choose the Selected Resource printingoption.

4. Print the report.Click Print to print the report for the selected global resources. TheReport File Name dialog box will appear. Enter the name and locationfor the Global Resources Report, then click Save. A sample GlobalResources Report is shown on the following page.

Page 121: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 115

G L O B A L R E S O U R C E S R E P O R T

Global Resources Report

Options included in this example:Resource Type: Global FieldsPrinting Options: Listed Resources

Time printed: 11/24/1995 14:02:33

Dictionary: HD1:RESM.DIC

Global Field Resources

____________________________________________________________________________________

Lengths Lookup Form

Field / Data Type Array Storage Type Keyable Storage Values

____________________________________________________________________________________

Address

STR30 String 30 32

Agent

STR30 String 30 32

Air Conditioned

Air Conditioned Radio Group 3 2

1 Yes

2 No

Asking Price

CUR9 Currency 12 10

Baths

INT2 Integer 2 2

Bedrooms

INT2 Integer 2 2

Buyer ID

Buyer_ID String 6 8

Buyer Name

STR30 String 30 32

Buyers Button

PB_Buyers Push Button 13 2

1 [Pict] Buyers Button Up

2 [Pict] Buyers Button Down

City

STR20 String 20 22

Description

Text32000 Text [Var Len] 32000 0

Expand Button

Expand Button Visual Switch 16 2

1 [Pict] Scroll_Win_Expand_Down

2 [Pict] Scroll_Win_Expand_Up

Floor Space

INT5 Integer 5 2

ZIP Code

ZIP_STR9 String 9 10

____________________________________________________________________________________

Page 122: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

116 D E X T E R I T Y U T I L I T I E S

Local Resources Report

The Local Resources Report contains information about local resources for aspecific form in a dictionary. It allows you to include information aboutlocal data types and local fields, as well as script source for local scripts,form procedures and form functions.

To use the Local Resources Report, open a source dictionary and chooseLocal Resources from the Reports menu. The Local Resources window willappear, as shown in the following illustration.

1. Select a series and form.Select a form series; the Forms list will be filled with the names of formsin the selected series. Select the form for which you want to print localresource information.

Select the form in this listfor which you want to

print information.

This drop-down list specifiesthe type of local resource for

which information will bereported.

Select a resource in thislist if you want to print

information for a specificresource.

The Printing Optionsspecify which resourcesto include in the report.

Page 123: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 117

L O C A L R E S O U R C E S R E P O R T

2. Select a resource type.From the Resource Type list, select the type of local resource for whichyou want to print information. The following is a list of the localresource types you can select, along with the information printed foreach:

• Form Functions – Script name and source.

• Form Procedures – Script name and source.

• Local Data Types – Name, storage type, keyable length, storagelength, static values and format.

• Local Fields – Name, data type, array size, control type, keyablelength, storage length and static values.

• Local Scripts – Script name and source.

3. Specify the printing options.The printing options specify which resources to include in the report.Chose one of the following:

• To include all local resources of all types in the report, choose AllResources. This option may result in a lengthy report.

• To include information about all resources listed in the Resourceslist, choose Listed Resources.

• To include a single resource of the specified type, select the resourcein the Resources list and choose the Selected Resource printingoption.

4. Print the report.Click Print to print the report for the selected local resources. TheReport File Name dialog box will appear. Enter the name and locationfor the Local Resources Report, then click Save. A sample LocalResources Report is shown on the following page.

Page 124: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

118 D E X T E R I T Y U T I L I T I E S

Local Resources Report

Options included in this example:Resource Type: Local FieldsPrinting Options: Listed Resources

Time printed: 11/24/1995 15:05:34

Dictionary: HD1:RESM.DIC

Form: Houses

Local Field Resources

____________________________________________________________________________________

Lengths Lookup Form

Field / Data Type Array Storage Type Keyable Storage Values

____________________________________________________________________________________

Amount Financed

Amount Financed Currency 12 10

Calculate

Calculate Push Button 9 2

1 Calculate

Clear Button

Clear Button Push Button 5 2

1 Clear

Closing Cost Percentage

Closing Cost Percentage Currency 6 10

Closing Costs

Closing Costs Currency 10 10

Delete Button

Delete Button Push Button 6 2

1 Delete

Description Button

Description Button Push Button 11 2

1 Description

DownPayment

DownPayment Currency 12 10

Interest_Rate

Interest_Rate Currency 7 10

Match Buyers

Match Buyers Push Button 12 2

1 Match Buyers

Monthly Payment Button

Monthly Payment Button Push Button 10 2

1 Payment...

Monthly_Payment

Monthly_Payment Currency 12 10

Payments_per_Year

Payments_per_Year Integer 4 2

Years

Years Integer 2 2

____________________________________________________________________________________

Page 125: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 119

R E S O U R C E L I S T S

Resource Lists

The Resource Lists report is used to view the names of resources and theirassociated resource ID numbers. It is also useful for identifying thedictionary core and module in which specific resources are located. Refer toAppendix A, “Dictionary Structure,” for more information about thestructure of a dictionary.

To use the Resource Lists report, open a source dictionary and chooseResource Lists from the Reports menu. The Resource Lists window willappear, as shown in the following illustration.

1. Select a dictionary module.From the Dictionary Modules list, select the dictionary module thatcontains the resources for which you want to view information. TheResource Types list will be filled with the resource types that are part ofthe selected module.

Each specific module won’t necessarily contain all the types ofresources that can be stored in that module. For example, if you select aform module that doesn’t have any local data types, you won’t see DataType as one of the entries in the Resource Types list.

Select the dictionarymodule containing the

resources for which youwant to view information.

This list displays the typesof resources in the selected

dictionary module.

The report will containinformation for the

dictionary modules andresource types in this list.

Page 126: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

120 D E X T E R I T Y U T I L I T I E S

2. Select the appropriate resource types.Select a resource type from the Resource Types list and click Insert todisplay the resource type in the Selected Resource Types list. Repeatthis process to include information for as many dictionary modules andresource types as you want. To insert all resource types displayed in theResource Types list into the Selected Resource Types list, mark the AllResource Types check box and click Insert.

To remove an item you’ve inserted in the Selected Resource Types list,select it and click Remove. Click Remove All to clear the list and beginagain.

3. Print the report.Click Print to print the report for the resource types in the SelectedResource Types list. The Report File Name dialog box will appear. Enterthe name and location for the Resource Lists report, then click Save. Asample Resource Lists report is shown on the following page.

Page 127: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 121

R E S O U R C E L I S T S

Resource Lists

Time printed: 11/24/1995 16:15:26

Dictionary: HD1:RESM.DIC

Resource Lists

____________________________________________________________________________________

-- Table resources in System Core --

Id # 22000 Name: House_Descriptions

Id # 22001 Name: Seller_Data

Id # 22002 Name: House_Data

Id # 22003 Name: House_Pictures

Id # 22004 Name: Buyer_Data

-- Key resources in System Core --

Id # 22000 Name: House_Descriptions_By_ID

Id # 22001 Name: Seller_Data_By_ID

Id # 22002 Name: Seller_Data_By_Name

Id # 22003 Name: House_Data_By_ID

Id # 22004 Name: House_Pictures_By_ID

Id # 22005 Name: Buyer_Data_By_ID

Id # 22006 Name: Buyer_Data_By_Name

Id # 22007 Name: House_Data_By_Seller_ID

Id # 22009 Name: Buyer_Data_By_Price

Id # 22010 Name: House_Data_By_Price

-- Format resources in System Core --

Id # 22000 Name: Ref_Number

Id # 22001 Name: STR_U

Id # 22002 Name: ZIP_STR9

Id # 22003 Name: STR10_Phone

Id # 22004 Name: CUR

Id # 22005 Name: Interest_Rate

-- Picture resources in System Core --

Id # 22000 Name: GPS Logo

Id # 22001 Name: Progress_Bar_Scale

Id # 22002 Name: RESM_Logo

Id # 22004 Name: RESM About Box Picture

-- Relation resources in System Core --

Id # 22000 Name: 22000

Id # 22013 Name: DexterSys

Id # 22014 Name: RW

____________________________________________________________________________________

Page 128: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

122 D E X T E R I T Y U T I L I T I E S

Global Resource Usage Report

The Global Resource Usage Report lists how specific global resources areused throughout a dictionary. The report can include the number of times aglobal resource is used or where the resource is used. It can also print a listof the unused resources in the dictionary (global resources that have beencreated but not used by other resources). An option for the report allowsyou to remove the unused resources from the dictionary.

To use the Global Resource Usage Report, open an editable dictionary andchoose Global Resource Usage from the Reports menu. The GlobalResource Usage window will appear, as shown in the following illustration.

1. Select the series for the resources.From the Series drop-down list, select the series containing the globalresources for which you want to print information.

This drop-down listspecifies the type of

resources to display in theResources list.

Select a resource in thislist if you’re printing

information for a specificresource.

These options indicate whatinformation will be included in

the report, and whether unusedresources will be removed.

Page 129: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 123

G L O B A L R E S O U R C E U S A G E R E P O R T

2. Indicate the resource detail.Use the Resource Detail drop-down list to indicate the information toinclude in the report. Choose one of the following options.

• Unused – List the unused global resources.

• No. Occurrences – List the number of occurrences of a globalresource.

• List Occurrences – List where a global resource is used.

3. Select a resource type.From the Resource Type drop-down list, select the type of globalresource for which you want to print information. The following is a listof the resource types you can select:

• Composites• Data Types• Formats• Forms• Global Fields• Mac Pictures• Metafiles• Pictures• Relationships• Reports• Strings• Table Groups• Tables

4. Indicate whether to remove unused resources.If you’re printing a list of unused resources, you can mark the RemoveUnused check box to remove the unused resources.

You may want to print and review the report listing the unused resourcesbefore you actually remove them from the dictionary.

Use caution when removing unused global fields. If a global field is used onlyas a local variable type in a script, this report will consider it unused and willdelete it from the dictionary.

Page 130: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

124 D E X T E R I T Y U T I L I T I E S

5. Select the resources to include in the report.To include a single resource of the specified type, select the resource inthe Resources list. To include all resources listed in the Resources list,mark the All Resources Listed check box.

6. Print the report.Click Print to print the report for the selected resources. The Report FileName dialog box will appear. Enter the name and location for theGlobal Resource Usage Report, then click Save. A sample GlobalResource Usage Report is shown on the following page.

If you’re listing unused resources and have marked the RemoveUnused check box, any of the selected resources that are unused will beremoved from the dictionary.

Page 131: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 125

G L O B A L R E S O U R C E U S A G E R E P O R T

Global Resource Usage Report

Options included in this example:Resource Type: Global FieldsResource Detail: List OccurrencesAll Resources Listed

Time printed: 11/24/1995 16:51:13

Dictionary: HD1:RESM.DIC

Field Usage

____________________________________________________________________________________

Occurrences of 'House ID':

Table House_Descriptions

Table House_Data

Table House_Pictures

Table Candidate_Houses_List

Key House_Descriptions_By_ID

Key House_Data_By_ID

Key House_Pictures_By_ID

Key Candidate_Houses_List_By_ID

Form : Houses

Window Houses

Window Monthly_Payment

Form : House_Lookup

Window House_Lookup_Scroll [Scrolling Window]

Number of occurrences: 11

Occurrences of 'Description':

Table House_Descriptions

Form : Houses

Window House_Description

Number of occurrences: 2

Occurrences of 'Seller ID':

Table Seller_Data

Table House_Data

Key Seller_Data_By_ID

Key House_Data_By_Seller_ID

Form : Houses

Window Houses

Form : House_Lookup

Window House_Lookup_Scroll [Scrolling Window]

Form : Sellers

Window Sellers

Form : Seller_Lookup

Window Tool_Bar

Number of occurrences: 1

Page 132: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

126 D E X T E R I T Y U T I L I T I E S

Local Resource Usage Report

The Local Resource Usage Report lists how local resources are used withina specified form or how many times the resources are used. It can also beused to print a list of the unused local resources for a form. An option forthe report allows you to remove the unused local resources from thedictionary.

To use the Local Resource Usage Report, open an editable dictionary andchoose Local Resource Usage from the Reports menu. The Local ResourceUsage window will appear, as shown in the following illustration.

1. Select a series.Select the series containing the form for which you want to printinformation about local resources.

2. Select a form.Select the form for which you want to print local resource information.

These options indicate whatinformation will be included

in the report, and whetherunused resources will be

removed.

The report will includeinformation about localresources for the form

selected in this list.

Select a resource in thislist if you’re printing

information for a specificresource.

Page 133: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 127

L O C A L R E S O U R C E U S A G E R E P O R T

3. Indicate the resource detail.Use the Resource Detail drop-down list to indicate the information toinclude in the report. Choose one of the following options:

• Unused – List the unused local resources.

• No. Occurrences – List the number of occurrences of a localresource.

• List Occurrences – List where a local resource is used.

4. Select a resource type.From the Resource Type drop-down list, select the type of local resourcefor which you want to print information. The following is a list of theresource types you can select:

• Local Data Types• Local Fields• Local Scripts

5. Indicate whether to remove unused resources.If you’re printing a list of unused resources, you can mark the RemoveUnused check box to remove the unused resources.

6. Select the resources to include in the report.To include a single resource of the specified type, select the resource inthe Resources list. To include all resources listed in the Resources list,mark the All Resources Listed check box.

7. Print the report.Click Print to print the report for the selected resources. The Report FileName dialog box will appear. Enter the name and location for the LocalResource Usage Report, then click Save. A sample Local ResourceUsage Report is shown on the following page.

If you’re listing unused resources and have marked the RemoveUnused check box, any selected resources that are unused will beremoved from the dictionary.

Page 134: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

128 D E X T E R I T Y U T I L I T I E S

Local Resource Usage Report

Options included in this example:Resource Type: Local FieldsResource Detail: UnusedAll Resources Listed

Time printed: 11/24/1995 17:00:20

Dictionary: HD1:RESM.DIC

Unused Local Fields

____________________________________________________________________________________

Yes

No

PushButton5

DDL6

____________________________________________________________________________________

Page 135: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 129

L I N K E D P R O M P T R E P O R T

Linked Prompt Report

The Linked Prompt Report displays fields and the corresponding promptsthe fields have been linked to. The report lists all fields and prompts or listsonly fields that have not been linked to prompts. Refer to the Chapter 11,“Windows,” of Volume 1 of the Dexterity Programmer’s Guide forinformation about linking fields to prompts.

To use the Linked Prompt Report, open a source dictionary and chooseLinked Prompts from the Reports menu. The Linked Prompt Reportwindow will appear, as shown in the following illustration.

1. Select the forms you want to print information for.Select the series containing the forms you want to print information for;the Forms list will be filled with the names of forms in the selectedseries. Select each form you want to include and click Insert to displayit in the Selected Forms list. Double-clicking the selection will performthe same function. Click Insert All to select all forms listed.

2. Indicate the report detail.Use the Report Detail drop-down list to indicate the information toinclude in the report. Choose one of the following options.

• Fields with no Prompt – List the fields that have no correspondinglinked prompt.

• All Fields and Prompts – List all fields and prompts, includingfields with no assigned prompt.

The report willcontain informationfor forms in this list.

This drop-down listindicates what

information will beincluded in the report.

Page 136: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

130 D E X T E R I T Y U T I L I T I E S

3. Print the report.Click Print to print the report for the selected forms. The Report FileName dialog box will appear. Enter the name and location for theLinked Prompt Report, then click Save. A sample Linked PromptReport is shown on the following page.

Page 137: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 131

L I N K E D P R O M P T R E P O R T

Linked Prompt Report

Options included in this example:Field Detail: All Fields and Prompts

Time printed: 11/24/1995 17:46:43

Dictionary: HD1:RESM.DIC

Linked Prompt Report

____________________________________________________________________________________

Form : Sellers

Window: Sellers

Field Prompt

____________________________________________________________________________________

Seller ID Seller ID:

Seller Name Seller Name:

Address Address:

City City, State, ZIP:

State City, State, ZIP:

ZIP Code City, State, ZIP:

Phone Phone:

Agent Agent:

____________________________________________________________________________________

Page 138: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

132 D E X T E R I T Y U T I L I T I E S

Diagnostics Report (Emergency Diagnostics)

The Diagnostics Report displays detailed information about a dictionary’sstructure. It can also detect certain types of dictionary corruption.Specifically, it looks for gaps or overlaps in how resources are stored in thedictionary. Also, if an unexpected crash occurs while a dictionary is open,the Diagnostics Report can find discrepancies that can result between theactual size of the dictionary and the size reported by the operating system.We recommend that you run the Diagnostics Report when you’re havingproblems with a dictionary and before you distribute a dictionary tocustomers.

The only difference between the Diagnostics Report and Emergency DiagnosticsReport is that for the Emergency Diagnostics Report, the Diagnostics window isn’tdisplayed and all report information is always included.

To use the Diagnostics Report, open a source dictionary and chooseDiagnostics from the Reports menu. The Diagnostics window will appear,as shown in the following illustration.

If no items appear in the Dictionary Modules list, the section of the dictionarycontaining module information may be damaged. In this rare instance, nothing canbe recovered from the dictionary.

Page 139: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 133

D I A G N O S T I C S R E P O R T ( E M E R G E N C Y D I A G N O S T I C S )

1. Select the information to include in the report.Mark the appropriate options to indicate the information you wantincluded in the report.

Block Table Mark this option to include a block table in the report.The block table lists information about each block in the dictionary,such as its size and location in the dictionary.

We recommend that you include the block table because if the DiagnosticsReport finds any problems with the dictionary, they will be listed in the blocktable section.

Module Table Mark this option to include a module table at thebeginning of the report. The module table includes information aboutall modules in the dictionary, such as the quantity of each type ofresource in each module.

2. Select the amount of directory information to include.Use the Directory drop-down list to include module directoryinformation. A module directory contains a list of all resources in themodule, including the names of the resources, the resource types andIDs, the version number assigned to each resource, and the blocks inthe dictionary in which the resources are stored. Select one of thefollowing options:

• No Directory Information – Don’t include directory information.

• Directory Information for Selected Module – Include directoryinformation for only the module selected in the Dictionary Mod-ules list.

• Directory Information for All Modules – Include directory infor-mation for all modules in the dictionary.

3. Print the report.Click Print to print the Diagnostics Report. The Report File Namedialog box will appear. Enter the name and location for the DiagnosticsReport, then click Save. A sample diagnostics report is shown at theend of this section.

Page 140: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

134 D E X T E R I T Y U T I L I T I E S

4. Examine the report.If problems were found, they will be displayed in the block tablesection of the Diagnostics Report. To examine the block table for errors,use a text utility and search for ** Error. Also, at the end of the blocktable section, compare the calculated file size and the O/S file sizenumbers. They should be the same.

Keep in mind that the Diagnostics Report may not find all types of dictionarycorruption.

5. Address any errors that were found.If you found errors in the block table, or the physical and calculateddictionary sizes don’t match, the dictionary may be corrupt.

If you found errors in the block table, indicated by ** Error, thedictionary likely has corrupted resources. Note the block numberswhere the errors were found. If you haven’t already included it in theDiagnostics Report, print a module directory for all modules. Searchthe Dblock (data block) and Nblock (name block) columns in themodule directory for the block numbers of the damaged blocks. Whenyou find the block numbers in the module directory, the resources inthat block could be corrupted.

You have two options to deal with the corrupt resources: delete thecorrupt resources or transfer the undamaged resources to a newdictionary.

• If you choose to delete the corrupt resources, make a copy of thedictionary and delete the resources from the copy. Use Dexterity todelete the resources.

• If you choose to transfer the undamaged resources to a new dictio-nary, you can use the Transfer Dictionary Module utility to transferthe undamaged dictionary modules to a new dictionary.

Unused in allocated blocks 25597

Unused in unallocated blocks 99172

Total unused in file 19743913

O/S File size 19743913

These two values at theend of the block table

should be the same.

Page 141: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 135

D I A G N O S T I C S R E P O R T ( E M E R G E N C Y D I A G N O S T I C S )

If the physical and calculated sizes don’t match, run a disk diagnosticutility such as Norton Disk Doctor, CHKDSK.EXE or SCANDISK.EXE.In some cases these utilities can find and repair problems in dictionaryfiles.

Unexpected crashes can cause the discrepancy between the physicaland calculated file sizes. The sooner you run a disk diagnostic utilityafter the corruption occurs, the more likely it is that the problem can befixed.

Page 142: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

136 D E X T E R I T Y U T I L I T I E S

Diagnostics Report

Options included in this example:Block TableModule TableDirectory Information for Selected Module

Number of types: 8

=========================================================================

____________________________________________________________________________________

Time printed: 11/24/1995 11:08:52

Dictionary: HD1:RESM.DIC

Module Information

____________________________________________________________________________________

Num mods 32 Num unused 50

Mtype Modid DirBlock Noffset Nlength

2 22000 163 641 10

2 22001 196 46 7

2 22002 213 104 13

2 22003 230 117 8

2 22004 247 125 14

2 22005 264 222 17

2 22006 281 239 10

2 22007 298 249 7

2 22008 315 501 13

3 22000 322 256 14

3 22001 327 594 17

3 22002 332 611 17

3 22003 341 628 13

3 22005 350 651 13

System Core

# Types 13 # Unused type slots 0

# allocated res slots 186 # unallocated res slots 10

Restype # resources # unused resslots

____________________________________________________________________________________

1 5 5

5 10 5

8 6 5

15 4 5

25 3 5

26 1 5

28 28 5

29 26 5

40 9 5

42 3 4

43 9 5

44 9 5

45 9 5

--------------------------------------

122 64 = 186

Page 143: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 137

S U M M A R Y R E P O R T S

Summary Reports

The Summary Reports list information about tables in a dictionary or allglobal fields in a dictionary. The table summary report includes the tablename, series, table display name, table physical name and the table groupto which the table belongs (if any). The field summary report includes thename, array size, physical name and data type used for each field.

To use the Summary Reports, open a source dictionary and chooseSummary Reports from the Reports menu. The Summary Reports windowwill appear, as shown in the following illustration.

1. Select the summary report to print.Choose either the Table Summary Report or the Field Summary Report.

2. Print the report.Click Print to print the summary report. The Report File Name dialogbox will appear. Enter the name and location for the summary report,then click Save. Sample Table Summary and Field Summary reports areshown on the following pages.

Page 144: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

138 D E X T E R I T Y U T I L I T I E S

Table Summary Report

Time printed: 11/24/1995 11:23:36

Dictionary: HD1:RESM.DIC

Table Resources - Summary

____________________________________________________________________________________

Table Series Display Name Physical Name Table Group

___________________________________________________________________________________________________________

House_Descriptions Sales House Descriptions HOUSEDES House Tables

Seller_Data Sales Seller Data SELLDAT Seller Tables

House_Data Sales House Data HOUSEDAT House Tables

House_Pictures Sales House Pictures HOUSEPIC House Tables

Buyer_Data Sales Buyer Data BUYERDAT Buyer Tables

Candidate_Buyers_List Sales Candidate Buyers List temp [None]

Candidate_Houses_List Sales Candidate Houses List temp [None]

Page 145: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 139

S U M M A R Y R E P O R T S

Field Summary Report

Time printed: 11/24/1995 11:23:50

Dictionary: HD1:RESM.DIC

Field Report - Summary

____________________________________________________________________________________

Field Array Physical Name Datatype Storage Type Format

_______________________________________________________________________________________________________________

Address Address STR30 String

Agent Agent STR30 String

Air Conditioned Air Conditioned Air Conditioned Radio Group

Asking Price Asking Price CUR9 Currency CUR

Baths Baths INT2 Integer

Bedrooms Bedrooms INT2 Integer

Buyer ID Buyer ID Buyer_ID String

Buyer Name Buyer Name STR30 String

Buyers Button PB_Buyers Push Button

City City STR20 String

Description Description Text32000 Text [Var Len]

Expand Button Expand Button Visual Switch

Floor Space Floor Space INT5 Integer

Floors Floors INT2 Integer

Garages Garages INT2 Integer

Heating Type Heating Type Heating_Type Drop Down List

House ID House ID House_ID String

House Type House Type House_Type Drop Down List

Houses Button PB_Houses Push Button

Lookup Button [ 5] PB_Lookup Push Button

Maximum Price Maximum Price CUR9 Currency CUR

Minimum Price Minimum Price CUR9 Currency CUR

Monthly Utility Cost Monthly Utility Cost CUR6 Currency CUR

No No Radio Button

Normal Button Normal Button Visual Switch

Phone Phone STR10_Phone String

STR10_Phone

Picture Picture Picture Picture [Var Len]

Progress_Bar Progress_Bar Visual Switch

Progress_Bar_Status Progress_Bar_Status Integer

Reports Button BDL_Reports Button List

Seller ID Seller ID Seller_ID String

Seller Name Seller Name STR30 String

Sellers Button PB_Sellers Push Button

Yes Yes Radio Button

ZIP Code ZIP Code ZIP_STR9 String ZIP_STR9

____________________________________________________________________________________

Page 146: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

140 D E X T E R I T Y U T I L I T I E S

Cross Link Analysis Report

The Cross Link Analysis Report examines a dictionary for resources thatimproperly reference other resources. Specifically, it checks for thefollowing conditions:

• A script resource referenced by more than one field.• A table relationship referenced by more than one table.• A key resource referenced by more than one table.

These problems could occur under rare circumstances in earlier versions ofDexterity. Use this utility to determine whether any of these problems haveaffected your dictionaries.

To use the Cross Link Analysis report, open a source dictionary and chooseCross Link Analysis from the Reports menu. The Cross Link Analysiswindow will appear, as shown in the following illustration.

1. Analyze the dictionary.Click OK to check for cross links in the dictionary. The Report FileName dialog box will appear. Enter the name and location for the CrossLink Analysis report, then click Save. A sample Cross Link Analysisreport is shown on the following page.

2. Use the Cross Link Analysis report to verify that there are no cross-linked resources.If no cross-linked resources are found in the dictionary, the Cross LinkAnalysis report won’t contain any entries. If any resources are cross-linked, you must take measures to fix the problem. Typically, thisinvolves deleting the incorrect reference to the cross-linked resourceand recreating the script, key or table relationship that should bereferenced.

Page 147: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 141

C R O S S L I N K A N A L Y S I S R E P O R T

Cross Link Analysis Report

Time printed: 11/24/1998 11:44:40

Dictionary: HD1:RESM.DIC

Cross-link Report

____________________________________________________________________________________

Form: Sellers

FIELD CHANGE script 22000 Sellers l_Save Button_CHG FIELD (L) Save Button

FIELD CHANGE script 22000 Sellers l_Save Button_CHG FIELD (L) Clear Button

FIELD CHANGE script 22000 Sellers l_Save Button_CHG FIELD (L) Clear Button

FIELD CHANGE script 22000 Sellers l_Save Button_CHG FIELD (L) Save Button

Page 148: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

142 D E X T E R I T Y U T I L I T I E S

Prompt Overflow Report

The Prompt Overflow Report ascertains whether the text in static textprompts is too long to be displayed properly on forms or reports. Thisreport is typically run after static text has been changed to create aninternational version of an application. In some cases, the translated text istoo long to be displayed properly. This report lists which window andreport static text fields must be adjusted to display the longer text.

To use the Prompt Overflow report, open a source dictionary and choosePrompt Overflow Report from the Reports menu. A file dialog box willappear, allowing you to specify the name and location of the PromptOverflow Report. A sample Prompt Overflow Report is shown on thefollowing page.

Page 149: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 143

P R O M P T O V E R F L O W R E P O R T

Prompt Overflow Report

-------------------- Forms ------------------

Form 'Seller_Lookup' Window 'Seller_Lookup'

Prompt "Seller ID" Position (315,38) (342,56)

Form 'Buyers' Window 'Buyers'

Prompt "Agent:" Position (170,23) (201,44)

Prompt "Floors:" Position (129,188) (159,209)

-------------------- Reports ----------------

Report 'Buyer Report'

Prompt "Buyer Name:" Position (7,84) (63,98)

Page 150: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

144 D E X T E R I T Y U T I L I T I E S

Referential Diagnostics Report

The Referential Diagnostics Report examines a dictionary for two types ofreferential integrity problems: invalid direct references and invalidtransitive references.

• Invalid direct references exist when one resource references a secondresource that doesn’t exist. For example, a field that references a non-existent data type is an invalid direct reference.

• Invalid transitive references exist when a resource accessed via anotherresource doesn’t exist. For example, a report references a table resourcedirectly. The table resource references field resources. If the report refer-ences a field from the table, but the field is no longer part of the table,the result is an invalid transitive reference.

We recommend that you run the Referential Diagnostics Report before you shipyour application to customers. This will alert you to any improperly referencedresource in the application, which could cause problems not detectable by ordinarytesting.

To use the Referential Diagnostics Report, open a source dictionary andchoose Referential Diagnostics from the Reports menu. A file dialog boxwill appear, allowing you to specify the name and location of theReferential Diagnostics Report.

1. Examine the report.If any referential integrity problems were found, they will be listed inthe report. If no problems were found, only the report headings will beincluded in the report. A sample Referential Integrity Report is shownon the following page.

2. Address any errors that were found.If referential integrity problems were found, they should be resolvedbefore you ship your application. Typically, this involves usingDexterity to re-establish the references between resources. To do this,delete the erroneous reference (the [Not Found]) and then re-establishthe reference.

Page 151: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 145

R E F E R E N T I A L D I A G N O S T I C S R E P O R T

For example, if a data type is deleted, fields that used it will no longerproperly reference a data type. Open the field definition for any fieldthat referenced the deleted data type and choose another data type.

In other cases, you may have to remove the references to resources thathave been deleted. The following are two common situations:

• Windows and reports contain references to strings that no longerexist. Typically, these strings are very short, and may be difficult tolocate on the window or report layout. In some cases, they may belisted in the drop-down list in the Properties window. If this is thecase, you can select them and then choose Clear from the Edit menuto delete them.

• Invalid string references on report frames. This occurs when thenames of additional headers and footers for a report are inadvert-ently deleted. Re-add the additional header and footer names tosolve the problem.

Page 152: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

146 D E X T E R I T Y U T I L I T I E S

Referential Diagnostics Report

Invalid Direct References

Data Type Seller_ID references a non-existent Composite.

Window House_Lookup_Scroll of form House_Lookup references a non-existent String.

Invalid Transitive References

Table Buyer_Data: Key Buyer_Data_By_Name references a field not in this table.

Report Candidate Buyers: Report Candidate Buyers references a field not in table Buyer_Data.

Report Buyer Report: Report Buyer Report references a field not in table Buyer_Data.

Report House Report: Report House Report contains a field from a table not linked to this report.

Page 153: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 147

T A B L E R E L A T I O N S H I P S V A L I D A T I O N R E P O R T

Table Relationships Validation Report

The Table Relationships Validation Report examines a dictionary for tablerelationships that have been defined incorrectly. Each table relationship isexamined to ascertain whether it has any of the following problems:

• The relationship type is set incorrectly. For example, a one-to-one rela-tionship is set to be a one-to-many relationship.

• The relationship has corresponding key segments that have incompati-ble data types.

• The relationship has too many segments for the key in the secondarytable.

These problems can be introduced into an application when you changekey or table definitions for existing tables.

We recommend that you run the Table Relationships Validation Report before youship your application to customers. This will alert you to any improperly-definedtable relationships in the application.

To use the Table Relationships Validation Report, open a source dictionaryand choose Table Relationships Validation from the Reports menu. A filedialog box will appear, allowing you to specify the name and location of theTable Relationships Validation Report.

1. Examine the report.If any table relationship problems were found, they will be listed in thereport. If no problems were found, only the report heading will beincluded in the report. A sample Table Relationships Validation Reportis shown on the following page.

2. Address any errors that were found.If table relationship problems were found, they should be resolvedbefore you ship your application. Typically, this involves usingDexterity to open each table relationship that contains errors. The TableRelationship Definition Window will automatically set the relationshiptype. It will prevent you from setting key segments to incompatibletypes, and will also prevent having too many segments for the key inthe secondary table.

Page 154: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

148 D E X T E R I T Y U T I L I T I E S

Table Relationships Validation Report

Table Relationships Validation Report

Relationship from table "House_Data" to "Seller_Data": Invalid one to many error

Relationship from table "House_Data" to "House_Descriptions": Too many fields error

Page 155: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 149

R E S O U R C E I D V A L I D A T I O N R E P O R T

Resource ID Validation Report

The Resource ID Validation Report examines two versions of a dictionaryand lists potential resource ID issues. This report is typically used to isolateproblems caused when resource IDs have changed between older andnewer versions of a dictionary.

To use the Resource ID Validation Report, open the original version of thedictionary as a source dictionary. Open the new (revised) version of thedictionary as an editable dictionary. Choose Resource ID Validation fromthe Reports menu. A file dialog box will appear, allowing you to specify thename and location of the Resource ID Validation Report.

As the report is generated, all forms, windows, and window items (such asfields or static text) in the original dictionary are examined. The routineattempts to locate the corresponding resource in the revised dictionary. Thefollowing conditions are logged:

• If the resource is not found in the revised dictionary, either by its nameor resource ID, it will be reported as “may have been removed”.

• If a resource with the same resource ID is found in the revised dictio-nary, but the name does not match, it will be reported as “may havebeen renamed”. This may also indicate that the resource has beendeleted in the revised dictionary, and another resource of the same typeis now using the resource ID.

• If a resource with the same name is found in the revised dictionary, butthe resource ID does not match, it will be reported as “RESID changed”.

A sample Resource ID Validation Report is shown on the following page.

Page 156: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

P A R T 3 R E P O R T R E F E R E N C E

150 D E X T E R I T Y U T I L I T I E S

Resource ID Validation Report

**** Window 'Buyers' of form 'Buyers' ****Field 'Clear' on form 'Buyers' may have been renamed to 'Restart'.

**** Window 'Houses' of form 'Houses' ****Field 'Monthly Utility Cost' may have been removed.Field 'Match Buyers' on form 'Houses': RESID changed from 22017 to 22020.

Page 157: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

AP

PE

ND

IX

Page 158: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

152 D E X T E R I T Y U T I L I T I E S

AppendixThis manual has the following appendix:

• Appendix A, “Dictionary Structure,” describes the internal structure of a Dexterity dictionary.

Page 159: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 153

Appendix A: Dictionary StructureThis appendix describes the structure of a Dexterity application dictionary.The information provided here can be useful when you’re attempting torepair a damaged application dictionary. Information about dictionarystructure is divided into the following sections:

• Parts of a dictionary• Types of modules• Dictionary cores• Resources stored in modules• Form modules• Report modules

Page 160: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

A P P E N D I X A D I C T I O N A R Y S T R U C T U R E

154 D E X T E R I T Y U T I L I T I E S

Parts of a dictionary

An application dictionary is composed of modules. A module is a collectionof resources. Resources contain information about some specific element ofthe application such as a string, field or window. Modules provide amethod of organizing resources. The structure of a dictionary is shown inthe following illustration.

ApplicationDictionary Resources

Resources

Resources

Resources

Resources

Resources

Resources

Resources

Resources

Modules

Page 161: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 155

A P P E N D I X A D I C T I O N A R Y S T R U C T U R E

Types of modules

An application dictionary can have three types of modules:

• Form modules contain resources that are specific to a single form.Resources such as windows, menus and local fields are stored in formmodules. Each form in an application has a corresponding form mod-ule in the dictionary.

• Report modules contain resources that are specific to a single report.Resources such as restrictions are stored in report modules. Each reportin an application has a corresponding report module in the dictionary.

• Core modules contain resources that are used by several parts of theapplication. Resources such as strings, table definitions and globalfields are stored in core modules.

Dictionary cores

Large applications can have thousands of core resources. To better managecore resources, the core modules are grouped into dictionary cores. Each coremodule is placed into one of seven dictionary cores:

These dictionary cores are sometimes referred to as series.

• System• Financial• Sales• Purchasing• Inventory• Payroll• Project

The dictionary cores correspond to series for Microsoft Dynamics GP. Forinstance, the core resources for Inventory are placed in the Inventory core.The drop-down list on the Dexterity Utilities tool bar and the Default Coredrop-down list in the Dexterity Options window specify the dictionary coreinto which core resources will be placed.

Page 162: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

A P P E N D I X A D I C T I O N A R Y S T R U C T U R E

156 D E X T E R I T Y U T I L I T I E S

To simply create a functional application, it doesn’t matter which dictionarycore the core resources are created in. However, creating the core resourcesfor your application in the appropriate dictionary cores will make themeasier to manage.

You can use the Change Core utility in Dexterity Utilities to change the dictionarycore in which a core resource is stored.

The following illustration shows how the core modules for a dictionary aregrouped into the various dictionary cores.

ApplicationDictionary

Form Modules

Report Modules

System Core Modules

Sales Core Modules

Financial Core Modules

Inventory Core Modules

Project Core Modules

Purchasing Core Modules

Payroll Core Modules

Page 163: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 157

A P P E N D I X A D I C T I O N A R Y S T R U C T U R E

Resources stored in modules

This section lists the types of modules and the kinds of resources stored inthem.

Core modulesSeveral types of core modules are stored in the dictionary. The followingtable lists the core module types and which resources can be stored in them.

Core module type Resources stored

Core COM LibraryCompositeConstantExternal IconFormatForm ListKeyMac PictMetafilePictureRelationshipReports ListSystem VarsTableTable GroupTable Group ListTable List

Core Tables Core TableCore Table 3rdCore Table Mod

Data Types Data Type (global data type)

Fields Field (global field)

Install Product (product information)

Physical Names Field Physical Name (physical name for global fields)

Strings String

PScript Code Procedure Script CodeProcedure Script Data

PScript Source Procedure Script DebugProcedure Script Source

FScript Code Function Script CodeFunction Script Data

FScript Source Function Script DebugFunction Script Source

Page 164: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

A P P E N D I X A D I C T I O N A R Y S T R U C T U R E

158 D E X T E R I T Y U T I L I T I E S

Form modules

The following is a list of the resources stored in a form module.

Report modules

The following is a list of the resources stored in a report module.

Messages Message

Core module type Resources stored

Module type Resources stored

Form CommandData Type (local data type)Field (local field)FormProcedure Script CodeProcedure Script DataFunction Script CodeFunction Script DataMenuMenu OptionsScript CodeScript DataWindow

Module type Resources stored

Report ExpressionFrameReportRestrictionString

Page 165: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 159

GlossaryAccelerator key

A key or set of keys on the keyboard thatcan be used as a “shortcut” to select amenu or menu option rather than usingthe mouse.

Alert messageA message that appears wheninappropriate, inadequate or uncleardata or instructions are issued, when datais not accessible or when a confirmationis required.

Array fieldA field containing multiple occurrencesof the same type of information. Theindividual pieces of information storedby an array field are called elements. Forexample, a seven-element array fieldcould be used to store daily sales totalsinstead of seven individual fields.

Array indexThe number designating a specificelement within an array field. Eachcomponent field within an array field hasan array index.

BlockA specified portion of the dictionary. Forinstance, an unused “block” within adictionary refers to a portion of thedictionary that isn’t being used, or aportion that at one time containedinformation that has been deleted. Youcan remove unused blocks by using thecompress utility of Dexterity Utilities.

Chunk dictionaryA dictionary that contains portions, or“chunks,” of resources from a sourcedictionary. Chunk dictionaries allowlarge dictionaries to be divided into moremanageable pieces for delivery tocustomers. The runtime engine“unchunks,” or merges the chunkdictionaries to re-create the originaldictionary. Chunk dictionaries can also beused to deliver updates for anapplication.

Chunk utilityA function of Dexterity Utilities thatallows you to transfer “chunks,” orrelated pieces of information, from asource dictionary to a chunk dictionary.This utility is useful for updating specificportions of a dictionary when thedictionary is very large (such as theDynamics.dic dictionary). When you’vemodified or added resources in the chunkdictionary, you can merge it back into thesource dictionary to implementmodifications.

CompareTo evaluate the variations between twodictionaries, using Dexterity Utilities.

Compatibility IDA string that uniquely identifies theversion of your application. You specifythe compatibility ID when you addproduct information to a dictionary.When you launch your application withthe runtime engine, the compatibility IDin the application dictionary is comparedwith the compatibility IDs in the formsand reports dictionaries. If they match,items in the forms and reportsdictionaries can be accessed.

Compatibility messageThe message that is displayed when thecompatibility IDs in the forms or reportsdictionaries don’t match thecompatibility ID in the main dictionary.You specify the compatibility messagewhen you add product information to adictionary.

CompileTo run a script through a compiler. Acompiler translates the script instructionsinto a language that the computer canunderstand. Once the script has beencompiled, the instructions within thescript can be executed.

Compiler errorsErrors generated when a script iscompiled.

CompressThe process of removing unneededinformation, such as script source, andunused blocks from dictionaries.Dictionaries are typically compressedbefore being sent to customers.

Control typeThe control type is the main characteristicof a data type, controlling the type ofinformation that can be stored in fieldswith the data type, and some aspects ofhow the information will be displayed.Commonly-used control types are pushbuttons, integers, check boxes, dates andcurrencies. See also Data type.

Core moduleA group of related resources in aDexterity dictionary that can bereferenced by other resources, includingforms and reports, throughout thedictionary. Each core module containsone or more specific types of resourcessuch as fields, data types and scripts. Seealso Dictionary module, Form module andReport module.

Core resourcesResources such as strings, data types orglobal fields that are used by severalparts of the application. When forms andreports dictionaries are created, the coreresources in the application dictionaryare copied to them.

If an application uses forms and reportsdictionaries, an update should bedistributed as a dictionary chunk so thecore resources in the forms and reportsdictionaries will be updated properly.Otherwise, the application may not workcorrectly.

Cross-linked resourcesResources that improperly referenceother resources. Specifically, scriptsreferenced by more than one field, tablerelationships referenced by more thanone table, and keys referenced by morethan one table are cross-linked resources.The Cross Link Analysis Report checksfor these conditions.

Page 166: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

G L O S S A R Y

160 D E X T E R I T Y U T I L I T I E S

Custom dictionariesA forms or reports dictionary generatedby the Modifier and Report Writer.

Data typeA Dexterity resource that defines thecharacteristics for a field, such as itskeyable length, control type (pushbutton, check box, string, and so on) andformat. A single data type can be appliedto several fields, but a field can only haveone data type applied to it. See alsoControl type.

Data types are commonly identified bytheir control type or storage type; forinstance, a radio button data type, or astring data type.

Debug statementA Dexterity script statement that allowsyou to create dialog boxes that willappear when an application is run in testmode. For example, the messagesappearing in the dialog boxes can be usedto indicate which script is being run orthe value that should be generated at agiven point. If debug statements aren’tcompiled, the messages can’t bedisplayed in test mode. Debug statementmessages never appear in applicationsexecuted with the runtime engine.

Destination dictionaryThe dictionary to which resources,strings and messages, windows ordictionary modules are transferred, usingthe Dexterity Utilities.

DictionaryA group of Dexterity resources that,when interpreted by the runtime engine,present a complete, functioningapplication.

Dictionary coreA group of related core modules. Eachcore module is placed into one of sevendictionary cores: System, Financial, Sales,Purchasing, Inventory, Payroll andProject. For Microsoft Dynamics GP,dictionary cores typically correspond toSeries.

Dictionary location IDIn a launch file, a line that indicates a setof dictionary locations. This set ofdictionary locations includes genericpathnames for the locations of theapplication dictionary, forms dictionary,reports dictionary and any integratingdictionaries. A launch file can containseveral sets of dictionary location IDs anddictionary locations.

Dictionary moduleA group of related resources in aDexterity dictionary, which can beviewed and transferred using DexterityUtilities. There are three types ofdictionary modules: core, form andreport modules. Form and reportmodules contain resources used only on aspecific form or report, such as localfields, scripts and calculated fields, whilecore modules contain resources that canbe used throughout the dictionary. Seealso Core module, Form module and Reportmodule.

Display nameOne of the names specified for a table.The display name is used when the nameof the table is displayed to the user. Seealso Technical name.

Editable dictionaryA dictionary that you can access andwork with in a read/write manner.

Ending scriptOne of the two procedures that can beassociated with a dictionary chunk.When you create a dictionary chunk, youcan specify a procedure from theapplication to be the ending script for thedictionary chunk. The ending script willbe run with the other starting and endingscripts after all dictionary chunks havebeen unchunked. See also Starting scriptand Installation script.

ExtractA function of Dexterity Utilities thatcopies third-party resources (resourceswith IDs of 22,000 or greater) you’ve

defined in the Dynamics.dic dictionary toa new dictionary.

Extracted dictionary The dictionary that is created when third-party resources are copied from theDynamics.dic dictionary to a newdictionary using the Extract utility.

FieldA field contains a single piece ofinformation used by the applicationdictionary. A field can be displayed in awindow or stored in a table. The kind ofinformation the field displays or storesdepends upon the data type associatedwith it. See also Global field and Local field.

FileSee Table.

FormA collection of windows, menus, scriptsand tables that function together for acommon purpose.

Form functionA user-defined function that’s associatedwith a specific form.

Form moduleA group of related resources thatcompose a specific form.

Form procedureA procedure that’s associated with aspecific form.

Form scriptsScripts associated with a specific form.

Form tableA table that has been attached to a form.Tables must be attached to the formbefore any window in the form can usethe tables.

FormatThe extra characters, spacing andattributes that can be applied to a datatype when data is entered or displayed.

Page 167: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 161

G L O S S A R Y

Format stringA data “mask” used for string andcomposite formats. The format stringallows extra characters to appear in afield without affecting the way data inthe field is stored.

Forms dictionaryThe dictionary that stores user-modifiedresources from a main dictionary. Thisdictionary is created when the Modifier isaccessed for the first time. Only copies ofthe main dictionary’s resources are storedin the forms dictionary. See also Customdictionaries.

Global fieldA field created using the Field Definitionwindow. Global fields can be displayedin windows or stored in tables. See alsoLocal field.

Global scriptA script that isn’t associated with a singlewindow or form but that can be calledfrom other scripts to perform a commonfunction. Renamed “procedure” inDexterity 3.0.

Installation scriptA procedure in your application thatperforms actions such as adding items topalettes or setting up default pathnames.Installation scripts are specified asstarting or ending scripts for dictionarychunks. When the dictionary chunks are“unchunked,” the installation scripts willrun automatically.

Integrating applicationA Dexterity application that runsconcurrently with another applicationsuch as Microsoft Dynamics GP.Integrating applications can useMicrosoft Dynamics GP resources.

KeyA field or combination of fields within arecord that is used as a basis by which tostore, retrieve and sort records.

Key segmentOne field of a group of fields thatcompose a key.

Keyable lengthThe number of characters that can betyped in a field.

Launch fileA file that’s used to start your dictionarywith the runtime engine. This file storesthe location of your applicationdictionary, the name and location of anyforms or reports dictionaries and thename and location of any integratingdictionaries.

Launch file IDAn integer that uniquely identifies thelaunch file. It appears in the second lineof the launch file. This number is also theproduct ID of the main product. See alsoProduct ID.

Local fieldA field that’s available only within theform in which it’s created. Local fields areused as window fields. See also Globalfield.

Message (resource)A message that was entered using theDexterity Messages window and that canbe referenced by its ID in scripts, usingthe getmsg() function. The message canbe displayed using the ask() function orthe warning or error statement.

ModuleSee Dictionary module.

MultidictionaryA feature of Dexterity that allows theruntime engine to interpret two or moreseparate application dictionaries at thesame time. This capability allowsmultiple third-party dictionaries tofunction with Microsoft Dynamics GP.

Native picturesPicture objects that are specific, or native,to a particular operating system. Nativepictures must be used to create picturesthat appear on push buttons and buttondrop lists.

Physical nameFor tables, the name under which a tableis stored by the operating system ordatabase.

For global fields, a shortened version ofthe field name that is used as the columnname when the field is used in a SQLtable.

ProcedureA script that isn't associated with a singlewindow or form but that can be calledfrom other scripts to perform a commonfunction. Referred to as a “global script”prior to Dexterity 3.0.

Product IDThe ID that’s used to uniquely identify anapplication dictionary. Product IDs foreach product developed with Dexteritymust be acquired from MicrosoftBusiness Solutions.

Product informationInformation added to a dictionary thatallows the runtime engine to create alaunch file properly.

RecordA complete group of information, such asa customer’s name, address and phonenumber, made up of one instance of eachfield in a table. Each record in a table hasthe same fields.

RelationsSee Table relationship.

Report moduleA group of related resources in aDexterity dictionary that are used todefine information that is unique toreports, such as scripts and calculatedfields. Resources that aren’t unique toreports, such as fields and tables, arestored in core modules and arereferenced within the report definition.See also Core module, Dictionary moduleand Form module.

Page 168: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

G L O S S A R Y

162 D E X T E R I T Y U T I L I T I E S

Reports dictionaryThe dictionary that stores modifiedreports from the main dictionary andnew reports created with the runtimeengine’s Report Writer. The reportsdictionary is created when the runtimeengine’s Report Writer is accessed for thefirst time. All reports you modify orcreate with the runtime engine’s ReportWriter are stored in the reportsdictionary. See also Custom dictionaries.

ResourceAn object such as a field, static text,native picture, table, window or scriptthat can be used to create applications inDexterity.

Resource IDAn internal ID applied to each resourcein your application. For each type ofresource you create, IDs start at 22,000.For instance, the first data type you createis data type 22,000; the second is datatype 22,001, and so on. Resource IDs forMicrosoft Dynamics GP start at 1 andnever exceed 19,999.

ScriptA list of instructions an application usesto perform tasks.

Sequence numberWhen a dictionary is broken into severalchunk dictionaries, the sequence numberassociated with each dictionary chunkindicates the order in which thedictionary chunks will be “unchunked”and any installation scripts will be run.

SeriesA predefined category to which you canassign forms, tables and reports in yourapplication dictionary. Series allow youto more easily organize these resources. Ifyou’re creating an application that linksto Microsoft Dynamics GP, assign theappropriate series to your own forms,tables and reports based on the resourcesthey integrate with.

Series resourcesLists containing the names of forms,reports, tables and table groups in anapplication dictionary. These lists areused for security, palettes and tablemaintenance. Dexterity Utilities can beused to manually update these lists.

Source dictionaryThe dictionary containing the resourcesto be used in transfers, printing reports,comparing dictionaries or creating chunkdictionaries. A source dictionary hasread-only access.

Stand-alone applicationA Dexterity application that operateswithout integrating with MicrosoftDynamics GP.

Starting scriptOne of the two scripts associated with adictionary chunk. When you create adictionary chunk, you can specify aprocedure from the application to be thestarting script for the dictionary chunk.The starting script will be run with theother starting and ending scripts after alldictionary chunks have been“unchunked.” See also Ending script andInstallation script.

Static picture valueA picture that’s displayed as part of adata type, such as the picture on a buttondrop list.

Static text valueText that’s displayed as part of a datatype, such as the name on a push buttonor the items in a list box.

Storage typeOne of the standard forms used to storethe data in a field. The storage types are:boolean, integer, long, currency, variablecurrency, string, text, date and time. Thecontrol type determines which storagetype is used to store the data in the field.See also Control type and Data type.

StringA sequence of up to 255 ASCII characters.See also String resources.

String resourcesSequences of up to 79 characters usedthroughout an application dictionary forwindow names, field prompts, static textvalues and report text.

Synchronize (Dexterity)To specify the native picture on eachplatform that should be used as the staticvalue for a single data type. When twopictures are synchronized, Dexterity willassign them the same internal ID.Thereafter, when a synchronized pictureis displayed by the application as it runs,the native picture that’s appropriate tothe current operating system will bedisplayed.

Synchronize (Dexterity Utilities)A function that checks all relationshipsbetween resources in a dictionary andrecalculates all buffer sizes.

TableA collection of related data formatted inrows. Each row represents a separaterecord, and each column represents aseparate field. Although this termoriginated with relational databases,Dexterity uses it generically to refer toboth relational database tables and ISAMdatabase files.

Table groupA group of logically-related tables. Forexample, a customer master table, acustomer address table and a customerhistory table could all compose a tablegroup. Table groups are used for securityand table maintenance.

Table relationshipA link between tables that have fields incommon. These relationships allow theReport Writer to select fields from all ofthe related tables and use them on asingle report. Table relationships are setup using the Table RelationshipDefinition window.

Technical nameThe name used within scripts to refer to atable or window. See also Display name.

Page 169: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 163

G L O S S A R Y

TransferTo copy specified resources in a sourcedictionary to a destination dictionary.

UnchunkingThe process of dictionary chunks beingconverted back into a dictionary or beingmerged with an existing dictionary.

User-defined functionA script in Dexterity that you write anduse in the same manner as Dexterity’sbuilt-in functions.

Version numbers (for dictionarychunks)

A dictionary chunk can have a versionnumber associated with it. When thedictionary chunk is “unchunked,” theversion numbers are written to theapplication dictionary. The versionnumbers can be retrieved from thedictionary and typically are displayed inthe application’s About Box.

WindowThe work area used to enter and displayinformation in an application.

Page 170: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

164 D E X T E R I T Y U T I L I T I E S

Page 171: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 165

IndexNumerics3D effects, user interface conversion 83

AAbout Dexterity Utilities, menu item 14accelerator key, defined 159alert messages

search the Dexterity online help for alert messages

defined 159aligning, fields, with user interface

conversion 87application dictionaries, see

dictionariesapplications

packaging 59updating 59, 67

array indexes, defined 159arrays, defined 159assert statements

compiling in scripts 39, 41, 43compiling when performing

transfers 25Auto-Chunk utility

creating chunk dictionaries 78-81description 78

Auto-Chunk window 78

BBasics, part 6-14block table

description 133errors in 134

blocksdefined 8, 159removing 60

Ccalculated fields, changing Evaluate

After 90-91Change Core window 49changing dictionary core, procedure

48-49charts

additional resources transferred 26

charts (continued)packaging applications 59reports summary 95-100updating applications 59utility summary 17-19

checklists, see procedureschunk dictionaries

adding modules to 65attaching installation scripts 64, 80compression 80creating, procedure 61-66, 78-81defined 8, 159described 61editing 62ending scripts 64, 80modules to include 65purpose 61selecting a module 63, 79sequence numbers 63starting scripts 64, 80version numbers 63, 79

chunk utility, defined 159chunks, see chunk dictionariesClear, menu item 13Close Destination Dictionary, menu

item 13Close Editable Dictionary, menu item

13Close Source Dictionary, menu item 13Close Window, menu item 13closing, dictionaries 10combo boxes, user interface conversion

86Compare Dictionaries window 67comparing dictionaries

defined 159procedure 67-68purpose 67

compatibility IDdefined 159described 70

compatibility messagedefined 159described 70

Compile Form Scripts window 38Compile Global Functions window 42Compile Global Procedures window 40

compiler errorssearch the Dexterity online help for

Compiler messagesdefined 159printing when compiling scripts

39, 41, 43printing when performing

transfers 25when compiling scripts 39, 41, 43when transferring resources 28

compilingassert statements

when compiling scripts 39, 41, 43

when transferring 25debug statements

when compiling scripts 39, 41, 43

when transferring 25defined 8, 159errors 39, 41, 43form function scripts 38form procedure scripts 38form scripts, procedure 38-39global functions, procedure 42-43global procedures, procedure

40-41including debugging information

25, 39, 41, 43options 39, 41, 43when transferring resources 24

components of Dexterity Utilities 7composites

reports for 95utilities for 17

Compress Dictionary window 60compressing

chunk dictionaries 80defined 8, 159dictionaries, procedure 60options 60purpose 60removing unused blocks 60total compression 60

constantsreports for 95utilities for 17

Page 172: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

I N D E X

166 D E X T E R I T Y U T I L I T I E S

Contents, menu item 14control types, defined 159conventions, in documentation 3conversion report, for user interface

conversion 82converting, user interfaces 82-89Copy, menu item 13core destination drop-down list 12, 155core modules

defined 8, 155, 159resources stored in 157

core resourcessee also resourceschanging dictionary core,

described 48defined 8, 159

corruption, in dictionaries 132Create Chunk Dictionary window 62Create New Dictionary, menu item 13Cross Link Analysis Report

described 140sample report 141

Cross Link Analysis window 140cross-linked resources

defined 159described 140

custom colors, user interface conversion 85

custom dictionaries, defined 160Cut, menu item 13

Ddata types

defined 160reports for 95utilities for 17

debug statementscompiling in scripts 39, 41, 43compiling when performing

transfers 25defined 160

debugging information, including when compiling 25, 39, 41, 43

default core drop-down list 155deleting, unused resources 122, 126destination dictionaries

defined 8, 160

destination dictionaries (continued)working with 10

developer update, procedure 35-36Developer Update window 35Dexterity Utilities

components 7main menu 11menu bar 13reports summary table 95-100starting 7terms 8toolbar 12utility summary table 17-19

Dexterity Utilities Interface, chapter 11-14

diagnosticsfor dictionaries 132for table relationships 147referential diagnostics 144

Diagnostics Reportaddressing errors 134block table 133described 132interpreting 134module directory 133module table 133sample report 136window 132

dictionariessee also applications, chunk

dictionariesadding product information,

procedure 69-71chunk dictionaries, creating 61-66,

78-81closing 10comparing

procedure 67-68purpose 67

compatibility ID 70compatibility message 70compressing, procedure 60corruption 134defined 160destination 10diagnostics 132editable 10

dictionaries (continued)errors in 134extracting resources from

Microsoft Dynamics GP, procedure 72

list of open dictionaries 14opening 10parts of 154source 10SQL compatibility 75structure 154synchronizing, procedure 58utilities for 17working with 10

Dictionaries menu, described 14dictionary chunks, see chunk

dictionariesdictionary cores

changing location of resources 48defined 160for transferred resources 27list of 48, 155purpose 48, 155

dictionary location IDs, defined 160dictionary modules

defined 8, 160size of 34, 65transferring, procedure 33-34

Dictionary Structure, appendix 153-158Dictionary Utilities, chapter 57-91dictionary utilities, described 57display names, defined 160documentation, symbols and

conventions 3drop-down lists, user interface

conversion 86

EEdit menu, described 13editable dictionaries

defined 8, 160working with 10

Emergency Diagnostics Report 132ending scripts

defined 160for a chunk dictionary 64, 80

Page 173: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 167

I N D E X

errorscompiling scripts 28, 39, 41, 43found by diagnostics 132found by referential diagnostics

144found by table relationship

validation 147in block table 134

Evaluate After, procedure 90-91Evaluate After Utility window 90Exit, menu item 13Expand Windows window 74expanding windows, procedure 74Extract window 72extracted dictionary, defined 9, 160extracting

defined 9, 160purpose 72third-party resources from

Microsoft Dynamics GP 72

FField Summary Report 137fields

defined 160reports for 95utilities for 17

File menu, described 13form functions

compiling 38defined 160reports for 98utilities for 17

Form Inquiry window 54form modules

defined 155, 160resources stored in 158

form procedurescompiling 38defined 160reports for 98utilities for 18

form scriptscompiling procedure 38-39defined 160when to compile 38

form tables, defined 160

format strings, defined 161formats

defined 160reports for 96utilities for 17

formsdefined 160inquiry procedure 54reports for 97utilities for 17viewing, form windows and

menus 54forms dictionaries

compatibility ID 70compatibilty message 70defined 161naming 70

Forms Reportdescribed 101sample report 103

Forms Report window 101functions

reports for 98utilities for 17

GGetting Started, chapter 7-10global fields

see also fieldsdefined 161

global functionscompiling procedure 42-43reports for 98utilities for 17when to compile 42

Global Functions Reportdescribed 109sample report 110

Global Functions Report window 109global procedures

compiling procedure 40-41reports for 98utilities for 18when to compile 40

Global Procedures Reportdescribed 111sample report 112

Global Procedures Report window 111Global Resource Usage Report

described 122sample report 125

Global Resource Usage window 122global resources, see resourcesGlobal Resources Report

described 113sample report 115

Global Resources Report window 113global scripts, defined 161global variables

reports for 97utilities for 17

HHelp menu, described 14How to Use Help, menu item 14

IIDs, see resource IDsInquiry menu, described 12inquiry procedure

for forms 54for resources 55

Inquiry Utilities, chapter 53-55inquiry utilities, described 53installation, using chunk dictionaries

61installation scripts

see also starting and ending scriptsdefined 161order of execution 64

integrating applicationsdefined 161extracting from Microsoft

Dynamics GP 72packaging 59updating 59

interface conversion, see User Interface Conversion

internationalization, of applications 29, 74

invalid references, for resources 144

Kkey segments, defined 161keyable length, defined 161

Page 174: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

I N D E X

168 D E X T E R I T Y U T I L I T I E S

keys, defined 161

Llaunch file ID, described 70launch files, defined 161launching, Dexterity Utilities 7light bulb symbol 3Linked Prompt Report

described 129sample report 131

Linked Prompt Report window 129local fields, defined 161Local Resource Usage Report

described 126sample report 128

Local Resource Usage window 126Local Resources Report

described 116sample report 118

Local Resources window 116Lookup, menu item 14

MMacro menu, described 14main menu 11main product, described 70margin notes 3menu bar, see menusmenus

description of menu items 13-14reports for 97viewing for a form 54

menus in Dexterity UtilitiesDictionaries menu 14Edit menu 13File menu 13Help menu 14Macro menu 14Windows menu 14

messagesdefined 161reports for 97transferring, options 30transferring, procedure 29-30utilities for 18

metafilesreports for 98utilities for 18

Microsoft Dynamics GPextracting third-party resources 72transferring an extracted

dictionary 35-36module directory 133module table 133modules

see also dictionary modulesadding to chunk dictionaries 65transferring, procedure 33-34types of 155

multidictionary, defined 161

Nnative pictures, defined 161new features in Dexterity Utilities 2new symbol 3

OOnline Manuals, menu item 14Open Destination Dictionary, menu

item 13Open Editable Dictionary, menu item

13Open Source Dictionary, menu item 13opening, dictionaries 10

Ppackaging applications

chart 59described 59steps 59

palettes, user interface conversion 87Paste, menu item 13physical names, defined 161pictures

reports for 98utilities for 18

printing reports 94procedures

Adding product information 69-71Auto-Chunk 78-81Changing dictionary core 48-49Changing Evaluate After 90-91Comparing dictionaries 67-68Compiling form scripts 38-39Compiling global functions 42-43

procedures (continued)Compiling global procedures

40-41Compressing dictionaries 60Converting a user interface 82-89Creating chunk dictionaries 61-66Cross Link Analysis Report 140Developer update 35-36Diagnostics Report 132-135Emergency Diagnostics Report

132-135Expanding windows 74Extracting resources 72Forms Report 101-102Global Functions Report 109Global Procedures Report 111Global Resource Usage Report

122-124Global Resources Report 113-114Linked Prompt Report 129-130Local Resource Usage Report

126-127Local Resources Report 116-117Referential Diagnostics Report

144-145Reports Report 104Resource Lists 119-120Searching and replacing 44-45SQL compatibility 75-77Summary Reports 137Synchronizing a dictionary 58Table Relationship Validation

Report 147Tables Report 106-107Transferring dictionary modules

33-34Transferring resources 22-28Transferring strings and messages

29-30Transferring windows 31-32Updating series resources 50-51Viewing form information 54Viewing resource information 55

procedures (resource)see also global procedures and

form procedurescompiling 40-41

Page 175: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 169

I N D E X

procedures (resource) (continued)defined 161reports for 98utilities for 18

product IDsdefined 161described 70

product informationadding to dictionaries 69-71defined 161launch file ID 70product ID 70product name 70purpose 69

Product Information window 69product name 70Prompt Overflow Report

described 142sample report 143, 150

prototyping windows 31

Rrecords, defined 161referenced resources

description 22example 23replacing 23Transfer Resources option 22

references, invalid 144Referential Diagnostics Report

described 144sample report 146

relations, see table relationshipsremoving

unused blocks 60unused resources 122, 126

replacingsee also searching and replacingresources when transferring 25windows, when transferring 32

report modulesdefined 155, 161resources stored in 158

Report Reference, part 94-150reports

printing 94reports for 98

reports (continued)summary chart 95-100utilities for 18

reports dictionariescompatibility ID 70compatibility message 70defined 162naming 70

reports in Dexterity UtilitiesCross Link Analysis Report 140Diagnostics Report 132Emergency Diagnostics Report 132Field Summary Report 137Forms Report 101Global Functions Report 109Global Procedures Report 111Global Resource Usage Report 122Global Resources Report 113Linked Prompt Report 129Local Resource Usage Report 126Local Resources Report 116Prompt Overflow Report 142Referential Diagnostics Report 144Reports Report 104Resource ID ValidationReport 149Resource Lists 119Summary Reports 137Table Relationship Validation

Report 147Table Summary Report 137Tables Report 106

Reports menu, described 12Reports Report

described 104sample report 105

Reports Report window 104Resource ID Validation Report,

described 149resource IDs

defined 162finding for a resource 119for third-party resources 72validation report 149

Resource Inquiry window 55Resource Lists

described 119sample report 121

Resource Lists window 119Resource Utilities, chapter 47-51resource utilities, described 47resources

see also core resourceschanging dictionary core 48defined 9, 162finding resource ID 119in core modules 157in form modules 158in report modules 158inquiry procedure 55invalid references 144removing unused resources 122,

126replacing when transferring 25resource ID, finding 119transferring

options 22procedure 22-28

unused resourceslisting 122, 126removing 123, 127

updating series resources, when to perform 50

viewing a list of 55Resources menu, described 12

Ssample reports, see reports in Dexterity

UtilitiesScript Utilities, chapter 37-45script utilities, described 37scripts

compilingprocedure 38-39, 40-41, 42-43when transferring 24

defined 162errors when compiling 28, 39, 41,

43not compiling when transferring

resources 28reports for 98searching 44utilities for 18

Scripts menu, described 12

Page 176: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

I N D E X

170 D E X T E R I T Y U T I L I T I E S

scrolling windows, user interface conversion 86

Search and Replace window 44Search for Help On, menu item 14searching and replacing

entering text to search for 44procedure 44-45selecting script to search 45

Select All, menu item 14sequence numbers

defined 162for chunk dictionaries 63

seriessee also series resourcesdefined 9, 162

series list, in the toolbar 12series resources

creating when transferring resources 24

defined 9, 162updating, options 51updating, procedure 50-51when to update 50

Series Resources window 50size, of dictionary modules 34source dictionaries

defined 9, 162working with 10

SQLcompatibility

for dictionaries 75limits examined 75making applications

compatible 76SQL compatibility utility

described 75-77procedure 75-77

SQL Compatibility window 75stand-alone applications

defined 162packaging 59updating 59

starting, Dexterity Utilities 7starting scripts

defined 162for a chunk dictionary 64, 80

static picture values, defined 162

static text values, defined 162storage types, defined 162string resources, defined 162strings

defined 162reports for 99transferring, options 30transferring, procedure 29-30utilities for 18

strings and messages, transferring 29structure, of dictionaries 154summary

of reports 95-100of utilities 17-19

Summary Reportsdescribed 137Field Summary sample report 139Table Summary sample report 138

Summary Reports window 137symbols in documentation 3Synchronize Dictionary window 58synchronizing

defined 9, 162dictionaries, procedure 58purpose 58when to perform 58when transferring 24

system colors, user interface conversion 83

Ttab sequence, user interface conversion

86table groups

defined 162utilities for 18

Table Relationship Validation Reportdescribed 147sample report 148

table relationshipsdefined 162diagnostics for 147problems 147reports for 99

Table Summary Report 137tables

attached to a form 54

tables (continued)defined 162reports for 99utilities for 18

Tables Reportdescribed 106sample report 108window 106

technical names, defined 162terms in Dexterity Utilities 8third-party resources, resource IDs 72toolbars, Dexterity Utilities’ toolbar 12Transfer Dictionary Module window

33Transfer menu, described 12Transfer Resources window 22Transfer Strings and Messages window

29Transfer Utilities, chapter 21-36Transfer Window window 31transferring

an extracted dictionary 35-36defined 9, 163dictionary modules, procedure

33-34resources

additional resources transferred, chart 26

dictionary core for transferred resources 27

options 22procedure 22-28scripts not compiling 28

strings and messagesoptions 30procedure 29-30

windows, procedure 31-32

Uunchunking, defined 163Undo, menu item 13unused blocks, removing 60unused resources

listing 122, 126removing 123, 127

update chunksdescription 61

Page 177: Microsoft Dexterity Dexterity Utilities - ApnaGP · PDF file2 DEXTERITY UTILITIES Introduction Welcome to Microsoft® Dexterity Utilities, an integral component of the Dexterity development

D E X T E R I T Y U T I L I T I E S 171

I N D E X

update chunks (continued)dictionary modules to include 67

updatingapplications

chart 59described 59steps 59using chunk dictionaries 61

series resourcesoptions 51procedure 50-51when to perform 50

user interface conversion3D effects 83combo boxes 86conversion report 82custom colors 85described 82drop-down lists 86field alignment 87palettes 87procedure 82-89scrolling windows 86system colors 83tab sequence 86zooms 84

User Interface Conversion window 82user-defined functions

see also global functions and form functions

defined 163Utilities menu, described 12utilities summary chart 17-19Utility Reference, part 16-91

Vversion numbers, for chunk

dictionaries 63, 79, 163

Wwarning symbol 3Window Help, menu item 14windows

defined 163expanding 74replacing when transferring 32reports for 100transferring, procedure 31-32

windows (continued)utilities for 19viewing for a form 54

windows in Dexterity UtilitiesAuto-Chunk 78Change Core 49Compare Dictionaries 67Compile Form Scripts 38Compile Global Functions 42Compile Global Procedures 40Compress Dictionary 60Create Chunk Dictionary 62Cross Link Analysis 140Developer Update 35Diagnostics 132Evaluate After Utility 90Expand Windows 74Extract 72Form Inquiry 54Forms Report 101Global Functions Report 109Global Procedures Report 111Global Resource Usage 122Global Resources 113Linked Prompt 129Local Resource Usage 126Local Resources 116Product Information 69Reports Report 104Resource Inquiry 55Resource Lists 119Search and Replace 44Series Resources 50SQL Compatibility 75Summary Reports 137Synchronize Dictionary 58Tables Report 106Transfer Dictionary Module 33Transfer Resources 22Transfer Strings and Messages 29Transfer Window 31User Interface Conversion 82

Windows menu, described 14Windows metafiles, see metafiles

Zzooms, user interface conversion 84