
<<Dictionary Editor General Information>>

The creation of a data dictionary is the first step in creating
an application.  Clarion for DOS applications can
access a variety of different data file formats with its
replaceable file driver technology.  Some of the file formats
supported by file drivers are TopSpeed, Clarion, Btrieve, xBase
(all the various dialects of dBase), Paradox 3.5, and DOS,
ASCII, and Basic (Comma Delimited ASCII), with more being added
(call Customer Service at 800-354-5444 or (305) 785-4555 for
current information).

To create and maintain these files, a file specification
(description) must be created in the database dictionary. The
database dictionary contains information on the layout of data
files:  Data files, fields, keys, entry validation rules, entry
options, and file relationship information.  This information is
shared among the areas of the Clarion environment that need
information on file layouts.


<<File Menu>>

The File menu contains selections for the normal file operations
of the Dictionary Editor.

<New...>
New...                                    ( F2 or ALT+F N )

     Creates a new file.  You specify the type of file you are
     creating (Application, Dictionary, Database, Text, or Help) and
     its name.  The new file is created and you are automatically
     placed in that file type's functional area.

<Open...>
Open...                                   ( F3 or ALT+F O )

     Opens an existing file.  You specify the type of file you
     are opening (Application, Dictionary, Database, Text, or Help)
     and the name of the file.  You are automatically placed in that
     file type's major functional area.

<Close>
Close                                     ( ALT+F C )

     Closes the open Database Dictionary file, exits the
     Dictionary Editor, and returns you to the Clarion opening
     screen.

<Change Directory...>
Change Directory...                       ( ALT+F D )

     Allows you to change the DOS current directory. It is
     always a good idea to create applications in their own
     separate sub- directories.  Doing this makes it easy to
     identify the files that are part of an application and to
     delete those that are no longer needed when the application
     is complete (.OBJ files are one good example).

<Convert Data File...>
Convert Data File...                      ( ALT+F F )

     Calls the File Conversion utility to convert a data file or
     generate source code for the file conversion process.

<Save>
Save

     Saves the open Database Dictionary file without closing the
     file or the Dictionary Editor.

<Save as Source...>
Save as Source

     Saves the Database Dictionary to the filename you specify.
     If you want to append these to an existing file, place a
     leading plus sign (+) on the filename you enter here.

<Documentation>
Documentation

     Calls the Dictionary Documentation Utility to print a report
     about the current database dictionary.

<Printer Setup...>
Printer Setup...                          ( ALT+F T )

     Sets up your printer for all printing tasks done through
     the Clarion environment.  It allows you to specify:  the
     port to which your printer is connected, the maximum number
     of print lines per page, form feed information, pre-print
     and post- print printer control strings.

<Dictionary Properties...>
Dictionary Properties...                  ( CTRL+O or ALT+F R )

     Displays the Dictionary Properties screen, allowing you to
     update the comments entered there.  The Dictionary
     Properties screen also automatically tracks the creation
     and last modification dates.

<Exit>
Exit                                      ( CTRL+X or ALT+F X )

     Closes the open Database Dictionary file, exits the
     Dictionary Editor, and returns you to the Clarion opening
     screen.


<<Edit Menu>>

The Edit menu contains selections which allow you to maintain
the individual data items contained in the Database Dictionary.
The action taken by each depends upon which Worksheet of the
Dictionary Editor you are currently working in.

<Insert>
Insert                                    ( INS or ALT+E I )

     Allows you to add a File, Field, Key, Memo, or Relation to
     the Database Dictionary.

<Change>
Change                                    ( ENTER or ALT+E H )

     Allows you to modify an existing File, Field, Key, Memo, or
     Relation in the Database Dictionary.

<Delete>
Delete                                    ( DEL or ALT+E D )

     Allows you to remove a File, Field, Key, Memo, or Relation
     from the Database Dictionary.

<Copy>
Copy                                      ( CTRL+C or ALT+E C )

     Allows you to copy an existing File, Field, Key, or Memo
     within the Database Dictionary.

<Move>
Move                                      ( CTRL+M or ALT+E M )

     Allows you to change the relative position of a Field, Key,
     or Memo, within the Database Dictionary.

<Import>
Import                                    ( CTRL+I or ALT+E P )

     Displays a sub-menu which allows you to import a File
     declaration from: a data file, a Database Dictionary (including
     a .BCT Dictionary backup file). a Clarion Professional
     Developer 2.1 APP, or a Clarion for Windows .TXD file (exported
     database dictionary).

<Dictionary...>
Dictionary...                         ( CTRL+I D or ALT+E P D )

     Allows you to import a File declaration from another
     database Dictionary (including a .BCT Dictionary backup
     file).

<Data File...>
Data File...                          ( CTRL+I F or ALT+E P F )

Allows you to import an File declaration from an existing data file.

<Clarion 2.1 APP...>
Clarion 2.1 APP...                    ( CTRL+I 2 or ALT+E P 2 )

     Allows you to import a File declaration from a Clarion 2.1 .APP
     file.

<CW TXD File...>
CW TXD File...

     Allows you to import a File declaration from a Clarion for
     Windows .TXD file (a database dictionary exported as text).

<<Tools Menu>>

The Tools menu contains a number of utilities which are useful
throughout the environment.

<DOS Shell>
DOS Shell                                 ( F10 or ALT+T D )

     Calls Clarion's built-in disk maintenance program (CSHELL).
     CSHELL is covered in its own section later.

<DOS Prompt>
DOS Prompt                                ( ALT+T R )

     Temporarily exits to DOS to execute some DOS command(s).  It
     saves the current state of the Clarion environment to a
     temporary file, frees most of the memory used by the
     Clarion environment, and loads a second copy of COMMAND.COM.
     To return to Clarion from this DOS prompt, type "Exit" and
     press ENTER.

<Calculator...>
Calculator...                             ( ALT+T C )

     Calls Clarion's built-in programmer's calculator.  The
     Calculator... selection is covered in its own section later.

<ASCII Chart...>
ASCII Chart...                            ( ALT+T A )

     Brings up a list of all the ASCII codes. The chart
     contains each ASCII display character, and the Decimal,
     Hexadecimal, and Octal numbers which represent that
     character.

<Color Chart...>
Color Chart...                            ( ALT+T L )

     Displays a list of all the Color Style Codes. Each
     possible color combination is in the list along with the
     decimal number which represents it.

<Keycode Chart...>
Keycode Chart...                          ( ALT+T K )

     Displays a list of all the Clarion Keycodes.  Each possible
     key combination is in the list along with the decimal number
     which represents it.


<<Clarion Menu>>

The top section of items in the Clarion menu bring up "task
lists" of the last several projects you worked with in each of the
major functional areas.  This allows you to return directly to
a task you've already worked on, without the necessity of going
through the Open... screen from the File menu.  Selecting a
previous task from one of these lists does not automatically
change to the directory which contains the file.

In addition to re-selecting a previous task, you may also access
the New... and Open... screens through the task list screen by
selecting the New... or Open... Pushbutton.  This allows you to
check for a previous task, then immediately create or open the
file you want without returning to the File menu if the desired
task is not in the list.

<Load Application...>
Load Application...                       ( F4 or ALT+C A )
     Allows you to select one of the last several Application files
     in which you worked, or to create or open an Application
     not on the task list.  This selection takes you directly
     into the Application Generator with the selected file
     loaded.  SHIFT+ F4 immediately loads the last Application
     on which you worked.

<Load Dictionary...>
Load Dictionary...                        ( F5 or ALT+C D )
     Allows you to select one of the last several Dictionary files
     in which you worked, or to create or open a Dictionary not
     on the task list.  This selection takes you directly into
     the Dictionary Editor with the selected file loaded.
     SHIFT+F5 immediately loads the last Dictionary on which you
     worked.

<Load Database...>
Load Database...                          ( F6 or ALT+C B )
     Allows you to select one of the last several Database files in
     which you worked, or to create or open a Database not on
     the task list.  This selection takes you directly into the
     Database Manager with the selected file loaded.  SHIFT+F6
     immediately loads the last Database on which you worked.

<Load Text...>

Load Text...                           ( F8 or ALT+C T )

