home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR8 / DBSM21.ZIP / DBSM.DOC next >
Text File  |  1993-01-04  |  167KB  |  3,289 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                            DataBase Structure Manager
  13.                            --------------------------
  14.                                   Version 2.1
  15.  
  16.                                        by
  17.  
  18.                             Progressive Data Systems
  19.  
  20.                                   P.O. Box 631
  21.                               Middleton, WI  53562
  22.                               Phone (608) 836-5075
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.     Copyright 1989 Progressive Data Systems.  All rights are reserved.
  57.     This manual may not be transcribed, reproduced, or translated into any
  58.     natural language or computer language in whole or in part, by any means
  59.     or in any form without the prior written permission of a duly authorized
  60.     representative of Progressive Data Systems in Middleton, Wisconsin.
  61.  
  62.                                                                        Page   i
  63.  
  64.                     DataBase Structure Manager, Version 2.1
  65.  
  66.                          Limited Warranty and Liability
  67.                          ------------------------------
  68.  
  69.       Progressive Data Systems is not responsible for your specific
  70.       application or any problems resulting from use of this software.
  71.       Progressive Data Systems has no liability to you or any other person or
  72.       entity for any lost profit, lost savings, loss of goodwill, or damage
  73.       including special, consequential, or incidental damages caused either
  74.       directly or indirectly by the use or inability to use this software,
  75.       or for any claim by any other party.  Some states do not allow the
  76.       limitation or exclusion of liability for consequential or incidental
  77.       damages, so the above limitation or exclusion may not apply to you.
  78.  
  79.       THE FOREGOING WARRANTY IS IN LIEU OF ALL OTHER WARRANTIES AND
  80.       CONDITIONS EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THOSE
  81.       CONCERNING MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE
  82.       PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
  83.       Progressive Data Systems DOES NOT WARRANT THAT THE SOFTWARE WILL MEET
  84.       YOUR REQUIREMENTS OR THAT THE OPERATION OF THE SOFTWARE WILL BE
  85.       UNINTERRUPTED OR ERROR FREE.  ALL RISK CONCERNING THE PERFORMANCE AND
  86.       QUALITY OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE
  87.       DEFECTIVE, YOU (AND NOT Progressive Data Systems) ASSUME THE ENTIRE
  88.       COST OF ALL NECESSARY CORRECTION, REPAIR, OR SERVICING.
  89.  
  90.       This agreement is governed by the laws of the State of Wisconsin.  If
  91.       any part of this agreement is invalidated, the remainder of the
  92.       agreement will remain in effect.  You acknowledge that you agree to
  93.       be bound by the terms and conditions of this agreement.  Your use of
  94.       this software constitutes your acceptance of the limited warranty and
  95.       license agreement.
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.                      Trademark Acknowledgements
  103.                      --------------------------
  104.  
  105.       ASP logo is a trademark of the Association of Shareware Professionals.
  106.       CLIPPER is a trademark of Nantucket Corporation.
  107.       dBASE, dBASE III, dBASE III PLUS, and dBASE IV are trademarks of
  108.       Ashton-Tate, Inc.
  109.       DESQview is a registered trademark of Quarterdeck Office Systems.
  110.       FoxBase is a registered trademark of Fox Software, Inc.
  111.       NANTUCKET is a registered trademark of Nantucket Corporation.
  112.       Novell is a registered trademark of Novell, Inc.
  113.       PLINK86-Plus is a trademark of Phoenix Technologies, Ltd.
  114.  
  115.  
  116.                                                                        Page  ii
  117.  
  118.                     DataBase Structure Manager, Version 2.1
  119.  
  120.                            Limited Software License
  121.                            ------------------------
  122.  
  123.       DataBase Structure Manager is copyrighted.
  124.       Copyright 1989 Progressive Data Systems.
  125.  
  126.       Non-registered users are granted a limited license to use the DataBase
  127.       Structure Manager software for a limited time to determine whether it
  128.       meets their operating needs and requirements.  This limited license is
  129.       provided for the sole purpose of allowing non-registered users to
  130.       evaluate the DataBase Structure Manager software.  Continued use of
  131.       the DataBase Structure Manager software requires a valid software
  132.       license agreement with Progressive Data Systems.  Your use of this
  133.       software constitutes your acceptance of the limited warranty and
  134.       license agreement.  The license is terminated if you fail to comply
  135.       with any term or condition of this license agreement.
  136.  
  137.       This limited license is for a single copy of the DataBase Structure
  138.       Manager software and has been granted by Progressive Data Systems
  139.       with their mailing address at Post Office Box 631, Middleton,
  140.       Wisconsin  53562.  The DataBase Structure Manager software is not
  141.       sold.  It may be licensed to you for your personal use on any one
  142.       computer.  (Please refer to Appendix D for license registration
  143.       information.)
  144.  
  145.       Copies of this software may be made for trial use and short-term
  146.       evaluation by others on a non-commercial basis.  You may not charge
  147.       anything for the DataBase Structure Manager software.  The only
  148.       exception to this is a cost-based fee (not to exceed the equivalent
  149.       of fifteen dollars in U.S. currency) to cover distribution costs.
  150.       The full set of programs and documentation must be included with
  151.       any distributed copies.
  152.  
  153.       You may not modify DataBase Structure Manager or distribute this
  154.       software in a modified form.  The modification prohibition includes,
  155.       but is not limited to, reverse engineering, disassembling and
  156.       decompiling.
  157.  
  158.       You may not distribute this software in combination with any other
  159.       service or product, or as a part of an institutionally or
  160.       corporate-sponsored distribution.  Bundling agreements and site
  161.       licenses may be negotiated with Progressive Data Systems.
  162.  
  163.       The documentation provided here may change at any time without notice.
  164.       Information presented in this documentation is not a representation of
  165.       any form of commitment by Progressive Data Systems.  Progressive Data
  166.       Systems does not assume responsibility for the use of the
  167.       documentation, nor for any patent infringements or other rights of
  168.       third parties who may use the documentation.
  169.  
  170.  
  171.                                                                        Page iii
  172.  
  173.                     DataBase Structure Manager, Version 2.1
  174.  
  175.                              Shareware Distribution
  176.                              ----------------------
  177.  
  178.       The DataBase Structure Manager is NOT public domain software, nor is
  179.       it free (or freeware).
  180.  
  181.       The DataBase Structure Manager is distributed using the shareware
  182.       marketing concept.  The software may be freely copied and distributed
  183.       to others provided no charge is assessed for the software and the
  184.       software is not bundled with any other software.  If you distribute
  185.       this software, all files must be included without modification.
  186.       Please take care to ensure all files are included in the distribution
  187.       process.
  188.  
  189.       Shareware is the ultimate, consumer-oriented, value protection
  190.       system.  You, the consumer, may be assured of good values in software
  191.       by acquiring and investigating the shareware software before you
  192.       commit yourself to purchasing an extended software license agreement.
  193.       You are indeed sought out for this very purpose and an attempt is
  194.       made to get the software to you as inexpensively as possible.
  195.  
  196.       Shareware software must make it on its own merits without the
  197.       expensive marketing hype of traditional commercial software.  You are
  198.       the judge and you can directly influence the acceptance of any of the
  199.       shareware software you try by either recommending or not recommending
  200.       the software to others.
  201.  
  202.       If you should find through your examination of the software that it
  203.       does not perform up to your expectations or it does not meet your
  204.       requirements, you are not obligated to pay anything so long as you do
  205.       not continue to use the software.  If this is the case with the
  206.       DataBase Structure Manager, I sincerely thank you for trying the
  207.       software.
  208.  
  209.       If you find the software to competently perform up to your
  210.       expectations, but it does not satisfy your particular requirements,
  211.       you may want to consider encouraging someone else to try it.
  212.  
  213.       If you find the software does meet your requirements, it performs in
  214.       a suitable manner, and you wish to continue to use the software, (or
  215.       you wish to continue to use the software for any other reason,) you
  216.       are obligated to register with the author to obtain an extended
  217.       software license agreement.
  218.  
  219.       The shareware marketing method must be successful for both the
  220.       software users and software developers to ensure its viability.
  221.       Please support the shareware marketing method and the software
  222.       developers who are providing you with your quality programs by
  223.       registering the shareware programs you continue to use.
  224.  
  225.                                                                        Page  iv
  226.  
  227.                     DataBase Structure Manager, Version 2.1
  228.  
  229.                                 Technical Support
  230.                                 -----------------
  231.  
  232.       Technical support for registered users is provided for a period of
  233.       one year beginning on the first day of registration.  The technical
  234.       support is available Monday through Friday from 9:00 AM to 5:00 PM
  235.       (Central Standard Time).  Please use the documentation provided to
  236.       solve any problems before requesting technical assistance.
  237.  
  238.       Please have the following information available when you call
  239.       Progressive Data Systems for technical support at (608) 836-5075:
  240.  
  241.              1. DBSM license registration number.
  242.              2. DBSM version.
  243.              3. DOS version.
  244.              4. CONFIG.SYS and AUTOEXEC.BAT file contents.
  245.              5. Available system memory before executing the DBSM program as
  246.                 reported by the DOS CHKDSK command.
  247.  
  248.       Do not be deterred from requesting technical assistance if you
  249.       cannot determine all of the above information.  If you are at your
  250.       computer when you call, we should be able to work together to gather
  251.       the necessary information.
  252.  
  253.  
  254.  
  255.  
  256.               _______
  257.          ____|__     |               (tm)
  258.       --|       |    |-------------------
  259.         |   ____|__  |  Association of
  260.         |  |       |_|  Shareware
  261.         |__|   o   |    Professionals
  262.       -----|   |   |---------------------
  263.            |___|___|    MEMBER
  264.  
  265.  
  266.       The Association of Shareware Professionals is dedicated to
  267.       strengthening the future of shareware as an alternative to commercial
  268.       software.
  269.  
  270.  
  271.                                                                        Page   v
  272.  
  273.                     DataBase Structure Manager, Version 2.1
  274.  
  275.                              Table of Contents
  276.                              -----------------
  277.  
  278.       Limited Warranty and Liability...........................    i
  279.       Trademark Acknowledgements...............................    i
  280.       Limited Software License.................................   ii
  281.       Shareware Distribution...................................  iii
  282.       Technical Support........................................   iv
  283.       Association of Shareware Professionals Membership........   iv
  284.       Table of Contents........................................    v
  285.       Introduction.............................................    1
  286.       A Brief Relational Database Primer.......................    1
  287.       The DBSM Advantage.......................................    2
  288.       Practical Applications...................................    3
  289.       Features Summary.........................................    4
  290.       Urgent Information
  291.         DBSM System Files......................................    5
  292.         Unique Data Field Names................................    6
  293.         Database Structure Generation..........................    6
  294.         dBASE IV Database File Format..........................    6
  295.         Memory Requirements....................................    7
  296.         Insufficient Memory Error Message......................    7
  297.         Application Database File Location.....................    7
  298.         Multi-tasking..........................................    7
  299.         External Program Execution.............................    7
  300.       System Configuration
  301.         Hardware Requirements..................................    8
  302.         Software Requirements..................................    8
  303.         Runtime Environment Settings...........................    8
  304.           Memory Allocation and Use............................    8
  305.             Memory Variable Allocation.........................    9
  306.             External Program Execution/Index Buffers Allocation    9
  307.             Expanded Memory for Index Buffers..................   10
  308.           Snow Elimination.....................................   10
  309.           Recommended Runtime Settings.........................   10
  310.         Enabling DOS Command Execution.........................   11
  311.       Network File Control.....................................   12
  312.       Technical Specifications
  313.         Maximum Database Specifications........................   13
  314.         Numeric Data Field Length Specifications...............   13
  315.         Database File Name Conventions.........................   13
  316.         Data Field Database Assignments........................   13
  317.         Corrupted Databases....................................   14
  318.       Installation
  319.         Hard Disk..............................................   15
  320.         Diskette Drive.........................................   15
  321.       System Startup
  322.         Database System Application Directory..................   16
  323.         Command Line Parameters................................   16
  324.         First-Time Operation...................................   17
  325.  
  326.  
  327.                                                                        Page  vi
  328.  
  329.                     DataBase Structure Manager, Version 2.1
  330.  
  331.                              Table of Contents
  332.                              -----------------
  333.  
  334.       System Startup (Cont'd)
  335.         Hard Drive Operation...................................   17
  336.         Diskette Drive Operation...............................   18
  337.         Configuration Information Validation...................   19
  338.         Ownership/Registration Reminder........................   19
  339.       Menu System
  340.         Menu Types.............................................   20
  341.         DOS Command Execution..................................   21
  342.       Dictionary Maintenance
  343.         General Dictionary Maintenance.........................   22
  344.           Record Maintenance Menu-Bar Commands.................   22
  345.           Memo Field Edit Commands.............................   24
  346.         Data Field Maintenance.................................   24
  347.         Database Descriptions..................................   27
  348.         Database Data Field Memberships........................   29
  349.         Index File Specifications..............................   30
  350.         System Description.....................................   31
  351.       Application Database Operations
  352.         Index File Creation....................................   32
  353.         Database Structure Variance Report.....................   32
  354.         Database Structure Generation..........................   34
  355.       System Documentation
  356.         General Documentation..................................   39
  357.           Documentation Title Page.............................   39
  358.           System Description...................................   39
  359.           Database Summary Report..............................   39
  360.           Database Extended Comments...........................   40
  361.           Index File Specifications............................   40
  362.         Data Field Documentation...............................   41
  363.           Database.............................................   41
  364.           System...............................................   41
  365.       Utilities
  366.         Printer Menu...........................................   42
  367.         Index All DataBase Structure Manager Files.............   43
  368.         Configuration Settings.................................   43
  369.         Screen Display Settings................................   47
  370.         Show Structure of Database on Disk.....................   47
  371.         Compress Database's Memo File..........................   47
  372.       Usage Hints..............................................   48
  373.       Program Error Reporting Procedures.......................   49
  374.  
  375.       Appendicies
  376.         Appendix A - Full-Screen Edit Command Summary..........   50
  377.         Appendix B - Memo Text Edit Command Summary............   51
  378.         Appendix C - Enhancement Suggestions...................   52
  379.         Appendix D - Order Form................................   53
  380.       Index....................................................   54
  381.  
  382.  
  383.                                                                        Page   1
  384.                     DataBase Structure Manager, Version 2.1
  385.  
  386.  
  387.     Introduction
  388.     ------------
  389.  
  390.     The DataBase Structure Manager (DBSM) is a data dictionary system
  391.     specifically designed to manage Dbase-type relational database systems.
  392.     It provides the ability to maintain multiple database data field
  393.     specifications and to create database structures according to their
  394.     dictionary specifications.  It effectively replaces the dBASE III PLUS
  395.     CREATE and MODIFY STRUCTURE commands with a more comprehensive and
  396.     controlled development process.  The database structures may be
  397.     created in the dBASE III PLUS/FoxBase file format or Clipper file
  398.     format depending on the database type specified in the configuration
  399.     settings.
  400.  
  401.     The DataBase Structure Manager also performs maintenance of index file
  402.     specifications and creates Clipper-style index files (*.NTX).  All data
  403.     dictionary information may be reported in the comprehensive, predefined
  404.     documentation reports.  A DBSM Structure Import Utility is provided
  405.     with the DBSM system to automate the process of updating the data
  406.     dictionary with database structure information from existing databases.
  407.  
  408.  
  409.     A Brief Relational Database Primer
  410.     ----------------------------------
  411.  
  412.     A primary design goal of relational database development is to reduce
  413.     unnecessary data redundancy.  This is accomplished by subdividing the
  414.     data into logical components (ie., databases or tables) and specifying
  415.     any key relationships between those components.  The key database
  416.     relationships are maintained by including a common key data field in
  417.     each of the related databases.  The common key data field then serves
  418.     as a link between them.
  419.  
  420.     A simple example of this design is an inventory system with the data
  421.     subdivided into an inventory master file and a vendor master file.  In
  422.     this example, the key data field, VENDORID, is used in both databases.
  423.     The VENDORID field links an inventory item in the inventory master file
  424.     to its related vendor in the vendor master.  This subdivision reduces
  425.     data redundancy since a vendor may be a supplier for many different
  426.     inventory items.
  427.  
  428.     The relational database design technique of subdividing the informa-
  429.     tion and substituting the vendor identification data field into the
  430.     inventory item record is preferable to having only one database which
  431.     includes all of the vendor information (ie., company name, address,
  432.     phone number, etc.) in each inventory record.  It is preferable because
  433.     it reduces the amount of unnecessary redundant information which in
  434.     turn simplifies the database update process.  It is, for example, much
  435.     easier to change a vendor's phone number in one place in the vendor
  436.     master than it is to seek out all of the inventory item records where
  437.     it could occur and then change each occurence.
  438.  
  439.  
  440.                                                                        Page   2
  441.  
  442.     The DBSM Advantage
  443.     ------------------
  444.     The DataBase Structure Manager maintains two data dictionaries.  One is
  445.     the database dictionary where general information regarding each
  446.     database is maintained.  The other is the data field dictionary where
  447.     information concerning all data fields is maintained including the
  448.     assignment of a data field to one or more databases.  Data field
  449.     definitions are checked during data entry to ensure that they comply
  450.     with the database type specified in the configuration settings.  For
  451.     example, if the database type is dBASE III PLUS, then a character
  452.     field's length may not exceed 254 characters.
  453.  
  454.     The process of developing relational database systems is simplified and
  455.     controlled by the DataBase Structure Manager.  It is simplified by
  456.     allowing redundant key data field definitions to be eliminated.  For
  457.     instance, in the earlier example, a VENDORID key data field that occurs
  458.     in the vendor master and inventory databases need only be defined once
  459.     in the data field dictionary.  After the VENDORID data field has been
  460.     defined, it may then be assigned to the appropriate databases.
  461.  
  462.     The development process is more controlled because the singular
  463.     definition of key data fields ensures consistent definitions in each
  464.     database where it occurs.  For example, it is not possible to assign a
  465.     key data field to some databases with the data field defined as a
  466.     numeric data type and assign it to other databases defined as a
  467.     character data type.  It also helps to ensure the data field name is
  468.     the same in each database by encouraging the assignment of existing
  469.     data fields rather than requiring that every data field be defined each
  470.     time a database structure is defined.
  471.  
  472.     Updating a data field specification that occurs in multiple databases
  473.     requires only one data field change in the data field dictionary.  Once
  474.     the data field has been changed, the database structures that contain
  475.     the data field may be regenerated by selecting them from a point and
  476.     select window.  Please notice that in this process, there is no need to
  477.     find all the databases that use the data field and the change that is
  478.     made will be consistent for all related databases.
  479.  
  480.     The process of eliminating unnecessary data field definitions need not
  481.     be restricted to key data fields.  Any data fields that are used in the
  482.     same manner, for instance zipcode, may be defined once and then
  483.     assigned to as many databases as necessary.
  484.  
  485.     The DataBase Structure Manager also provides the capability to document
  486.     the database system.  The data field dictionary allows maintenance of
  487.     more information than just the mandatory specifications (ie., data
  488.     field name, type, length, and decimals).  Each data field may be
  489.     documented more fully than the traditional structure maintenance
  490.     commands allow by including such information as picture format,
  491.     default value, low range value, high range value, a validation
  492.     procedure name, description, and an indication as to whether the
  493.     field is required during data entry.  In addition, databases and the
  494.     general database system may be described in detail using the system's
  495.     open-ended text processor.  All of the information maintained may be
  496.     reported.
  497.  
  498.  
  499.                                                                        Page   3
  500.  
  501.  
  502.     Practical Applications
  503.     ----------------------
  504.     The DataBase Structure Manager may be used in several different ways.
  505.     The most obvious use is the controlled development of database
  506.     specifications and their related database structures as noted
  507.     previously.  Database structures may be created using the dictionary
  508.     database specifications.  Before a new database structure is generated,
  509.     the dictionary database structure specifications may be compared with a
  510.     corresponding database on disk.  The resulting Structure Variance
  511.     report will note any differences or similarities.  This is especially
  512.     important when a database structure is being regenerated, since the
  513.     data from the corresponding database on disk will be appended to the
  514.     new database structure.
  515.  
  516.     The transfer of data from a corresponding database is dependent on the
  517.     similarity of the data fields.  The data fields must be the same name
  518.     and data type to be transferred.  Where numeric and character data
  519.     fields are similar in name and data type, the length characteristics are
  520.     also important.  For instance, if the dictionary definition of a charac-
  521.     ter data field's length is less than the similarly named data field in
  522.     the corresponding database on disk, it is possible to truncate data dur-
  523.     ing the transfer process.  The Structure Variance report makes it easy
  524.     to identify these situations before generating a new database structure.
  525.  
  526.     If there is a corresponding database on disk for a new database being
  527.     generated, delete status records may be included or omitted in the new
  528.     database structure according to the user request.  If the delete status
  529.     records are included, they will remain in delete status in the new
  530.     database!
  531.  
  532.     Database system developers may combine the database specification
  533.     features with the documentation features to provide professional
  534.     database system documentation to be used in system proposals or for
  535.     completed system documentation.  The major reports are database data
  536.     field documentation, complete system data field documentation (with
  537.     database cross-reference), free-form text reports describing the
  538.     database system and individual databases, and index file
  539.     specification documentation.
  540.  
  541.     The DataBase Structure Manager data dictionary files may be used as an
  542.     integral part of the application database system.  Since the data
  543.     dictionary files are in a Dbase-type file format, the data field
  544.     specifications for default value, low and high range value, validation
  545.     procedure name, and picture format may be directly referenced by the
  546.     application database system to ensure data integrity.  In fact, the
  547.     application database system may provide procedures that directly
  548.     maintain the dictionary data field characteristics.  If this technique
  549.     is properly implemented, data field validation parameters may be
  550.     updated without requiring any changes to the application program code.
  551.  
  552.     The DBSM Structure Import Utility may be used to gather database struc-
  553.     ture information into the data dictionaries from existing databases.
  554.     This feature is especially useful for anyone who needs to understand an
  555.     existing database system.  Once the basic database structure
  556.     information is imported, the DataBase Structure Manager may then be
  557.     used to enter additional information gained through other sources.
  558.  
  559.                                                                        Page   4
  560.  
  561.                                Features Summary
  562.                                ----------------
  563.  
  564.     Documentation
  565.     -------------
  566.        Comprehensive data field documentation grouped by database and by
  567.        the entire database system (with database cross-references).
  568.        General database summary information (including free-form extended
  569.        comments) and index file documentation may also be reported.
  570.  
  571.  
  572.     Informed Structure Generation
  573.     -----------------------------
  574.        Differences between dictionary database specifications and
  575.        corresponding databases on disk are highlighted using the structure
  576.        variance report.  The report information is determined by comparing
  577.        the dictionary database specification with a corresponding database
  578.        structure specification on disk.
  579.  
  580.  
  581.     Controlled File Access
  582.     ----------------------
  583.        In a network environment, only one user at a time is allowed access
  584.        to a directory's DBSM system files when using the DataBase Structure
  585.        Manager or the DBSM Structure Import Utility.
  586.  
  587.        Regenerating a database structure using DBSM can only occur when the
  588.        specified database is exclusively accessed.  If exclusive access
  589.        by DBSM is not possible, a message will be displayed noting the
  590.        situation.  (Nantucket Clipper file- and record-locking conventions
  591.        must be used by all programs concerned to guarantee proper network
  592.        file access control.)
  593.  
  594.  
  595.     Dictionary Search Capability
  596.     ----------------------------
  597.        Database dictionary information may be searched and reported based
  598.        on various user-supplied selection criteria.
  599.  
  600.  
  601.     Supports Clipper's Very Large Character Fields
  602.     ----------------------------------------------
  603.        Clipper's support for very large character field specifications (up
  604.        to 32K) is maintained in a transparent manner.  Character data
  605.        field lengths are specified by simply entering the length into the
  606.        length specification as opposed to the usual method of using both
  607.        the field length and field decimals specifications.
  608.  
  609.  
  610.     Customization, Enhancements, and Extensions
  611.     -------------------------------------------
  612.        The DataBase Structure Manager system may be customized, enhanced,
  613.        or integrated into existing systems only by Progressive Data
  614.        Systems.  If interested, please contact Progressive Data Systems for
  615.        more information.
  616.  
  617.  
  618.                                                                        Page   5
  619.  
  620.                                                              Urgent Information
  621.                                                              ------------------
  622.     DBSM System Files
  623.     -----------------
  624.        USER BEWARE - Your database files may be in jeopardy.  All DBSM
  625.        system files are assumed to be under the exclusive control of the
  626.        DBSM program.  The DBSM system files include the dictionary
  627.        databases, their associated index files and memo databases, and some
  628.        temporary files.  The DBSM program assumes that it may delete and
  629.        create these files as needed.  Before using the DBSM, please ensure
  630.        that there will not be any conflicts in the directory in which it
  631.        will operate.
  632.  
  633.        The DBSM system file names have been specifically chosen to avoid
  634.        conflicts with most file names.  Every file name used by this system
  635.        except for the executable files, will begin with a dash, "-" and has
  636.        an underscore character, "_", in the fourth position.  (For those of
  637.        you who are versed in wildcard pattern matching, the pattern is
  638.        "-???_*.*".) If you have any files matching this pattern in the
  639.        directories where this program will be working, you should examine
  640.        the list of DBSM files below for conflicts.  If there is a conflict,
  641.        you will need to change your file names or refrain from using this
  642.        system in the directory with the conflicting names.  Otherwise, you
  643.        risk having your files deleted and this system will not operate
  644.        correctly.  You are responsible for ensuring file compatibility.  If
  645.        you have ANY doubts or are using this system for the first time, I
  646.        encourage you to install this system in a temporary directory and
  647.        place a COPY of the databases from one of your systems into it.  (Do
  648.        not simply move the originals into the temporary directory.)  Get to
  649.        know this system before maintaining "live" database information.
  650.  
  651.        The names of the DBSM system files are as follows:
  652.  
  653.                Databases and Associated Memo Databases
  654.                -----------------------------------------------------
  655.                -DAT_DCT.DBF  Data Field Definitions
  656.                -FIL_FLD.DBF  Database Data Field Members
  657.                -FIL_MST.DBF  Configuration Information
  658.                -FIL_MST.DBT  Configuration Information Memo Database
  659.                -FIL_NAM.DBF  Database Descriptions
  660.                -FIL_NAM.DBT  Database Descriptions Memo Database
  661.                -FIL_NDX.DBF  Index File Specifications
  662.  
  663.                Index Files          Temporary Files
  664.                ------------         ---------------
  665.                -CAT_NAM.NTX         -SAV_DBF.DBF
  666.                -DAT_FLD.NTX         -SAV_DBF.DBT
  667.                -FIL_DSC.NTX         -TMP_1.DBF
  668.                -FIL_FLD.NTX         -TMP_1.DBT
  669.                -FIL_NAM.NTX         -TMP_1.NTX
  670.                -FIL_NDX.NTX
  671.                -FLD_NAM.NTX
  672.  
  673.        If you have any doubts about file name conflicts, before
  674.        executing DBSM, execute the following wildcard DOS directory command
  675.        in the directory where you expect to work with DBSM: DIR -???_*.*
  676.  
  677.  
  678.                                                                        Page   6
  679.  
  680.                                                              Urgent Information
  681.                                                              ------------------
  682.     DBSM System Files (Cont'd)
  683.     --------------------------
  684.        Any files matching the wildcard pattern will be displayed.  If the
  685.        display returns any of your file names, compare them with the DBSM
  686.        files listed above to ensure there is no file name conflict.
  687.  
  688.     Unique Data Field Names
  689.     -----------------------
  690.        Data field names must be unique across all databases in the diction
  691.        -ary.  For example, there can only be one data field named "VENDOR"
  692.        in the dictionary.  It can occur in multiple databases.  This
  693.        ensures a consistent definition in every database where it occurs.
  694.  
  695.     Database Structure Generation
  696.     -----------------------------
  697.        When database structures are generated where there exists a
  698.        corresponding database on disk in the same directory, an attempt will
  699.        automatically be made to transfer data from the original database.
  700.        Information will only be transferred where both the data field name
  701.        and the data field type match.
  702.  
  703.        If you have changed a data field name in the database dictionary
  704.        specification, the information will not be transferred from the
  705.        original database for that data field.  If you are changing field
  706.        names and you want the old values transferred, retain the old data
  707.        field name, add the new data field name, and then generate the new
  708.        database structure.  Once the new structure has been successfully
  709.        generated, transfer the data from the old field into the new field
  710.        and verify the results.  When the transfer is successful, then
  711.        delete the old data field definition and generate a new database
  712.        structure.
  713.  
  714.     dBASE IV Database File Format
  715.     -----------------------------
  716.        dBASE IV databases without memo or floating point data types are
  717.        compatible with the DBSM system.  Their structure information may be
  718.        imported into the dictionary using the Structure Import Utility.
  719.  
  720.        The full dBASE IV file format is not supported by the DBSM system.
  721.        Any Dbase databases with memo fields that have been accessed or
  722.        created by dBASE IV are currently interpreted by the DBSM system as
  723.        corrupt database files.  The reason is due to the new "associated
  724.        memo file" indicator.  Dbase dialects prior to dBASE IV, use the
  725.        hexadecimal value "83" in the 1st byte of a database to indicate an
  726.        associated memo file.  dBASE IV uses the hexadecimal value "8B" in
  727.        the 1st byte to indicate an associated memo file.  If a database
  728.        with any memo fields is USE-d by dBASE IV, it will set the 1st byte
  729.        of the database to its own format.  There may be a good reason why
  730.        databases with memo fields are not backwards compatible...
  731.  
  732.        The dBASE IV floating point data type is not recognized by the
  733.        DBSM system, but databases with the floating point may be imported.
  734.        The floating point data type will be interpretated as an undefined
  735.        data type, "U", with field length and decimals set to zero.
  736.        Database structures may not be generated with undefined data types.
  737.  
  738.                                                                        Page   7
  739.  
  740.                                                              Urgent Information
  741.                                                              ------------------
  742.     Memory Requirements
  743.     -------------------
  744.        The DBSM requires a substantial amount of memory to run.  The DBSM
  745.        will look for a character string in the DOS environment to determine
  746.        how it will allocate and use different portions of memory when it
  747.        loads.  It is strongly suggested that the runtime setting be
  748.        established before attempting to run the DBSM.  Please refer to the
  749.        System Configuration - Runtime Environment Settings documentation
  750.        section for more information.
  751.  
  752.        For a quick start, the following runtime setting should be sufficient
  753.        for most systems:
  754.  
  755.                          set DBSMDCT=V007;R000
  756.  
  757.        This command is case-sensitive.  Where upper-case letters are
  758.        indicated, upper-case letters must be used.
  759.  
  760.  
  761.     Insufficient Memory Error Message
  762.     ---------------------------------
  763.        An insufficient memory error message and prompt will be displayed in
  764.        the upper-left corner of your screen if there is not enough free
  765.        memory available to complete an operation.  For more information,
  766.        please refer to the documentation section that covers the operation
  767.        which caused the insufficient memory error to occur.
  768.  
  769.  
  770.     Application Database File Location
  771.     ----------------------------------
  772.        DBSM will only generate database structures and index files in the
  773.        current directory.  Therefore, the DBSM must be run in the directory
  774.        where the application database structure(s) need to be created.
  775.  
  776.  
  777.     Multi-Tasking
  778.     -------------
  779.        Do not run multiple copies of DBSM in a multi-tasking environment
  780.        (ie. DESQview, etc.) in the same directory.  The DBSM uses standard
  781.        temporary file names which could easily be mixed up when running
  782.        multiple copies of the DBSM.  For the same reason, simultaneous use
  783.        of DBSM and DBSMIMP in the same directory should also be avoided.
  784.  
  785.  
  786.     External Program Execution
  787.     --------------------------
  788.        DOS commands may be initiated from most menus by pressing "F3".
  789.        However, running a DOS command is risky.  It is risky in the sense
  790.        that the DBSM system may abnormally terminate if the system memory
  791.        is not well-ordered.  Abnormal termination is not normally
  792.        detrimental to any files, but it is inconvenient.  For more
  793.        information, refer to the "DOS Command Execution" documentation
  794.        section.
  795.  
  796.  
  797.                                                                        Page   8
  798.  
  799.                                                            System Configuration
  800.                                                            --------------------
  801.     Hardware Requirements
  802.     ---------------------
  803.        Minimum 512K system memory (640K suggested).
  804.  
  805.        A hard disk is recommended for best operating performance.  Floppy
  806.        disk-based systems may be used, but there may be a considerable
  807.        amount of diskette swapping required for single-diskette systems.
  808.  
  809.  
  810.     Software Requirements
  811.     ---------------------
  812.        * DOS 2.0 or higher (DOS 3.1 or higher for network file control).
  813.  
  814.        * CONFIG.SYS
  815.          The following are minimum specifications for the FILES and
  816.          BUFFERS parameters in the CONFIG.SYS file:
  817.  
  818.            1) BUFFERS=8
  819.            2) FILES=19
  820.  
  821.        * Memory Usage
  822.          The DataBase Structure Manager requires a minimum of 390K (399,360)
  823.          bytes of RAM to enable it to manage the largest possible dBASE III
  824.          PLUS database.  See Memory Allocation and Use for more information.
  825.  
  826.     Runtime Environment Settings
  827.     ----------------------------
  828.        * Memory Allocation and Use
  829.  
  830.          Memory allocation and use may be controlled in three different
  831.          categories - memory variables, index buffers/external program
  832.          execution, and expanded memory (LIM 3.2).  The amount of memory
  833.          allocated for each category may be tailored (except for memory
  834.          variable memory allocation) to meet your specific usage
  835.          requirements and hardware/software configuration.
  836.  
  837.          DBSM.EXE will search for the "DBSMDCT" specification in the DOS
  838.          environment.  The method for designating the memory allocation
  839.          is through the use of the DOS SET command.  The DOS SET command
  840.          for the "DBSMDCT" specification is as follows:
  841.  
  842.                              set DBSMDCT=V007[;Rnnn][;Ennn][;S1]
  843.                        Where:
  844.                              V007 = Memory variable memory allocation.
  845.                              Rnnn = External program execution and
  846.                                     index buffer allocation.
  847.                              Ennn = Expanded memory allocation for
  848.                                     index buffers.
  849.                              S1   = "Snow" elimination.
  850.  
  851.          This command is case-sensitive.  Where upper-case letters are
  852.          indicated, upper-case letters must be used.  The runtime settings
  853.          are the same settings as defined for Nantucket's Clipper (Summer '87)
  854.          runtime settings (ie., set CLIPPER=...).  The documentation provided
  855.          with Clipper (Summer '87) may be useful if a further description
  856.          of the "set DBSMDCT=" settings is necessary. 
  857.                                                                        Page   9
  858.  
  859.                                                            System Configuration
  860.                                                            --------------------
  861.     Runtime Environment Settings (Cont'd)
  862.     -------------------------------------
  863.        * Memory Allocation and Use (Cont'd)
  864.  
  865.          1. Memory Variable Allocation
  866.  
  867.             Memory variable memory allocation should always be "V007" to
  868.             ensure there is sufficient memory available for all memory
  869.             variables required.
  870.  
  871.          2. External Program Execution/Index Buffers Allocation
  872.  
  873.             The optional "Rnnn" parameter indicates memory space (in 1024
  874.             byte units) to be allocated for index buffers and external
  875.             program execution.  If the "Ennn" parameter is specified, the
  876.             "Rnnn" parameter will be used solely to allocate memory for
  877.             external program execution.  This parameter is optional, but it
  878.             is suggested that a value be determined to ensure that memory
  879.             is efficiently allocated in a manner that best suits your
  880.             specific needs.  (Please refer to the documentation "Enabling
  881.             DOS Command Execution" for further information on running
  882.             external programs.)
  883.  
  884.             The "Rnnn" value is only evaluated at the time the program is
  885.             loaded.  At that time, the load process will attempt to provide
  886.             the amount of memory requested in the "Rnnn" parameter for the
  887.             external program execution/index buffering.  All memory
  888.             allocated to this area will not be available for loading the
  889.             main program code and data.  If there is insufficient memory
  890.             left for the program code and data after allocating memory
  891.             according to the "Rnnn" value, the program will terminate with
  892.             the message "Not enough memory".
  893.  
  894.             If you do not intend to run external programs from inside the
  895.             DataBase Structure Manager, you should set the "Rnnn" parameter
  896.             value to zero (ie., "R000") to free up the maximum amount of
  897.             memory for program data manipulation.  If this runtime setting
  898.             is specified (ie., set DBSMDCT=V007;R000), the minimum amount
  899.             of RAM required to load the DBSM is 390K (399,360) bytes.
  900.             There will still be sufficient memory for indexing operations.
  901.  
  902.             If external programs are to be run, the minimum "Rnnn" value
  903.             must be at least 26K bytes (ie., "R026").  This minimum value
  904.             will allow the running of DOS internal commands (COPY, DIR,
  905.             etc.) and external programs up to approximately 8K in size.  If
  906.             the runtime setting "R026" is used, the minimum amount of RAM
  907.             required to load the DBSM is 400K (409,600) bytes.  Running
  908.             larger external programs will require a corresponding increase
  909.             in the "Rnnn" parameter value and an increase in the minimum
  910.             amount of RAM required to load DBSM.
  911.  
  912.  
  913.                                                                        Page  10
  914.  
  915.                                                            System Configuration
  916.                                                            --------------------
  917.     Runtime Environment Settings (Cont'd)
  918.     -------------------------------------
  919.        * Memory Allocation and Use (Cont'd)
  920.  
  921.          2. External Program Execution/Index Buffers Allocation (Cont'd)
  922.  
  923.             If no "Rnnn" parameter value is set in the "set DBSMDCT=..."
  924.             statement, a default value will be calculated at load time.
  925.             The default value supplied for this parameter is dynamically
  926.             determined as a percentage of free memory available at the time
  927.             the DataBase Structure Manager program is loaded and executed.
  928.  
  929.          3. Expanded Memory for Index Buffers
  930.  
  931.             The optional "Ennn" parameter identifies expanded memory space
  932.             (in 1024 bytes units) to be used for index file buffers.  The
  933.             expanded memory must conform to the LIM 3.2 specification.  If
  934.             this parameter is supplied, the minimum value is "E016" which
  935.             represents 16k bytes.
  936.  
  937.        * Snow Elimination
  938.  
  939.          The optional "S1" parameter specification will eliminate "snow"
  940.          in the screen display.  If you use this parameter to eliminate
  941.          "snow", the display will be cleaner, but the display will
  942.          operate a little bit slower.
  943.  
  944.        * Recommended Runtime Settings
  945.  
  946.          The recommended setting for providing the greatest amount of
  947.          free memory for dynamic program allocation and thereby allowing
  948.          the largest database structures to be generated is as follows:
  949.  
  950.                    set DBSMDCT=V007;R000
  951.  
  952.          The above setting does not allow any external programs to be
  953.          run, but there will be sufficient memory made available for
  954.          index buffers.
  955.  
  956.          The recommended setting for allowing the minimum external
  957.          program execution and still providing a large amount of free
  958.          memory for dynamic program allocation is as follows:
  959.  
  960.                    set DBSMDCT=V007;R026
  961.  
  962.          Both of the above settings assume there is no expanded memory
  963.          available for indexing operations.
  964.  
  965.  
  966.                                                                        Page  11
  967.  
  968.                                                            System Configuration
  969.                                                            --------------------
  970.     Runtime Environment Settings (Cont'd)
  971.     -------------------------------------
  972.        * Enabling DOS Command Execution
  973.  
  974.          There are 3 requirements that must be met before external programs
  975.          may be executed from within the DataBase Structure Manager.  (The
  976.          "Run DOS" command may be initiated by pressing function key "F3"
  977.          at all menus except the printer port and printer type menus.)
  978.  
  979.          The first requirement is the minimum memory requirement needed to
  980.          run external programs.  Before loading the DBSM program, there
  981.          must be at least 400K (400,600) bytes of RAM available.  You may
  982.          determine the amount of memory available using the DOS CHKDSK
  983.          command.
  984.  
  985.          Secondly, the "Rnnn" parameter of the runtime environment settings
  986.          must be at least 26K (ie., set DBSMDCT=V007;R026).  See the
  987.          earlier description of runtime environment settings for more
  988.          information.
  989.  
  990.          The last requirement is that the DOS command processor
  991.          (COMMAND.COM) location must be specified in the DOS environment.
  992.          This is required even if COMMAND.COM resides in the same directory
  993.          where the DataBase Structure Manger will be run.  The DOS SET
  994.          command may be used for this purpose.  To specify the command
  995.          processor location, use the following SET command syntax:
  996.  
  997.                 set COMSPEC=[d:][\<path>]\COMMAND.COM
  998.  
  999.                 Where
  1000.                         [d:]       Optional disk drive specification.
  1001.                         [\<path>]  Optional directory path to COMMAND.COM
  1002.  
  1003.          For more information regarding the DOS SET command, please refer
  1004.          to your DOS manual.
  1005.  
  1006.                                                                        Page  12
  1007.  
  1008.                                                            Network File Control
  1009.                                                            --------------------
  1010.  
  1011.        DBSM has the ability to coordinate network file access only with
  1012.        those programs using the same network file locking procedures as
  1013.        Nantucket's Clipper-compiled programs.  dBASE III PLUS network
  1014.        file- and record-locking procedures are NOT compatible with
  1015.        Clipper's methods.  Clipper (Summer '87 version) uses the DOS 3.1
  1016.        RLOCK command in an unconventional manner.
  1017.  
  1018.        The network file control operates in two different areas.  First,
  1019.        it controls the DataBase Structure Manager use so that only one user
  1020.        at a time is allowed to run the program in the same directory.
  1021.        Essentially, this eliminates the need to personally coordinate with
  1022.        other developers who may periodically need to make changes in the
  1023.        same database dictionary.  If a user does attempt to run DBSM or
  1024.        DBSMIMP in a directory where either of these programs is already in
  1025.        use, one of the following messages will be displayed:
  1026.  
  1027.         File "-FIL_MST.DBF" is in use.  Retry, Wait up to 2 min., or Exit?
  1028.  
  1029.                                       or
  1030.  
  1031.         File "-FIL_NDX.DBF" is in use.  Retry, Wait up to 2 min., or Exit?
  1032.  
  1033.        The new user will have three options.  The new user may retry, wait
  1034.        up to 2 minutes for the current user to exit, or exit the program.
  1035.        If the second message is issued (ie., the message containing the
  1036.        reference to the "-FIL_NDX.DBF" file), the new user should exit
  1037.        their attempt to run DBSM or DBSMIMP.
  1038.  
  1039.        The second area of file control concerns the application database
  1040.        files on disk which may need to be accessed by the DBSM to gain
  1041.        information about the database or, more importantly, to regenerate a
  1042.        new database structure.  When a database is locked, most attempts to
  1043.        gain information will simply note that the database may not be
  1044.        accessed.  In the case where a database structure is being
  1045.        regenerated, the DBSM will attempt to lock the database file for
  1046.        exclusive use.  If this is not possible, a message will be displayed
  1047.        noting the situation and the database structure creation process
  1048.        will be exited.
  1049.  
  1050.                              ,---------------------,
  1051.        **********************|  Special Emphasis!  |***********************
  1052.                              '---------------------'
  1053.  
  1054.        Any file/record-locking and checks for file/record locks must comply
  1055.        with Nantucket's Clipper-compiled file/record-locking techniques to
  1056.        facilitate coordinated network file access control with the DBSM.
  1057.  
  1058.        File/record-locking methods that are not compatible may cause
  1059.        unpredictable results.  If you are not sure about other program's
  1060.        file/record-locking compatibility with Clipper's techniques, do not
  1061.        rely on the DBSM's network file control features to eliminate network
  1062.        file access contention between programs.
  1063.  
  1064.  
  1065.                                                                        Page  13
  1066.  
  1067.                                                        Technical Specifications
  1068.                                                        ------------------------
  1069.     Maximum Database Specifications
  1070.     -------------------------------
  1071.        The maximum database specifications may be achieved by either
  1072.        designating the Clipper database type or the custom database type in
  1073.        the Configuration Settings (See Utility Menu).  If the custom
  1074.        database type is specified, the custom database specifications must
  1075.        be entered.  In no case will the DBSM be able to generate a database
  1076.        that exceeds the following specifications:
  1077.  
  1078.        Database record length......: 32,766
  1079.        Number of database fields...: 1,024
  1080.        Character field length......: 32,766
  1081.        Numeric field length........: 20
  1082.        Decimals field length.......: 18
  1083.        Index key expression length.: 250
  1084.        Index key expression fields.: 42
  1085.  
  1086.        The amount of available system memory may be exceeded prior to
  1087.        reaching any of these maximum specifications.  If a database
  1088.        structure specification exceeds the maximum dBASE III PLUS database
  1089.        specifications, Nantucket Clipper (Summer '87 version) conventions
  1090.        will be used in interpeting and maintaining the database structure.
  1091.  
  1092.        The database record length values reported and used by this system
  1093.        are calculated by summing the length of all data fields in the
  1094.        database.  The database's 1-byte delete status position is not
  1095.        included in the record length.
  1096.  
  1097.  
  1098.     Numeric Data Field Length Specifications
  1099.     ----------------------------------------
  1100.        Every numeric field specified must include 1 position to the left of
  1101.        the decimal point.  When decimals are indicated, the number of deci-
  1102.        mals cannot exceed the numeric field length minus 2.  For example,
  1103.        the minimum numeric field length for a number with 2 decimals is 4.
  1104.  
  1105.        A custom database type must be defined in Configuration Settings to
  1106.        allow numeric data fields to be the maximum allowable for dBASE IV
  1107.        databases (ie., field length 20, decimals 18).
  1108.  
  1109.  
  1110.     Database File Name Conventions
  1111.     ------------------------------
  1112.        In addition to the standard DOS file naming rules, no database or
  1113.        index file name may include spaces, asterisks, or question marks.
  1114.  
  1115.  
  1116.     Data Field Database Assignments
  1117.     -------------------------------
  1118.        The data field maintenance screen includes a display of the database
  1119.        names a data field has been assigned to.  Only the first 36 database
  1120.        assignments will be shown on the data field maintenance screen.
  1121.  
  1122.  
  1123.                                                                        Page  14
  1124.  
  1125.                                                        Technical Specifications
  1126.                                                        ------------------------
  1127.     Corrupted Databases
  1128.     -------------------
  1129.        Some procedures test for the presence of a valid database.  A
  1130.        database is considered corrupt if some of the database header infor-
  1131.        mation is incorrect.  This includes the case where an associated
  1132.        memo database has been designated in the database header informa-
  1133.        tion, but no associated memo database is found with the database.
  1134.        Some dBASE IV database file formats are also interpreted as corrupt
  1135.        databases (See page 6 for more information).  Operations which
  1136.        detect the invalid databases will provide a message and will either
  1137.        abandon the current operation or, if possible, continue without it.
  1138.  
  1139.  
  1140.                                                                        Page  15
  1141.  
  1142.                                                                    Installation
  1143.                                                                    ------------
  1144.  
  1145.     The first order of business is to make backup copies of the system
  1146.     diskettes.  (If you are unfamiliar with this process, please refer to
  1147.     your DOS manual.  See the DISKCOPY command.)  Before beginning the
  1148.     installation process, please read the READ_ME.1ST file.  Assuming the
  1149.     READ_ME.1ST file is in the current drive and directory, it may be
  1150.     displayed a screen at a time by using the following DOS command:
  1151.  
  1152.                 TYPE READ_ME.1ST | MORE
  1153.  
  1154.  
  1155.     Hard Disk
  1156.     ---------
  1157.        To install the DBSM system onto your hard disk, simply copy the
  1158.        executable files, DBSM.EXE and DBSMIMP.EXE, into a directory in the
  1159.        DOS executable search path and copy the documentation files,
  1160.        DBSM.DOC, DBSMIMP.DOC, and READ_ME.1ST, into any directory
  1161.        desired.
  1162.  
  1163.        For the less experienced user, you may first have to determine
  1164.        what a DOS executable search path is and if there is an existing
  1165.        specification for your computer.  If you are unfamiliar with the DOS
  1166.        executable search path, please reference your DOS manual for further
  1167.        information.  See the PATH command.
  1168.  
  1169.        Once the desired drive and directory has been determined, use the
  1170.        DOS COPY command to copy the two executable files to the proper
  1171.        destination.  The following DOS directory command, DIR, may be used
  1172.        to find any DBSM system executable files on a diskette in the A:
  1173.        drive:
  1174.  
  1175.               DIR A:*.EXE
  1176.  
  1177.        An example of copying the DBSM.EXE file from drive A: to the
  1178.        subdirectory "\UTIL" in drive C: is as follows:
  1179.  
  1180.               COPY A:DBSM.EXE C:\UTIL
  1181.  
  1182.  
  1183.     Diskette Drive
  1184.     --------------
  1185.        There is virtually no installation required for operating from a
  1186.        diskette drive.  You should ensure that you have made backup copies
  1187.        of the system diskettes.  Operation from a single-diskette drive is
  1188.        possible, although it is not recommended for reasons of efficiency.
  1189.        When you are restricted to a single-diskette drive system, you will
  1190.        find a considerable amount of diskette swapping is necessary when
  1191.        frequently moving between different operations.
  1192.  
  1193.                                                                        Page  16
  1194.  
  1195.                                                                  System Startup
  1196.                                                                  --------------
  1197.     Database System Application Directory
  1198.     -------------------------------------
  1199.        The DBSM most conveniently manages a database system's application
  1200.        databases if they are in a single directory.  Before executing DBSM,
  1201.        the application database files should be in the current directory.
  1202.  
  1203.        If the configuration master file, "-FIL_MST.DBF", is not found in
  1204.        the current directory, the load process will halt and a prompt
  1205.        message will be issued to determine if you wish to continue.
  1206.        Choosing not to continue will allow you to investigate the "missing"
  1207.        files situation rather than allowing DBSM to continue and generate
  1208.        any missing system files.
  1209.  
  1210.  
  1211.     Command Line Parameters
  1212.     -----------------------
  1213.        There are three optional command line parameters.  Each parameter
  1214.        must begin with a forward slash ("/") and multiple parameters
  1215.        must be separated by a single space.  Parameters may be specified in
  1216.        any order.  To list the call parameter syntax, you may include either
  1217.        "/H" or a question mark in the command line.  All parameters are
  1218.        optional.
  1219.  
  1220.               Usage: DBSM [/Cn] [/Pn] [/F]
  1221.  
  1222.               Where
  1223.                      /Cn = Screen type "/C1" through "/C5".
  1224.                            Colors = C1 through C4   Monochrome = C5
  1225.                      /Pn = Printer type "/P1" through "/P9".
  1226.                      /F  = Load program from diskette drive.
  1227.  
  1228.        Sample Use #1: DBSM /P8 /C2
  1229.                                    Use the custom printer codes and
  1230.                                    the color display scheme #2.
  1231.  
  1232.        Sample Use #2: DBSM /F
  1233.                                    Load this program from the diskette
  1234.                                    in drive A:.
  1235.  
  1236.        * Screen Display Type
  1237.  
  1238.          There are four different color display schemes available.  They
  1239.          are indicated by using the parameters "/C1" through "/C4" (without
  1240.          the double quotes).  The monochrome display parameter is
  1241.          designated with the "/C5" parameter.  If no screen display type is
  1242.          specified, the display scheme designated in the Configuration
  1243.          Settings (See Utility Menu) will be used.  In every case (no
  1244.          matter what settings are specified), if a color monitor card is
  1245.          not detected, the display scheme will be monochrome.  If a color
  1246.          card is detected and the primary display device is a monochrome
  1247.          monitor, DBSM will allow color schemes to be selected and
  1248.          implemented.
  1249.  
  1250.  
  1251.                                                                        Page  17
  1252.  
  1253.                                                                  System Startup
  1254.                                                                  --------------
  1255.     Command Line Parameters (Cont'd)
  1256.     --------------------------------
  1257.        * Printer Type
  1258.  
  1259.          The printer type specification has the general format of "/Pn"
  1260.          (without the double quotes) where the printer identifier "n" may be
  1261.          any number from one to nine (See table below.).  If no printer is
  1262.          specified in the command line, the printer type indicated in the
  1263.          Configuration Settings will be used.
  1264.  
  1265.              Printer
  1266.             Identifier   Printer Type
  1267.             ----------   ----------------------------
  1268.                  1       Epson FX-86e/286e
  1269.                  2       Epson RX-100
  1270.                  3       NEC 3550
  1271.                  4       Panasonic KX-P1592
  1272.                  5       Brother M-1509
  1273.                  6       IBM Proprinter XL
  1274.                  7       IBM Quietwriter
  1275.                  8       Custom Printer (Requires additional definition)
  1276.                  9       HP LaserJet series II
  1277.  
  1278.  
  1279.        * Diskette Drive Operation
  1280.  
  1281.          This command line option allows DBSM to be loaded from a diskette
  1282.          drive.  The command line option is specified with a "/F" (without
  1283.          the double quotes).  When this option is used, the program
  1284.          initiation sequence will pause to allow the diskette drive
  1285.          containing the DBSM executable program, DBSM.EXE, to be removed
  1286.          and then be replaced by the diskette containing the system
  1287.          database dictionary files.  Diskette drive A: should be used as
  1288.          the primary drive.  It is possible to run DBSM using only a
  1289.          single-diskette drive, but as different DBSM program features are
  1290.          selected, it may be necessary to exchange the DBSM system diskette
  1291.          and the system data dictionary files diskette to allow the
  1292.          necessary program code to be loaded.
  1293.  
  1294.  
  1295.     First-Time Operation
  1296.     --------------------
  1297.        Any time DBSM is loaded and it does not find its system files, it
  1298.        will regenerate them.  This will be the case the first time DBSM is
  1299.        executed.  If the configuration file is generated, the Configuration
  1300.        Settings procedure will be initiated before proceeding to the main
  1301.        menu.  (Refer to Configuration Settings for more information.)
  1302.  
  1303.  
  1304.     Hard Drive Operation
  1305.     --------------------
  1306.        The DBSM needs to be executed in the directory where the database
  1307.        system files are located.
  1308.  
  1309.  
  1310.                                                                        Page  18
  1311.  
  1312.                                                                  System Startup
  1313.                                                                  --------------
  1314.     Diskette Drive Operation
  1315.     ------------------------
  1316.        DBSM will operate from a diskette drive.  The "/F" command line
  1317.        parameter must be used to pause the startup procedure to allow the
  1318.        system disk containing DBSM.EXE to be replaced by the applications
  1319.        database disk.
  1320.  
  1321.        To load DBSM from drive A:, place the diskette containing DBSM.EXE
  1322.        into diskette drive A:, make drive A: the current drive (if
  1323.        necessary), and enter the following command at the DOS prompt:
  1324.  
  1325.                                   DBSM /F
  1326.  
  1327.        The program will begin to load and execute.  Shortly, a message will
  1328.        appear asking you to remove the diskette from the drive and put the
  1329.        data disk in place of it.  The data disk should contain the DBSM
  1330.        system dictionary files and/or the application database files in the
  1331.        root directory if they have been created.  If they have not been
  1332.        created, place a formatted diskette which you intend to use for the
  1333.        data dictionary information into the diskette drive.  Once the
  1334.        diskettes have been exchanged, press Enter to continue.  The main
  1335.        menu will then be displayed.
  1336.  
  1337.        At some point, you may cause the program to switch overlays.  The
  1338.        first time the program cannot find the DBSM.EXE file to load in the
  1339.        needed overlay, the following message will appear at the bottom of
  1340.        the screen:
  1341.  
  1342.                 PLINK86 Overlay Loader - Can't find file DBSM.EXE.
  1343.                 Enter file name prefix (X: or path name) or '.' to quit=>
  1344.  
  1345.        The description that follows assumes you have started the program
  1346.        from drive A:.  If you have a second floppy drive, place the
  1347.        diskette containing the DBSM.EXE file into drive B: and then respond
  1348.        to the missing file prompt with "B:" (without the quotes) and press
  1349.        enter.  From then on, the file will always be found in the B: drive
  1350.        without issuing a prompt.
  1351.  
  1352.        If you have only one drive, you should respond to the missing file
  1353.        prompt with "B:" (without the quotes) and then press enter.  You will
  1354.        be prompted to insert the diskette in drive B:.  Extract the data
  1355.        disk from drive A: and then place the diskette containing the
  1356.        DBSM.EXE file in drive A:.  Once this is accomplished, respond to
  1357.        the prompt by pressing enter.  From then on, every time the data
  1358.        disk is needed, you will be prompted to insert the drive A: diskette
  1359.        into the diskette drive and every time the DBSM.EXE file is needed,
  1360.        you will be prompted to insert the drive B: diskette into the
  1361.        diskette drive.
  1362.  
  1363.        As you may imagine, if you only have one diskette drive, you will be
  1364.        doing a lot of diskette swapping.  One way to keep the swapping to
  1365.        minimum is to do all your work in one area of the program before
  1366.        moving to another area.
  1367.  
  1368.  
  1369.                                                                        Page  19
  1370.  
  1371.                                                                  System Startup
  1372.                                                                  --------------
  1373.     Configuration Information Validation
  1374.     ------------------------------------
  1375.        Every time DBSM is loaded, it checks for proper configuration
  1376.        information in the configuration database.  If there is any invalid
  1377.        information detected, the Configuration Settings maintenance
  1378.        procedure is invoked with an error message indicating the first
  1379.        error that was discovered.  All errors must be corrected before
  1380.        exiting the Configuration Settings procedure.
  1381.  
  1382.  
  1383.     Ownership/Registration Reminder
  1384.     -------------------------------
  1385.        An ownership/registration reminder will be displayed as a part of
  1386.        the system startup procedure the first time the DBSM is run in any
  1387.        directory (as determined by the lack of system database files) and
  1388.        once in each directory the DBSM is run in on Wednesday.
  1389.  
  1390.  
  1391.                                                                        Page  20
  1392.  
  1393.                                                                     Menu System
  1394.                                                                     -----------
  1395.     Menu Types
  1396.     ----------
  1397.        * Main Menu
  1398.  
  1399.          The main menu selections allow one of three standard sub-menus to
  1400.          be displayed.  The menu options are selected by number except for
  1401.          the the quit option ("Q") and the "Run DOS" command option ("F3").
  1402.  
  1403.        * Standard Sub-Menus
  1404.  
  1405.          Standard sub-menus are the menus that may be directly or
  1406.          indirectly called from the Main Menu.  Menu options are selected
  1407.          by letter.  Pressing the enter key, escape key, or 'Q' will
  1408.          return control to the previous menu.
  1409.  
  1410.        * Quick Menu Traversal
  1411.  
  1412.          At any standard sub-menu, the main menu options are also
  1413.          available.  For example, if the current standard sub-menu is the
  1414.          Printer Menu, you may switch to the Maintenance Menu by simply
  1415.          pressing "1".
  1416.  
  1417.        * Database Selection Menus
  1418.  
  1419.          Operations requiring the selection of an application database
  1420.          will use a point and select menu.  An example of one such
  1421.          operation is the database structure generation.  These point and
  1422.          select menus will display all database file names and
  1423.          description fields in alphabetical order by database file name.
  1424.          If there are more than 17 databases defined in the system, it
  1425.          will be necessary to use the cursor control keys to scroll the
  1426.          display.  A single database may be selected by cursoring to the
  1427.          desired database file and then pressing enter.  The cursor may
  1428.          be positioned to the first file name that begins with a
  1429.          particular letter by entering the associated letter.  All
  1430.          databases may be selected for an operation by pressing the "F5"
  1431.          function key.
  1432.  
  1433.          The cursor control keys for traversing the menu are as follows:
  1434.  
  1435.              Down Arrow = Go to the next database file below the
  1436.                           current highlighted database.
  1437.              Up Arrow   = Go to the next database file above the
  1438.                           current highlighted database.
  1439.              Page Down  = Scroll the entire screen down one page.
  1440.              Page Up    = Scroll the entire screen up one page.
  1441.              Home       = Go to the first database.
  1442.              End        = Go to the last database.
  1443.              <letter>   = Go to the 1st file beginning with this letter.
  1444.  
  1445.          If there are no database files defined, a usage error message
  1446.          will be displayed in place of the menu.  Control will revert to
  1447.          the previous menu after pressing return.
  1448.  
  1449.  
  1450.                                                                        Page  21
  1451.  
  1452.                                                                     Menu System
  1453.                                                                     -----------
  1454.  
  1455.     DOS Command Execution
  1456.     ---------------------
  1457.        Running a DOS command is risky.  It is risky in the sense that the
  1458.        DBSM system may abnormally terminate if the system memory is not
  1459.        well-ordered.  Abnormal termination is not normally detrimental to
  1460.        any files, but it is inconvenient since the program must be re-
  1461.        loaded.  The DBSM system code is not rugged enough to consistently
  1462.        correctly manage the system memory under anything less than good
  1463.        conditions.  Conditions are most favorable to run DOS commands
  1464.        before extended DBSM use has occurred.  With the above in mind....
  1465.  
  1466.        A DOS command may be executed by pressing function key "F3" at most
  1467.        standard menus except the Printer Selection and Printer Port
  1468.        Selection menus.  The DOS Command option is only available if the
  1469.        "Rnnn" parameter of the DBSM runtime environment setting has been
  1470.        properly set.  (Please refer to "Enabling DOS Command Execution" for
  1471.        more information.)
  1472.  
  1473.        After the first external run command has been executed, subsequent
  1474.        calls to run a DOS command will allow the previous command to be
  1475.        recalled to the command line by pressing the "F3" function key.
  1476.  
  1477.        If there is insufficient memory available to run the requested
  1478.        program, there are a few possible error conditions that may occur
  1479.        (two of which are unrecoverable).  If there is not enough space to
  1480.        load the DOS command processor, the error message "Proc RUNDOS line
  1481.        0, RUN error" will be displayed and the DBSM program will terminate.
  1482.  
  1483.        If the external program requested is too large for the memory
  1484.        allocation, the message "Program too big to fit in memory" will be
  1485.        displayed and you will be returned to the previous menu.
  1486.  
  1487.        If the program can be loaded, but it attempts to increase its memory
  1488.        usage beyond the allocated bounds, the message "Not enough memory
  1489.        Program aborted" will be displayed and control will return to the
  1490.        previous menu.  If this last scenario is executed by the external
  1491.        program in an unruly manner (ie., not using the proper calls to DOS
  1492.        to use more memory), it is possible to lock-up the computer.  The
  1493.        only recovery possible for this last situation is to reboot the
  1494.        computer.
  1495.  
  1496.        Another possible error condition is if there is insufficient space
  1497.        for the environment, the following message will appear: "error 2009:
  1498.        Not enough space for environment".  Simply press the Enter key to
  1499.        return to the previous menu.
  1500.  
  1501.  
  1502.                                                                        Page  22
  1503.  
  1504.                                                          Dictionary Maintenance
  1505.                                                          ----------------------
  1506.      General Dictionary Maintenance
  1507.      ------------------------------
  1508.        * Record Maintenance Menu-Bar Commands
  1509.  
  1510.          A standard horizontal menu-bar is provided for command selection.
  1511.          The commands may be initiated by cursoring over to the desired
  1512.          option and then pressing enter or by entering the first letter of
  1513.          the command option.  The left-arrow and up-arrow cursor will move
  1514.          the cursor left one position with wrap-around.  The right-arrow and
  1515.          down-arrow will move the cursor to the right one position with
  1516.          wrap-around.  The return key or page-down key will initiate the
  1517.          command that is currently highlighted.  The escape key will exit the
  1518.          maintenance the same as having initiated the quit option.  When
  1519.          moving the cursor from command to command, the line below the
  1520.          command line will provide a brief description of the command.
  1521.  
  1522.  
  1523.          1. Record Traversal
  1524.             Records are sequenced in alphabetical order using the top
  1525.             field in the screen display.
  1526.  
  1527.             A. Next
  1528.                Display the next record.  If there are no more records in
  1529.                the sequence, an appropriate message will be temporarily
  1530.                displayed.
  1531.  
  1532.             B. Previous
  1533.                Display the previous record.  If there are no previous
  1534.                records, an appropriate message will be temporarily
  1535.                displayed.
  1536.  
  1537.             C. First
  1538.                Go to the first record in the sequence.
  1539.  
  1540.             D. Last
  1541.                Go to the last record in the sequence.
  1542.  
  1543.          2. Record Maintenance
  1544.  
  1545.             Both the Add and Edit commands initiate a full-screen edit
  1546.             procedure.  For a description of the full-screen edit commands,
  1547.             please refer to Appendix A.
  1548.  
  1549.             A. Add
  1550.                Add a new record.
  1551.  
  1552.             B. Edit
  1553.                Edit the record that is currently displayed.
  1554.  
  1555.  
  1556.                                                                        Page  23
  1557.  
  1558.                                                          Dictionary Maintenance
  1559.                                                          ----------------------
  1560.      General Dictionary Maintenance (Cont'd)
  1561.      ---------------------------------------
  1562.        * Record Maintenance Menu-Bar Commands (Cont'd)
  1563.  
  1564.          2. Record Maintenance (Cont'd)
  1565.  
  1566.             C. Delete Toggle
  1567.                If the record is active, the record will be set to delete
  1568.                status.  If the record is in delete status, the record will
  1569.                be un-deleted.  If there are records that have been left in
  1570.                delete status as a result of using the delete toggle
  1571.                command, then upon exiting from the maintenance section, ALL
  1572.                delete status records from the specific dictionary database
  1573.                will be removed.  (Please refer to the specific dictionary
  1574.                deletion procedure for more details.)
  1575.  
  1576.  
  1577.          3. Search Records
  1578.             Records may be searched using one or more search field
  1579.             criteria.  All available search fields will be displayed.
  1580.             Search values may then be entered.  Multiple search field
  1581.             selections are AND conditionals.  For example, if a character
  1582.             data field type (type = "C") is selected along with a data
  1583.             field length of 15, then all character data fields that have a
  1584.             length of 15 will be retrieved.
  1585.  
  1586.             A selection flag must be provided for each selected search
  1587.             field to specify the type of match.  The adjacent selection
  1588.             flag for each selected search field may have one of the
  1589.             following values:
  1590.  
  1591.             Selection Flag  Match Designation
  1592.             --------------  -------------------------------------------
  1593.                    =        Exact match.
  1594.                    >        Match values greater than the search value.
  1595.                    <        Match values less than the search value.
  1596.                    #        Match values not equal to the search value.
  1597.  
  1598.             A tally of the search matches will be maintained in the lower
  1599.             right-hand quadrant of the display screen.
  1600.  
  1601.          4. Exiting Maintenance
  1602.             If any records have been left in delete status as a result of
  1603.             using the delete toggle, the delete process will be initiated
  1604.             as a part of the exit process.  All delete status records are
  1605.             treated in the same manner in the delete process regardless of
  1606.             whether they set to delete status in the current maintenance
  1607.             session, in a previous maintenance session or by operations
  1608.             in another program.
  1609.  
  1610.  
  1611.                                                                        Page  24
  1612.  
  1613.                                                          Dictionary Maintenance
  1614.                                                          ----------------------
  1615.      General Dictionary Maintenance (Cont'd)
  1616.      ---------------------------------------
  1617.        * Memo Field Edit Commands
  1618.  
  1619.          1. Help
  1620.             Use <Alt-H> to display the memo edit help screen.
  1621.  
  1622.          2. Cursor/Screen Movement and Edit Functions
  1623.             Please refer to memo text edit command summary (Appendix B).
  1624.  
  1625.          3. Quitting
  1626.             A. Use <Ctrl-W> to save the changes and exit.
  1627.             B. Use the Escape key to quit without saving changes.
  1628.  
  1629.          4. Print Memo Text
  1630.             Use <Alt-P> to print the memo text.  This command must precede
  1631.             any commands that alter the content of the memo text.  To print
  1632.             the memo after altering the text, the memo maintenance must be
  1633.             exited and then re-initiated.
  1634.  
  1635.          5. Write Memo Text to ASCII Files
  1636.             Use <Alt-W> to write the memo text out to a disk file.  This
  1637.             command must precede any commands that alter the content of the
  1638.             memo text.  To write the memo text out to disk after altering
  1639.             the text, the memo maintenance must be exited and then
  1640.             re-initiated.
  1641.  
  1642.  
  1643.      Data Field Maintenance
  1644.      ----------------------
  1645.        * Mandatory Specifications
  1646.  
  1647.          All mandatory specifications are validated according to the
  1648.          database type specified in the Configuration Settings.
  1649.  
  1650.          1. Field Name
  1651.             A data field name must begin with an alphabetic character and
  1652.             may not exceed 10 characters.  The name may contain letters,
  1653.             numbers, or the underscore symbol (_).  It may not contain
  1654.             blanks (except for trailing blanks).
  1655.  
  1656.             Under no circumstances will the DBSM system allow two separate
  1657.             data fields to be defined with similar data field names.
  1658.             Separate data field definitions require unique data field
  1659.             names.  This means that data field names must be unique across
  1660.             all databases in the database dictionary.  For example, there
  1661.             can only be one data field named "VENDORID" in the data field
  1662.             dictionary.  It can be assigned to as many databases as
  1663.             required.
  1664.  
  1665.          2. Field Type
  1666.             The field's data type must be character, numeric, date,
  1667.             logical, or memo.  The first letter of the data type, in
  1668.             uppercase, is used to indicate the data type (ie., C, N, D, L,
  1669.             or M).
  1670.  
  1671.                                                                        Page  25
  1672.  
  1673.                                                          Dictionary Maintenance
  1674.                                                          ----------------------
  1675.      Data Field Maintenance (Cont'd)
  1676.      -------------------------------
  1677.        * Mandatory Specifications (Cont'd)
  1678.  
  1679.          3. Field Length
  1680.             The field length specifies the length of the data field.
  1681.             Standard field lengths will be assigned to date, memo, and
  1682.             logical field types without regard for the length entered.
  1683.             Every numeric field specified must include at least one
  1684.             position to the left of the decimal point.
  1685.  
  1686.             A special note for Clipper programmers - The DBSM allows the
  1687.             specification of character fields exceeding 999 characters by
  1688.             simply entering in the entire value in the data field length
  1689.             specification.  There is no need to use the data field's decimal
  1690.             specification field to designate the number of 256 byte units in
  1691.             the character field.
  1692.  
  1693.          4. Field Decimals
  1694.             Enter the number of decimal positions.  The value entered will
  1695.             only be recognized if the field type is numeric.  All other
  1696.             field types will automatically be set to zero.
  1697.  
  1698.             The number of decimals cannot exceed the numeric field length
  1699.             minus two.  For example, the minimum numeric field length for a
  1700.             number with two decimal positions is four.  This allows for the
  1701.             mandatory minimum one position to the left of the decimal point,
  1702.             the decimal point, and the two decimal positions.
  1703.  
  1704.        * Optional Data Field Documentation
  1705.  
  1706.          1. Required?
  1707.             This character field may be used to indicate mandatory data
  1708.             entry for the associated data field.  An affirmative indication
  1709.             can be used to indicate that when the data field appears in a
  1710.             data entry screen, it must have a value entered.
  1711.  
  1712.          2. Picture Format
  1713.             The PICTURE clause used in a display or data entry statement.
  1714.  
  1715.          3. Default Value
  1716.             The standard value for the data field.  For example, in a
  1717.             membership system, the STATE field may have a default of 'WI'.
  1718.  
  1719.          4. Low Range Value
  1720.             The lowest possible valid value for the data field.
  1721.  
  1722.          5. High Range Value
  1723.             The highest possible valid value for the data field.
  1724.  
  1725.          6. Validate Procedure
  1726.             Specifies the data field validation procedure name.
  1727.  
  1728.                                                                        Page  26
  1729.  
  1730.                                                          Dictionary Maintenance
  1731.                                                          ----------------------
  1732.     Data Field Maintenance (Cont'd)
  1733.     -------------------------------
  1734.        * Optional Data Field Documentation (Cont'd)
  1735.  
  1736.          7. Sequence Code
  1737.             The sequence code is the major sort field used to control the
  1738.             data field order in reports and structure generation.  The
  1739.             minor sort field is the data field name.  Any ASCII characters
  1740.             may be used.  Remember - Upper case alphabetic characters have
  1741.             higher precedence than any lower case alphabetic characters.
  1742.             (See Database Structure Generation - Data Field Order for more
  1743.             information.)
  1744.  
  1745.          8. Description
  1746.             The data field description.  This is quite obvious.  What may
  1747.             not be obvious is that it is actually two fields.  It is
  1748.             possible to use the first field for the field decsription (up
  1749.             to 55 characters) and the second field (the line below the
  1750.             first) to describe a report heading for the field.  The report
  1751.             heading specification can be especially useful in dynamic
  1752.             report generation.
  1753.  
  1754.  
  1755.        * Data Field Database Assignments
  1756.  
  1757.          Data fields may be assigned to zero, one, or more databases.
  1758.          The data fields may be assigned to a maximum of 36 databases using
  1759.          this feature.  If more than 36 database assignments are necessary,
  1760.          the Data Field Membership Maintenance feature must be used.
  1761.  
  1762.          If the database assigned does not exist, a prompt will appear
  1763.          asking whether the non-existent database should be added.  If the
  1764.          missing database isn't added, an error message will indicate an
  1765.          illegal database assignment.  If a request is made to add the
  1766.          missing database, the database add procedure will be invoked.  If
  1767.          a data field is assigned to a database that is in delete status,
  1768.          the database will be transparently undeleted and the data field
  1769.          will be assigned.
  1770.  
  1771.        * Searching
  1772.  
  1773.          Data fields may be searched on several different fields.  These
  1774.          search fields may be specified individually or in combination.  If
  1775.          they are specified in combination, the selection method requires
  1776.          that all selection criteria be satisfied to produce a match.  For
  1777.          more information on searching, please refer to page 23.
  1778.  
  1779.        * Exiting
  1780.  
  1781.          Active records may be set to delete status and delete status
  1782.          records may be activated using the "Delete Toggle" command.  If
  1783.          records are set to delete status during a maintenance session, all
  1784.          delete status records will be removed upon exiting the data field
  1785.          maintenance.
  1786.  
  1787.                                                                        Page  27
  1788.  
  1789.                                                          Dictionary Maintenance
  1790.                                                          ----------------------
  1791.     Database Descriptions
  1792.     ---------------------
  1793.        * Maintenance
  1794.  
  1795.          1. Database Name
  1796.             A legal 8-character DOS file name with the additional
  1797.             restriction that the file name may not contain any
  1798.             asterisks, question marks, or embedded blanks.
  1799.  
  1800.             If an existing database name is changed, the necessary changes
  1801.             to the dictionary will be automatically changed (ie., database
  1802.             data field assignments and index file specifications).  Also,
  1803.             if there is a corresponding database on disk, a prompt will be
  1804.             issued to determine if the database on disk should be renamed.
  1805.             If the database is locked, a message will so indicate.
  1806.             Repeated attempts may be made to access the locked database or
  1807.             the disk file rename operation may be abandoned.
  1808.  
  1809.          2. Database Title
  1810.             The database title will be used for report titles and as part
  1811.             of the menu option description for all database point and
  1812.             select menus (See Menu Types).
  1813.  
  1814.          3. Last Structure Update
  1815.             The last structure update refers to the date the DataBase Stru-
  1816.             ture Manager last generated the database structure.  This date
  1817.             will automatically be entered each time the associated database
  1818.             structure is generated.  The date may also be entered manually.
  1819.  
  1820.          4. Extended Comments
  1821.             Use the text processor to enter extended database comments.
  1822.             The database extended comments may be reported individually by
  1823.             using the documentation menu.  The extended comments may also
  1824.             be written directly to an ASCII text file or printed while
  1825.             inside the text processor.  The text processor output functions
  1826.             are only available prior to making any changes in the edit
  1827.             session.  If changes are made and printing or writing to a file
  1828.             is desired, you must first exit the edit session and then
  1829.             re-enter the extended comments text processor.  On writing
  1830.             extended comments out to ASCII disk files, all soft carriage
  1831.             returns are replaced with hard carriage returns.
  1832.  
  1833.          5. Import Database Structure Report
  1834.             Whenever database structure information is imported into the
  1835.             DBSM using the Structure Import Utility, the option of
  1836.             retaining a copy of the structure import report with the
  1837.             database description is available.  The copy is assigned to a
  1838.             memo text field and may not be changed (although it may be
  1839.             deleted).  The import report copy will provide a static view
  1840.             of the database structure for future reference.
  1841.  
  1842.          The maintenance of the above fields is not a complete full-screen
  1843.          edit routine.  Once the maintenance has progressed into the
  1844.          Extended Comments, the fields above it may not be re-edited.  The
  1845.          same restriction also applies to the Import Report viewing.
  1846.  
  1847.                                                                        Page  28
  1848.  
  1849.                                                          Dictionary Maintenance
  1850.                                                          ----------------------
  1851.     Database Descriptions (Cont'd)
  1852.     ------------------------------
  1853.        * Deletions
  1854.  
  1855.          The database description deletion process will be initiated upon
  1856.          exiting the database description maintenance if there have been
  1857.          any database descriptions set and left in delete status.
  1858.  
  1859.          The database decriptions deletion process is governed by the
  1860.          "Automatic dictionary updates" designation in the Configuration
  1861.          Settings (See Utility Menu).  If automatic dictionary updates have
  1862.          not been specified, the following prompts will appear:
  1863.  
  1864.            Remove the deleted databases from database descriptions?
  1865.            Remove the data fields unique to the deleted databases?
  1866.            Remove the deleted database's index file specifications?
  1867.  
  1868.          No dictionary information related to the deleted database
  1869.          description will be deleted unless an affirmative response is
  1870.          entered for the associated removal prompt.
  1871.  
  1872.          If the automatic dictionary updates have been designated, no
  1873.          prompts will be issued before invoking the deletion process.  The
  1874.          database descriptions and dictionary information related to the
  1875.          database descriptions will be removed (ie. data fields unique to
  1876.          the deleted databases, the associated data field database
  1877.          assignments, and index file specifications).
  1878.  
  1879.          Please note that if delete status databases are specified to be
  1880.          removed, all delete status databases will be removed regardless of
  1881.          whether they were set to delete status in the current maintenance
  1882.          session.
  1883.  
  1884.          In no case will any database on disk be deleted by setting
  1885.          database descriptions to delete status.
  1886.  
  1887.  
  1888.        * View Database Structure
  1889.  
  1890.          The dictionary database structure for the current database
  1891.          description may be viewed using this option.
  1892.  
  1893.  
  1894.        * Corresponding Disk Database Information
  1895.  
  1896.          If there is a database on disk in the current directory with a
  1897.          name that corresponds to the current database description, an
  1898.          attempt will be made to access the database file to obtain summary
  1899.          information.  If the database file is not locked, the summary
  1900.          information will be displayed here.  If the database file is
  1901.          locked, a message will appear indicating the lock.  If the
  1902.          database is found to be corrupted, a message indicating a
  1903.          corrupted database will be displayed.  Please refer to pages 6
  1904.          and 14 for information concerning corrupt databases.
  1905.  
  1906.                                                                        Page  29
  1907.  
  1908.                                                          Dictionary Maintenance
  1909.                                                          ----------------------
  1910.     Database Data Field Memberships
  1911.     -------------------------------
  1912.        The central purpose for the Database Data Field Memberships
  1913.        Maintenance feature is to provide a method for assigning a data
  1914.        field to a database.  The Database Data Field Memberships
  1915.        Maintenance is not normally required.  Under most conditions, this
  1916.        function may be accomplished more conveniently in the Data Field
  1917.        Maintenance.  However, the maximum number of database assignments in
  1918.        the Data Field maintenance is 36.  If more database assignments need
  1919.        to be made than the Data Field Maintenance feature allows, this
  1920.        procedure will provide the ability to make the database assignments.
  1921.  
  1922.        * Adds
  1923.  
  1924.          To assign a data field to a database, enter the name of the
  1925.          database and the name of the data field.  Both the database and
  1926.          the data field must be defined in the dictionary before a data
  1927.          field may be assigned to a database.
  1928.  
  1929.        * Edits
  1930.  
  1931.          Data field assignments may be changed by either modifying the data
  1932.          field name, the database name, or both.  The only requirement is
  1933.          that the assignment may not duplicate an existing data field
  1934.          assignment to the same database.  That is, a data field cannot be
  1935.          assigned twice to the same database.  Also, any data fields or
  1936.          databases entered must already be defined in the database
  1937.          dictionary.
  1938.  
  1939.          Changing a data field name during the edit process is the
  1940.          equivalent of deleting a data field assignment and adding a new
  1941.          data field assignment.
  1942.  
  1943.        * Deletions
  1944.  
  1945.          Data field assignments may be deleted by setting the delete toggle
  1946.          for non-delete status data field assignments.  The delete status
  1947.          data field assignments are not physically removed until the
  1948.          command to exit the Database Data Field Membership Maintenance is
  1949.          selected.  Until that time, delete status assignments  may be
  1950.          reinstated to active status by selecting the delete toggle.
  1951.  
  1952.  
  1953.  
  1954.                                                                        Page  30
  1955.  
  1956.                                                          Dictionary Maintenance
  1957.                                                          ----------------------
  1958.     Index File Specifications
  1959.     -------------------------
  1960.        Index file specifications may be used to generate Clipper-compatible
  1961.        index files and may be reported in the documentation.
  1962.  
  1963.        * General Index Specifications Maintenance
  1964.  
  1965.          All index file names must be unique.  Index key expressions are
  1966.          only edited for length.  The length of the key expression must
  1967.          comply with the specifications associated with the database system
  1968.          type designated in the Configuration Settings.  The index key
  1969.          expressions are not edited to ensure the proper syntax and data
  1970.          fields are used until DBSM is called upon to generate a new index
  1971.          using the index key expression.  If an invalid index key
  1972.          expression is used by DBSM to generate a new index file, the DBSM
  1973.          program will terminate and display an error message on the top
  1974.          line of the display screen.  The error message will begin with the
  1975.          following:
  1976.  
  1977.                      Proc INTINDEX line 0,
  1978.  
  1979.          The remaining portion of the error message will be determined by
  1980.          the type of incorrect key expression.
  1981.  
  1982.        * Adds
  1983.  
  1984.          When adding index file specifications, if the associated database
  1985.          file name is left blank, a point and select database menu will be
  1986.          displayed.  (Please refer to the Menu Types: Database Selection
  1987.          Menus documentation for information on point and select database
  1988.          menus.)
  1989.  
  1990.          Once the proper database file has been entered, the database field
  1991.          names assigned to the database will be listed below the key
  1992.          expression data entry field.  The number of data fields assigned
  1993.          to the database may exceed the capacity of the screen area
  1994.          allocated to display the database's data fields.  The entire
  1995.          database structure may be displayed using the <Alt-V> command.
  1996.  
  1997.        * Edits
  1998.  
  1999.          The edit procedure is very similar to the add procedure except
  2000.          that no database point and select menu is provided for selecting a
  2001.          database name.
  2002.  
  2003.        * Deletions
  2004.  
  2005.          Index file specifications may be deleted by setting the delete
  2006.          toggle for non-delete status index file specifications.  The
  2007.          delete status index file specifications are not physically removed
  2008.          until the command to exit the Index File Maintenance is selected.
  2009.          Until that time, the delete status specifications may be
  2010.          reinstated to active status by selecting the delete toggle.
  2011.  
  2012.  
  2013.                                                                        Page  31
  2014.  
  2015.                                                          Dictionary Maintenance
  2016.                                                          ----------------------
  2017.     System Description
  2018.     ------------------
  2019.        This is a standard memo text field where general system comments may
  2020.        be entered.  The text entered here may be reported using the
  2021.        Documentation Menu.
  2022.  
  2023.        The system description text may be printed or written out to an
  2024.        ASCII file.  These two output features may only be executed prior to
  2025.        making any changes in the current edit session.  Please refer to
  2026.        Memo Field Edit Commands documentation under General Dictionary
  2027.        Maintenance for a more complete description of the memo edit
  2028.        commands.
  2029.  
  2030.  
  2031.                                                                        Page  32
  2032.  
  2033.                                                 Application Database Operations
  2034.                                                 -------------------------------
  2035.  
  2036.     Application database operations test the databases for corrupt header
  2037.     information before attempting to use them.  If a database is found to
  2038.     be corrupt, the requested operation will be not be performed.  Please
  2039.     see pages 6 and 14 for more information about corrupt databases.
  2040.  
  2041.     Index File Creation
  2042.     -------------------
  2043.        Clipper-compatible index files may be generated according to the
  2044.        index file specifications.  The database's index files are selected
  2045.        using the point and select database menu.  (Please refer to the Menu
  2046.        Types: Database Selection Menus documentation for information.) All
  2047.        database files are listed in the point and select database menu
  2048.        whether the database has any associated database index file
  2049.        specifications or not.  Once a database file has been selected, all
  2050.        associated index files are generated for the database.
  2051.  
  2052.        The index file specifications are not validated prior to generating
  2053.        the index files.  If incorrect index key expressions are used to
  2054.        generate index files, it will cause the DBSM program to terminate
  2055.        and display an error message on the top line of the display screen.
  2056.  
  2057.        If the database indicated for an indexing operation has been locked
  2058.        by another program, a message and prompt will be displayed on the
  2059.        top line of the screen.  Repeated attempts may be made to access the
  2060.        locked database.  The index request will not be accomplished if the
  2061.        database cannot be accessed.
  2062.  
  2063.  
  2064.     Database Structure Variance Report
  2065.     ----------------------------------
  2066.        Differences between dictionary database specifications and the
  2067.        corresponding databases on disk are highlighted using the structure
  2068.        variance report.  The report information is determined by comparing
  2069.        the dictionary database specification with the corresponding
  2070.        database structure specification on disk.
  2071.  
  2072.        If the corresponding database on disk is locked by another program,
  2073.        a message and prompt will be displayed on the top line of the
  2074.        screen.  The three options available are to retry gaining access,
  2075.        waiting up to two minutes for the file to become free, or to exit the
  2076.        request for the locked file.  If the locked file is not accessible,
  2077.        the report will be produced without the disk database information.
  2078.  
  2079.        The structure variance information is especially useful to know
  2080.        before generating a new database structure for an existing database.
  2081.        For instance, if a character data field's length has been reduced in
  2082.        the dictionary specification and a new database structure is
  2083.        generated using the specification, it is possible to lose truncated
  2084.        character data that no longer fits in the character field's reduced
  2085.        length.
  2086.  
  2087.                                                                        Page  33
  2088.  
  2089.                                                 Application Database Operations
  2090.                                                 -------------------------------
  2091.  
  2092.     Database Structure Variance Report (Cont'd)
  2093.     -------------------------------------------
  2094.  
  2095.        The structure variance report will list the structure of the
  2096.        corresponding database in the current subdirectory on disk on the
  2097.        left side of the report.  If there is no corresponding database
  2098.        found, a message will be displayed instead of the corresponding
  2099.        structure.  The database dictionary specification will be listed on
  2100.        the right side of the report.
  2101.  
  2102.        All data fields are listed in alphabetical order.  Where there is a
  2103.        corresponding database structure, the data fields with similar data
  2104.        field names are aligned on the same line with each other.  The
  2105.        middle column of the report is used to indicate similarities and
  2106.        differences.  If the matching data field names have data type,
  2107.        length and decimals that are exactly equal, a double equals sign
  2108.        ("==") will be placed in the middle column of the report.  If the
  2109.        matching data field names differ in definition by type, length, or
  2110.        decimals, an inequality symbol ("<>") is reported in the center
  2111.        column.
  2112.  
  2113.        Structure variance comments will appear in the far-right column of
  2114.        the report when there is a difference in the data field names being
  2115.        maintained.  The variance comments are provided from the perspective
  2116.        of the database dictionary being the most up-to-date information.
  2117.        For instance, if there is a data field defined for the database in
  2118.        the dictionary, but the data field does not exist in the
  2119.        corresponding database on disk, the structure variance comment is
  2120.        that the data field has been "ADDED."
  2121.  
  2122.        The database structure information for each database is summarized
  2123.        at the end of the report.  If there were any differences between the
  2124.        two databases, an inequality symbol is reported in the center
  2125.        column on the summary line.  If there were no differences, the
  2126.        double equals characters are reported in the center column.
  2127.  
  2128.        It is possible to exceed the system's available memory when
  2129.        generating structure variance reports for databases with many
  2130.        data fields.  If this error occurs, more system memory will need to
  2131.        be allocated for the DBSM program.  Please refer to the
  2132.        documentation section on Memory Allocation and Use to control memory
  2133.        allocation.  If there are any RAM-resident routines loaded, they may
  2134.        need to be purged to free-up the necessary system memory.
  2135.  
  2136.  
  2137.                                                                        Page  34
  2138.  
  2139.                                                 Application Database Operations
  2140.                                                 -------------------------------
  2141.     Database Structure Generation
  2142.     -----------------------------
  2143.        * Database Specification Validation
  2144.  
  2145.          Before a database structure is generated, the database structure
  2146.          specification is checked in 3 areas to ensure it conforms to the
  2147.          type of database designated in the Configuration Settings.  If the
  2148.          database exceeds the maximum number of data fields or the maximum
  2149.          database record length requirement, or if an undefined data field
  2150.          type is found, an appropriate message will be issued and the
  2151.          database will not be generated.  Please note that this validation
  2152.          process will allow data fields with specifications different from
  2153.          those associated with the database type in the Configuration
  2154.          Setting to be generated.  Data field specifications are only
  2155.          validated during data field maintenance.
  2156.  
  2157.  
  2158.        * Data Field Order
  2159.  
  2160.          The order of the data fields in the new database structure is
  2161.          determined by the ASCII sort order of the catenated sequence code
  2162.          and data field name as specified in the Data Field definition.
  2163.  
  2164.          For instance - if the following data fields are being processed:
  2165.  
  2166.                       Sequence   Data Field
  2167.                         Code        Name
  2168.                       ---------  ----------
  2169.                          z       Address
  2170.                          d       CustName
  2171.                          d       CustId
  2172.  
  2173.           The data fields would be generated in the database in the
  2174.           following order:
  2175.  
  2176.                         Data Field
  2177.                            Name
  2178.                         ----------
  2179.                         CustId
  2180.                         CustName
  2181.                         Address
  2182.  
  2183.  
  2184.        * New Database Structure Validation
  2185.  
  2186.          Once a new database structure has been generated, it will be
  2187.          immediately tested to verify the record length and number of
  2188.          fields is equal to the dictionary specification's record length
  2189.          and number of fields. It will also be tested to see if it is
  2190.          corrupt as evidenced by an illegal record length or illegal number
  2191.          of fields.  If it does not match the specification, an appropriate
  2192.          message will be issued and the original database will be restored.
  2193.          Possible reasons for incorrect database structure generation
  2194.          include insufficient system memory or insufficient disk space.
  2195.  
  2196.  
  2197.                                                                        Page  35
  2198.  
  2199.                                                 Application Database Operations
  2200.                                                 -------------------------------
  2201.     Database Structure Generation (Cont'd)
  2202.     --------------------------------------
  2203.        * Appending Data from a Corresponding Database on Disk
  2204.  
  2205.          If there is a database on disk in the current directory with a
  2206.          name that corresponds to the database being generated, data from
  2207.          the corresponding database on disk (herein referred to as the
  2208.          "original database") will be appended to the new database
  2209.          structure once it has been generated.  Only those data fields
  2210.          whose field name and type match across both databases will have
  2211.          information transferred.  Delete status records in the original
  2212.          database may be designated to have their records included.  If the
  2213.          delete status records are included, the record will remain in
  2214.          delete status in the new database.
  2215.  
  2216.          Where there is an original database for the database structure
  2217.          generation, the original database will be renamed to
  2218.          "-SAV_DBF.DBF" at the start of the process.  If there is an
  2219.          associated memo database, it will be renamed to "-SAV_DBF.DBT".
  2220.          The database structure generation procedure tests for the
  2221.          existence of these temporary file names before beginning the
  2222.          regeneration of a database structure.  The procedure will not
  2223.          regenerate a new database structure if it detects a file in the
  2224.          current directory with a temporary save name (ie., "-SAV_DBF.DBF"
  2225.          or "-SAV_DBF.DBT").  The existence of either of these temporary
  2226.          files signifies the possibility that a previous structure
  2227.          regeneration process was prematurely terminated.  If that is the
  2228.          case, the temporary files may contain the "best" original copy of
  2229.          the database before the structure regeneration process.
  2230.  
  2231.          If you are changing field names within a database structure and
  2232.          you want the current values transferred, you should leave the
  2233.          original data field name and add the new data field name when you
  2234.          generate the new structure.  Once the structure generation is
  2235.          complete, place the data from the original data field into the new
  2236.          data field for each record in the database and verify that the
  2237.          placement worked correctly.  When the operation is successful,
  2238.          delete the old data field definition from the dictionary and then
  2239.          generate a new structure.
  2240.  
  2241.          The DBSM also verifies numeric value transfers from corresponding
  2242.          databases.  Numeric data field values that correspond in field
  2243.          name and field type, but do not have the same numeric field length
  2244.          and/or decimals length may need to be altered to fit the new data
  2245.          field definition.  You may designate in the Configuration Settings
  2246.          that automatic numeric value changes may be supplied.  In this
  2247.          case, if the original data field value does not "fit" into the new
  2248.          definition, the highest or lowest possible value (whichever is
  2249.          closest) will be placed in the field.  If automatic value changes
  2250.          are not allowed by the Configuration Settings and any incompatible
  2251.          numeric value is encountered in the data transfer, an appropriate
  2252.          message will be displayed and the structure generation process is
  2253.          terminated with the appropriate rollback to restore the original
  2254.          files.
  2255.  
  2256.                                                                        Page  36
  2257.  
  2258.                                                 Application Database Operations
  2259.                                                 -------------------------------
  2260.     Database Structure Generation (Cont'd)
  2261.     --------------------------------------
  2262.        * Appending Data from a Corresponding Database on Disk (Cont'd)
  2263.  
  2264.          The numeric data field value validation process requires extra
  2265.          processing time.  The amount of processing time required is
  2266.          directly related to the number of fields in the new database.  A
  2267.          database with many records and many fields per record will take a
  2268.          significant amount of time to accomplish the transfer of
  2269.          information.  The progress will be detailed on the screen.
  2270.  
  2271.          If the new database specification doesn't have any data fields in
  2272.          common with the original database, the appending of information
  2273.          from the original database will result in the creation blank
  2274.          records.
  2275.  
  2276.        * Application Database Memo File Deletion
  2277.  
  2278.          If a new structure is generated without a memo field specification,
  2279.          but there used to be a memo field in the original database, DBSM
  2280.          will delete the old memo database after successfully generating a
  2281.          new database.
  2282.  
  2283.        * Memory Requirements
  2284.  
  2285.          If DBSM runs out of memory during the structure generation, a
  2286.          message will be displayed at the top-left corner of the screen
  2287.          with a continuation prompt.  The message will appear as follows:
  2288.  
  2289.             "proc MAKESTRC, out of memory      Continue?"
  2290.  
  2291.                             OR
  2292.  
  2293.             "proc APPENDIT, out of memory      Continue?"
  2294.  
  2295.          There is no way to continue the structure generation.  Respond
  2296.          with an "N" and press return.  The program will terminate after
  2297.          responding to the prompt.
  2298.  
  2299.          If this occurs during a database structure regeneration where
  2300.          there is an existing database on disk, some manual file
  2301.          maintenance to restore the original database files may be
  2302.          required.  A brief description of the structure generation process
  2303.          is in order.  Before a database is regenerated, the corresponding
  2304.          database on disk and if necessary, the associated memo database
  2305.          will be renamed to "-SAV_DBF.DBF" and "-SAV_DBF.DBT" respectively.
  2306.          Once the new database structure has been generated with the true
  2307.          database name, there is an operation to transfer the corresponding
  2308.          information from the original database to the new.  If the new
  2309.          database(s) are created, but the original data has not been
  2310.          completely transferred when the error occurs, a directory of
  2311.          database files should show the new database(s) under the true name
  2312.          and the original database under the save name(s).
  2313.  
  2314.                                                                        Page  37
  2315.  
  2316.                                                 Application Database Operations
  2317.                                                 -------------------------------
  2318.     Database Structure Generation (Cont'd)
  2319.     --------------------------------------
  2320.        * Memory Requirements (Cont'd)
  2321.  
  2322.          To restore the original file name(s) in the case where both the
  2323.          saved databases and the newly created databases exist, first
  2324.          delete the newly created database(s).  Once the delete has
  2325.          been accomplished (or if the new databases were never created),
  2326.          rename the saved databases back to their original names.
  2327.  
  2328.          For example, suppose you are in the process of regenerating a
  2329.          vendor master database, "VENDMAST.DBF", which also has an
  2330.          associated memo file named "VENDMAST.DBT".  Let's assume the
  2331.          regeneration procedure renamed the vendor master databases to
  2332.          "-SAV_DBF.DBF" and "-SAV_DBF.DBT", respectively, and has created
  2333.          the new database structures under the true database names.  Now
  2334.          the system runs out of memory.  After responding "N" to the
  2335.          insufficient memory message prompt, run a directory of your
  2336.          database files (ie., "DIR *.DB?").
  2337.  
  2338.          A portion of the directory should show the saved files and another
  2339.          portion should show the newly created database structures under
  2340.          the original names.  The next step is to delete the newly created
  2341.          database files with the following two DOS commands:
  2342.  
  2343.                             DEL VENDMAST.DBF
  2344.  
  2345.                             DEL VENDMAST.DBT
  2346.  
  2347.          The next step is to rename the saved databases back to their
  2348.          original names.  This is accomplished with the following two DOS
  2349.          commands:
  2350.  
  2351.                 REN -SAV_DBF.DBF VENDMAST.DBF
  2352.  
  2353.                 REN -SAV_DBF.DBT VENDMAST.DBT
  2354.  
  2355.          To solve the problem of insufficient memory, more system memory
  2356.          must be allocated or system memory requirements must be reduced.
  2357.          In some instances, more system memory may be allocated by changing
  2358.          the runtime setting (See Runtime Environment Settings).  It may be
  2359.          necessary to free up more system memory by eliminating some RAM-
  2360.          resident programs.
  2361.  
  2362.          System memory requirements may be reduced by changing the
  2363.          structure specification or eliminating the need to transfer
  2364.          original information to the new database structure.
  2365.  
  2366.  
  2367.                                                                        Page  38
  2368.  
  2369.                                                 Application Database Operations
  2370.                                                 -------------------------------
  2371.     Database Structure Generation (Cont'd)
  2372.     --------------------------------------
  2373.        * Disk Space Requirements
  2374.  
  2375.          If insufficient disk space is determined, an appropriate message
  2376.          will be displayed and the structure generation process will be
  2377.          gracefully exited.  A conservative approach is used when
  2378.          determining whether sufficient disk space is available to generate
  2379.          a new structure.  The disk file cluster size is assumed to be
  2380.          4,096 bytes.  If a database with an existing structure on disk is
  2381.          going to be regenerated, it is assumed the new database will
  2382.          require the same amount of space.  The associated memo database is
  2383.          included in the calculation if one exists.  There must also be an
  2384.          additional 8,192 bytes available for two temporary files.
  2385.  
  2386.          For example, if the existing database on disk is 2,000 bytes.  The
  2387.          amount of free disk space must be at least 12,288 bytes.  This
  2388.          breaks down as follows: 8,192 bytes for two temporary files and a
  2389.          4,096 byte cluster to hold the assumed 2,000 byte new database
  2390.          file.
  2391.  
  2392.  
  2393.        * Network File Locks
  2394.  
  2395.          If the database identified for structure generation has a
  2396.          corresponding database on disk, an attempt will be made to gain
  2397.          exclusive access to the database with a file lock.  If the
  2398.          corresponding database file cannot be locked, a message will be
  2399.          displayed noting the situation.  The structure generation
  2400.          operation will automatically be abandoned after the prompt is
  2401.          acknowledged.  For further information regarding the file-locking
  2402.          technique and compatibility, please refer to the "Network File
  2403.          Control" documentation section.
  2404.  
  2405.  
  2406.        * Corrupt Databases
  2407.  
  2408.          If the database identified for structure generation has a
  2409.          corresponding database on disk and the database is determined to
  2410.          be corrupt, the structure generation will not proceed.  The
  2411.          corrupt database must either be fixed, deleted, or renamed before
  2412.          another structure can be generated for the database structure
  2413.          defined in the dictionary.  Please refer to pages 6 and 14 for
  2414.          information regarding the interpretation of corrupt databases.
  2415.  
  2416.  
  2417.                                                                        Page  39
  2418.  
  2419.                                                            System Documentation
  2420.                                                            --------------------
  2421.  
  2422.     All documentation reports may be either displayed or printed.  Whenever
  2423.     the print option is selected, a reminder will be issued to ensure the
  2424.     printer is ready to print.
  2425.  
  2426.     In most instances, if the print option is indicated, a prompt will be
  2427.     issued to determine if near-letter quality printing is desired.  A
  2428.     prompt will not be issued if the active printer is a laser printer or
  2429.     if the Custom Printer is the active printer and no print control codes
  2430.     have been defined for the custom printer.
  2431.  
  2432.     If you want to eliminate the prompt to determine near-letter quality
  2433.     printing, you may set the active printer to be the Custom Printer
  2434.     and then ensure that no print control codes are defined for the Custom
  2435.     Printer.  With this setting, no matter what printer is receiving the
  2436.     report, no prompt will be issued.  A reminder will still be issued to
  2437.     ensure the printer is ready.
  2438.  
  2439.  
  2440.     General Documentation
  2441.     ---------------------
  2442.        * Documentation Title Page
  2443.  
  2444.          The documentation title page provides the cover page for the
  2445.          documentation reports.  It includes the company name and the
  2446.          database system name centered on the page.  The DataBase Structure
  2447.          Manager copyright notice is provided in the lower-left corner of
  2448.          the page.
  2449.  
  2450.        * System Description
  2451.  
  2452.          The System Description report includes all text entered using the
  2453.          System Description option from the Dictionary Maintenance menu.
  2454.          The output from this option is restricted to screen or printer.
  2455.          However, the information may be transferred to an ASCII file using
  2456.          one of the System Description maintenance features.
  2457.  
  2458.        * Database Summary Report
  2459.  
  2460.          The Database Summary report lists all database file names defined
  2461.          in the database dictionary.  In addition to the database file
  2462.          name, the report always includes the database description and date
  2463.          of last structure update by the DBMS system.
  2464.  
  2465.          If there is no corresponding database in the current directory, it
  2466.          will be noted in the report.  If there is a corresponding valid
  2467.          database file in the current directory, the date of the last
  2468.          update of any kind (data or structure), and the total number of
  2469.          records will be be listed.  If a corresponding database is in the
  2470.          current directory, but the database is determined to be invalid, a
  2471.          message noting the corrupt database will be provided instead of
  2472.          reporting the database information.  Please refer to pages 6 and
  2473.          14 for information concerning corrupt databases.
  2474.  
  2475.  
  2476.                                                                        Page  40
  2477.  
  2478.                                                            System Documentation
  2479.                                                            --------------------
  2480.     General Documentation (Cont'd)
  2481.     ------------------------------
  2482.        * Database Extended Comments
  2483.  
  2484.          The Database Extended Comments report lists the Extended Comments
  2485.          entered in the Database Descriptions maintenance.  The report is
  2486.          restricted to screen or printer output, however the Extended
  2487.          Comments may be written to an ASCII file using one of the
  2488.          Extended Comments maintenance features.
  2489.  
  2490.          When selecting the Database Extended Comments option from the
  2491.          System Documentation menu, a point and select database menu is
  2492.          provided.  The menu consists of all database names and database
  2493.          descriptions and allows databases to be selected individually or
  2494.          as an entire group.  For more detailed information regarding the
  2495.          point and select database menu, please read the Database Selection
  2496.          Menus documentation (See Menu Types).
  2497.  
  2498.  
  2499.        * Index File Specifications
  2500.  
  2501.          The index file specifications are reported in alphabetical order
  2502.          by database file name.  All index file specifications for each
  2503.          database are presented in alphabetical order by index file name.
  2504.  
  2505.          The detail format for each database includes a line to identify
  2506.          the database.  This line includes both the database file name and
  2507.          the database description.  Each index file specification is listed
  2508.          on the lines following.  The first line for any index specifica-
  2509.          tion includes the index file name, the first 50 characters of the
  2510.          index key expression, and an indication as to whether the index
  2511.          key is unique.  The index key expression will be continued on
  2512.          subequent lines if necessary.  If the index key expression exceeds
  2513.          the maximum length allowed according to the database type
  2514.          specified in the Configuration Settings, an appropriate error
  2515.          message will also be listed.
  2516.  
  2517.  
  2518.                                                                        Page  41
  2519.  
  2520.                                                            System Documentation
  2521.                                                            --------------------
  2522.     Data Field Documentation
  2523.     ------------------------
  2524.        * Database
  2525.  
  2526.          Each database documentation report lists the data fields alpha-
  2527.          betically by data field name within sequence code.  That is, the
  2528.          sequence code is the major sort field and the data field name is
  2529.          the minor sort field.  For the abbreviated format, the following
  2530.          information is listed with each data field: field name, type,
  2531.          length, decimals, description, and sequence code.  The complete
  2532.          format includes all of the information entered in the data field
  2533.          maintenance.
  2534.  
  2535.          When selecting the database data field documentation option
  2536.          (either the abbreviated or complete format) from the System
  2537.          Documentation menu, a point and select database menu is provided.
  2538.          The database menu consists of all database names and descriptions
  2539.          and allows databases to be selected individually or as an entire
  2540.          group.  For more detailed information regarding the point and
  2541.          select database menu, please read the Database Selection Menus
  2542.          documentation (See Menu Types).
  2543.  
  2544.        * System
  2545.  
  2546.          The system data field documentation (either abbreviated or
  2547.          complete format) includes all data fields from every database in
  2548.          the dictionary.  The data fields are listed alphabetically by data
  2549.          field name.  For the abbreviated format, the following information
  2550.          is listed with each data field: field name, type, length,
  2551.          decimals, description, and sequence code.  The complete format
  2552.          includes all of the information entered in the data field
  2553.          maintenance.  Both report formats cross reference each data field
  2554.          to the database(s) it has been assigned to.
  2555.  
  2556.  
  2557.                                                                        Page  42
  2558.  
  2559.                                                                       Utilities
  2560.                                                                       ---------
  2561.     Printer Menu
  2562.     ------------
  2563.        * Printer Selection
  2564.  
  2565.          Printer type selections are provided to allow the proper
  2566.          near-letter quality print control commands to be sent to the
  2567.          printer before a report is printed and to reset the printer
  2568.          after the report is printed.
  2569.  
  2570.          A printer type may be specified by using the appropriate command
  2571.          line call parameter.  The Configuration Settings option of the
  2572.          Utility Menu will allow a default printer type to be specified.
  2573.          If no printer type is specified in the command line, the printer
  2574.          specified in the Configuration Settings will be selected.  The
  2575.          current printer type may be changed at any time by using the
  2576.          Printer Selection option of the Printer Menu.
  2577.  
  2578.          If there is no printer type to match your specific printer, you may
  2579.          be able to select a printer type that your printer will emulate.
  2580.          If this is not possible or convenient, the Custom Printer type may
  2581.          be selected.  Once the Custom Printer type is active, the printer
  2582.          control codes defined under the Custom Printer Definition option of
  2583.          the Printer Menu become effective.
  2584.  
  2585.        * Custom Printer Control Character Specifications
  2586.  
  2587.          Custom printer control codes (up to 10 characters in length) may
  2588.          be defined.  These codes are used to set and reset the printer for
  2589.          near-letter quality printing whenever a near-letter quality report
  2590.          is requested and the Custom Printer type has been selected.
  2591.  
  2592.          Each character of the print control command must be entered as a
  2593.          3-digit number with leading zeroes.  The 3-digit number is the
  2594.          decimal value of the ASCII character.  One space is automatically
  2595.          maintained between numbers during the data entry process.  A
  2596.          maximum of 10 ASCII characters may be represented in this manner.
  2597.          To delete control characters, the delete or backspace key must be
  2598.          used; using the space bar will not delete characters.
  2599.  
  2600.        * Printer Port Selection
  2601.  
  2602.          Printer port selections change the active output device.  Reports
  2603.          may be directed to one of three parallel ports (LPT1, LPT2, or
  2604.          LPT3) or to one of two serial ports (COM1 or COM2).
  2605.  
  2606.  
  2607.  
  2608.                                                                        Page  43
  2609.  
  2610.                                                                       Utilities
  2611.                                                                       ---------
  2612.     Index All DataBase Structure Manager Files
  2613.     ------------------------------------------
  2614.        This option may be run at any time to ensure the integrity of the
  2615.        DBSM system index files.
  2616.  
  2617.  
  2618.     Configuration Settings
  2619.     ----------------------
  2620.        * Company Name
  2621.  
  2622.          The company name is used for screen display headings and
  2623.          documentation reports.
  2624.  
  2625.        * Database System Name
  2626.  
  2627.          The database system name is used for screen display headings and
  2628.          documentation reports.
  2629.  
  2630.        * Default Screen Type
  2631.  
  2632.          The Default Screen Type is used to control the display screen type
  2633.          if no valid display screen type was specified on the DBSM
  2634.          execution command line.  If no valid screen type is specified on
  2635.          the DBSM execution command line and the Default Screen Type has
  2636.          not been specified, the screen type will be #1 for color monitors
  2637.          and #5 for monochrome monitors.  The monitor type (color or
  2638.          monochrome) is automatically detected by examining the system for
  2639.          the presence of a color card.  This automatic detection can be
  2640.          "fooled" if there is a color card on the system, but the primary
  2641.          display device is a monochrome monitor.
  2642.  
  2643.        * Default Printer Definition
  2644.  
  2645.          The sole purpose of selecting printers is to allow the system to
  2646.          send printer control codes to switch the printer into near-letter
  2647.          print mode when requested by the user and to reset the printer at
  2648.          the end of the report.
  2649.  
  2650.          The Default Printer Definition is used to provide a printer
  2651.          definition when no valid printer definition was specified on the
  2652.          DBSM execution command line.  If no valid printer definition is
  2653.          specified on the DBSM execution command line and the Default
  2654.          Printer Definition has not been specified, the system will "force"
  2655.          a printer selection before directing output to the printer.
  2656.  
  2657.          If the Custom Printer is specified, the near-letter quality printer
  2658.          control code sequence (defined in the custom printer definition
  2659.          section of the Printer Menu) will be sent to the printer when
  2660.          near-letter quality printing is indicated.
  2661.  
  2662.  
  2663.                                                                        Page  44
  2664.  
  2665.                                                                       Utilities
  2666.                                                                       ---------
  2667.     Configuration Settings (Cont'd)
  2668.     -------------------------------
  2669.        * Default Printer Port
  2670.  
  2671.          Valid printer ports are: LPT1 through LPT3, COM1, and COM2.
  2672.          If no setting is indicated, the default is LPT1.
  2673.  
  2674.          This option allows a Default Printer Port to be specified.  The
  2675.          Default Printer Port specification is mandatory.  It will be the
  2676.          active printer port at startup.  The active printer port may be
  2677.          changed at any time by using the Printer Port Selection option of
  2678.          the Printer Menu.
  2679.  
  2680.  
  2681.        * Automatic Dictionary Updates
  2682.  
  2683.          This configuration setting controls whether a manual affirmation
  2684.          is required when deleting database descriptions.  Normally in the
  2685.          database description deletion procedure, all dictionary
  2686.          information related to the delete status databases should be
  2687.          deleted.  This includes the data fields unique to the delete
  2688.          status databases, related index file specifications, and the
  2689.          database descriptions themselves.  However, if automatic
  2690.          dictionary updates are denied through the use of this setting,
  2691.          these dictionary elements must be individually specified to be
  2692.          deleted.  Please refer to the Database Descriptions - Deletions
  2693.          for more information.
  2694.  
  2695.  
  2696.        * Automatic Numeric Value Adjustments
  2697.  
  2698.          Automatic numeric value adjustments may be designated to
  2699.          automatically adjust numeric values when a database structure is
  2700.          being generated and corresponding data field values from an
  2701.          existing database on disk are being transferred.
  2702.  
  2703.          If there is a database on disk in the current directory with a
  2704.          name that corresponds to the database being generated, data from
  2705.          the corresponding database on disk will be appended to the new
  2706.          database structure once it has been generated.  Only those fields
  2707.          whose field name and field type match across both databases will
  2708.          have information transferred.  Values for numeric data fields that
  2709.          correspond in field name and field type, but do not have the same
  2710.          numeric field length and/or decimals length may need to be altered
  2711.          to fit a new numeric data field definition.
  2712.  
  2713.          You may designate in the Configuration Settings that automatic
  2714.          numeric value changes may be supplied.  In this case, if the
  2715.          original data field value does not "fit" into the new definition,
  2716.          the highest or lowest possible value (whichever is closest) will
  2717.          be placed in the field.  If automatic value changes are not
  2718.          allowed by this setting and an incompatible numeric value is
  2719.          encountered in the data transfer, an appropriate message will be
  2720.          displayed and the new structure generation process is terminated
  2721.          with the appropriate rollback to restore the original files.
  2722.  
  2723.                                                                        Page  45
  2724.  
  2725.                                                                       Utilities
  2726.                                                                       ---------
  2727.     Configuration Settings (Cont'd)
  2728.     -------------------------------
  2729.        * Include DataBase Structure Manager's Database Files
  2730.  
  2731.          The Structure Import Utility has a database directory feature and
  2732.          a feature to import all databases in the current directory.  If
  2733.          this DBSM database inclusion setting is set to include DBSM files,
  2734.          the DBSM files will be included in the Structure Import Utility
  2735.          feature operations.  Otherwise, DBSM databases will be ignored.
  2736.          Normally, there is no need to include DBSM databases in the
  2737.          database import operation (unless the DBSM databases are being
  2738.          maintained and documented by DBSM).
  2739.  
  2740.  
  2741.        * Index DataBase Structure Manager Files at Startup
  2742.  
  2743.          As a precautionary measure, all DBSM system index files may be
  2744.          indexed each time DBSM is executed.  This is not normally
  2745.          necessary, however if the DBSM dictionary databases are being
  2746.          maintained outside of the DBSM program, it may be necessary and
  2747.          convenient to use this option to ensure valid system index files.
  2748.  
  2749.        * Database System Types
  2750.  
  2751.          The Database System Type designation is used to validate the
  2752.          database, data field, and index file specifications.  The data
  2753.          field specifications will be checked during the data field
  2754.          maintenance.  The database record length and number of fields will
  2755.          only be checked before attempting to generate a database
  2756.          structure.  Data field types are also checked for validity before
  2757.          generating a database structure.  The index file specification
  2758.          length will be checked during index file maintenance.
  2759.  
  2760.          1. dBASE III PLUS/FoxBase
  2761.             The dBASE III PLUS database specifications will be applied when
  2762.             validation procedures are performed to ensure correct database,
  2763.             data field, and index file specifications.  The FoxBase
  2764.             specification is considered equivalent to the dBASE III PLUS
  2765.             specification.
  2766.  
  2767.          2. Clipper - Summer '87
  2768.             The Clipper (Summer '87 version) database specifications will
  2769.             be applied when validation procedures are performed to ensure
  2770.             correct database, data field, and index file specifications.
  2771.  
  2772.  
  2773.                                                                        Page  46
  2774.  
  2775.                                                                       Utilities
  2776.                                                                       ---------
  2777.     Configuration Settings (Cont'd)
  2778.     -------------------------------
  2779.        * Database System Types (Cont'd)
  2780.  
  2781.          3. Custom Database Specifications
  2782.             The custom database specification allows more flexible control
  2783.             over the database specifications.  With this selection, the
  2784.             following database criteria must be specified: maximum record
  2785.             length, maximum number of database fields, maximum character
  2786.             field length, maximum numeric field length, maximum number of
  2787.             decimals, and the maximum length for an index file
  2788.             specification.  The Custom Database specifications will be
  2789.             applied when validation procedures are performed to ensure
  2790.             correct database, data field, and index file specifications.
  2791.             Data field specifications will be applied during Data Field
  2792.             Maintenance, general database specifications (record length,
  2793.             number of database fields, and data types) will be applied
  2794.             during database generation.
  2795.  
  2796.             When the custom database maximum specifications are set, the
  2797.             DBSM gives you free rein to enter database specifications based
  2798.             on the custom specifications.  However, when it comes to
  2799.             generating databases, no database may be generated that exceeds
  2800.             the following maximum specifications:
  2801.  
  2802.              Database record length......: 32,766
  2803.              Number of database fields...: 1,024
  2804.              Character field length......: 32,766
  2805.              Numeric field length........: 20
  2806.              Decimals field length.......: 18
  2807.              Index key expression length.: 250
  2808.  
  2809.             The amount of available system memory may be exceeded prior to
  2810.             reaching any of these maximum specifications.
  2811.  
  2812.             The database record length values reported by this system are
  2813.             calculated by summing the length of all data fields in the
  2814.             database.  The 1-byte position in databases for the delete
  2815.             status is not included in the record length.
  2816.  
  2817.             A custom database type must be defined in Configuration
  2818.             Settings to allow numeric data fields to be the maximum
  2819.             allowable for dBASE IV databases.
  2820.  
  2821.        * Universal Database Filename Suffix
  2822.  
  2823.          The database filename suffix is used to allow database filename
  2824.          suffixes other than the standard "DBF".  All operations involving
  2825.          databases on disk will make use of this specification.  This
  2826.          includes, but is not limited to, operations of database structure
  2827.          generation, database structure variance reporting, database memo
  2828.          file compression, database directory displays, and importing
  2829.          database structure information into the DataBase Structure
  2830.          Manager.
  2831.  
  2832.                                                                        Page  47
  2833.  
  2834.                                                                       Utilities
  2835.                                                                       ---------
  2836.     Configuration Settings (Cont'd)
  2837.     -------------------------------
  2838.        * Column Heading/Detail Divider Line
  2839.  
  2840.          The character used in the line that separates the column
  2841.          heading(s) from the column's detail information may be designated
  2842.          by supplying the ASCII decimal value of the character.  The
  2843.          character's ASCII decimal value must be in the range of 33 through
  2844.          254, inclusive.  The currently selected characters are displayed
  2845.          just to the right of the ASCII code decimal value.
  2846.  
  2847.          The Screen Heading/Detail Divider character is used for reports
  2848.          directed only to the screen.
  2849.  
  2850.          The Printer Heading/Detail Divider character is used for any
  2851.          reports when the printer output option is requested.
  2852.  
  2853.  
  2854.     Screen Display Settings
  2855.     -----------------------
  2856.        The current screen display setting may be changed to any one of 4
  2857.        different color schemes (if the DBSM detects a color card) or to
  2858.        monochrome.  If no color card is detected, this option simply
  2859.        reports that a monochrome monitor has been detected and no further
  2860.        settings are available.
  2861.  
  2862.  
  2863.     Show Structure of Database on Disk
  2864.     ----------------------------------
  2865.        Any database files in the current directory may be specified to
  2866.        report their structure information.  The report may be directed to
  2867.        the display screen or the printer.
  2868.  
  2869.  
  2870.     Compress Database's Memo File
  2871.     -----------------------------
  2872.        Some database systems (Clipper - Summer '87 included) do not always
  2873.        reclaim memo field space that has been used and then deleted.  Over
  2874.        time, it is possible to accumulate a significant amount of wasted
  2875.        space in the memo database.  This feature will eliminate the "dead"
  2876.        space by re-creating the database and appending the data from the
  2877.        original files.  Databases determined to be corrupt will not be
  2878.        compressed.  See pages 6 and 14 for the definition of a corrupt
  2879.        database.
  2880.  
  2881.        When using the memo compress feature, it is possible to run out of
  2882.        system memory.  If this happens, find your original database files
  2883.        under the saved names of "-TMP_1.DBF" and "-TMP_1.DBT" and rename
  2884.        them to their original names.  Before doing the rename, first
  2885.        determine whether the new database files with the original names
  2886.        have been created.  If this has already been done, then you should
  2887.        delete them and then rename the saved files back to their original
  2888.        names.
  2889.  
  2890.  
  2891.                                                                        Page  48
  2892.  
  2893.                                                                     Usage Hints
  2894.                                                                     -----------
  2895.     Pseudo-Database Definitions
  2896.     ---------------------------
  2897.        Databases may be defined that will never be used as application
  2898.        databases.  Instead, the database serves to consolidate a specific
  2899.        set of data fields.  For instance, if you want to document all the
  2900.        key data fields, you can define a database called KEYFLDS and assign
  2901.        all the key data fields to it.
  2902.  
  2903.        Program memory variable documentation may be maintained and reported
  2904.        by defining the memory variables as data fields in a special
  2905.        database.
  2906.  
  2907.  
  2908.     Data Field Headings
  2909.     -------------------
  2910.        The data field description is maintained in two data fields in the
  2911.        data field dictionary.  You may find it convenient to use one of the
  2912.        description data fields for maintaining a data field report heading.
  2913.        The data field report heading could be used in dynamically
  2914.        generating reports.
  2915.  
  2916.  
  2917.     Dynamic Structure Variance Information
  2918.     --------------------------------------
  2919.        The ability to read the system dictionary files that are in Dbase
  2920.        format allows the application programmer to determine if the actual
  2921.        application database structures on disk are defined the same as the
  2922.        application database definitions in the DBSM database dictionary.
  2923.        If an application database is defined differently from the
  2924.        dictionary definition, special actions in the database application
  2925.        may need to be performed.
  2926.  
  2927.        For instance, if a dynamic report generation application notices a
  2928.        difference in the actual database structure and the dictionary
  2929.        definition, it may be appropriate to alert the user that the
  2930.        database specification has been redesigned.
  2931.  
  2932.  
  2933.     Application Program References to DBSM System Files
  2934.     ---------------------------------------------------
  2935.        Database applications programmers may develop semi-standard
  2936.        validation code in their applications that reference the DBSM data
  2937.        field definitions.  For instance, the application's validation code
  2938.        could reference the corresponding data field in the DBSM data field
  2939.        dictionary.  If there is a low-range value specified, the data
  2940.        entered may be checked to maintain the range specification.
  2941.  
  2942.        The technique listed above will probably not provide the fastest
  2943.        possible data entry validation, but when the technique is used
  2944.        properly, there is the ability to make changes to the validation
  2945.        criteria without having to change the program source code and
  2946.        recompile the program(s).  In some cases, this may be a primary
  2947.        concern.  In fact, you may find it desirable to design procedures in
  2948.        your application system to control the maintenance of the dictionary
  2949.        data field validation criteria.
  2950.  
  2951.                                                                        Page  49
  2952.  
  2953.                        Program Error Reporting Procedures
  2954.                        ----------------------------------
  2955.  
  2956.     Progressive Data Systems gratefully accepts any suspected program error
  2957.     (ie., bug) reports from any users.  Program error reports will be
  2958.     accepted in verbal or written form, although a written copy is
  2959.     preferred.  Please include as much detail as possible in describing the
  2960.     program error to allow the program error to be validated.  Progressive
  2961.     Data Systems will respond to written program error reports from
  2962.     registered users when the user provides a self-addressed, stamped
  2963.     envelope.
  2964.  
  2965.     The following information should be included along with a detailed
  2966.     description of the suspected program error:
  2967.  
  2968.            1. DBSM license registration number (If a registered user.).
  2969.            2. DBSM version.
  2970.            3. DOS version.
  2971.            4. CONFIG.SYS and AUTOEXEC.BAT file contents.
  2972.            5. Available system memory before executing the DBSM program as
  2973.               reported by the DOS CHKDSK command.
  2974.  
  2975.     Registered users will be advised of any significantly serious program
  2976.     errors and will be entitled to one free maintenance release of the
  2977.     DataBase Structure Manager if it should become necessary.  A main-
  2978.     tenance release may be issued at the sole discretion of Progressive
  2979.     Data Systems if there is an excessive accumulation of program errors or
  2980.     if there is a sufficiently serious progam error.  (Please take note
  2981.     that a discretionary maintenance release is not the same as a revision
  2982.     to upgrade the program.)  Registered users will be notified when a new
  2983.     release to upgrade the program is available and the upgrade policy.
  2984.  
  2985.  
  2986.  
  2987.                                                                        Page  50
  2988.  
  2989.                                    Appendix A
  2990.  
  2991.  
  2992.                         Full-Screen Edit Command Summary
  2993.  
  2994.  
  2995.     Full-Screen Edit Movement                 Keys
  2996.     ---------------------------------------- -------------------------------
  2997.     Move up one line........................  UpArrow or <Ctrl-E>
  2998.     Move down one line......................  DownArrow, <Ctrl-X>,Return,
  2999.                                               <Ctrl-M>
  3000.     Move to the left one character..........  LeftArrow or <Ctrl-S>
  3001.     Move to the right one character.........  RightArrow or <Ctrl-D>
  3002.     Move left to the next word..............  <Ctrl-LeftArrow> or <Ctrl-A>
  3003.     Move right to the next word.............  <Ctrl-RightArrow> or <Ctrl-F>
  3004.     Beginning of edit field.................  Home
  3005.     End of edit field.......................  End
  3006.     Beginning of first edit field...........  <Ctrl-Home>
  3007.     Beginning of last edit field............  <Ctrl-End>
  3008.  
  3009.  
  3010.     Full-Screen Edit Actions                  Keys
  3011.     ----------------------------------------  ------------------------------
  3012.     Delete character at cursor position.....  Del, <Ctrl-G>
  3013.     Destructive backspace...................  Backspace, <Ctrl-H>
  3014.     Delete word right.......................  <Ctrl-T>
  3015.     Delete from cursor to end of edit field.  <Ctrl-Y>
  3016.     Reset edit field to original value......  <Ctrl-U>
  3017.  
  3018.  
  3019.     Full-Screen Edit Modes                    Keys
  3020.     ----------------------------------------  ------------------------------
  3021.     Toggle insert/overwrite mode............  Ins, <Ctrl-V>
  3022.  
  3023.  
  3024.     Full-Screen Escape Actions                Keys
  3025.     ----------------------------------------  ------------------------------
  3026.     Terminate current edit field............  Return, <Ctrl-M>
  3027.     Terminate edit & save current edit field  PgUp, PgDn, <Ctrl-W>, <Ctrl-C>
  3028.     Terminate edit w/o saving current field.  Esc
  3029.  
  3030.  
  3031.     The escape key can be used at any time to cancel an add or an update.
  3032.  
  3033.  
  3034.                                                                        Page  51
  3035.  
  3036.                                    Appendix B
  3037.  
  3038.  
  3039.                          Memo Text Edit Command Summary
  3040.  
  3041.  
  3042.         Screen/Cursor Movement             Key
  3043.         ---------------------------------- -------------------------------
  3044.         Move up one line.................. UpArrow or <Ctrl-E>
  3045.         Move down one line................ DownArrow or <Ctrl-X>
  3046.         Move to the left one character.... LeftArrow or <Ctrl-S>
  3047.         Move to the right one character... RightArrow or <Ctrl-D>
  3048.         Move left to the next word........ <Ctrl-LeftArrow> or <Ctrl-A>
  3049.         Move right to the next word....... <Ctrl-RightArrow> or <Ctrl-F>
  3050.         Beginning of current line......... Home
  3051.         End of current line............... End
  3052.         Beginning of current screen....... <Ctrl-Home>
  3053.         End of current screen............. <Ctrl-End>
  3054.         Previous screen................... PageUp
  3055.         Next screen....................... PageDown
  3056.         Beginning of memorandum........... <Ctrl-PageUp>
  3057.         End of memorandum................. <Ctrl-PageDown>
  3058.         Toggle insert/overwrite mode...... Ins, <Ctrl-V>
  3059.         Destructive backspace............. Backspace, <Ctrl-H>
  3060.  
  3061.  
  3062.         Edit Functions                     Key
  3063.         ---------------------------------- --------
  3064.         Delete the current line........... <Ctrl-Y>
  3065.         Delete word right................. <Ctrl-T>
  3066.         Reformat text in edit screen...... <Ctrl-B>
  3067.  
  3068.  
  3069.         Output Functions                     Key
  3070.         ---------------------------------- --------
  3071.         Print the memo text............... <Alt-P>
  3072.         Write the memo text to a disk file <Alt-W>
  3073.  
  3074.         The Print and Write options may only be executed prior to making
  3075.         changes to the memo text.
  3076.  
  3077.  
  3078.                                                                        Page  52
  3079.  
  3080.                                    Appendix C
  3081.  
  3082.  
  3083.                            Enhancement Suggestions
  3084.                            -----------------------
  3085.  
  3086.      Progressive Data Systems is interested in your comments and
  3087.      suggestions regarding the performance of the DataBase Structure
  3088.      Manager system.  The areas where you feel the DBSM system should be
  3089.      improved, based on your own specific requirements, is of particlar
  3090.      interest.  The feedback we receive from you will help us to determine
  3091.      how to most effectively improve the system to meet your needs.
  3092.  
  3093.      There are many different directions the improvements to this system
  3094.      can take.  The emphasis could be on building dynamic reporting and
  3095.      editing based on the dictionary specifications or the improvements
  3096.      could focus on increasing the types of dictionary information being
  3097.      maintained.
  3098.  
  3099.      One improvement that will almost certainly be provided is the ability
  3100.      to do full-screen editing of multiple data fields all belonging to one
  3101.      specific database.  Each data field would be given one line on the
  3102.      screen with scrolling as necessary.  Any change to a data field
  3103.      specification would automatically be changed for all databases the
  3104.      data field belongs to.  This facility would most likely first appear
  3105.      as an independent utility.
  3106.  
  3107.      Do you have other ideas about how this system could be improved?  How
  3108.      important is a multi-user capability to you?  Please drop us a line
  3109.      and let us know where you think the focus of our development efforts
  3110.      should be.
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.                                    Appendix D                          Page  53
  3117.  
  3118.                                    Order Form
  3119.   Ship To:
  3120.           Name...: ________________________________________________
  3121.  
  3122.           Company: ________________________________________________
  3123.  
  3124.           Address: ________________________________________________
  3125.  
  3126.                    ________________________________________________
  3127.  
  3128.           City...: _______________________ State: ___  Zip: _______
  3129.  
  3130.           Country: ________________________________________________
  3131.  
  3132.    Phone Number..: (_____) _______________
  3133.                                                        Disk   Unit
  3134.   Qty  Description                                    Medium  Price   Extension
  3135.   ---  ---------------------------------------------- ------  ------  ---------
  3136.  
  3137.   ___  DataBase Structure Manager System (Current      5.25"  $45.00  $ _______
  3138.        version).  Includes programs and documentation  360K
  3139.        files on disk and license registration.
  3140.  
  3141.   ___  DataBase Structure Manager System (Current      3.5"   $48.00  $ _______
  3142.        version).  Includes programs and documentation  720K
  3143.        files on disk and license registration.
  3144.  
  3145.   ___  DataBase Structure Manager System (Current      5.25"  $10.00  $ _______
  3146.        version).  Includes programs and documentation  360K
  3147.        files on disk.  Registration not included.
  3148.  
  3149.   ___  DataBase Structure Manager System (Current      3.5"   $13.00  $ _______
  3150.        version).  Includes programs and documentation  720K
  3151.        files on disk.  Registration not included.
  3152.  
  3153.   ___  DataBase Structure Manager System - Registration only. $35.00  $ _______
  3154.  
  3155.   ___  Printed, bound documentation manual.                   $12.00  $ _______
  3156.  
  3157.                                                             Subtotal  $ _______
  3158.  
  3159.                                 Wisconsin residents add 5% sales tax  $ _______
  3160.  
  3161.                                                                Total  $ _______
  3162.  
  3163.   Remit to:   Progressive Data Systems
  3164.               P.O. Box 631
  3165.               Middleton, WI  53562
  3166.               Phone (608) 836-5075
  3167.  
  3168.   Please pay by check or money order in U.S. currency only.
  3169.   We cannot accept credit cards or COD orders.
  3170.   Please add $8.00 for orders outside the U.S.A.
  3171.  
  3172.   Registration includes technical support for one year.
  3173.  
  3174.   Your comments or suggestions are gratefully received and appreciated.
  3175.  
  3176.                                                                        Page  54
  3177.  
  3178.                                      Index
  3179.                                      -----
  3180.  
  3181.     Subject                                Subject
  3182.     -------------------------------------  ------------------------------------
  3183.     Appending Data 12,35                   Database (Cont'd)
  3184.     Application Database File Location 16    File Name Suffix 46
  3185.     Application Database Operations 32-34    File Name Syntax 13, 27
  3186.       Create Index Files 32                  Name 27
  3187.       Report Structure Variance 32           Record Length 13, 45
  3188.       Generate Database Structures 34        Selection Menus 20
  3189.     Applications 3, 48                       Specification Validation 34, 45
  3190.     Assoc. of Shareware Professionals iv     Structure Generation 34
  3191.     Column Heading/Detail Divider Line 47    Structure Variance Report 32
  3192.     Command Line Parameters 16               Structure Validation, New 34
  3193.       Diskette Operation 17                  Structure Viewing 28
  3194.       Display Screen Type 16                 System Application Subdirectory 16
  3195.       Printer Type 17                        System Name 43
  3196.     Compress Database's Memo File 47         System Types 45
  3197.     CONFIG.SYS 8                             Title 27
  3198.     Configuration Settings 19, 43-47       Database Extended Comments 40
  3199.       Column Dividers 47                   Database Summary Report 39
  3200.       Company Name 43                      Database System Description 39
  3201.       Database File Name Suffix 46         DBSM Database File Recognition 45
  3202.       Database System Type 45              DBSM Error Report Procedures 49
  3203.       DBSM Database Inclusion 45           Decimals Field Length 25
  3204.       DBSM File Indexing 45                Delete Toggle 23
  3205.       Dictionary Updates 44                Deletions 23
  3206.       Numeric Value Changes 44             Dictionary Maintenance 22
  3207.       Printer Definition 43                Dictionary System Files 5
  3208.       Printer Port 44                      Dictionary Updates, automatic 44
  3209.       Screen Type 43                       Disk Space Requirements 38
  3210.       System Name 43                       Diskette Drive Operation 17, 18
  3211.       Validation 19                        Documentation 39
  3212.     Corrupt Database 6, 14, 38               Data Fields 41
  3213.     Cursor Movement 50, 51                   General 39
  3214.       Full-Screen Edit 50                  Documentation Title Page 39
  3215.       Memo Field Edit 51                   DOS Command Execution 11, 21
  3216.     Custom Database Specifications 46      Edit Command Summary 50, 51
  3217.     Custom Printer 42                      Enhancement Suggestions 52
  3218.     Data Field                             Error Report Procedures 49
  3219.       Database Assignments 13, 26          Exiting Maintenance 23
  3220.       Maintenance 24-26                    Expanded Memory for Index Buffers 10
  3221.       Mandatory Specifications 24          Extended Comments 27, 40
  3222.       Order 26, 34, 41                     External Program Execution 11, 21
  3223.       Required Data Entry 25               Features Summary 4
  3224.       Specifications 13-14, 24-26          File-Locking 12
  3225.     Database                               First-Time Operation 17
  3226.       Corrupt 6, 14, 38                    Full-Screen Edit Command
  3227.       Summary 50                           Hard Drive Operation 17
  3228.       Data Field Maximum 46                Hardware Requirements 8
  3229.       Data Field Memberships 26            High Range Value 25
  3230.       Descriptions 27                      Import Database Structure Report 27
  3231.       Documentation 40, 41
  3232.       Extended Comments 27
  3233.  
  3234.  
  3235.                                                                        Page  55
  3236.  
  3237.                                      Index
  3238.                                      -----
  3239.  
  3240.     Subject                                Subject
  3241.     -------------------------------------  ------------------------------------
  3242.     Index                                  Quitting 20
  3243.       Buffers Allocation 9                 Record-Locking 12
  3244.       DBSM Files at Startup 45             Record Maintenance 22
  3245.       File Creation 32                     Registration Reminder 19
  3246.       File Specifications 30, 45, 46       Relational Database Primer 1
  3247.       Key Expression Length 45, 46         Runtime Environment Settings 8
  3248.       Key Fields 45, 46                    Screen Display Settings 16, 43, 47
  3249.       Specifications Maintenance 30        Searching 23
  3250.     INSTALL Batch File 15                  Selection Flag 23
  3251.     Installation 15                        Sequence Code 26
  3252.     Introduction 1                         Shareware Distribution iii
  3253.     Last Structure Update 27               Shareware Professionals, Assoc iv
  3254.     Low Range Value 25                     Snow Elimination 10
  3255.     Main Menu 20                           Software License ii
  3256.     Mandatory Specifications 24            Software Requirements 8
  3257.     Maximum Database Specifications 13     Standard Sub-Menus 20
  3258.     Memo File Deletion 36                  Structure Maintenance
  3259.     Memo Text Fields                         Dictionary 22
  3260.       Edit Commands 51                         Data Fields 24
  3261.       Printing 27, 51                          Database Descriptions 27
  3262.       Writing to Disk File 27, 51              Database Data Field Members 29
  3263.     Memory                                     Index File Specifications 30
  3264.       Allocation and Use 8                     System Description 31
  3265.       Requirements 8, 36                     Application Databases 32
  3266.       Usage 8                                  Create Index Files 32
  3267.       Insufficient 36, 47                      Report Structure Variance 32
  3268.     Memory Variable Allocation  9              Generate Database Structures 34
  3269.     Memory Variable Documentation 48       Structure Report 41
  3270.     Menu System 20, 22                     Structure Variance Information 32
  3271.     Menu Quick Traversal 20                System Configuration 8
  3272.     Multi-Tasking 7                        System Description 31
  3273.     Multi-User 12                          System Dictionary Files 5
  3274.     Network File Control 12, 38            System Startup 16
  3275.     Numeric Value Adjustments 35, 44       Table of Contents v
  3276.     Optional Data Field Documentation 25   Technical Specifications 13-14
  3277.     Order Form 53                          Technical Support iv
  3278.     Ownership Reminder 19                  Trademark Acknowledgements i
  3279.     Picture Format 25                      Urgent Information 5
  3280.     PLINK86 Overlay Loader 18              Usage Hints 48
  3281.     Print Memo Text 27, 51                 Utilities 42
  3282.     Printer                                Validate Procedure 25
  3283.       Custom Definition 42                 Warranty and Liability i
  3284.       Menu 42                              Write Memo Text to Disk 27, 51
  3285.       Port Selection 42
  3286.       Selection 42
  3287.     Pseudo-Database Definitions 48
  3288.  
  3289.