






                            APPLICATIONS GENERATOR SYSTEM
                                By R.L. Coppedge, CDP

          Please note:

          If you are not interested in creating your own application please
          do not spend an abundance of time on this Appendix, as it  may be
          confusing to  someone who  is mainly  a user, and unfamiliar with
          Dbase III+.

          Section        Topic                                   Page #

          Section C1.0        Introduction.  . . . . . . . . . . . . .    1
               C1.1      What you need to Begin  . . . . . . . . . . .    1

          Section C2.0        Installing AGS Itself. . . . . . . . . .    3
               C2.1      Installing AGS from an Archive (ARC) file . .    3

          Section C3.0        Installing Create. . . . . . . . . . . .    4

          Section C4.0        Running CREATE . . . . . . . . . . . . .    5
               C4.1      The MAIN Database . . . . . . . . . . . . . .    5
               C4.2      The Create Database . . . . . . . . . . . . .    7
               C4.3      Editing the CREATE Database . . . . . . . . .   10
               C4.4      Building the Create Files . . . . . . . . . .   11
               C4.5      A list of Create Files  . . . . . . . . . . .   12

          Section C5.0        Modifying Generated Code and Databases.    14
               C5.1      A List of Generated Code and Files  . . . . .   14
               C5.2      Modifying Create-Generated Code . . . . . . .   14

          Section C6.0        Modifying the Main Programs. . . . . . .   16
                    C6.1      Data Verification  . . . . . . . . . . .   17

          Section C7.0        Starting your System . . . . . . . . . .   19

          Section C8.0        Adding more Applications . . . . . . . .   20

          Section C9.0        Don't do the Following!  . . . . . . . .   21

          Section C10.0       Registration . . . . . . . . . . . . . .   22

          Section C11.0       Thanks and Thoughts  . . . . . . . . . .   24

          Section C12.0       Limitations. . . . . . . . . . . . . . .   25








          Copyright 1988 - RL Coppedge, CDP All Rights Reserved







                   Illustrations, Figures and Good Stuff Like That


               Figures:                                               Page:
               Figure C-1     Subdirectory Structure . . . . . . . . .    2
               Figure C-2     Create's Main Menu . . . . . . . . . . .    5
               Figure C-3     The Main Database  . . . . . . . . . . .    5
               Figure C-4     Main.Dbf Entry Screen  . . . . . . . . .    7
               Figure C-5     The CREATE Database  . . . . . . . . . .    8
               Figure C-6     Create Edit Screen . . . . . . . . . . .   10
               Figure C-7     Create's Initial Screen  . . . . . . . .   11
               Figure C-8     CREATE's Main Screen . . . . . . . . . .   12
               Figure C-9     VERIFY Databases . . . . . . . . . . . .   17








































          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C1.0        Introduction.

               When creating a  new  application  through  the  AGS,  it is
          assumed  that  the  person  doing  so  has  a relatively complete
          understanding of both the Dbase III+ syntax, and  the programming
          language itself, as well as knowledge of MS-DOS commands.

          C1.1      What you need to Begin

               Prior to  beginning anything  with the  AGS, the user should
          have the following items prepared:

               1>   a subdirectory  layout will  be installed automatically
          on  installation  as  detailed  in  Figure  C-1.  The user should
          ensure that nothing would be upset by such activity.

               2>   Dbase III+ should be  installed  properly,  as  well as
          the MS-DOS  CONFIG.SYS file, which should at the minimum have the
          command FILES=20.  Also, the CONFIG.DB file located  in the Dbase
          III+ subdirectory  should NOT have the "COMMAND = ASSIST" line in
          it.

               3>   A directory should be made available  that contains the
          files AGS.ARC, and the program used to de-Archive it.

               4>   The user  should know  the name  of the  database.  For
          this appendix, the application shall  be  known  as  APP,  and is
          contained  in  the  directory  \DBDATA\APP.  Although this is not
          needed knowledge for installing the AGS,  it will  be critical in
          order to use it.

               5>   A list  of all necessary Sort Orders is made (including
          field names)

               6>   A text editor should  be available,  (the program files
          are too big for Dbase III+'s MODI COMM command).

               7>   You are familiar with the database function you wish to
          use and how you want it to work.

               8>   You are willing to work through the documentation!

               Please note that we will assume that the  database structure
          of APP  is identical  to that  of TEST in Section 4.1 of the Main
          Documentation.








                                                                          1
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          --
          _____________________________________________________________
          |                                                           |
          |                                                           |
          |                                                           |
          |                                                           |
          |    ROOT                                                   |
          |        \                                                  |
          |         \DBDATA--\------"App"                             |
          |                   \-----Help                              |
          |                    \----Create                            |
          |                     \---Main                              |
          |                                                           |
          |    \DBASE Stores Dbase III+ itself.                       |
          |                                                           |
          |    \DBDATA\HELP Stores the generic Command Line           |
          |    Help Databases (Section 10.2) and Documentation        |
          |                                                           |
          |    \DBDATA\CREATE Stores the Create Programs              |
          |    when not in use (for future uses)                      |
          |                                                           |
          |    \DBDATA\MAIN Stores the copies of the Main             |
          |    Programs for future use and .BIN files                 |
          |                                                           |
          |    \DBDATA\APP Stores all programs and Data               |
          |    relevant to Application APP                            |
          |___________________________________________________________|
               Figure C-1     Subdirectory Structure

























                                                                          2
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C2.0        Installing AGS Itself.


               The file AGS.ARC contains all programs and files (aside from
          Dbase III+ itself and your database file you create) necessary to
          build your  application.    It  also  will  build  a subdirectory
          structure,  as  detailed  in  Figure  C-1, automatically building
          \DBDATA, \DBDATA\CREATE, \DBDATA\MAIN, and \DBDATA\HELP.  It will
          be up  to you to build \DBDATA\APP (where APP is the name of both
          the application, subdirectory, and the database itself.  You give
          it whatever  name you  want, as  long as it is a valid Dbase III+
          database name).

          C2.1      Installing AGS from an Archive (ARC) file

               If you have downloaded the AGS from a BBS, and have the file
          "AGS.ARC", you  have apparently de-ARChived it enough to get this
          file from it (APPENDC.TXT).  If not, do the following:

          1>   Move AGS.ARC to any empty subdirectory.
          2>   De-archive the files:
          ARCE AGS<Enter>     *(this may change, depending on the de-ARC
                              program)
          3>   Begin the installation program.  Enter:
          INSTALL <Path><Enter>
               <Path>  is  the  data  directory  where  Dbase  is residing.
          Traditionally, this would be:
          INSTALL \DBASE <Enter>

               And then  sit back  and watch  the system  go to  town.  The
          system will:

               1>   Create Necessary subdirectories.
               2>   Move proper files to proper places.



















                                                                          3
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C3.0        Installing Create.

               Assuming that  you have  performed tasks  #1,2 and  3 in the
          previous section,  you are  ready to  start Create.   This is the
          first step in making an application using the AGS.

               From now on, you must be in Dbase III+ to  make all  of this
          work.   This is so it doesn't unwittingly erase anything crucial.
          As stated before, we're  going  to  call  the  application  to be
          created "APP".   We  need to Create a new directory, \DBDATA\APP.
          So let's get on with it,  ok?    Commands  underlined  are  to be
          entered by you:

          Dbase AGSCr<Enter>            (This starts Dbase III+ for you)

               This is run only when you are initially setting up the file.
          If you've already done this, ignore this step.   The  system will
          verify that  you in fact want to perform this step, and then will
          prompt you with: 

          What is the Database's Name : 

          Where you would enter "APP" (or whatever you were calling yours).
          Again,  the  system  will  verify  your response, and perform the
          following:

          1>   Create the subdirectory C:\dbdata\"APP"
          2>   Move all Main files there
          3>   Update the Main.Dbf database
          4>   Begin the Create program for you.

          If you later needed to simply run the Create program, you would:
          1>   Enter Dbase normally (DBASE <Enter>)
          2>   Change subdirectory (!CD \DBDATA\APP <Enter>)
          3>   Begin the Create program (DO \DBDATA\CREATE\CREATE <Enter>)

          But for now, the system will start Create for you.
















                                                                          4
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C4.0        Running CREATE

               At this point you should be in the  Create program.  If not,
          we would start it by entering:

          DO \DBDATA\CREATE\CREATE <Enter>   (while in Dbase, and from the
                                             \DBDATA\APP subdirectory)

          The resultant menu is shown in Figure C-2.                  
                                                                      
            Application Generator System ---- RL Coppedge, CDP        
                                                                      
                                                                      
               You should run these steps in approximate order...     
                   The name of the database is : APP                  
                You can:                                              
                                                                      
               1>   Edit the Main.Dbf database file                   
               2>   Create or Modify your Database                    
               3>   Build the Shell Create.DBF                        
               4>   Edit the Create.DBF                               
               5>   Build the Support Files                           
                                                                      
                    Which one do you want (1-5,Q)                     
                                                                      
               Figure C-2     Create's Main Menu

          C4.1      The MAIN Database

               There  are  actually  three  databases  involved  in  an AGS
          application.  The first (and  easiest  by  far)  is  the database
          MAIN.DBF.    This  database  has  one record, and really only two
          critical fields, and four optional fields.  Only  the first field
          (NAME) is  absolutely necessary; the remainder are optional.  The
          structure looks something as  in  Figure  C-4  (acquired  using a
          Dbase LIST STRUCTURE Command):
                                                              
                                                              
               Structure for database: C:main.dbf             
               Number of data records:       1                
               Date of last update   : 03/19/88               
               Field  Field Name  Type       Width    Dec     
                   1  NAME        Character      8            
                   2  TITLE       Character     25            
                   3  BELL        Logical        1            
                   4  CONFIRM     Logical        1            
                   5  DELETED     Logical        1            
                   6  EXACT       Logical        1            
                   7  DBASE_PTH   Character     25            
               ** Total **                      63            
                                                              
               Figure C-3     The Main Database

                                                                          5
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved







               The fields are used for:

          1.   NAME.    Lets  the  AGS  know  what database it is currently
          using.  It should be the name of the Dbase file minus  the ".DBF"
          extension.   Example:  If we are using our App database, then the
          field would simply contain "APP" (minus the quotes).

          2.   TITLE.  Appears on many of the screens.   A  25 character or
          less title  that describes  what the  database is.  Optional, but
          recommended.

          3.   BELL.  Sets the Bell option  initially ON  or OFF.   You can
          change it later through the housekeeping function.  See the Dbase
          III+ documentation for further description of the Bell.

          4.   CONFIRM.  Sets the Confirm option initially ON or OFF.   You
          can change  it later  through the housekeeping function.  See the
          Dbase III+ documentation for further description of Confirm.

          5.   DELETE.  Sets the Delete option  initially ON  or OFF.   You
          can change  it later  through the housekeeping function.  See the
          Dbase III+ documentation for further description of Delete.

          6.   EXACT.  Sets the Exact option initially ON or OFF.   You can
          change it later through the housekeeping function.  See the Dbase
          III+ documentation for further description of Exact.

          7.   DBASE_PTH.    Lets  the  system  know  where  Dbase  III+ is
          residing, so  that the  initial program  (App.prg) will be placed
          properly.

               Now, this database has only one record, which  is originally
          empty.   If that  record does  not have  information edited to it
          with the Application default  information prior  to anything else
          happening, Create  will not work, AGS will not work, nothing will
          work.  If it is ever moved,  Create will  not work,  AGS will not
          work, nothing will work.  Hopefully you get the idea.  AGS is not
          (at this point) terribly intelligent for handling errors here, so
          you have to keep track of this mostly yourself.

          Changing Main.DBF

               Select option  #5 in the Create Main Menu.  The screen shown
          if Figure  C-4  will  show  up.    Simply  enter  the information
          according to your particular desires.

               You can  change any  field in Main at any point in time even
          after  generation  of  the  system...except  NAME  and DBASE_PTH.
          Don't ever change them.



                                                                          6
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






                                                                           
            Application Generator System ---- RL Coppedge, CDP             
                                                                           
                                                                           
                    For the Database within this Directory:                
                                                                           
                    What is the Name of the Database  test                 
                    What is the Database Title :  Sample DB                
                                                                           
                         A 'Y' response corresponds to 'ON'                
                                                                           
                    What is the Default Bell Setting :  N                  
                    What is the Default Confirm Setting :  N               
                    What is the Default Deleted Setting :  N               
                    What is the Default Exact Setting :  N                 
               What is the Directory Name for where Dbase is  ___________  
                                                                           
               Figure C-4     Main.Dbf Entry Screen 

          C4.2      Creating your APP database

               Selecting Option #2 from Creates main menu (Figure C-2) will
          help you in creating  (originally) or  modifying (changing later)
          the  structure  of  your  database.   The system will display the
          choices found in Figure C-5:

                                                                     
             Application Generator System ---- RL Coppedge, CDP      
                                                                     
                                                                     
             For the database : App                                  
                   This Database Does NOT yet Exist                  
                                                                     
                   Are you ready to:                                 
                                                                     
                         (C)reate your database structure            
                         (M)odify your database structure            
                         (E)rase your database and try again         
                                                                     
                     Which one do you want to do (C,M,E, (Q)uit)     
                                                                     
               Figure C-5     Creating the Database

          Basically by selecting any  of these  options you  can change the
          structure of your database.  The program simply invokes the Dbase
          command "Create" or "Modify structure".  Refer to your Dbase III+
          documentation for more information.

          C4.21     Changing Your Structure

               Should the  need arise  after you've created your system and
          have been using your database, and  then you  need to  change the

                                                                          7
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          structure, you have the following options:

               1>   Go into  the Create.Dbf  manually (Dbase Edit) and make
          necessary changes after modifying APP.dbf  Then DO  Create but DO
          NOT CREATE SHELL CREATE.DBF! and rebuild files.

               2>   Treat it as a new application and reenter information.

          C4.3      The Create Database

               By  far  this  is  the  toughest  part of the system, not in
          technical entry, but in your own design.   If done  properly, the
          system you  want will  operate smoothly.  If not, you're in for a
          bit of trouble.  Take the time to read the AGS user documentation
          prior to  doing this.   Design  your database carefully, and with
          all of  this in  mind.   Remember that  the best  software in the
          world can't  help poor  planning.  Perhaps this package even more
          so.

               The CREATE database defines each field in the  database, and
          their  role.    Each  record  in CREATE represents a field in the
          database APP.  CREATE defines what the characteristics are of the
          field as  it relates  to other  fields, and  to the main program.
          The structure  is  thus  (again  with  the  Dbase  LIST STRUCTURE
          Command) shown in Figure C-6:

                                                              
               Structure for database: C:create.dbf           
               Number of data records:       0                
               Date of last update   : 03/13/88               
               Field  Field Name  Type       Width    Dec     
                   1  FIELD_NAME  Character     10            
                   2  FIELD_TYPE  Character      1            
                   3  FIELD_LEN   Numeric        3            
                   4  FIELD_DEC   Numeric        3            
                   5  FIELD_DSC   Character     40            
                   6  FIELD_DSC2  Character     40            
                   7  FIELD_TITL  Character     15            
                   8  FIELD_QRY   Character     20            
                   9  SORT        Logical        1            
                  10  UPPER_CSE   Logical        1            
                  11  SORT_TITL   Character     20            
                  12  INDEX_NM    Character      8            
                  13  SORT_LTTR   Character      1            
                  14  INIT_CVAL   Character     80            
                  15  INIT_DVAL   Date           8            
                  16  INIT_NVAL   Numeric       19      5     
                  17  INIT_LVAL   Logical        1            
                  18  SRCHBRO     Logical        1            
                  19  VERIFY      Logical        1            
               ** Total **                     274            
                                                              

                                                                          8
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






               Figure C-6     The CREATE Database

               A lot  of the records in CREATE (each record represent APP's
          fields, remember)  have  several  of  their  fields  blank, since
          several  CREATE  fields  are  highly specialized.  The first four
          fields you should recognize as Dbase attributes.   The fields are
          as follows:

              1  FIELD_NAME  Character     10

          Field_name is the name of the field as it appears in the database
          APP.  It is capitalized.

              2  FIELD_TYPE  Character      1

          Field_type is the type of  field  it  is.    Either "L"(logical),
          "N"(Numeric), "C"(Character), "D"(Date) are allowed.

              3  FIELD_LEN   Numeric        3

          Field_len is the maximum length the field can be.

              4  FIELD_DEC   Numeric        3

          If  the  field  is  a  numeric one, than Field_dec shows how many
          decimal places there can be.

              5  FIELD_DSC   Character     40

          Field_dsc is the first line of text that will show up on the help
          screen for  this variable  (see Section  X, "Help"  main AGS user
          Documentation)

              6  FIELD_DSC2  Character     40

          Field_dsc2 is the second line of  text that  will show  up on the
          help screen  for this  variable (see  Section X,  "Help" main AGS
          user Documentation)

              7  FIELD_TITL  Character     15

          Field_titl is the description  used by  the data  entry screen to
          refer to the field.

              8  FIELD_QRY   Character     20

          Field_qry  is  the  description  used  by the Sort Option screen.
          This should have a value only for values to be included as a Sort
          Option.

              9  SORT        Logical        1


                                                                          9
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Sort should be set .T. (Yes) if:
               a>   the value is a Sort Option.
          and  b>   if during sort, you would want Subtotals on this field.

             10  UPPER_CSE   Logical        1

          Upper_cse should be .T. (Yes) if:
               a>   the value is a Sort Option.
          and  b>   UPPER CASE VALUES = lower case values.

             11  INDEX_NM    Character      8

          If the field is a Sort Option, this is the name of the index file
          under which the index is stored.

             12  SORT_LTTR   Character      1

          If the field is a Sort Option, this is the letter it  can also be
          referred to by on the Sort Option screen.

             13  INIT_CVAL   Character     75

          If the  field is a Character field, this is the initial value the
          field would have during initial data entry.


             14  INIT_DVAL   Date           8

          If the field is a Date  field,  this  is  the  initial  value the
          field would have during initial data entry.

             15  INIT_NVAL   Numeric       19      5

          If the  field is  a Numeric  field, this is the initial value the
          field would have during initial data entry.

             16  INIT_LVAL   Logical        1

          If the field is a Logical  field, this  is the  initial value the
          field would have during initial data entry.

             17  SRCHBRO     Logical        1

          If the  field is  to be  included in  the output of the Search or
          Browse function, this is a .T. (Yes).

             18  VERIFY      Logical        1

          If the field is  going to  have verification  checks performed on
          it, this flag should be set to .T. (Yes).



                                                                         10
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






             19  BLANK_FLD   Logical        1

          If this  field MUST  have a  value for  the record to be "legit",
          this field should be .T. (Yes).   This  will come  into play when
          running the "Delete Blank Records" Function, in Housekeeping.

          C4.4      Initializing the CREATE Database

               Assuming  you've   already  defined  the  APP  database  (or
          whatever you're  calling yours),  you've still  got to initialize
          the CREATE  database to  properly reflect the various fields.  To
          do that, you must, from the  CREATE program,  build the  Shell of
          Create.Dbf.  So from the Create program, Choose Option #1, "Build
          the Shell Create.DBF".  The program will then verify you  wish to
          do that,  and make  a version  of Create.dbf which has one record
          for each field in the APP database, with the first four fields in
          each record properly filled in.

          C4.3      Editing the CREATE Database

               Now you  want to  add some  of the specific information into
          the Create database to add some spice to  it all.   Choose option
          #2, "Edit  the Create.DBF".   This  function will then ask you if
          you want to do the fields one at a time or all  of them.   Choose
          to do  all of  them (you'd do one at a time for fine tuning, when
          you become more adept at using  this beastie).   The  system will
          then choose  the first field in the APP database (first record in
          the CREATE), and display what is shown if Figure C-7.
                                                                           
                                                                           
               Field Name :MR_MRS       Type: C                            
               Length :  12  Decimal Places   0                            
                                                                           
                 What is the Data Entry Label for this Field :Mr,Mrs,Ms,Dr 
                 Enter the help description for the variable:              
                 Line #1:                                                  
                 Line #2:                                                  
                                                                           
                   Answer these only for Sort Option Variables             
                  What is going to be Sort Option Desc? Mr,Mrs,Ms,Dr       
                  Do you want subtotals on a Search with this SO? F        
                  What do you want to call the Index File?                 
                  What's the Letter used on the SO screen?                 
                  Should the sorting be done all uppercase?  F             
                                                                           
                 Should the field display in the Search/Browse  F          
                 Is this a verifiable Field?  F                            
                 Are Blank Fields allowed?  F                              
                 Enter Default Value for Data Entry:                       
                    Mr.                                                    
                                                                           
               Figure C-7     Create Edit Screen

                                                                         11
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved







          (SO Means Sort Option, by the way).

               When you've answered all of the questions, the computer will
          ask "(S)ame,  (N)ext, (P)revious,  (Q)uit".   By selecting one of
          those choices, you choose which field to change, if any.

               For most fields in your database, you're only  going to have
          to fill  in the first three lines.  More important ones (the sort
          fields) will take a little longer.  Once you're done, choose "Q".

          C4.5      Building the Create Files

               Now you're  ready  for  the  final  step  in  preparing your
          Application...building  your  Create  files.    Choose Option #3,
          Build the Support Files.   The  system will  then respond  with a
          window as shown in Figure C-8:

                                                          
             Do you want to Run this?  Y                  
                                                          
             Do you want the Create default Y or N  Y     
                                                          
               Figure C-8     Create's Initial Screen

          This Section will build the following programs:

          I(Database Name).PRG
          C(Database Name).PRG
          E(Database Name).PRG
          R(Database Name).PRG
          P(Database Name).PRG
          T(Database Name).PRG
          S(Database Name).PRG
          PR(Database Name).PRG
          W1(Database Name).PRG
          W2(Database Name).PRG
          M(Database Name).PRG   <----This one resides in the same
                                        directory as Dbase

          Create will also build empty database files (with 1 blank record)
          for use in the verification function:

          (Field Name).DBF

          Each file has a critical role  to play  in the  AGS, and  is used
          extensively throughout the system.  CREATE builds them.

               As before,  the system  will look to the what you've created
          in the Create.DBF database for information  you've provided.   It
          will then  ask you  to verify that you want to do this,and if the
          file defaults should be Yes or No Build.   Initially,  select the

                                                                         12
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          values as  they are  shown in  the Figure  C-8.   After that, the
          system will display what is shown in Figure C-9.  As you can see,
          there are  several files  that must be generated in order for the
          system to be able to run on your particular database.            
                                                 

                                                                         
                                                                         
               E>   Entry Screen File...Currently:  Build                
               I>   Initialize File...Currently:  Build                  
               P>   Public File...Currently:  Build                      
               T>   Transfer File...Currently:  Build                    
               S>   Save File...Currently:  Build                        
               PR>   Print File...Currently:  Build                      
               W1>   WPS Convert 1 File...Currently:  Build              
               W2>   WPS Convert 2 File...Currently:  Build              
               C>   C Sort Menu File...Currently:  Build                 
               R>   Reindex File...Currently:  Build                     
               V>   Verify File...Currently:  Build                      
               M>   Main Program File...Currently:  Build                
                                                                         
               Hit the letter on the left of the line you want to change 
               or Q to end                                               
                                                                           
               Figure C-9     CREATE's Main Screen


               At the  end of  each line are either the word(s) Build or No
          Build.  If you had selected  N earlier,  they would  have started
          out as  'No Build'.   To  change one, just enter the letter(s) on
          the left  that  corresponds  to  the  file  you  want  to change.
          They'll toggle from 'Build' to 'No Build'.  For the first run you
          want them all to  be Build,  but later  on you  may only  want to
          regenerate  some  of  them.   When you're satisfied, simply enter
          'Q<Enter>' and the system will then build all files (10  in all).
          The actual  names of  these files are the letter on the left plus
          the  Application  name  plus  the  extension  ".PRG".    So,  for
          example, the print file would be PRAPP.PRG.

               When you  enter Q  and hit  <Enter>, the system will display
          messages that  it's building  each file.   Once  done, the system
          will ask  you if  you want  to Reindex your Database.  If you say
          no, then the system will bomb the first time you do data entry.

               Once create is done, you  have  the  option  of  erasing the
          Create  programs.    This  will erase all Create-related programs
          (only  in  the  \DBDATA\APP  directory.    They're  also  in  the
          \DBDATA\CREATE, remember).  (You don't need them again unless you
          make changes to the database structure).   Do  not do  this until
          you're sure  everything works!   You can rerun Create, and choose
          to delete the files later!


                                                                         13
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






               If you need to  run Create  again after  deleting the Create
          files, simply:  1> Move  all ".PRG" files from the \DBDATA\CREATE
          subdirectory, 2> Run Create again!




          C4.6      A list of Create Files

          The following is a list  of  all  files  involved  in  the Create
          process:

          CREATE.PRG     Driver of Create process
          CRMAIN.PRG     Edits Main.dbf file
          CRDBBLD.PRG    Helps build database
          CRSHELL.PRG    Builds Shell Create.dbf
          CREDIT.PRG     Edit Create.dbf
          CRBUILD.PRG    Builds AGS Support Files
          CRDELETE.PRG   Deletes Create programs
          EBLD.PRG       Builds Data Entry File
          IBLD.PRG       Builds Data initialize File
          PBLD.PRG       Builds Public Variable File
          TBLD.PRG       Builds Transfer Memory -> Disk File
          SBLD.PRG       Builds Transfer Disk -> Memory File
          PRBLD.PRG      Builds Print File
          W1BLD.PRG      Builds 1st Conversion File for WP Conversion
          W2BLD.PRG      Builds 2nd Conversion File for WP Conversion
          CBLD.PRG       Builds Sort Menu Program     
          RBLD.PRG       Builds Reindex File Program
          MBLD.PRG       Builds initial program (moves from 
                         \DBASE to \DBDATA\APP)
          VBLD.PRG       Builds empty Verify Databases





















                                                                         14
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C5.0        Modifying Generated Code and Databases.

               Once Create  has done  its duty,  you're close but not quite
          there.  First, you must  make  very  small  modifications  to the
          created code, so that it will be more understandable by the user.
          Generally speaking, these modifications  are  only  necessary for
          data entry  screens or  display screens.  In these cases, this is
          limited to making them more palatable  for the  user and grouping
          the information more logically for the application.
           
          C5.1      A List of Generated Code and Files

               The following  is a  list of all Files created by the Create
          process:

          Name      Used In:            Description:
          EAPP.PRG       I         Data Entry Screen
          IAPP.PRG       I         Initialize values for new records
          PAPP.PRG       I         Sets all memory variables public
          TAPP.PRG       I         Transfers memory to disk
          SAPP.PRG       I         Transfers disk to memory
          PRAPP.PRG      I         Hardcopy printout (Inquiry/Entry)
          W1APP.PRG      W         Initialize variables for WP Conv.
          W2APP.PRG      W         Initialize more variables for WP Conv.
          CAPP.PRG       ISW       Chooses Sort Order for Access to Info.
          RAPP.PRG       H         Performs Reindexing of Data
          APP.PRG        B         Starts whole system

          Used In:
          I    Inquiry/Entry
          S    Search
          W    WP Conversion
          H    Housekeeping
          B    Beginning

               Also created are database  files (named  after the  field in
          the APP  database) which  are used  for verification (see Section
          C6.0).

          C5.2      Modifying Create-Generated Code

               There are  basically  two  files  that  usually  have  to be
          modified.    They  are  the  data entry module (EAPP.PRG) and the
          hardcopy printout file (PRAPP.PRG).  These two screens  will work
          without changes.   But  they'll work even better if you make some
          simple changes.

               To see  how your  data entry  screen will  appear, enter the
          following:

          DO PAPP   (this will make your variables public)
          DO IAPP   (this will give them initial values)

                                                                         15
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          DO EAPP   (this will display your d/e screen)

               Your screen  should show  up...if you  like it, fine.  But I
          suggest you move things around so  that they  make a  little more
          logical order.

               If you  use a  text editor  within Dbase (I prefer Borland's
          Sidekick) you can take a look at your screen after changing it by
          simply running  EAPP (you don't have to run the other two again).
          Of course, you can also  use  the  Dbase  Editor  (Modify Command
          EAPP).   Either way,  through some  relatively simple changes, it
          would be easier for a relative novice to use and understand.  The
          same  type  of  modification  is  recommended  for  the PRAPP.PRG
          program file.

               Another key thing to note is that if  your database contains
          more than  24 fields,  there are two files which MUST be modified
          (the calculated @..SAY's will be off of the  screen).   The files
          are:

          E<App>.PRG     (the data entry screen)
          W1<App>.PRG    (the WP conversion selection screen)

               The  system  will  display  a  message  to  this effect when
          needed.

          (all of this needs to be done within Dbase)


























                                                                         16
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C6.0        Modifying the Main Programs.

          The following Main files are used by the AGS:

          File Name      Note      Description    
                         Marker

          MENU           (1)       Main Menu (Sec. 3.0, Fig. 3-1)
             MAINT       (2)       Inquiry/Entry (Sec. 4.0)
             REPORT      (3)       Reports (Sec. 5.0)
             TRANS       (3)       File Transfer (Sec. 6.0)
             WPSCONV :   (2)       WP Conversion (Sec. 7.0)
                 CVWPS             Process for WP Conv
                 WSMOD             Module for Wordstar 2000
                 WPMOD             Module for Word Perfect
                 WPSMOD            Module for WPS PC+
                 DSP4MOD           Module for Display Write IV
                 DBMOD             Module for Dbase III+
                 CVWMAC            External Macro Commands
             SEARCH      (2)       Search (Sec. 8.0)
                 VERVAR            Verify variable names
             HOUSE                 Housekeeping (Sec. 9.0)
                BACKUP             Data/Program Backup (Sec 9.1)
          *     VERIFY             Data Verification (Sec.9.3)
                CONTROL            Sets Control options (Sec 9.4)
                BLANK              Deletes Blank Records (Sec 9.5)
                PACK               Erases deleted data (Sec. 9.6)
             HELP                  Help (Sec. 10.0)
                CVHLP              Process for Help
             FILTER       (2)      Selection Criteria Maint. (Sec. 11.0)
             VEREDT                Maintains list of Ver. Data (Sec. 12.0)
             REGINFO               Where Do ya send da bucks(Sec 13.0)

          Multiple Use Programs:

          ERROR
          FLTGUIDE        (4)
          FLTERR          (4)      Bad Selection Criteria mess. (Sec. 11.0)
          MANFLT          (4)
          GETFLT          (4)      Chooses Selection Criteria (Sec. 11.0)
          LIGHTBAR        (4),(5)

          Database:

          FLT                      Selection Criteria Database (Sec. 11.4)
          BROWSE                   Temporary Database for Browse
                                   (Sec. 4.0,11.0)

          Forms:

          FILTER                   Selection Criteria Rep Form (Sec. 11.0)
          VERIFY                   Verify Report Form

                                                                         17
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved







          MENUBAR.BIN     (5)      Both files used for loaded
          DBWIND.BIN      (6)      additional modules.



          !-The databases used by this program has a potential modification
          of some type or another, and are covered in this Section (C6.1).

          *-These   files   must   be   contained   in   the   \DBDATA\MAIN
          subdirectory.    All  other  files  listed   should  be   in  the
          \DBDATA\APP subdirectory.

          Note Marker:

          1-   Main  menu,  loads  the files: Menubar.bin, Dbwind.bin, sets
          the error program Error.prg.
          2-   Uses the set of Selection Criteria programs.
          3-   Basically shell menu programs,  which  can  be  added  to or
          modified as needed.
          4-   All part of the Selection Criteria entry routine.
          5-   Supplied  through  Ashton-Tate's  Dbase  Utilities, Volume I
          (good book!)
          6-   Compliments of who, I  honestly don't  know...all I  have is
          this file which works kinda nice...

               C6.1      Data Verification

               Verification   is   a   function   that   must   be  defined
          independently of each database application.    When  you  run the
          Create  function,   you  specify  the  fields  which  would  need
          verification.   A Verify  database is  created for  each of those
          fields (named after the fields themselves).  Each Verify database
          initially  contains  one  record  each.    The  database  has the
          structure as shown in Figure C-10.

          _____________________________________________________________
          |                                                           |
          |    Structure for database: C:verify.dbf                   |
          |    Number of data records:       1                        |
          |    Date of last update   : 03/18/88                       |
          |    Field  Field Name  Type       Width    Dec             |
          |        1  FIELD_NAME  Character      9                    |
          |        2  F_LOW_VAL   Numeric       10      4             |
          |        3  F_HIGH_VAL  Numeric       10      4             |
          |        4  F_OLD_DATE  Date           8                    |
          |        5  F_NEW_DATE  Date           8                    |
          |        6  FLD_VAL     Character     80                    |
          |        7  BLANKS      Logical        1                    |
          |    ** Total **                     127                    |
          |___________________________________________________________|
               Figure C-10    VERIFY Databases

                                                                         18
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved







               Verification  works  on  three  data field types, Character,
          Numeric, and Date.  There is  no particular  verification test on
          logical data types (I couldn't think of why there should be one).
          Both numeric and date checks are low value >= data  <= high value
          (greater or  equal to  6 but  less or  equal to  12, that sort of
          thing), whereas character checks  against  a  database  (with the
          same name  as the field it's checking) which contains nothing but
          a list of legitimate values for that field.

               To prepare the verify program for  use, simply  follow these
          steps:

               1>   Identify  each  field  that needs verification, and the
          limits (low and high -end, in the case of numeric or date fields.
          A list of good values, in the case of character fields) that each
          field has.

               2>   Edit (and append)  the  Create  database  so  that each
          record has the Verify field set '.T.'.

               3>   Run the  Create function.  If already run, run it again
          with only the V-function chosen as "Build":

          ("V> Verify File...Currently: Build").

               4>   Edit the Verify databases  that Create  made.  Remember
          that the  name of  the actual database file is the field name and
          with the same structure as Figure  C-9.   You would  edit them as
          follows:

               Date  Fields:    Edit  the  1st  record  so  that F_OLD_DATE
          contains the oldest acceptable date, and  F_NEW_DATE contains the
          most recent.

               Numeric  Fields:    Edit  the  1st  record so that F_LOW_VAL
          contains the smallest acceptable number, and  F_HIGH_VAL contains
          the most largest.

               Character Fields:   Append  the database  so that it has one
          record for  each acceptable  value.   Each record  would have the
          variable set to equal an acceptable value.











                                                                         19
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C7.0        Starting your System

          Real simple here.  There are three ways:

          1>   From the Dbase III+ dot prompt (and subdirectory), type in:

          DO APP <Enter>

          2>   From the Dbase III+ dot prompt and the APP subdirectory:

          DO MENU <Enter>

          3>   From the C> prompt:

          first move  to the  Dbase III+ subdirectory (assuming that \DBASE
          is it):
          CD \DBASE <Enter>
          and then enter the Dbase III+ command:
          DBASE APP <Enter>


































                                                                         20
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C8.0        Adding more Applications

               There is no theoretical limit to the number  of applications
          your system  can have,  other than  standard disk capacity.  When
          you add a new system, you need to do the  following (let's assume
          you want to add an application called Track):

          1>   DBASE AGSCR <Enter>           (create new subdirectory)
          2>   TRACK <Enter>                 (when it asks for DB name)
          3>   DO \DBDATA\CREATE\CREATE <Enter>   (although AGSCR will go
                                             into Create, just make sure I
                                             mention it)
          4>   MODI COMM ETRACK <Enter>           Modify your entry screen
                                                  (if needed)
          5>   MODI COMM PRTRACK <Enter>          Modify your print program
                                                  (if needed)
          14>  DO MENU <Enter>                    Run it!




































                                                                         21
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C9.0        Don't do the Following!

               There are  some things you shouldn't do with your AGS.  They
          include:

               a>   Defining more than four Sort Options.  (If the users of
          this system let me know there's a need, more can be added)

               b>   Using Memo fields.  (Future Release)

               c>   Use the following as field or application names:

                    Create
                    ?Bld           (any letter followed by "Bld")
                    Create1
                    Browse
                    Flt
                    Main
                    Name
                    Some others...in  the registered version I will include
          a variable map.  If you  run into  really bizarre  problems, that
          could be the reason.  Rename you Dbase variables and try again.

               d>   Do  not  use  fields  with  the  first  6 letters being
          identical to one another.

               e>   Do not change the  Create.dbf  directly  (through Edit,
          etc) without being sure of what you're doing!!

               f>   At least have 1 indexed field in the database.

               g>   Don't hesitate to let me know what kind of improvements
          you'd like to see in future releases!

               g>   Give up...


















                                                                         22
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C10.0       Registration

               Although  this  is  a  fully  functional  system,  there are
          several things that are left out.  Amongst them are:

          Specific technical documentation.
          Multiple Screens for Data Entry.
          User Classification.
          Data Values based on Formulas.
          Multi-field Sort Orders.
          Multi-Database capabilities.
          Sample Systems.
          Advanced Help Capabilities.
          Selection Criteria based on Functions.
          Better Report Handling.
          Faster running.
          Support.

          YES I plan to have a Dbase IV version...
          (If Ashton-Tate doesn't beat me to it)


               The AGS  has already  been used  in several  places, and for
          many functions.  They include:

          Inventory                               Order Entry Management
          Personnel                               Housing Title Transfers
          Housing Financial Analysis              Mailing List Maintenance
          Travel Agent Customer Maintenance       Union skills tracking
          Computer Maintenance                    Simple A/R
          Remote Data Entry                       Account Tracking
                                    Get the idea?

               As you can hopefully see, there  really is  no limit  to the
          type of  application here.  The version you have here has a limit
          of 50 records for each database placed on it.  By registering you
          version, you  would be  given an  unlimited use version.  In some
          cases, however, there  are  some  changes  which  would  make the
          system run  even smoother.   But  in order to make those changes,
          you have to have a special registered system,  which is delivered
          with  full  Dbase  code  intact!   (Shareware distributed version
          contains executable only...)

               But how do I  register?   (I hear  you cry)   Simple.   Send
          money (to support the Shareware concept) to:


               RL Coppedge, CDP                   CIS #:    72117,165
               446 Richmond Pk E 402A             Genie:    R.COPPEDGE1
               Richmond Hts, Ohio       Cleve Free-Net:     AE069
               44143


                                                                         23
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          How much  should you  send?   I leave that up to a debate between
          you, your wallet and your conscience.  (C'mon, Conscience!!)

          A general suggestion:

                         single users:       Companies, Consultants, etc.
          Executable:         $50                      $100
          W/Code:             $100                     $250

               Code  version  also  includes  some  technical documentation
          explaining what it is you see.

          Obviously, the  more support  of this type, the more likely it is
          that I would continue to improve this system  along the shareware
          school of  thought.   There are a lot of improvement currently in
          the test version 2.1...





































                                                                         24
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C11.0       Thanks and Thoughts

               This has been a  long time  in coming.   I  first thought of
          this back  when working  on a system on an Apple II in CP/M.  The
          inherent limitation of Dbase III+ I have always  thought was that
          without special programming, your data edits were always directly
          on the database file itself (I'm  sorry, but  Ctrl^Q doesn't make
          it  with  me).    Certainly  for  new users having to depend upon
          bizarre key combinations this could be difficult.  So I  tried to
          build  a  system  that  would  automatically  design,  build  and
          maintain the relationship between  the  memory  variable  and the
          database field it represents.

               With  such  capability,  it  was  relatively  easy  to  then
          generate menu's, options and  the  like.    Most  of  this  was a
          natural progression driven by my clients needs.  Some were simply
          my philosophy, which is  keep the  function digestible.   If not,
          the snazziest functions in the world aren't going to help.

               In   spite   of   Dbase's   many  additional  functions,  an
          overwhelming need for DBMS's lies not in the functions, but  in a
          smooth way to take ones ideas and requirements and move them from
          thought to paper to  keyboard to  database.   This will hopefully
          help.

               Unfortunately, the  documentation, although lengthy, stinks.
          I apologize to those who forced themselves through  it.   Keep in
          mind,  though,  that  with  the  system  understood,  the AGS can
          generate for you  a  complete  database  management/entry system,
          with the following features:

               1>   Entry screens in English
               2>   Sorted data
               3>   Browse capabilities
               4>   Data Verification
               5>   Help Screens
               6>   Word Processing Interface
               7>   Free-Form Query
               8>   Controlled Data Entry
               9>   Open Report Menu
               10>  Open Communications Menu
               11>  More, I'm sure

          ...all in  about 15  minutes.   Plus, if you maintain a number of
          systems (like I  do),  it  makes  maintaining  them  much easier.
          Training and documentation is also easier.

               The bottom  line is,  Does this  work for  you?  I guarantee
          that it probably won't for you.  I also guarantee that it you toy
          with it and play around, you might be pleasantly surprised....

          Later!!!                 Bob

                                                                         25
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved






          Section C12.0       Limitations.


               I take no responsibility for any loss of assets, tangible or
          otherwise, which occur through the use of this software.   I will
          be more  than happy  to assist anyone in the use, but I refuse to
          be a sitting duck in a lawsuit.  If you do need help from  me, be
          polite and you're much more likely to get it.













































                                                                         26
          Copyright 1988 - RL Coppedge, CDP All Rights Reserved