Allows you to select one of the last several Text files in which
you worked, or to create or open a Text file not on the task
list. This selection takes you directly into the Text Editor
with the selected file loaded.  SHIFT+F8 immediately loads the
last Text file on which you worked.

<Load Help...>
Load Help...                             ( F9 or ALT+C H )
     Allows you to select one of the last several Help files in
     which you worked, or to create or open an Help file not on
     the task list.  This selection takes you directly into the
     Help Editor with the selected file loaded.  SHIFT+F9
     immediately loads the last Help file on which you worked.

<43/50 Line Mode >
43/50 Line Mode                          ( ALT+C 4 )
     Places the video in 43 or 50 line mode (depending upon
     whether your hardware is EGA or VGA). This menu selection
     is a toggle switch with a check mark () displayed when
     toggled ON.  The setting is saved in the Clarion
     configuration file.

<System Setup >
System Setup                             ( ALT+C S )
     Displays a sub-menu containing menu items which allow you
     to set system-wide options.  These are options that affect
     the entire Clarion Environment.

<Options...>
Options...                               ( ALT+C S O )
     Allows you to specify the use of your own text editor and
     DOS shell program.  These are programs other than the Text
     Editor and DOS Shell (CSHELL) which are part of the Clarion
     environment.  If you specify another editor in the Options...
     screen, the Clarion environment will run your editor and
     allow you to edit the file when you open or create a Text
     file.  When you exit your editor, you return to the Clarion
     environment.  A note of caution: text editors and word
     processing programs are not the same--this option must name
     a text editor.

     The main advantage of specifying your own text editor is
     your own familiarity with it, which eliminates the
     "learning curve" required before becoming proficient with
     the Clarion Text Editor.  The main disadvantage of
     specifying your own text editor is the loss of the use of
     the SCREEN, REPORT, and PULLDOWN menu formatting tools,
     which are all integral parts of the Clarion Text Editor.
     This means the only way to format a SCREEN, REPORT, or
     PULLDOWN menu would be to use the formatting tools in the
     Application Generator (or to directly edit the data
     structure code--not recommended).

<Database Drivers...>
Database Drivers...                       ( ALT+C S D )
     Registers new database file drivers.  There are many more
     database file system drivers available than were provided
     in the shipping disks.  These extra file drivers are
     available directly from Clarion Software (call Customer
     Service at 800- 354-5444 for more information).  Once you
     receive a new file system driver, you must register its
     presence before the Clarion environment will be able to use
     it.

<Search Paths... >
Search Paths...                           ( ALT+C S S )
     Maintains Redirection files.  Redirection files are used by
     the Project system.  They provide individual search paths
     for specific files the compiler and linker need to find to
     accomplish their tasks (see the Project and Redirection Files
     section in the User's Guide).

<Edit Styles...>
Edit Styles...                            ( ALT+C S E )
     Maintains any Color Style Code file.  Color Style Code
     files are ASCII files containing a list of color codes used
     in your application's SCREEN structures and the actual
     colors to be used for those codes (see the Screen Color
     Schemes chapter in the User's Guide).

<Printer Controls...>
Printer Controls...                       ( ALT+C S P )
     Allows you to maintain Printer Control files for the
     Clarion environment and your applications (logical printer
     support through the PRINTER report attribute).  It allows
     you to specify the port to which each printer is connected
     and printer control code strings for the print effects of
     which each printer is capable.


<<Help Menu>>

Context-sensitive Help screens are available throughout the
Clarion for DOS environment through the F1 key.  The
Help menu contains selections which provide separate access to
the Help system.

<Using Help >
Using Help                                ( ALT+H U )
     Provides information on how to use the Help system.

<Help Index >
Help Index                                ( ALT+H H )
     Displays an Index of all Help screens available in the
     major functional area, allowing you to view a Help screen
     for a particular context when not actively in that context.

<About...>
About...                                  ( ALT+H A )
     Displays a screen with the program and copyright
     information for this specific release of Clarion
     for DOS.


<<Driver Registration Window>>

The Driver Registration window displays two lists:  Unregistered
and Registered file drivers of which the Clarion environment is
aware.  Each file system your Clarion application will access
must have its own file driver, which must be registered in the
Clarion environment before it is available for application
design.  This window allows you to Register new file drivers and
display the FILE structure statements which are valid for the
file system.  This sets the FILEDRIVER environment variable
(contained in CLARION3.INI) to the drivers you specify.  Changes
are not permanent until the "Ok" button is selected.

<Unregistered>
Unregistered
     A list of all the available file drivers that are currently
     installed but not Registered (the Clarion environment is
     "unaware" of these drivers).

<Registered>
Registered
     A list of all the currently Registered file drivers (the
     Clarion environment is "aware" of these drivers).

<Register Button>
Register Button
     Registers the currently highlighted Unregistered file
     driver and places it immediately after the currently
     highlighted Registered file driver.  This makes the Clarion
     environment "aware" of this driver.

<Unregister Button>
Unregister Button
     Moves the currently highlighted Registered file driver to
     the Unregistered file driver list.  This makes the Clarion
     environment "unaware" of this driver, but does not delete
     the driver's .DLL file.

<Properties Buttons>
Properties Buttons
     Calls the Driver Properties window to display the valid
     FILE structure, KEY, INDEX, and MEMO attributes for the
     above highlighted Unregistered or Registered file driver.

<Move Up / Move Down Buttons>
Move Up / Move Down Buttons
     Changes the order of the Registered file drivers by moving
     the currently highlighted Registered driver Up or Down.
     Dictionary file driver selection lists are displayed in the
     same order as the Registered file drivers list.  Therefore,
     the driver you use most often should be placed first in the
     Registered drivers list.  Grey Minus/Plus may also be used
     to move file drivers up/down respectively in the Registered
     driver list.


<<Driver Properties Window>>

The Driver Properties window displays the valid FILE structure,
KEY, INDEX, and MEMO attributes.  Those attributes which are
valid in the file system are checked.  Any attribute not checked
is not valid in the file system.

<Features Button>
Features Button
     Calls the Driver Features window to display the valid data
     types and file access commands for the file system.


<<Driver Features Window>>

The Driver Features window displays the data types and file
access commands which are appropriate for the file system.  The
data types allowed in the file system are displayed in the list
on the left.  File and record access commands allowed for the
file system (every valid form of each command) are displayed in
the list on the right.


<<Dictionary Properties Window>>

The Dictionary Properties window allows you to specify a short
description of the database dictionary.  It also automatically
displays the date and time the dictionary was created, and the
date and time the dictionary was last modified.

<Password:>
Password:
     Enter the password which will be required to modify the
     database dictionary.  Once the dictionary has been created
     with a password, the password is required, in all subsequent
     design sessions in the Dictionary Editor, before you are
     allowed to modify the dictionary.

<Version:>
Version:
     This field displays the internal version number of the .DCT
     file format.  This is useful information for Clarion's
     Technical Support personnel if you experience any problems
     with the Dictionary Editor.


<<Enter Password for Dictionary Window>>

The Enter Password for Dictionary window allows you to enter the
Password assigned to the Database Dictionary.  If you do not
enter the correct password, you will not be allowed to edit the
Dictionary.

<Password:>
Password:
     Enter the password required to modify the Database
     Dictionary.  As you enter the password, each character you
     type is displayed as an asterisk (*).


<<Dictionary Worksheet>>

The Dictionary Worksheet contains five lists.  The first
displays the files defined in the database.  The other four
display the fields, memos, keys, and relations for the file
currently selected in the Files List.

<Files List>
Files List

In the Files List, you may create new FILE definitions, copy
existing definitions from the same dictionary file, or import
them from another.  Clarion for DOS directly supports
many different data file types through its file driver
technology.  Whenever you access a data file, the Clarion
language file access statements are implemented by the file
driver you select on the File Properties window.  You may "mix
and match" file drivers within one Database Dictionary, or all
the files may use the same driver.

<Fields List>
Fields List

Individual data fields which make up the file's record structure
are declared in the Fields List.  You may create new field
definitions or copy them from an existing field in the same
file.  All data types possible in the Clarion Language are not
available in all file systems.  Therefore, those data types
which are inappropriate for the selected file driver are not
listed for selection (see the documentation for the specific
file driver being used).

<Memos List>
Memos List

The Memos List displays the MEMO fields for a FILE.  These are
separate from the other fields in a file because most file
systems keep MEMO fields in files separate from the data.  MEMO
fields are stored as variable length string fields used for
large amounts of information, like comments or notes.  Some file
systems support multiple MEMO fields while others allow only one
(and some--none).

<Keys List>
Keys List

The Keys List displays the KEY and INDEX declarations within a
FILE.  Both KEY and INDEX declare alternate sort orders other
than the physical order of the records within the data file.  In
some file systems these are kept in separate files, in others
they are contained within the same file as the data.  Clarion's
file driver technology handles these differences transparently.

<Relations List>
Relations List

The Relations List displays the relationships between the
currently selected file and the other files in the Database
Dictionary.  Defining file relationships is generally the last
step in the creation of a Database Dictionary because the fields
and keys must already be defined in order to create file
relationships.  All three relationship types are defined in
terms of the Parent-Child (One-to-Many) relationship:

One-to-Many
     The most common file relationship.  A record with a unique
     key field value in the Parent file is related to multiple
     records containing the same key field value in the Child
     file.

One-to-One
     A Parent-Child relationship where the Child file is allowed
     only one related record--the linking key fields are unique in
     both files.

Many-to-Many
     This relationship is expressed indirectly as two One-to-Many
     relationships between the two related files and a third
     "Join" file which is defined as the CHILD of both (see the
     Database Design chapter in the User's Guide).

The currently highlighted file in the Files List is at the top
of the list and all the files which are linked to it are listed
below it.  Child files of the currently highlighted file on the
File Worksheet are listed with a leading double right solid
arrow (  ).  Parent files of the currently highlighted file on
the File Worksheet are listed with a leading single right solid
arrow (  ).


<<File Properties Window>>

The File Properties window allows you to specify the attributes
of the data file declaration which are directly placed on the
FILE statement when the file's Clarion source code data
declaration is generated.

<File Label:>
File Label:
     Enter the label of the file.  The file label is used to
     identify the file for those Clarion source code statements
     which act on the file (OPEN, ADD, NEXT, etc.).

     Labels may contain alphabetic characters, numbers, the
     underscore character ( _ ), and the colon ( : ).  Clarion
     labels may not begin with a number or colon, and are not
     case sensitive.

<Prefix:>
Prefix:
     Enter the file's prefix.  A Prefix is used preface the
     names (labels) of all of the data fields, keys, and indexes
     when they are referenced in Clarion source code.  This
     uniquely identifies them, making it possible to use the
     same field names in multiple files without confusion.  When
     used in Clarion source code, the Prefix is attached to the
     label with a colon (:).  For example, Cus:Name and Ord:Name
     identify a field with the label "Name" in two separate
     files -- one with a "Cus" prefix and the other with an
     "Ord" prefix.

     All prefixes within a single Database Dictionary must be
     unique -- you cannot use the same prefix for two files
     defined in the same Database Dictionary.  By default, the
     first three letters of the file label are offered as a
     prefix when you first create the file definition, but you
     may change this to any three character combination which
     begins with a letter (letters, numbers, and the underscore
     are valid).

<Description:>
Description:
     Enter an optional description of the file to clarify the
     contents or purpose of a data file.  If the File Label
     specified is somewhat cryptic, it is a good idea to enter a
     meaningful description.

<File Driver:>
File Driver
     Specify the file driver the file will use (ie. for which
     data file format the file being created).  A "pick list"
     of all the registered file drivers automatically pops up
     for your choice.  Selection of the file driver automatically
     limits the data types and attributes you may place in the
     file definition to those which are appropriate to the file
     system being used.

     Clarion for DOS directly supports many different
     data file types through its file driver technology.  This
     field is where you declare which type of file this is.  The
     information is placed in the file's DRIVER attribute.  By
     selecting a file type from the list of registered file
     drivers, the appropriate file driver is automatically
     incorporated into your application.  Whenever you access
     this data file, the Clarion language file access statements
     are implemented by the file driver you select here.

     You may "mix and match" file drivers within one Database
     Dictionary, or all the files may use the same driver.
     Clarion's file driver technology makes it possible to write
     applications for separate file systems without the need to
     make file-system-specific program changes.

     The Database Drivers... pulldown menu selection registers
     new database file drivers.  There are many more database
     file system drivers available than were provided in the
     shipping disks.  These extra file drivers are available
     directly from Clarion Software (call Customer Service at
     800-354-5444 or (305) 785-4555 for more information). Once
     you receive a new file system driver, you must register its
     presence before you may use it.

<Driver String:>
Driver String:
     Enter any file-system-specific information the file driver
     may need at the time the file is opened for use in your
     application (see DRIVER.DOC for documentation about each
     file driver and for the driver strings which are
     appropriate for the file system). You may enter either a
     string constant (in single quotes) or variable name.

<Owner Name:>
Owner Name:
     Enter an optional "encryption key" for data security (see
     the OWNER attribute in the Language Reference).  In some
     file systems this will also encrypt the data file's header.
     This is the "password" which is required to gain access to
     the data file after it has been encrypted.  You may enter
     either a string constant (in single quotes) or variable
     name.

<Encrypt Data File>
[] Encrypt Data File
     Activates data file encryption using the password specified
     in the Owner Name field (see the ENCRYPT attribute in the
     Language Reference).  For those file systems in which the
     OWNER attribute encrypts the file header, this encrypts the
     data records.

<Attributes>
Attributes
     The attribute selections which are not valid for the
     selected file driver are dimmed.  These are additional
     attributes which are placed on the FILE declaration
     statement.

[] Create
     Allows the file to be created at run time with the CREATE
     executable statement (see the CREATE attribute in the
     Language Reference).  Some file systems may not allow a file
     to be created without this attribute being set ON.

[] Reclaim
     Allows space occupied by previously deleted records to be
     reused when new records are added to the data file (see the
     RECLAIM attribute in the Language Reference).  Some file
     systems do not physically remove deleted records from the
     data file, but only flag them as deleted until the data
     file is "packed."  Reclaim allows this deleted record space
     to be re-used, eliminating the need for "packing" the file.

[] External Field Names
     Allows you to specify external field names which are
     generated in each data field's NAME attribute in the source
     code file definition (see the NAME attribute in the Language
     Reference).  These external names are used for file system
     compatibility -- some file systems require these external
     names (see DRIVER.DOC for clarification of the need for
     external field names in a specific file system).

<File Specification>
File Specification
     Enter the drive, path, and filename of the data file.  If
     omitted, applications created with this Database Dictionary
     assume that the data file resides in the DOS current
     directory (with the default filename applicable to the file
     system) when the program loads.  You may enter either a
     string constant (in single quotes) or variable name.


<<Select File Driver Window>>

The Select File Driver window allows you to choose the value to
place in the file's DRIVER attribute.  Only the file drivers
which are Registered in the environment are listed.

Choosing a file driver indicates the file system used for the
data file.  It also implies that the file must exist within the
constraints of that file system.  Each file driver (and the file
system's constraints) is documented on disk in a DRIVER.DOC text
file.

<Select Button>
Select Button
     Press this button to choose the currently highlighted file
     driver.


<<Enter Filename To Dump Source Window>>

The Enter Filename To Dump Source window allows you to enter the
name of the file to receive the file declaration source code
when you Save As Source.



<<Convert File Window>>
Converting Files

     The File Conversion utility converts a data file or generates
     source code for the file conversion process.

     When you have an existing data file and change the file
     definition, you must convert the existing data file to the
     new format.  This is true every time you make any change
     that affects the file's source code declaration (add a
     field or key, change a field's data type, etc.). You may
     also want to convert an existing data file from one file
     system to another.  Both cases are handled in a similar manner.

     The File Conversion Utility automatically generates the
     Clarion source code necessary to carry out the data file
     conversion. You have the option of running the file conversion
     immediately or generating source code.

     Once the source code is generated you may compile it and
     execute it.  You may also modify the generated code to
     handle some specific conversion issues. In either case,
     once you have compiled the conversion program you may run
     it on your own files and/or distribute it to your application's
     end users.

     You must have the original data file's definition in a
     dictionary file. For most file systems, you may import the
     actual data file into a dictionary. However, this is not
     possible with all file systems.

     In some file systems, such as Btrieve, the data file itself
     does not contain the information necessary to determine the
     data file definition. In those file systems, if you did not
     save the previous file definition you would have to
     re-construct it manually before the Dictionary Editor can
     convert the data file. If you cannot re-create the
     original file definition exactly, you could lose some data
     (possibly all).

     You may save the old data file definition prior to changing
     it by copying it to a new name within the same Dictionary,
     or you can Import the old definition from the .BCT
     automatic backup file (see the Import menu selection in the
     Edit menu) after you have saved your changes.

     The step-by-step approach to converting an existing data
     file is simple:


     1. Copy the file definition in the dictionary.

         This creates a file definition of the actual data
         file in its current state.

     2. Modify the original file definition.

     3.  Choose Convert Data File from the File Menu.

     4.  Specify the Input Dictionary, Input File label, and Input
         File Name.

     5.  If you want to allow the end user to enter a filename at
         runtime, check the appropriate box.

     6.  Specify the Output Dictionary, Output File label, and
         Output File Name.

         The Output Filename can be the same as the Input File Name;
         however, if it is the same, the new file will be created in
         a subdirectory called -- \NEWDATA. If you leave this field
         blank, a file with the same name as the original is created
         in the \NEWDATA directory.

      7. If you want to allow the end user to enter a filename at
        runtime, check the appropriate box.

     8.  If a field name has been changed or a new field has been
         added, press the Field Assignments button and make the
         necessary assignments.

         Values can be assigned to output file fields in one of
         three ways--from an input file field, from an expression or
         assigned a zero or blank value.

      9. When you are finished, press either the Generate Source
         button or the Convert File button.

         Generate Source-   Creates a source code file which you can
                            compile and link and then distribute.

         Convert File-      Automatically compiles, links and
                            runs the conversion source code.

<Input Dictionary:>
Input Dictionary:
         The name of the .DCT file which contains the file
         definition of the OLD format of the file -- the format from
         which it will be converted. Press the  button to select it
         from a File Open window.

<Input File Label:>
Input File Label:
          The name of the file definition in the Input Dictionary
          which contains the OLD format of the file -- the format
          from which it will be converted. Press the  button to
          select it from a list.

<Input File Name:>
Input File Name:
          The filename (including extension) of the data file to be
          converted. Press the  button to select it from a File
          Open window.

<Allow Input File Override at Runtime>
Allow Input File Override at Runtime
     Check this box to allow end users to provide the input filename
     at runtime.

<Output Dictionary:>
Output Dictionary:
      The name of the .DCT file which contains the file definition
      of the NEW format of the file -- the format to which it will
      be converted. Press the  button to select it from a File Open
      window.

<Output File Label:>
Output File Label:
      The name of the file definition in the Output Dictionary which
      contains the NEW format of the file -- the format to which it
      will be converted. Press the  button to select it from a
      list.

<Output File Name:>
Output File Name:
       The filename (including extension) of the converted data
       file.

       This can be the same as the Input File Name; however, if it
       is the same, the new file will be created in a subdirectory
       called -- \NEWDATA. If you leave this field blank, a file
       with the same name as the original is created in the \NEWDATA
       directory.

<Allow Output File Override at Runtime>
Allow Output File Override at Runtime
     Check this box to allow end users to provide the output
     filename at runtime.

<Source File Name:>
Source File Name:
     Enter the filename of the file to receive the generated
     file conversion source code (without extension -- .CLA is
     appended for you). If an existing file of the same name is
     detected, you are prompted before the file is overwritten.

<Field Assignments Button>
Field Assignments Button
         Pressing this button calls the Field Assignemnts window,
         allowing you to assign values to fileds in the new file.
         If a field name has been changed or a new field has been
         added, press the Field Assignments button to make the
         necessary assignments.

         Values can be assigned to output file fields in one of
         three ways--from an input file field, from an expression or
         assigned a zero or blank value.

<Generate Source Button>
Generate Source Button
     Generates the file conversion source code. You can later edit
     and/or compile the generated source.

<Convert File Button>
Convert File Button
     Generates the file conversion source code, then complies the
     generated source and runs the conversion program.

<<Field Assignments Window>>
Field Assignments Window
      This window allows you to view and modify the field
      assignments used by the file conversion utility.

      The list displays all fileds in the new file on the left,
      and the values which will be assigned to them on the right.
      Any fields which have been added to the new file or any
      fields whose labels have changed display (New Field),
      indicating the field will not be assigned a value.

<Change Button>
Change Button
      Press the Change Button to modify the field assignment.
      You may assign the value from a field in the input file or
      create an expression to assign.

<<Field Assignment Window>>
Field Assignment Window
      This window allows you to assign a value to a field during
      the conversion process.

<Output Field>
Output Field
       Displays the field in the new file to which a value will be
       assigned.

<Input Field>
Input Field
       The value which will assigned to the Output Field.
       To modify this value, press the  button. This calls the
       Select Input Field window which allows you to select a
       field or choose to create an expression.

<Expression Button>
Expression Button
       Press this button to create an expression to assign to
       the Output Field. This is dimmed unless you have specified
       in the Input Field that an expression is to be used.

<<Select Input Field>>
Select Input Field
       Displays a list of fields from the Input File, allowing you
       to select a field to assign to the Output Field.

       Two additional choices are displayed in the list:

       (New Field)
            Specifies that the field is new and will not be
            assigned a value.

       (Expression)
            Specifies that the field will be assigned a value from
            an expression. After making this choice, press the
            Expression Button on the Field Assignment Window to
            create the expression.

<<File Already Exists Window>>
File Already Exists Window
     This window appears if a file of the same name as the one being
     generated already exists.

<Ok Button>
Ok Button
     Indicates that you want to overwrite the existing file.

<Cancel Button>
Cancel Button
     Retruns you to the Convert File window, allowing you to specify
     a different name for the source file.

<<Select File To Import Window>>

The Select File to Import window allows you to pick the data
file to import from another Database Dictionary.


<<New File Structure Window>>

The New File Structure window allows you to create a data file
definition in one of four ways:

   1.  Copy an existing file definition from the current
       Dictionary.
   2.  Import a file definition from another Dictionary.
   3.  Import a file definition from a Clarion 2.1 APP file.
   4.  Import directly from a Clarion version 2.1 format data
       (.DAT) file.

Copying a file definition, or Importing from another Dictionary
or a Clarion 2.1 APP file, gets all the information about that
file which is contained in the Database Dictionary (excluding
Relationships).  This includes information (such as display
picture) which is only used by the Application Generator.

Import from a Clarion file reads the .DAT file's header and
imports all the field and key declaration information.  However,
this does not get any other information contained in the
Database Dictionary (such as display picture) which is only used
by the Application Generator -- it is not stored in the .DAT
file. Once you have imported the file definition, you may modify
the fields to add the defaults for the Application Generator.

<From Label:>
From Label:
     Displays the label of the file being copied.  If Importing
     from a Clarion .DAT file, enter the label of the existing
     data (.DAT) file.

<From Prefix:>
From Prefix:
     Displays the Prefix of the file being copied.  If Importing
     from a Clarion .DAT file, enter the prefix for the existing
     data file.

<To Label:>
To Label:
     Enter the new label of the data file definition as you want
     it to appear in the Database Dictionary (this may be the
     same as the From Label if it does not cause duplication
     within the Database Dictionary).

<To Prefix:>
To Prefix:
     Enter the new prefix for the data file definition as you
     want it to appear in the Database Dictionary (this may be
     the same as the From Prefix if it does not cause duplication
     within the Database Dictionary).


<<New Label Window>>

The New Label window allows you to copy a Field, Memo, or Key
definition within the same file.

<From Label:>
From Label:
     Displays the label of the Field, Memo, or Key being copied.

<To Label:>
To Label:
     Enter the new label of the Field, Memo, or Key as you want
     it to appear in the Database Dictionary (this may not be
     the same as the From Label, because it would cause
     duplication within the Database Dictionary).


<<Field Properties Window>>

The Field Properties window allows you to declare the label,
data type, and attributes of a field within a file.  This
information is used to create the data declaration statement in
the file's record structure when source code is generated for
you.

This window also allows you to declare default values for screen
display prompts, data entry validation, and report design.  This
information is provided to the Application Generator when you
design your application's screens and reports (you may override
these default values then).

<Field Label:>
Field Label:
     Enter the label (name) of the field.  This is the name
     which is appended to the file prefix to provide a unique
     identifier for the field.  As with all Clarion labels, the
     field label may contain letters, numbers, the underscore
     character ( _ ), and the colon ( : ).  Labels may not begin
     with a number or colon, and are not case sensitive.

<Type:>
Type:
     Select the data type for the field.  Not all data types are
     available in all file systems.  For information on the data
     types supported in a specific file system, see its file
     driver's documentation.

STRING
     A fixed-length string (see STRING in the Language Reference).
         Range:  1 to 65,535 bytes.

PICTURE
     PICTURE is not a data type.  When selected, PICTURE declares
     a STRING data type with a picture token defining the number
     of characters in the string.  The picture token used for the
     field declaration is entered in the Record Picture field.

     This is useful for data fields whose storage picture and
     display picture must be different (such as COBOL's "implied
     decimal" numeric string storage).  For example, a Record
     Picture of @N6v2 creates a field declaration which looks
     like:

           FieldName    STRING(@N6v2)

     The Display Picture for this field would probably be @N7.2,
     so the field is displayed with a decimal but stored without.

BYTE
     A one-byte unsigned integer (see BYTE in the Language
     Reference).
         Range:  0 to 255

SHORT
     A two-byte signed integer (see SHORT in the Language
     Reference).
         Range: -32,768 to 32,767

LONG
     A four-byte signed integer (see LONG in the Language
     Reference).
         Range: -2,147,483,648 to 2,147,483,647

REAL
     An eight-byte signed floating point (see REAL in the
     Language Reference).
         Range:   0,  2.225073858507201e-308 ..
                      1.79769313496231e+308
          15 significant digits

DECIMAL
     A signed packed decimal, up to eight bytes (see DECIMAL in
     the Language Reference).
         Range:   -999,999,999,999,999 to 999,999,999,999,999

DATE
     A four-byte date (see DATE in the Language Reference).
         Range:      year:  1 to 9999
                     month: 1 to 12
                     day:   1 to 31

TIME
     A four-byte time (see TIME in the Language Reference).
         Range:      hours:      0 to 23
                     minutes:    0 to 59
                     seconds:    0 to 59
                     seconds/100:0 to 99

GROUP
     A compound data structure which allows multiple variable
     declarations to be referenced by a single label.  Other
     fields are declared within the GROUP (see GROUP in the
     Language Reference).

CSTRING
     A fixed-length, null terminated string (see CSTRING in the
     Language Reference).
         Range:  1 to 65,535 bytes.

PSTRING
     An embedded length-byte string (see PSTRING in the Language
     Reference).
         Range:  1 to 255 bytes.

PDECIMAL
     A signed packed decimal, up to eight bytes (see PDECIMAL in
     the Language Reference).
         Range:   -999,999,999,999,999 to 999,999,999,999,999

USHORT
     A two-byte unsigned integer (see USHORT in the Language
     Reference).
         Range:  0 to 65,535

ULONG
     A four-byte unsigned integer (see ULONG in the Language
     Reference).
         Range:  0 to 4,294,967,295

SREAL
     A four-byte signed floating point (see SREAL in the Language
     Reference).
         Range:  0,  1.17549435e-38 ..  3.40282347e+38
         6 significant digits

BFLOAT
     An eight-byte signed floating point in Microsoft BASIC
     format (see BFLOAT in the Language Reference).
         Range:   0,  5.877471754e-39 ..
                      1.7014118346e+38
          15 significant digits

<Character Count:>
Character Count:
     Specifies the total number of bytes for this field.
     Depending upon the data type chosen it may be automatically
     displayed for you.

     When declaring a DECIMAL or PDECIMAL the character count
     specifies total digits on both sides of the decimal point.
     For example, if you want a field that can store values up
     to 999.99, enter a "Character Count" of 5 and "Decimal
     Places" as 2.

     Note: When defining CSTRING and PSTRING data types allow
           one additional character for internal storage.


<Decimal Places:>
Decimal Places:
     Enter the number of places to the right of the decimal
     point. Only valid with the DECIMAL and PDECIMAL data types.

<Record Picture:>
Record Picture:
     Specify the picture token used to declare the STRING field,
     which defines the storage format for the data.  This option
     is only valid on a field declared as a PICTURE Type (see
     the PICTURE discussion above and Picture Tokens in the
     Language Reference).

<Display Picture:>
Display Picture:
     Enter the default data formatting mask for the field (see
     Picture Tokens in the Language Reference) to be used in
     SCREEN and REPORT structures.  This picture may be
     overridden at SCREEN or REPORT design time.

<Description:>
Description:
     Enter an optional description to explain the type of
     information stored in this field.  If the Field Label is
     cryptic, it is a good idea to enter a meaningful
     description. Information entered in the Description field
     is placed as a comment on the field declaration in the
     generated source code.

<Help ID:>
Help ID:
     Specify the help to be displayed when the user presses F1
     during data entry for this field.  This value is placed in
     the field's HLP attribute when the field is placed in a
     SCREEN structure.  You may enter either a string constant
     (in single quotes) or variable name.

<Dimensions:>
Dimensions:
     If the field is an array, enter the number of array elements
     in each of up to four dimensions (see the DIM attribute in
     the Language Reference).

     The maximum size of an array is 64K, therefore the field
     size (in bytes) times the total number of elements (1st
     dimension times 2nd dimension times 3rd dimension times 4th
     dimension) must not exceed 65,535.

<Initial Value:>
Initial Value:
     Specify a "Pre-loaded" value for the field. Entering a
     value here allows the Clarion source code generated by a
     procedure Template to automatically initialize the field at
     run time. The value you enter is not edited.  This allows
     you to enter either a constant value, or an expression.
     This feature must be supported by the individual procedure
     Template to be effective.

<External Name:>
External Name:
     Specify the name of the field to be placed in the field's
     NAME attribute.  This may be different from the name used
     to refer to that field within the program (the Field Label).
     An external name is used for file system compatibility.
     See each file driver's documentation for clarification of
     the need for external field names in a specific file system.
     You may enter either a string constant (in single quotes)
     or variable name.

<External:>
External:
     Check this box to add the EXTERNAL Attribute to a Local
     variable. See EXTERNAL in the Language Reference.

<Column Heading:>
Column Heading:
     Enter the default column heading for this field when it is
     placed on a REPORT or displayed in the Database Manager.

<Default Prompt:>
Default Prompt:
     Enter the default PROMPT field value for this field when it
     is placed in a SCREEN structure for data entry.

<Overlay Field:>
Overlay Field:
     If this field is to share a memory location with a
     previously defined field, enter the field which this field
     is being defined OVER (see the OVER attribute in the
     Language Reference).  The OVER attribute re-defines the
     memory occupied by one field as another field name, allowing
     you to reference the same memory location in two different
     ways. The size of the field being defined must not be
     greater than the size of the Overlay Field.

<Hidden>
[] Hidden
     When ON, this specifies the field cannot be displayed or
     accessed by the Database Manager.

<Validity Check:>
Validity Check:
     Displays the field's current setting specified on the
     Validity Checks window.

<Entry Options:>
Entry Options:
     Displays the field's current settings specified on the
     Entry Options window.

<Validity Checks... Button>
Validity Checks... Button
     Calls the Validity Checks window.

<Entry Options... Button>
Entry Options... Button
     Calls the Entry Options window.


<<Validity Checks Window>>

The Validity Checks window establishes rules for the entry of
valid data into a field.  These allow you to declare the valid
values this field may contain.  The implementation method of
these data entry constraints differs depending upon which one
you specify for the field.

<Validity Checks Off>
() Validity Checks Off
     Indicates that data entry validation constraints are not
     automatically performed for this field.  This does not
     preclude writing your own data validation code.

<Cannot Be Zero Or Blank>
() Cannot Be Zero or Blank
     Indicates that some type of information must be entered for
     this field (it is a "required" field).  This option places
     the REQ attribute on the screen field when this field is
     placed in a SCREEN structure in the Application Generator.

<Must Be In Numeric Range>
() Must Be In Numeric Range
     Indicates that the user must enter a numeric value which
     must be within the Lowest and Highest values specified.
     The procedure Template generates an INRANGE function in the
     field's post-edit procedure source code to verify that the
     data entered is within the upper and lower limits
     (inclusive).  This feature must be supported by the
     individual procedure Template to be effective.

<Must Be True Or False>
() Must Be True Or False
     Indicates that the field is allowed to contain only a zero
     (0) or one (1).  The Application Generator places this field
     on screen as a CHECK box.

<Must Be In File>
() Must Be In File
     Indicates that the value in the field must be duplicated in
     the file you specify.  The two files (the file you are
     currently defining and the file you name here) must already
     have a relationship defined in the Database Dictionary (the
     pop-up list of choices is limited to related files).  The
     duplicate value must be contained in a key component field
     of that related file.  The procedure Template generates a
     GET statement in the field's post-edit procedure source
     code to verify that the data entered is valid.

<Must Be In List>
() Must Be In List
     Enter a specific list of valid values the field may contain.
     The Application Generator displays the list of choices as
     RADIO buttons within an OPTION structure when you place this
     field in a SCREEN structure.  The user may then only select
     from these valid choices to enter data in the field.  Each
     item in the list must be separated by a blank space.  Blank
     spaces are not allowed within a choice -- to emulate a space,
     use the underscore character (_).


<<Entry Options Window>>

The Entry Options window allows you to declare the default
screen attributes used when this field is placed as an ENTRY
field in a SCREEN structure.

<Attributes>
Attributes
     These attributes specify actions taken "behind the scenes"
     when data is entered into the field by the user.

[] Immediate
     Places the IMM attribute on the screen field. This
     specifies that the field is completed automatically once the
     number of characters defined for the size of the field has
     been entered (eliminating the need for the user to press TAB
     or ENTER). This is most often used with fields that always
     have a fixed number of characters (zip code, phone area
     code, etc.).

[] Left Justify
     Places the LFT attribute on the screen field, which
     specifies that the characters entered in the field are left
     justified. If the user enters leading spaces, they are
     discarded when the field is completed.  STRING fields are
     usually left justified.

[] Hide Password
     Places the HIDE attribute on the screen field, which
     specifies that the information entered into this field is
     "hidden."  As each character is entered into this field, an
     asterisk (*) is displayed on the screen instead of the
     character.  This does not affect the data placed in the
     field, only the screen display, and is usually used with
     fields containing sensitive data (passwords).

<Typing Mode>
Typing Mode
     These attributes affect the insert/overwrite typing
     characteristics for the field.

() Insert
     Places the INS attribute on the screen field, which
     specifies insert mode for data entry.

     For character fields:
     Insert causes data being entered into a field already
     containing data to "push" the original data to the right
     until the size limit of the field has been reached.

     For numeric fields:
     Insert causes the field to be filled from right to left,
     calculator style.  This is the recommended mode for numeric
     fields containing information that varies greatly in length,
     such as fields containing currency data.

() Overwrite
     Places the OVR attribute on the screen field, which specifies
     overwrite mode for data entry.

     For character and numeric fields:
     Overwrite causes data being entered into a field already
     containing data to destroy the original data.

     For numeric fields:
     this also specifies that numbers are entered from left to
     right.

() AsIs
     Leaves both the INS and OVR attributes off the screen
     field.

     This specifies the typing mode is the same as the
     field previously completed.  The typing mode used is the
     typing mode "left over" from the immediately previous
     field.

<Character Mode>
Character Mode
     These attributes affect the data formatting of string
     fields.

() Normal
     Leaves both the UPR and CAP attributes off the screen
     field.  This specifies that the case of characters entered
     by the user is not modified.

() Upper Case
     Places the UPR attribute on the screen field. This
     specifies that the case of characters entered by the user
     is automatically changed to all uppercase, no matter what
     case the user types in.

() Capitalize
     Places the CAP attribute on the screen field. This
     specifies that the first letter of each word entered by the
     user is automatically changed to uppercase.  This affects
     the first letter in the field and each letter following any
     blank space. All other characters entered are automatically
     changed to lowercase.

     This can be overridden by using the SHIFT key (eg. McDonald
     - pressing the SHIFT w/ the "d" will override the
     attribute).

<<Memo Properties Window>>

The Memo Properties window defines the maximum size of the MEMO
field (Max Length) and the size of the TEXT Field (Display Rows
and Column Width) the Application Generator places on screen.

<Memo Label:>
Memo Label:
     Enter the label (name) of the field.  This is the name by
     which it will be referenced within the application.  As
     with all Clarion labels, the MEMO label may contain
     alphabetic characters, numbers, the underscore character ( _
     ), and the colon ( : ).  Labels may not begin with a number
     or a colon and are not case sensitive.

<Description:>
Description:
     Enter an optional description to explain the type of
     information stored in the MEMO field.  If the Memo Label is
     cryptic, it is a good idea to enter a meaningful description.
     Information entered in the Description field is placed as a
     comment in the generated source code.

<Display Rows:>
Display Rows:
     Enter the default number of rows used to display this MEMO
     field when it is placed in a TEXT field in SCREEN structure.

<Column Width:>
Column Width:
     Enter the default number of columns used to display this
     MEMO field when it is placed in a TEXT field in SCREEN
     structure. The number specified for Column Width should
     divide evenly into the Max Length specified.

<Max Length:>
Max Length:
     Enter the maximum number of characters that may be entered
     into this MEMO field.  The maximum length that may be
     specified for a MEMO field is 64K.  The maximum allowable
     size of a MEMO field varies depending upon the file system
     used.  Consult DRIVER.DOC to determine the maximum size
     allowed in a specific file system.

<Binary Contents>
[] Binary Contents
     Indicates that the MEMO field will not contain text, most
     likely data from a .PCX or .GIF image file.  This places
     the BINARY attribute on the MEMO field in the file
     declaration. See DRIVER.DOC to determine if Binary Memos
     are supported in a specific file system.

<Help ID:>
Help ID:
     Specify the help to be displayed when the user presses F1
     during data entry for this field.  This value is placed in
     the field's HLP attribute when the field is placed in a
     SCREEN structure.  You may enter either a string constant
     (in single quotes) or variable name.

<External Name:>
External Name:
     Specify the name of the MEMO to be placed in its NAME
     attribute.  This may be different from the name used to
     refer to that MEMO within the program (the Memo Label).  An
     external name is used for file system compatibility.  See
     DRIVER.DOC for clarification of the need for external MEMO
     names in a specific file system. You may enter either a
     string constant (in single quotes) or variable name.

<Column Heading:>
Column Heading:
     Enter the default column heading for this MEMO when it is
     placed on a REPORT or displayed in the Database Manager.

<Default Prompt:>
Default Prompt:
     Enter the default PROMPT field value  for this MEMO when it
     is placed in a SCREEN structure for data entry.

<Attributes>
Attributes
     These attributes specify actions taken "behind the scenes"
     when data is entered into the MEMO by the user.

[] Required
     Places the REQ attribute on the screen field.  This indicates
     the user must type something in the field during data entry.

[] Word Wrap
     Places the LFT attribute on the screen field to enable
     Word-wrap editing.   Word-wrap ensures that words do not
     span multiple lines in the display.

<Typing Mode>
Typing Mode
     These attributes affect the insert/overwrite typing
     characteristics for the field.

() Insert
     Places the INS attribute on the screen field, which
     specifies insert mode for data entry.  Insert causes data
     being entered into a MEMO already containing data to "push"
     the original data to the right until the size limit of the
     field has been reached.

() Overwrite
     Places the OVR attribute on the screen field, which specifies
     overwrite mode for data entry.  Overwrite causes data being
     entered into a MEMO already containing data to destroy the
     original data.

() AsIs
     Leaves both the INS and OVR attributes off the screen field.
     This specifies the typing mode is the same as the field
     previously completed.  The typing mode used is the typing
     mode "left over" from the immediately previous field.

<Character Mode>
Character Mode
     These attributes affect the data formatting of the MEMO.

() Normal
     Leaves both the UPR and CAP attributes off the screen field.
     This specifies that the case of characters entered by the
     user is not modified.

() Upper Case
     Places the UPR attribute on the screen field.  This specifies
     that the case of characters entered by the user is
     automatically changed to all uppercase, no matter what case
     the user types in.

() Capitalize
     Places the CAP attribute on the screen field.  This specifies
     that the first letter of each word entered by the user is
     automatically changed to uppercase.  This affects the first
     letter in the field and each letter following any blank
     space.  All other characters entered are automatically
     changed to lowercase.  This can be overridden by using the
     SHIFT key.

<Hidden>
[] Hidden
     When ON, this specifies the memo cannot be displayed or
     accessed by the Database Manager.


<<Key Properties Window>>

The Key Properties window allows you to declare a KEY or INDEX
for a data file.  KEY and INDEX declarations specify alternate
sort sequences for the data file.  The sort sequence is
determined by the component fields which make up the KEY or
INDEX.  Once the Key Properties window has been completed, the
Key Component window automatically appears to allow you to add
the component fields.

KEY and INDEX are functionally equivalent.  The difference
between KEY and INDEX lies in the fact that a KEY is always
maintained and an INDEX is not.  Every time a record is added,
changed, or deleted from the file, its KEYs are updated to
reflect the changes.  This means a KEY's sort sequence is always
correct and available for use.  An INDEX, however, is not
maintained and must be explicitly built immediately before it is
used.  This makes a KEY appropriate for a frequently used sort
sequence, and an INDEX appropriate for an infrequently used sort
sequence.

<Name:>
Name:
     Enter the name of the Key.  This is the label (appended to
     the file's prefix) by which it is referenced within the
     application's source code.  As with all Clarion labels, the
     key name may contain alphabetic characters, numbers, the
     underscore character ( _ ), and the colon ( : ). Labels
     may not begin with a number or a colon and are not case
     sensitive.

<Description:>
Description:
     Enter an optional description of the Key.  If the Name is
     cryptic, it is a good idea to enter a meaningful
     description. Information entered in the Description field is
     placed as a comment in the generated source code.

<External Name:>
External Name:
     Specify the name to be placed in the Key declaration's NAME
     attribute.  This may be different from the Name entered
     above.  An external name is used for file system
     compatibility.  See each file driver's documentation for
     clarification of the need for external key names in a
     specific file system.

<Key>
() Key
     Declares a KEY.  A KEY is maintained dynamically.  As the
     data file is modified, the KEY's sort sequence is
     automatically updated.

<Index>
() Index
     Declares an INDEX.  An INDEX is not maintained.  Before use,
     an INDEX must be built using the BUILD statement.

<Dynamic Index>
() Dynamic Index
     Declares an INDEX without any component fields.  This is a
     special form of INDEX where the component fields, and thus
     the sort sequence, are specified at run-time in the BUILD
     statement (see INDEX and BUILD in the Language Reference).
     A data file may have only one Dynamic Index.


<Unique>
[] Unique
     Specifies whether the Key allows duplicate key field
     values. When the Unique Check box is OFF, the DUP attribute
     is placed on the KEY declaration, which allows duplicate KEY
     entries -- records with duplicate values in the KEY's
     component fields. When the Unique Check box is ON, the DUP
     attribute is left off, requiring each record to contain
     unique values in the KEY component fields.  Unique is
     unnecessary for an INDEX definition.  An INDEX always allows
     duplicate records.

<Auto-Number>
[] Auto-Number
     Indicates the source code generated by a procedure Template
     should automatically increment the last component field in
     the KEY when a new record is added to the file. This
     feature must be supported by the individual procedure
     Template to be effective.  Auto-Number is meaningless for an
     INDEX since an INDEX is not dynamically maintained.

<Case Sensitive>
[] Case Sensitive
     Specifies whether the Key has a case sensitive sort order.
     When the Case Sensitive Check box is OFF, this option puts
     the NOCASE attribute on a KEY or INDEX, making the sort
     order independent of the case of the characters.  When the
     Case Sensitive Check box is ON, the NOCASE attribute is left
     off, making the sort order dependent upon the case of the
     characters.

<Exclude Nulls>
[] Exclude Nulls
     Specifies whether the Key includes entries for records
     whose key component fields are all blank or zero.  When the
     Exclude Nulls Check box is ON, this option puts the OPT
     attribute on the KEY or INDEX, which eliminates Key entries
     for records whose Key component fields all contain blank or
     zero values. When the Exclude Nulls Check box is OFF, the
     OPT attribute is left off and the Key includes entries for
     all records in the file.

<Primary Key>
[] Primary Key
     This option tells the Application Generator that this KEY
     fits the definition of a Relational Primary Key as
     described in the Database Design chapter in the User's
     Guide -- a Unique KEY whose component fields are all
     required (have the REQ attribute) for data entry.  An INDEX
     cannot be a Primary Key.


<<Key Component Window>>

The Key Component window allows you to maintain the component
fields which comprise the KEY or INDEX.  The component fields
determine the sort order specified by the KEY or INDEX.  Once
the Key Properties screen has been completed, the Key Component
window automatically appears to allow you to add the component
fields.

<Field Name:>
Field Name:
     Enter the name (label) of the component field or press TAB
     to select one from the Field List.

<Field List>
Field List
     Displays a list of all fields in the file.  When you select
     a field from this list, the Field Name receives the name of
     the field you selected.

<Ascending>
() Ascending
     Indicates that the component field is sorted within the key
     from lowest value to highest value.

<Descending>
() Descending
     Indicates that the component field is sorted within the key
     from highest value to lowest value.


<<Relationship Properties Window>>

The Relationship Properties window allows you to describe the
relationship between two files in the Database Dictionary.  File
relationships describe how files are linked based upon common
key fields, and how referential integrity should be maintained
(see the Database Design chapter in the User's Guide).

<Relationship For (filename)>
     Relationships may be viewed and/or created from either the
     Parent or the Child side of the relationship.  This is the
     purpose of the Radio buttons in the Relationship For area.

() 1 to Many
     Indicates that the file for which the relationship is being
     defined is the One side of a One-to-Many file relationship.

() Many to 1
     Indicates that the file for which the relationship is being
     defined is the Many side of a One-to-Many file relationship.


<Primary/Foreign Key:>
Primary/Foreign Key:
     Specify the Key which contains the common (linking)
     field(s) between the file for which the relationship is
     being defined and the Related File.  If data in this file
     must be directly accessed from the Related File, you must
     name a Key here.  If no direct access is required, no Key
     need be named.

     The prompt for this field reads "Primary Key" when the 1
     to Many Radio button is active, and "Foreign Key" when the
     many to 1 Radio button is active.  These relate to the
     definitions of Primary and Foreign Keys as described in the
     Database Design chapter in the User's Guide.

<Related File:>
Related File:
     Enter the label of the Child or Parent file of the file for
     which the relationship is being defined.  If you specify
     Parent, then the Related File is the Child file, and vice-
     versa.

<Foreign/Primary Key:>
Foreign/Primary Key:
     Specify the Related file's Key which contains the common
     (linking) field(s) between the Related File and the file
     for which the relationship is being defined.  If data in
     the Related File must be directly accessed from the file
     for which the relationship is being defined, you must name
     a Key here.  If no direct access is required, no Key need
     be named.

     The prompt for this field reads "Foreign Key" when the 1 to
     Many Radio button is active, and "Primary Key" when the
     Many to 1 Radio button is active.  These relate to the
     definitions of Primary and Foreign Keys as described in the
     Database Design chapter in the User's Guide.

<Link Fields>
Link Fields
     This displays a list of the component fields of the Primary
     and Foreign Keys.  Each component field must be matched with
     its linking field in the corresponding file or specified as
     a "(NO LINK)". Components yet to be linked will be marked
     as (ToDo).

     NOTE:  LINKS LEFT AS (ToDo) WILL GENERATE CODE THAT WILL
            NOT COMPILE!

     A "NO LINK" specifies that the components from that point
     forward nolonger effect the Relationship between the files.

     Highlight the field for which you wish to define the
     linking field and press ENTER to call the Child/Parent Field
     to Parent/Child Field Link window.

     EXAMPLE:
     To create a Many:1 Relation between an Items file and an
     Invoice file with the following key structures:

     Ite:InvoiceKey                 Inv:InvoiceKey
          Ite:InvoiceNo               Inv:InvoiceNo
          Ite:Line                    Inv:Date

              You would select Many to 1.
              Foreign Key  :  Ite:InvoiceKey
              Related File :  Invoice
              Primary Key  :  Inv:InvoiceKey

                         Link Fields:
                     KEY(Ite:InvoiceKey)
              Inv:InvoiceNo > Ite:InvoiceNo
                  (NO LINK) > Ite:Line

                     KEY(Ite:InvoiceKey)
              Ite:InvoiceNo < Inv:InvoiceNo
              Ite:Line      < (NO LINK)

     To setup a relationsship that will be used only to validate
     data you will not specify a Foreign Key.  A good example is
     the use of a States file that validates the users placed a
     proper State code in to the Customers State field.


<Constraints... Button>
Constraints... Button
     Calls the Referential Integrity window.  This allows you to
     define the Update and Delete constraints placed on the
     relationship.


<<Child/Parent Field to Parent/Child Field Link Window>>

The Child/Parent Field to Parent/Child Field Link window allows
you to specify a linking field between files.  It presents a
list of all fields in the Parent/Child file to allow you to
select the linking field.

<Child/Parent Field:>
Child/Parent Field:
     Type in the name of the linking field or press TAB to select
     from the Fields list.

<Parent/Child Key Component:>
Parent/Child Key Component:
     Displays the field to which you are creating a link.

<Fields Of Child/Parent>
Fields Of Child/Parent
     A list of all fields in the Child/Parent file from which you
     may select the linking field.

<No Link Button>
No Link Button
     Complete the No Link Pushbutton when the field is part of a
     multiple component field Key and is not one of the components
     which establish the relationship between the two files.
     Therefore, there is no linking field for this Key component.
     Once you have defined a component field as No Link, any
     components following that field in the Key should also be
     set to No Link fields.


<<Referential Integrity Window>>

The Referential Integrity window specifies the action that
should be taken when the user attempts to change a linking field
value in the Parent or delete a Parent record with related Child
records.

For these options to have effect, the executable code which
performs the action(s) must be in the generated source code for
the application.  Therefore, these options are all dependent
upon implementation in each procedure Template's Template
language code.  If you write a custom procedure Template which
does not support these constraints, Referential Integrity may be
forfeit.

<Update Constraints>
Update Constraints
     These options specify the action which should be taken when
     the user attempts to change the values contained in the
     fields of the Parent file which link the two files.

() No Action
     Allow the Parent record's link field(s) to be changed,
     ignoring the Child records.

() Restrict
     Prevent the user from making changes to the link field(s)
     in the Parent record if Child records exist.

() Cascade
     Automatically update any existing Child records when the
     link field of the Parent record is changed.

() Clear
     Allow the Parent record link field(s) to be changed and
     clear (set to blank or zero) the link field(s) in the Child
     record(s).

<Delete Constraints>
Delete Constraints
     These options specify the action which should be taken when
     the user attempts to delete a Parent record which has
     related (existing) Child records.

() No Action
     Allow the Parent record to be deleted, ignoring any Child
     records.

() Restrict
     Prevent the user from deleting the Parent record if Child
     records exist.

() Cascade
     Automatically delete any existing Child records when the
     Parent record is deleted.

() Clear
     Allow the Parent record to be deleted and clear (set to
     blank or zero) the link field(s) in the Child record(s).


<<Select Window>>

The Select window displays a list of valid choices from which
you may select.  The list of choices displayed (and the Title of
the window) is dependent upon where it has been called from.

<Select Button>
Select Button
     Press this button to choose the currently highlighted
     selection.

<<Documentation Window>>
Documentation Window

This window allows you to specify the manner in which Dictionary
Documentation is printed.

<Track Character Selection>
Track Character Selection

() Single Line Track Characters
     Specifies single line tracking characters.

() Double Line Track Characters
     Specifies double line tracking characters.

() Single Line Vertical Tracking
     Specifies single line vertical tracking with double line
     horizontal tracking.

() Double Line Vertical Tracking
     Specifies double line vertical tracking with single line
     horizontal tracking.

() No Tracking
     Specifies no tracking.

<Information Selection>
Information Selection

This allows you to print only the information needed. Check the
appropriate boxes for the information you want printed.

[] Memos
      Prints Memo definitions.

[] Fields
        Prints Field definitions.

[] Keys
        Prints Key definitions.

[] Key Fields
        Prints Key Component Fields.

[] Relations
        Prints File Relations.

[] Relation Fields
        Prints Fields in File Relations.

[] Suppress Blanks and Zeros
        Suppresses printing empty lines.


<Prompt Width>
Prompt Width
     Specifies the width of the Prompt column in the report.
<Page Width>
Page Width
     Specifies the width of the Page.

<<File Selection Window>>
File Selection Window

This window allows you to select the data file(s) to import.

<Filename:>
Filename:
          The filename (including extension) of the data file to
          import. Press the  button to select it from a File Open
          window.

<Selected Driver:>
Selected Driver:
         This displays the File Driver detected by the import
         utility. If more than one is detected, they display in the
         list. Highlight the correct driver and press the Select
         Driver button.

<Select Driver>
Select Driver
         If more than one File Driver appears in the list, highlight
         the correct driver and press this button.

<Details>
Details
         If keys, indexes or memos are stored externally, press the
         details button to specify the filenames for the external
         files. This is not necessary for files using the Clarion
         File Driver.

         The Details button can also be used to change the File
         label or Prefix of the imported file.

<<Import File Details Window>>
Import File Details Window

The Import Details Window allows you to specify import settings
which are siginificant to a file's definition such as the file's
definitions name, prefix, key external names, memo external
names, etc. Each of the settings contains defaults extracted from
the file definiton in the database file.

<Data File:>
Data File:
     Displays the Import database file.

<Driver:>
Driver:
     Displays the selected Import database (format) driver for
     the Import database file.

<File Label:>
File Label:
     Enter the unique name the file definition will have in the
     database dictionary. The default name provided is the name
     found for the file definition in the database file.

<File Prefix:>
File Prefix:
     Enter the unique prefix the file definition will have in the
     database dictionary. The default prefix provided is
     extracted from the file definition in the database file.

<Keys:>
[] Keys:
     Check this box if you want to import key declarations. If
     the box is not checked then key declarations will not be
     imported with the file definition.

<(Keys) External... Button>
(Keys) External... Button
     Press this button to access the Select External Keys Window.
     Some database files store related key and index information
     in separate files. These files must be selected in order to
     import the appropriate key and index information.

     Xbase file systems are organized in this fashion. For
     example:

       Dbase3 database (.DBF) files store related file indexes in
       a (.NDX) file.

<Memos:>
[] Memos:
     Check this box if you want to import memo declarations. If
     the box is not checked then memo declarations will not be
     imported with the file definition.

<(Memos) External... Button>
(Memos) External... Button
     Press this button to access the Select External Memos
     Window. Some database files store related memo information
     in separate files. These files must be selected in order to
     import the appropriate memo information.

<Delimeter:>
Delimeter:
     Enter the appropriate delimeter. Some file systems require a
     delimeter between fields to denote when one field begins and
     another one ends.

<<Data File Import Window>>
Data File Import Window
     Displays the files selected for import.

<Insert>
Insert
      Press this button to add a file to the list of files to
      import.

<Change>
Change
      Press this button to modify an entry in the list of files to
      import.

<Delete>
Delete
      Press this button to remove an entry in the list of files to
      import.

<Import>
Import
      Press this button to start the import process. All the files
      in the list will be imported.

<Close>
Close
      Closes the Data File Import window, cancelling the import.

<<Select External Keys Window>>
Select External Keys Window
      The Select External Keys Window allows you to manage the
      list of external Key files to import.

<Selected Files:>
Selected Files:
      Lists the files selected to import

<Insert>
Insert
      Calls a File Open Window, enabling you to select a file.

<Delete>
Delete
      Deletes the highlighted entry.
