Applications Generator System Main Documentation With Appendixes "Using application software saves money. Designing application software wastes it". -No one in particular by: RL Coppedge, CDP CIS #: 72117,165 446 Richmond Pk E 402A Genie: R.COPPEDGE1 Richmond Hts, Ohio Cleve Free-Net: AE069 44143 Copyright 1988, RL Coppedge CDP May 7, 1988 V2.10 1 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section # Topic Page # Section 1.0 Introduction. 1 1.1 What is an Applications Generator System? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 How to Use this Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Who Should Use it. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.4 What should you know beforehand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.5 What to do if you have Questions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.6 What is a Database? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Section 2.0 Starting the System. 3 2.1 Standard Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Turning the Machine on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Starting your Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3.1 Your Application Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3.2 Get Going! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Section 3.0 Main Menu. 5 3.1 Inquiry/Entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3 File Transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.4 WP Conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.5 Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.6 Housekeeping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.7 Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.8 Selection Criteria Maintenance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.9 Verification Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 i Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section # Topic Page # 3.10 Registration Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Section 4.0 Inquiry/Entry. 8 4.1 Choosing a Logical Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2 Entering the Key Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3 Edit the Record. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3.1 Special Keys and their Uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.3.2 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.4 Update/Release Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.5 How to Enter Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.6 How to Add a Lot of New Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.7 How to Change Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.8 How to Delete Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.9 How to Print Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.10 A Sample Entry Session. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Section 5.0 Reports. 18 Section 6.0 File Transfer. 19 Section 7.0 WP Conversion. 20 7.1 What is this for? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7.2 Output Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7.3 How to Choose Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 7.4 Choosing a Selection Criteria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.5 Choosing a Logical Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 ii Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section # Topic Page # 7.6 What to do on the WP end. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Section 8.0 Search. 25 8.1 What does Search do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 8.2 What does Search not do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 8.3 Entering Additional Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 8.4 Choosing a Selection Criteria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.5 Totals Only? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.6 Printed Out? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.7 Choosing a Logical Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.8 New Page? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Section 9.0 Housekeeping. 27 9.1 Data Backups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9.2 Reindex Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 9.3 Data Verification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 9.4 Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 9.4.1 Confirm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 9.4.2 Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 9.4.3 Bell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 9.4.4 Exact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 9.5 Delete Blank Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.6 Packing Your Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Section 10.0 Help. 33 10.1 Database Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 iii Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section # Topic Page # 10.2 Command Line Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Section 11.0 Selection Criteria Maintenance. 35 11.1 What is a Selection Criteria? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 11.2 Simple Selection Criterias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 11.3 Complex Selection Criterias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 11.4 Maintaining a Selection Criteria Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 11.5 Choosing a Selection Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 11.51 Enter a Manual Selection Criteria. . . . 41 11.52 Access the Selection Criteria Library. . 42 11.53 Use the Selection Criteria Guide . . . . 43 11.6 Selection Criteria Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Section 12.0 Verification Edit. 45 12.1 Verifying Numerics. . . . . . . . . . . . . . 45 12.2 Verifying Dates. . . . . . . . . . . . . . . 45 12.3 Verifying Characters. . . . . . . . . . . . . 45 Section 13.0 Registration Info. 47 Section 14.0 Additional Notes and Capabilities. 49 14.1 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 14.2 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Section 15.0 Suggested Ways of Learning More. 50 Section 16.0 Thanks and Acknowledgements 51 1 i Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Figure Page: Figure 3-1 The Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Figure 4-1 A Sample Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Figure 4-2 A sample Logical Order Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Figure 4-3 Entering The Key Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Figure 4-4 A Sample Data Entry Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Figure 4-5 List of Keys and their Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Figure 4-6 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Figure 4-7 Update/Release Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Figure 4-8 Update/Release Decision Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Figure 4-9 A Sample Record Awaiting Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Figure 4-10 A Sample Data Entry Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Figure 7-1 WP Options . . . . . . . . . . . . . . . 6 Figure 7-2 Output File Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 7-3 A Sample Letter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 7-4 A WP Conversion Selection Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 8-1 Search Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 9-1 Sample Housekeeping Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 9-2 Backup Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Figure 9-3 Backup Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Figure 9-4 Control Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Figure 10-1 Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Figure 10-2 Sample Database Help Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 Figure 10-3 Sample Command Line Help Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 11-1 A List of Selection Criteria Operatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Figure 11-2 Some Simple Selection Criterias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ii Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Figure 11-3 A List of Linking Conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Figure 11-4 Selection Criteria Maintenance Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Figure 11-6 Selection Criteria Entry Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Figure 11-7 Sample Selection Criteria Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Figure 11-8 Boolean Conditions . . . . . . . . . . . 14 Figure 12-1 Verification Edit Menu . . . . . . . . . 15 Note: Only Appendix C is included in the Non-Registered Version. Appendix D is included in the Registered version, and A and B is included with the actual Code. iii Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 1.0 Introduction. 1.1 What is an Applications Generator System? Well Billy, an Applications Generator System, or AGS is used to allow development of computer software in a much faster and more efficient manner than before. By merely entering into the system certain qualities and capabilities you need along with a specific database format, the system automatically generates over 90% of the computer code necessary to begin entry, modifica- tion and retrieval of information...that's like taking an eighty hour programming job and finishing it before you leave for lunch... Throughout this document you'll not see a specific database, field or application mentioned (except for examples). That's because the manner in which one application works is the same way all of the others do as well. Which means that this document can serve as documentation for everyone, with minor additions and modifications. 1.2 How to Use this Document. This document is intended to introduce people to the way that information is entered, modified and used with the Applica- tions Generator System (AGS). This is not intended to be an introduction to computers, nor is it intended to show people everything there is to know about Dbase III+. Far from it. There are far better documents, training tools and the like for that task. This document is to be used simply to understand how to use the AGS. This document is also not intended to be used to create an application through the AGS. This document assumes that all of this has already been done by someone familiar with the system. If there has been no creation done yet, than this document is really useless. However, it is recommended reading prior to running the Create mode so that the Creator will understand better how to define the database (as well as the Create.Dbf file, which is better defined in the Create Documentation, Appendix G). 1.3 Who Should Use it. This document should be used by anyone who is interested in entering, modifying, reporting or just plain looking at informa- tion that is contained in your particular application. It can also be used for someone who on a more limited basis may want to look at the information once in awhile. 1.4 What should you know beforehand. 1 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. The person who is going to try to use this system really should be familiar with some of the jargon associated with computers, but certainly does not need to be anything near an expert. However, without a doubt it helps to be comfortable with the machine at hand. Take advantage of some of the tutorials, books and other learning tools that are available. Learn how to use the machine, and what most of the keys mean. Also in some places we have given you descriptions on what to enter for certain conditions. When we speak of , we mean to push the key itself, not type in the word "Enter". 1.5 What to do if you have Questions. Everyone is going to have a question, or is going to be stuck at one point or another. However, don't let it bother you. We have done everything we can to ensure that the informa- tion is protected against accidental damage. Also, since you are doing backups on a routine basis, even if there is some catastro- phic damage, the time to bring you up to date should be minimal. So go ahead and call for support...or try to solve it yourself. Again, you really can't mess things up too badly...as long as you're doing backups!! (See Section 9.1, Backups). As the author of the AGS, I will make myself available to some degree, but don't expect too much. (Especially if you're not a registered user) 1.6 What is a Database? Knowing the technical information about a database is really unimportant here. What you need to know in order to use it is simply that a: Database: is a collection of specific information that can be used or retrieved in an organized fashion and method. Record: is an individual member (or transaction) of that database that refers to one specific instance or case contained in the database. Again, PLEASE! Don't take my definitions. Learn from other sources much better than this. 2 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 2.0 Starting the System. 2.1 Standard Configuration. Unless different for a particular application, the following is a list of requirements for the AGS to work on a system. An IBM XT, AT, 286, 386, PS/2 or 100% compatible 640 KB RAM 1 360 or 1.2Mb floppy disk drive 1 10 MB hard drive 1 Printer Monitor + keyboard (rather obvious) Dbase III+ (From Ashton-Tate) or lookalike Note that FoxBase+ is contained in the file FOXAGS.ARC DBXL does not have a version as of yet. And the following directories (which are set up by the Create function): C: (is the Drive): C:\DBDATA\MAIN where the Dbase III+ utilities are C:\DBDATA\HELP where the HELP DBF files are stored C:\DBDATA\CREATE where the Create Programs are stored C:\DBDATA\(Appname) is where the application programs and data are stored. Note that there can be several applications on this disk...each one would be stored in a different C:\DBDATA\(Appname) Although the monitor type (monochrome, CGA, EGA) really won't make a difference, make sure your file CONFIG.DB is properly set up (see you Dbase III+ documentation for details on that). On some monitors the Help screen may work a tad flaky (not going away when you hit any key). We're working on that. As far as printers go, there are no special print characters used in this system (to ensure smooth transportation from one machine to another). Maybe in a later release. 2.2 Turning the Machine on. Of course, like any great adventure, this one begins with a single step. Turn the machine on. Usually you can do this without worrying about where a floppy disk is, just flick the switch. Make sure that the monitor (TV screen) is turned on, and that the printer (if you plan to use it) is both on and on-line. 3 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. 2.3 Starting your Application. Ok, so you've gotten this far...you've turned on the machine, and you've read the menu on the screen. Now you're ready to begin your database application. 2.3.1 Your Application Name Each Dbase application has a name associated with it. This name serves several functions. In our sample menu previously discussed, the Application Name was "test". It: Is the name of the subdirectory on Dbase (ie, path = C:\DBASE\TEST) Is the name of the Database File (ie, TEST.DBF). Is used for creating several program files for various purposes throughout the system (ie, ETEST.PRG, W1TEST.PRG, etc.) You should know your application name, and always keep it in mind! 2.3.2 Get Going! Enough! To start your system, you would move to the Dbase directory and start Dbase with the command stated in such a way so it would also immediately execute your application's menu. For example, in our sample, we were using "Test" as our applica- tion name. So, we type in the following: DBASE Test Upper case, lower case, it doesn't matter. The system should then bring up the Dbase III+ main screen, and then clear again and display the Applications Main Menu. You are now in! (yea!) 4 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 3.0 Main Menu. The main menu is a list of tasks that you can perform. All tasks are related to the same database (or to hidden databases that support it). All programs supported by the AGS can be accessed through the main menu. The only exceptions to this rule would be a special need created by a particular application. Only by entering the system through the main menu are you assured of initializing all variables to their proper values. If you were to try to access the programs from outside of the menu, even if the screens seem to work, they probably are doing something unwanted in the background. So please, access the system through the main menu only, and be careful when you don't. Prior to the Main Menu appearing, the system will perform a number of test on the system. Should any of the Create files (see Appendix C) be missing, the system will inform you. Also the system will verify that there is at least one indexed field, and that the index files exist. When the Main Menu appears, you will be given a list of tasks. There may be some tasks which appear on your screen that are not in the documentation here. This is due to the fact that there are certain capabilities on these systems that are in addition to the main functions, which are listed below. More information on these tasks can be found in Appendix D, Specific Database Information. On most systems, the main menu looks something like this: |-----------------------------------------------------------| |Test Database System | |Choose from the following: | | | | | |1> Inquiry/Entry 7> Help | | | |2> Reports 8> Selection Criteria Maint| | | |3> File Transfer 9> Verification Edit | | | |4> WP Conversion 0> Registration Info | | | |5> Search | | | |6> Housekeeping | | | |For help on any one of these, press -# | |Which one do you want (Q to quit) | | | |___________________________________________________________| Figure 3-1 The Main Menu [Valid Responses:1,2,3,4,5,6,7,8,9,0,Q,q,!,@,#,$,%,^,&,*,(,)] 5 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Note that in place of Test Database will be the title (which is more descriptive and longer than the application name) of the database/application. 3.1 Inquiry/Entry. Inquiry/Entry is the function that allows you to inquire (look at), add, change, delete and print information contained in the database. Access to the information is on a record-by-record basis, and can be accessed according to several parameters(see Section 4.1 Choosing a Logical Order). See Section 4.0, Inquiry/Entry. 3.2 Reports. Reports will list and give access to the various reports that have been developed specifically for your particular database. Note that originally this menu is a dummy menu program. See Section 5.0, Reports. 3.3 File Transfer. This task will allow and control communications with other computers (for those systems with these capabilities). Note that originally this menu is a dummy menu program. See Section 6.0, File Transfer. 3.4 WP Conversion. This task will set up a file for you to use your database information to produce special form letters, labels, etc. using your Word Processing Mail Merge (also known as "List Processing") capabilities. It works currently with: WordStar 2000 WordPerfect WPS PC+ DisplayWrite Dbase III+ See Section 7.0, WP Conversion. 3.5 Search. This tasks allows the user to inquire information under specific conditions existing in the database. See Section 8.0, Search. 3.6 Housekeeping. This menu controls several support functions (backup, etc.) 6 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. available to the user. See Section 9.0, Housekeeping. 3.7 Help. This task gives the user on-line help concerning the database and its fields. See Section 10.0, Help. 3.8 Selection Criteria Maintenance. This task allows the user to set up and maintain selection criterias which would be commonly used. See Section 11.0, Selection Criteria Maintenance. 3.9 Verification Edit. Certain fields have limitations set on them by their creator. Verification Edit allows you to change or add to the limitations. 3.10 Registration Info. This gives you information on how to register this version of AGS, if necessary. (See Seciton 13.0) 7 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 4.0 Inquiry/Entry. Inquiry/Entry (or, just "Inquiry") is probably the most important task in the system to understand. Through this function data is added, changed, deleted or just looked at. Let's create a sample database that we can work with. This database will be given the task to analyze the various types of property we have in a particular area. With that in mind, we might come up with the following structure(this is a slightly modified "DISP STRUC" Dbase command): ____________________________________________________________ | | |Structure for database: C:test.dbf | |Number of data records: 4 | |Date of last update : 07/01/87 | |Field Field Name Type Width Desc | | 1 E_DATE Date 8 Date of Entry | | 2 ST_NUM Character 8 Street Number | | 3 ST_NAME Character 20 Street Name | | 4 PARCEL Character 10 Perm. Parcel # | | 5 CEN_TRACT Character 5 Census Tract | | 6 CEN_BLOCK Character 3 Census Block | | 7 SCHOOL_D Character 4 School District | | 8 UNITS Numeric 3 # of Units | | 9 PROP_TYPE Character 2 Property Type | | 10 OWN_NAME Character 20 Owners Name | | 11 O_ADDR1 Character 30 Owners Add #1 | | 12 O_ADDR2 Character 30 Owners Add #2 | | | |** Total ** 143 Bytes per Record | |___________________________________________________________| Figure 4-1 A Sample Database Structure When we want to look at, add or change this database, we would perform the following steps: a> Choosing a Logical Order. b> Enter the Key Field. c> Edit the Record. d> Update/Release Record. 4.1 Choosing a Logical Order. This is the first option that shows up after the main menu. In order to access the information, you must tell the computer which way you want to access it. This is called the logical order. A logical order is based on a single variable, as long as it is contained as a variable in the database themselves. In Dbase III+ terms, choosing a logical order is really just a matter of choosing which index file will be active. 8 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Once the logical order has been determined, then you must indicate what specific value for that logical order you want to see. Now, what kind of sorting would we want? The real question to ask is, "What are the various ways I would want to recall information to the screen?" In this case, the answer could be: 1> By Street Name. (I want to look at an area) 2> By Property Type. (I want to look only at commercial properties) 3> Add new ones. (I don't want to see any, I just want to add more) 4> Browse. (I want to look at special conditions) (See your Dbase III+ documentation for more details) For something with these options, the Logical Order screen would look like this: ___________________________________________________________ | | | Enter one of the following methods to access the | | Test Database: | | | | 1> By Street | | 2> By Property Type | | 3> Add New Records | | 4> Browse | | | | Enter your choice here (or "H" for help, "Q" to quit) | | Well, what'll it be? | | | |___________________________________________________________| Figure 4-2 A sample Logical Order Menu (Valid Responses:1,2,3,4,H,h,Q,q) 4.2 Entering the Key Field. Let's assume that you wish to identify the record that you want to change by using the Street Name. That is the key field you wish to enter (you would choose this option by entering a "2" at the above screen). Since you have identified the logical order as the Street Name, the system is now going to state: In Dbase III+ terms, you are entering the variable with which you wish to "Seek". 9 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. ____________________________________________________________ | | | Enter Street Name you wish to modify: | |___________________________________________________________| Figure 4-3 Entering The Key Field. If, for example, you wanted to find a property that is on "ANYSTREET", you would type in: ANYSTREET 4.3 Edit the Record. The system will then look through its database to find any occurrence of a Street Name of "ANYSTREET". If it cannot find one, it will flash the message "NOT FOUND-- ADDING NEW RECORD". But in either case, the database screen will appear. If it is a new record, the values of the data will be at their initial values. But if there was an "ANYSTREET", the information will appear on the screen. A sample screen appears below: _____________________________________________________________ | | | Del_flg:NOT | | NOT FOUND-- ADDING NEW RECORD | | Entry Date: / / | | | | Street Number: Street Name: ANYSTREET | | Permanent Parcel #: | | Census Tract:Census Block: | | School District:# units for property: 1 | | Property Type: | | Owners Name: | | Owners Address #1: | | Owners Address #2: | |___________________________________________________________| Figure 4-4 A Sample Data Entry Screen. In the example above, this is a new record being added (notice the "NOT FOUND..." message). As you can see, there is some information already included on the screen, even though there has been no entry. For example, the computer has already filled in the Street Name field with "ANYSTREET" (since that was what you had requested). Also, the Entry Date was assumed to be today's date (in this case 24 Jul 87) and the number of units was a default of "1". The cursor is placed at the top left of the screen at the beginning of the block reserved for "Entry Date". The system has placed the blank date in that field. If you want to change it, simply type in a new date (It must be a valid date. Also, don't put the '/'s in. The computer handles that). 10 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. 4.3.1 Special Keys and their Uses When you are finished with the date, either the key or the key will move you to the next field. Figure 4-5 shows the various keys used during data entry. These are standard keys for use is Dbase III+ entry. See the Dbase III+ documentation for more information. _____________________________________________________________ | Key Function | | | | Denotes end of a field, moves to | | next one | | Moves one character to the left | | within field | | Moves one character to the right | | within field | | Moves to previous field | | Moves to next field or ends entry (for | | last field) | | Moves to next field or ends entry (for | | last field) | | Erases character immediately to the | | left of cursor | | Erases character cursor is resting on | | Toggles Insert On/Off | | Moves cursor to first field on screen | | | | Ends input | | Ends Input | |___________________________________________________________| Figure 4-5 List of Keys and their Functions. 4.3.2 Data Types Keep in mind at all times the limits to the various types of data. Each type of data has their own limitations. Referring back to Figure 4-1 shows the four types of data used by the AGS. They are Character, Numeric, Logical and Date. Some of their characteristics are outlined in Figure 4-6. At this point in time, AGS does not support Memo fields. Perhaps in a future release. Character fields are most common, and are used to contain "alphanumeric" (containing both alphabetical and numeric charac- ters) information. However, they cannot be used as numbers, nor as dates, and therefor have extremely limited computational value. A numeric field, as its name implies, contains numeric 11 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. information that is to be used computationally. For example, the field units in our test (back in Figure 4-1) would have possibly a 2 contained within (representing that the property has two units within it). The zip code (not used here) may be "44118", but it is not a number. It's important to keep the distinction in mind. A date field contains a valid date, using the format "MM/DD/YY". Yes, it keeps track of leap years. Finally a Logical Field is a simple Yes/No field. In our test, we have a field called Del_flg. It is either Yes or No, and cannot have any other value (Yes/No is also called True/False, 1/0, On/Off, but the idea is the same). _____________________________________________________________ | | |Type Valid Invalid Comments | | | |Character "Waldo!" True Character is the | | "413" 413 most common type. | | "January 5" 01/05/87 | | | |Numeric 413 "413" Numeric follows | | 41.3 41 3/10 standard math | | -5.234 rules. | | | |Date 12/23/87 "12/23/87" Must be in | | 12/33/87 valid mm/dd/yy | | Jan.6 format | | | |Logical .T. T These are the | | .F. F only valid | | .Y. Yes values for | | .N. nope Logicals | | | |___________________________________________________________| Figure 4-6 Data Types Each data type fills a vital role and is critical in some way or another. When entering data, the system will automat- ically check whether your input is valid to the field you are currently on; if it is not, an buzzer will sound, and the cursor will not show your attempt on the screen, nor will it let you move on until the data is good for that field. 4.4 Update/Release Information. When you are finished entering the information, the system will flash on the second last line of the screen a particular command line (see Fig 4-7). This command line lists the six things that you can do with the record you have just edited. 12 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. _________________________________________________________________ | | |#-Hlp 1-Sve/Ex 2-Save/Nxt 3-Print 4-Del 5-Qt/Ex 6-Qt/Nxt| | | |_______________________________________________________________| Figure 4-7 Update/Release Command Line Of the six options you have listed, #'s 1,2,5,6 are rather interrelated in how you dispose of the information you have just entered. # 3 and 4 are independent. #3 Print. This option will print out the record onto your printer (with no particular print controls or anything). It will then return you to Figure 4-7's command line. #4 Delete/Undelete. This option will mark the record for future deletion. It will not actually remove the record from the file. To do that, see Section 9.6, Packing Your Database. This leaves #'s 1,2,5,6. There are two questions that are asked after you have entered your record. They are: 1> Do I want to save what I just did? 2> What do I want to do next? Each question has two possible responses. The first one is a simple Yes/No Question. It deals with the possibility that you do not want to save what you just did (you were just looking, or you changed your mind). If you want to save it, the computer will update the file contained on the disk. If you do not, the system will simply ignore the information as if it never hap- pened. As to the second question. There are also only two answers, but they are not Yes and No. They are: 2a> Return to Main Menu. 2b> Go to the next record. The first one is simple enough. It simply refers to the idea of returning to the Main Menu (shown in Figure 3-1), basically saying you're done with Inquiry/Entry. The second one will simply look for the next record after this one. The next record is defined by the choice you made concerning the Logical Order (see Section 4.1, Choosing a Logical Order). If we continue with the idea that we chose Logical Order # 2 (by Street, according to Figure 4-2) and our key field we entered was "ANYSTREET", the system will look for the next occurrence of "ANYSTREET". If the system cannot find one, it will act as if it was adding a new record. 13 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. So, those are the two questions. And since there are two possible answers each, there are a total of four possible combinations of the two (see where we're going?) Figure 4-8 shows a decision table of the four questions. By cross-referencing the two answers, you will find a number. That is the number that you would enter in response to the Update/Release Command Line. ____________________________________________________________ | | | | Return to Menu? Y | N | | -------------------------+-------+--------| | | Update Disk? Y | 1 | 2 | | | |-------|--------| | | N | 5 | 6 | | | |----------------| | | | |___________________________________________________________| Figure 4-8 Update/Release Decision Table 4.5 How to Enter Information. There are a few tips to entering information. They are: Stay consistent with your cases on entering Character information (small letters vs. CAPITAL letters). Although the system can be set up to ignore the differences, you should strive to maintain consistency. Watch out against adding blank records to the system. (But if you do, there's a way to get rid of the in Housekeeping) As a rule, only use option #'s 1 + 2 when you really are updating information. Careful with deleting records... Be true to your school. If you are ever getting information in the wrong places, your first step should be to reindex your files (see Section 9.2, Reindexing Data). And never let them see you sweat. 4.6 How to Add a Lot of New Information. Adding new information is rather simple. Choose Logical Order #5, Add New Records (See Section 4.1, "Choosing a Logical Order" and Figure 4-2). The system will not ask you for a key field, and will simply initialize a new record. However, you have to watch out because the system will not tell you if a 14 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. duplicate record exists. 4.7 How to Change Information. If you want to change information about a particular record, simply call up the record, (using Logical Order 1,2 or 3. It's up to you) and then change it all you want, using the keys as described in Figure 4-5. By entering information over or in addition to what was there previously, you are replacing that data on the screen only. Once you are finished changing the information and you hit get the Update/Release Command Line (see Figure 4-7), you should then review the changes you have made. If you want to retain the changes, choose either option # 1 or 2 from the Update/Release Command Line (See Section 4.4 Update/Re- lease Information, and Figure 4-8). If you choose either #1 or 2, the information is then written permanently (until you change it again) to the disk drive of the computer. Choosing option #5 or 6 will cause the changes you have made to be erased, and the record will revert to its original form (which contained what was there when it first came up on the screen). 4.8 How to Delete Information. Real simple. Call up the record, then the Update/Release Command Line and select option #4 (Delete). If you would call the record up again, you would see that in the upper right-hand corner, the display would say Del_flg: DELETED. This means that the record is marked for deletion. IF you have a change of heart and decide not to delete it, simply select option #4 (delete) again. But once you perform the Pack function (see Section 9.6, Packing Your Database) , that record is gone forever. 4.9 How to Print Information. Also easy. Call up the Record, and select Option #3 (Print). Assuming you have a printer on-line and ready, it should begin instantly printing out a hardcopy. wow! 4.10 A Sample Entry Session. Assuming that we have one new record to enter. Let's start from the beginning, with the system turned off. Before we turn the machine on, we have to understand what it is we're going to enter. The information should be organized in such a way that you can easily tell what should be in each field. Let's assume you've done that, and the data you're going to enter is in Figure 4-9. 15 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. _____________________________________________________________ | | |Field Field Name Desc | | 1 E_DATE Date of Entry Today's Date | | 2 ST_NUM Street Number 1436 | | 3 ST_NAME Street Name Anystreet | | 4 PARCEL Perm. Parcel #53-233-43 | | 5 CEN_TRACT Census Tract 1406 | | 6 CEN_BLOCK Census Block 22 | | 7 SCHOOL_D School District (don't know) | | 8 UNITS # of Units 1 | | 9 PROP_TYPE Property Type I | | 10 OWN_NAME Owners Name Waldo | | 11 O_ADDR1 Owners Add #1 64 Main St. | | 12 O_ADDR2 Owners Add #2 Ny,Ny 12345 | | | | 1st Value: Computer's Field Name | | 2nd Value: Description as on Screen | | 3rd Value: Data to be Entered for Record | |___________________________________________________________| Figure 4-9 A Sample Record Awaiting Entry Now you will notice that for one field, School District, we don't know the value for that field. Perhaps we'll learn it later, perhaps not. But we want to enter the record now. Figure 4-10 shows a step-by-step procedure for entering the record. 16 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. _____________________________________________________________ | | | Step Fig Desc Action | | # | | 1 Turn Machine on. Flip switch on. | | | | 2 2-1 Start Application. "Dbase AppName" (See| | Sec. 2.4 | | | | 3 3-1 Begin Inquiry/Entry "1" | | | | 4 4-2 Choose Logical Order "4" | | | | 5 4-4 Begin Entering Data Enter information | | given in Fig 4-9 | | according to Sec. | | 4.3 | | | | 6 4-7 Update/Release Line If Data good, | | choose #1, else | | choose #5. | | | | 7 3-1 Exit from System "Q" | | | | 8 Turn Machine off. Flip switch off | | | | Notice that there are quotations (") around the var- | | ious Actions. Do not enter these. | |___________________________________________________________| Figure 4-10 A Sample Data Entry Session 17 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 5.0 Reports. Reports are critical in that they are the main method other than inquiry we use to process the information to others and it is the only way in which we can organize the data and produce it in a form that is more usable. Whereas the inquiry function outlined in Section 4.0 is useful for looking at individual records, reports are needed to look at all records, and how they relate. Reports are produced and designed with specific the applica- tion in mind. You should refer to the documentation of your application for more information. 18 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 6.0 File Transfer. File Transfer is an activity that takes place when the system used is going to engage in any communication activity connected through network, data switch, direct wire or modem to another computer (or group of computers), or simply importing from another application. File Transfer controls the preparation of data to be sent from one point to another. At this point it is a dummy menu, but open for enhancement. An example which has been used in the past is to have this option drive updates to the database received from a minicomputer system. 19 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 7.0 WP Conversion. 7.1 What is this for? WP conversion provides (although not for every application) an important side benefit for your data. It allows you to prepare List Processing (aka MailMerge) files directly from your database. This function should be used by people familiar with the various Word Processing capabilities associated with List Processing. There are currently five packages supported by AGS, and more can be introduced in the future. Let's use our test database as an example. Suppose that a school in the school district "Wise" was giving an open house on a particular date. Now, it's easy for Word Processing to generate a letter telling people about this. We could then make a lot of copies, and everyone would get a form letter. But wouldn't it be better to send a personalized letter to everyone in the school district? Of course it would! WPC allows you to prepare files that would allow us to send a letter to everyone that owns property in the Wise school district (as long as they're contained in the database). The letter would be add- ressed to the owner personally, and would go out only to those in the Wise District. 7.2 Output Format. The first item of information asked for by AGS here is which WP package you want to convert to. This is done through the menu you see in Figure 7-1. The following translation types are available: 1> Dbase ---> Word Perfect 2> Dbase ---> Word Star 2000 3> Dbase ---> WPS PC+ 4> Dbase ---> Display Write IV 5> Dbase ---> Dbase (setup a new database) Which type do you want to do (H help, Q to quit)? Figure 7-1 WP Options By choosing #1-5, you will determine the format of your output file. In some cases, other WP packages would also work here without modification. 7.3 Output File Name. The first thing that we are asked in WP Conversion is the name of our output file. This is where all of the prepared information is going to go. It is a temporary file (you should delete it soon after producing the letters) and for the most part 20 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. should be relatively small. The name cannot be more than seven letters long. (See Figure 7-2) It will be produced in the \DBDATA\'Application Name' subdirectory. The extension of the file will be: Package Name: Extension: WordStar .WS WordPerfect .WP WPC PC+ .WPS DisplayWrite .DSP Dbase .DBF (Notice that the dbase option will actually create a new database. This is for situations where you want to 'play' with data without upsetting your main system) _____________________________________________________________ | | |What is the Output File name(H help, Q to quit)? | |___________________________________________________________| Figure 7-2 Output File Name Also keep in mind that some WP programs (WordStar 2000 MailList especially) is particular about the database structure (See the WordStar 2000 MailList Reference manual Page 40). Make sure that you write down the file name you use so that you don't forget it later. 7.3 How to Choose Fields. There are a total of 13 fields in the test database we've been using. Out of them, however, we really only need 5 of them to send this letter to the property owners. Prior to running this function, we should have the letter written out. We've done so, and the results are seen in Figure 7-3. Keep in mind that we do not need to actually enter the letter into the Word Processor prior to our running the WP Conversion function, but it doesn't hurt to do so. _____________________________________________________________ | | | | | | | | | | | Dear ; | | | | As owners of the property at , | | we thought that you might want to take a look at | | our wondrous Wise school system here. It's really | | a thrill to think that people like you would ever | 21 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. | think to give their children's minds up to us! | | | | We're having an open house on Thursday, August | | 10, at 7:00. Hope you can attend! | | | | Sincerely, | | | | Waldo Muckenfloss | | School Muckraker | |___________________________________________________________| Figure 7-3 A Sample Letter (Hey, I write programs, not open house letters!) You will notice that I have bolded where we will need data from the computer put in for each individual letter. So, the fields we need are: Own_name O_addr1 O_addr2 St_num St_name At first glance you might also think that we need the school district itself (School_D). But we don't that in the letter, we need it to select which records we are going to produce. That comes later, in section 7.4, Choosing a Selection Criteria. Now, since we know which fields we're going to need, we're ready to proceed to the next screen. Immediately after choosing a file name, the system will display a screen with all of the possible fields displayed (See Figure 7-4). 22 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. _____________________________________________________________ | | | WP List Processing Selection Screen For Test Database | | | | 1>Entry Date: 2> Street Number: | | 3> Street Name: 4> Permanent Parcel #: | | 5> Census Tract: 6> Census Block: | | 7> School District: 8> # units for property: | | 9>Property Type: 10> Owners Name: | | 11> Owners Address #1: 12> Owners Address #2: | | 13> Deleted Flag: | | | | Which one do you want to change (H for help, Q to quit)| |___________________________________________________________| Figure 7-4 A WP Conversion Selection Screen You'll notice that this looks strangely like the entry screen (see Figure 4-4), except that there is nowhere to actually enter information. That's because the only information needed is whether or not you a particular field to be included in your output file. Also each field description has a number immed- iately to its left. To choose a field, simply enter the number. Once chosen, that field will flash in inverted color. If you've chosen one mistakenly, simply choose it again, and the field will revert to its normal color. Keep doing this until you have chosen all fields you wish to be included in the file (in the case above, you would enter: 2,3,10,11,12). After you have all of the fields you want, enter a "Q" to signify that you are done. 7.4 Choosing a Selection Criteria. The next question asked by the system is concerning your selection criteria. (See Section 11.0, "Selection Criteria Maintenance") 7.5 Choosing a Logical Order. Usually for List Processing type of applications this is rather unimportant. If there is a particular order you want, then you should select accordingly; otherwise, any order will do. One thought here is if you do this enough, you should make the Zip code of the address a Logical Order, possibly saving some costs on postage. At this point the system will begin its search and will display an appropriate message of "Do Not Touch Me!!", encour- aging people to leave it alone while it's working. For larger files, the system will generally take approximately 1.5 seconds for each selected record (dependant on so many things that I wouldn't even come close to guaranteeing that rate). 23 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. 7.6 What to do on the WP end. Once that is completed, you should copy your file (using an appropriate DOS command) to your Word Processing Sub-Directory. Once that is completed, you should refer to your Word Processing documentation on how to proceed. Some packages will require you to build file layouts corresponding to the layout you requested. The fields are sent to the file in numeric order, as opposed to the order in which they were chosen. 24 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 8.0 Search. 8.1 What does Search do? Search gives a non-technical person with little or no computer experience the ability to ask simple "how many" ques- tions, like "how many people have moved into the Wise school system since January?" without having to struggle with either the computer or more knowledgeable computer people. In Dbase terms, it does little more than a combination of "List fields for " and Total, Count and Average for same. 8.2 What does Search not do? Search is not a report writer. It is not meant to take the place of standardized reports. It is meant as a simple free-form function that can make those unplanned research questions a little easier and faster to answer. The output of Search is not intended to presentation-ready, not should they be distributed without proper explanations (any data can be misleading if not presented properly). The output that Search provides is limited to two or three particular fields (defined by the specific database), and one user defined field. If this field is numeric, than the totals and average values are automatically given at each break (a break is where the value in the logical order chan- ges). Figure 8-1 shows a list of all options given in Search. As you can see there are several items that go into a search. Most of them have to do with paging or the output format. _____________________________________________________________ | | |1> Enter the Field name you wish to see (H/Help, Q/Quit)? | |2> Enter the selection criteria you're looking for | | (H/Help, Q/Quit, =,>, etc.) | |3> Do you want only totals? (Y/N H/Help Q/Quit) | |4> Do you want this to be printed out | | (Y/N, H/Help, Q/Quit)? | |5> Choose a Logical Order (See Figure 4-2) | |6> Do you want new page on each group (H/Help Q/Quit)? | | (#6 only if print is chosen and the Logical Order is | | a sortable one) | |___________________________________________________________| Figure 8-1 Search Options 8.3 Entering Additional Field. This is the first question from Figure 8-1. Here you would enter the name of a field that is in your database (see Figure 4-1) structure. Usually this is the value or information that is 25 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. most pertinent to your immediate question. If, for example, you were asking the question: "What types of properties are being sold in the Wise school district?", you would want to see Prop_type be the output. (School_d wouldn't be a good choice. That would work well for the selection criteria [see Section 11.0, Selection Criteria Maintenance].) 8.4 Choosing a Selection Criteria. Question #2 from Figure 8-1. Through the use of a selection criteria, you can specify the type of information that you want to be included in the Search. See Section 11.0, Selection Criteria Maintenance for more detailed explanation. 8.5 Totals Only? Question #3 from Figure 8-1. Answering "Yes" to this option will result in only totals being given (basically how many records fit the condition laid out in the selection criteria). 8.6 Printed Out? Question #4 from Figure 8-1. As this would seem to indi- cate, a "Yes" response would result in the Search result to be sent to LPT1 (line printer #1). 8.7 Choosing a Logical Order. Question #5 from Figure 8-1. This is very similar to choosing a Logical Order for either Inquiry/Entry, or Word Processing Conversion (see Sections 4.1 and 7.4, Choosing a Logical Order). The logical order that you choose defines the order and grouping of information that you seek. 8.8 New Page? Question #6 from Figure 8-1. If you Choose "Y" to this option, every time that the logical order chosen in Section 8.7 changes, the printer will issue a Top of Form command, and a new page will be printed. Again, this will only be displayed if the output was going to the printer. 26 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 9.0 Housekeeping. There are several tasks that must be performed that have no direct bearing on the gathering or manipulating of information; yet they are critical to the smooth functioning of any infor- mation-based system. These tasks are contained under the Housekeeping menu. Figure 9-1 shows the sample Housekeeping Menu. _____________________________________________________________ | | | Test Database System | | Housekeeping Menu | | Choose from the following: | | | | 1> Data Backup | | | | 2> Reindex Data | | | | 3> Data Verification | | | | 4> Control | | | | 5> Delete Blank Records | | | | 6> Pack Database | | | | -# to get help on any of the above | | Which one do you want (Q to quit) | |___________________________________________________________| Figure 9-1 Sample Housekeeping Menu 9.1 Data Backups. People who do not back up their data are simply not playing smart. There are countless examples of large amounts of irrep- laceable data being lost forever simply because the user failed to take the 10-15 minutes a week it takes to save their informa- tion. Computer-stored information is very vulnerable to certain types of accidents. Someone could accidentally or intentionally erase the information, or the information could be "damaged" by a strong fluctuation in power or a total power outage. If this occurs, the information is lost. It cannot be recovered or retrieved ever again. Data backups prevent this from happening to you. By running this particular process, the information is stored onto another diskette which can then be removed from the area for safekeeping (usually you home). It pays, however to have several copies, some older, some more recent (if it turns out that you have had 27 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. bad data for some time and only now have discovered it). There are all sorts of arguments concerning backing up of your data; why's and all of that. Suffice to say that everything can be lost if you don't. Enough of that. Now, how do you do it? Simple. When you select a data backup from the list of housekeeping options (Figure 9-1, Sample Housekeeping Menu) another menu will appear, the Backup Menu (see Figure 9-2). There are two options given to you, Program Backups and Data Backups. What they do is very different from one another. _____________________________________________________________ | | | This screen is for the backing up of your | | system. It should be done on a routine basis (like | | weekly at least). | | | | There are two types of backups... | | | |1> Program Backups (when there have been changes to | | the system | | | |2> Data Backups (when you have made changes to your | | data. | | | |Note that while #2 should be done more often, they | |should BOTH be done regularly. | | | |Enter -1 or -2 for Help | | WAIT Which one do you want to do(1/2/Q) TO Begin | |___________________________________________________________| Figure 9-2 Backup Menu Program Backups are done whenever there are changes made to the programs that run the system. To the user it may appear that there are few times when this is the case, but there may be more than meets the eye, depending on the amount of programming that's going on. If you're not sure, do this around once a month. Data Backups are done whenever that are changes made to the information contained within the database itself. This can be a often as several times a day, or as rarely as one a month. Just keep in mind that if the system were to go down right now, whatever you have put into your system since you last did a backup would have to be re-entered. If you're really comfortable with that, then you're doing fine...(or not thinking it through) Whichever of the choices you make, Figure 9-3 shows the message that the system will display after choosing. 28 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. ____________________________________________________________ | | |Place backup program diskette in drive A | | and hit return to begin (q to quit) | |___________________________________________________________| Figure 9-3 Backup Message At this time you should place a diskette (on that contains nothing of value) into drive A, shut the door, and hit return. The computer will display an appropriate message soon afterward and return to the Housekeeping Menu. 9.2 Reindex Data. This option should be the first step in any troubleshooting operation. If a particular problem has appeared (like, "I put that data in yesterday and now I can't find it!") your first step (yes, prior even to calling for help!) should be to do this. Database information is indexed. That means that there is an index file (located separately from the main data file), that points to the location of the information according to a logical order. That key is dependant on the application (See Section 4.1, Choosing a Logical Order for more detailed explanation). A reasonable analogy would be the card catalogue file at your local library. The card is smaller, easier and faster to access and make use of, and points to the location where the book is located. If the index file is corrupted, than the link between the index and the regular file is lost. Reindexing fixes that. Reindex will take anywhere between 1-30 minutes (depending upon the size of the database. It should be consistent for your application). In addition to when there is a problem, you should run reindex once a week just for the heck of it. 9.3 Data Verification. Data Verification will list all of the fields that were set up for Verification during Create (See Appendix C). You may choose a single field, or all of them. The system will then match your values currently contained in the database against those found in the verification database (see Section 12.0, Verification Edit). It will then generate an exception report, (after asking you if you want it printed) listing all inaccurate records. You are then responsible for fixing those records, preferrably through traditional data entry. Keep in mind that only certain fields in your database are capable of taking advantage of this. In our test database (See Figure 4-1) School_D, for example, can make use of this, since there are only so many school districts in the city. However, Own_Name cannot make use of it, since there are no practical limitations to ones name. 29 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Verification, however useful it sounds, is not an end-all solution to data entry problems. At best, it is a sometimes helpful reminder. But nothing can replace a user who is watch- ful, careful and above all, knowledgeable. 9.4 Control. Obviously, there are a lot of little things that the computer does. Some help us, some don't. Some just annoy the heck out of us. Control lets the user have some control over these items. By using the menu, the user has the ability to change something that he or she doesn't like or need at a particular point in time. The Dbase equivalent of this is "SET BELL (example) ON". There are basically four things that the user has control over. They are: Confirmation, Deletion, Bell, Exact. Through the Control Menu (Figure 9-4) the user can change any or all of them. Their original values are determined by the setup of the Main database (see Appendix G). These are the values the four are set to each time the system is accessed. In other words, once you exit the system, you would have to reenter it and reapply your control changes. _____________________________________________________________ | | | Test Database System Control Menu | | | | Choose from the following: | | | | 1> Confirm (ON...Return after every field) | | (OFF..Automatically goes to next) | | | | 2> Delete (ON...Deleted records not accessible) | | (OFF..Deleted records accessible) | | | | 3> Bell (ON...the annoying thing rings a lot) | | (OFF..it won't) | | | | 4> Exact (ON...good only on complete spellings) | | (OFF..it will hit on incomplete spellings)| | | | Which one do you want (Q to quit) | | | |___________________________________________________________| Figure 9-4 Control Menu As you will see once they're explained, the initial values of the control variables are set to help the beginning user. 30 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. 9.4.1 Confirm Confirm is used to keep the user from entering too many characters in a field. Let's take the field Own_name, for instance. It is a character field 20 characters long. With Confirm set On, if someone would try to enter a 21 character-long name, it would merely emit an audible (beep) when the person entered the 21st character. A person must hit the key prior to moving onto the next field. With Confirm set Off, the 21st character would move on to the next field and in this case, would be the first character in the O_addr1 field. 9.4.2 Delete Delete is used to control access to deleted records. As you will recall from Section 4.8, How to Delete Information, it told you how to delete a record and how it appears on the screen. With the Delete option set to On, information that has been marked for delete will not be accessible. With Delete set for Off, the information that has been deleted will be accessible through normal Inquiry/Entry. Obviously, then when the Delete option is set to Off there is no way to change a record from deleted to not deleted. However, there are certain instances when the user would not want deleted information to be accessible to users, for it would be slightly misleading. 9.4.3 Bell The author of the AGS (and this document, for that matter) feel real strongly about the fact that the bell is one of the most annoying things that Dbase III+ has. However, it is a good reminder for the new user for various reasons (illegal date, end of field, etc.). Basically, you're on your own when it come to this one. If it's on, the system creates an audible (beep) a lot. If it's Off, it won't. Simple enough, no? 9.4.4 Exact Exact is a tricky one, and is best left to those who are used to using the system for awhile. Exact deals with when the computer looks for a value in a particular field. It comes back after searching with either a Successful or an Unsuccessful search. When exact is On, the system will have a successful search only when the match is perfect, character for character, no more and no less for that field. When exact is Off, the system will look for a partial match, allowing for additional characters. A good example would be if you were looking for a 31 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Own_name of "Smith", but you weren't sure is it was spelled "Smythe", "Smith", or "Smyth". You would enter the beginning letters you were sure of ("Sm", in this case). The system would then find the first record where the first two characters of Own_name was "Sm". By taking a "Quit/Next" Option on the Update/Release Command Line (See Figure 4-7), you would "page" through these until you found the one you wanted. Simple, huh? 9.5 Delete Blank Records. One thing that will probably happen when you're just beginning to get used to entering data is some blank records getting saved. In order to get rid of them, run this function. When the application was originally generated, the creator specifies which fields are to be blank in order for the system to mark them for delete. Once this function is run, the user still has to pack the database to actually remove the data from the file. 9.6 Packing Your Database. As we've mentioned on more than one occasion, information is not really so easily deleted. All that happens when someone marks a record for delete, it just sits there marked. It isn't until someone runs this option that all records marked for deletion are actually deleted. When you run this, make sure that you've deleted only those records you want deleted. 32 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 10.0 Help. There are three types of help that are readily available. One is this document. It probably has most of the answers you seek. But there are also two type of on-line help available straight from the computer. One is related to getting more information about the database itself, while the other is to get help and information concerning the current command line that the user is contemplating. Both have distinct uses, and both come in handy (famous last words). 10.1 Database Help. Option #7 on the Main Menu (see Figure 3-1) is Help. When you choose this, you will see (similar to Word Processing Conversion) a list of all database fields on your screen (See Figure 10-1). _____________________________________________________________ | | | Help Selection Screen For Test Database | | 1>E_DATE 2>ST_NUM | | 3>ST_NAME 4>PARCEL | | 5>CEN_TRACT 6>CEN_BLOCK | | 7>SCHOOL_D 8>UNITS | | 9>PROP_TYPE 10>OWN_NAME | | 11>O_ADDR1 12>O_ADDR2 | | | | | | | | Which one do you want help on (H/Help Q/Quit) | |___________________________________________________________| Figure 10-1 Help Menu To get information on any one field, simply enter the number. When a valid number is entered (in this case 1-12), the system will then display information such as that displayed in Figure 10-2. _____________________________________________________________ | | | | | Field = ST_NUM Type = C | | Length : 8 | | Desc 1:Street Number of the Property | | Desc 2: | | Hit any key to continue... | |___________________________________________________________| Figure 10-2 Sample Database Help Screen As you can see, there is a fair amount of information contained there. First of all, there is the field name itself, 33 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. followed by the type of field it is (C, N, L, D; See Figure 4-6), the length and up to two lines of descriptive text. 10.2 Command Line Help. On many screens, you see the command requesting your next input. Usually there is also a statement on how to acquire Help from this point. This is a different type of help than that described in Section 10.1. This type of help is designed to inform you of what the various capabilities and expectations are at this point in the system. For example, the main menu (See Figure 3.1) gives you a list of 8 options, plus Q for leaving the system, and -# for Help. In other Cases, such as the Logical Order Menu (see Figure 4-2), the system gives 1-5, Q and H as options. In both cases help is available. In the first case, since 1-8 are so different, a special help screen is available for each option. Since the Logical Orders are similar in context, they only need one screen. For example, if you wanted help on Option #1 (Inquiry/Entry) of the Main Menu, you would hit -1 (which corresponds to an explanation point '!') to get help. The system would then respond with what you see in Figure 10-3. _____________________________________________________________ | | | This function allows you to see and | | maintain information in the main file. | | Hit any key... | |___________________________________________________________| Figure 10-3 Sample Command Line Help Screen Just about every command line (with the exception of when you are editing a record) has some form of help available. Take advantage of it. As mentioned before, on certain monitor types these screens will not clear when you hit any key. 34 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 11.0 Selection Criteria Maintenance. 11.1 What is a Selection Criteria? A selection criteria is a condition, or set of conditions, which can be directly applied to specific fields in your database. A selection criteria applied to a record can only have one of two possible outcomes: Yes, it satisfies the conditions. No, it does not satisfy the conditions. The Dbase equivalent of this is "SET FILTER TO " There is no such thing as "maybe", "don't know", or "sort of" as far as a condition goes. A Selection Criteria (stated in English) can be as simple as: All records, (in which case all records satisfy the condition) Or: No records, (in which case no records satisfy the condition) Selection Criterias are usually applied when you are interested in using information that fits a certain criteria. Back in Section 7.0, and 8.0 (WP Conversion and Search) we were talking about applying certain criteria to the database prior to actually running the task. Well, here is where we do it. By developing a Selection Criteria. But we have to make sure that the syntax is proper. The way we state a selection criteria must be follow the rules and conventions set up for Dbase III+. 11.2 Simple Selection Criterias. A simple selection criteria is a simple Yes or No condition that you can apply against a single field in a database. If you'll recall back in Section 7.0, WP Conversion, we were interested in sending a letter to all owners of property whose property was in the "Wise" school district. For that example, we would make the selection criteria: School_D = "Wise" Relatively Simple, No? The form of the simple selection criteria is: 35 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. {Field Name} {Operative} {Value} Now, we've been through the Field Name list (Figure 4-1) enough times to know what that would be. But what about Opera- tive? An operative is the symbol which defines the relationship between the sides of the selection criteria. (huh?) In other words, for our example, we wanted the Field_name Equal to "Wise". Equal to {=} is our Operative. A list of potential operative and their descriptions is found in Figure 11-1. _____________________________________________________________ | | |Operative Description | | | | = {L. Side} Equal to {Right Side} | | > {L. Side} Greater Than {Right Side} | | >= {L. Side} Greater Than {Right Side} | | or Equal to | | | | < {L. Side} Less Than {Right Side} | | <= {L. Side} Less Than {Right Side} | | or Equal to | | <> {L. Side} Not Equal to {Right Side} | | | |___________________________________________________________| Figure 11-1 A List of Selection Criteria Operatives The Value on the right side should be a legitimate value of the field name on the left of the operative. If not, an error will occur. Figure 4-6 shows the various legal ways of repre- senting data. Since we know that School_d is a character type of Field, we know then that the value must be enclosed by quotation marks ("). In other words, as we've stated above: School_D = "Wise" is a legitimate selection criteria, whereas School_D = Wise is not (note the missing quotes). Figure 11-2 shows a list of good selection criterias for each data type, relating back to our old test database (Figure 4-1). For your application, simply replace the field name on the left with your field name, and the value on the right with your value. 36 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. _____________________________________________________________ | | | Data Type: Character | | Own_Name = "Smith" | | Cen_tract > "1701" | | Prop_type <> "I" | | | | Data Type: Numeric | | Units = 5 | | Units < 2 | | | | Data Type: Date | | E_date > CTOD("01/23/87") | | E_date <> CTOD("12/32/87") | | | | Data Type: Logical | | Del_flg = .T. | | Del_flg = .F. | |___________________________________________________________| Figure 11-2 Some Simple Selection Criterias You'll notice (if you bothered to look) that there is one queer one in the group: Dates. Dates isn't a simple conversion like numerics, logicals or even characters. That's because date information is stored in a special way called Date Format, and in order to compare a date field to a value you have to convert your value to that format. To do this you simply enter the date as a string (such as "01/23/87" in the first date sample above, and perform the "Character To Date Conversion" to it, by this: CTOD() You only have to do this here, for selection criterias. The system does it everywhere else (ie, data entry Search WP Conversion, Reports, etc.). 11.3 Complex Selection Criterias. Complex selection criterias occur when you want the selection criteria to be more than one relationship possibly between more than one field. If for example, in our never-ending example of School District being Wise, we also didn't want to send anything to commercial properties (let's assume that means Prop_type <> "C")? If we wanted to do that, we would have to look at two fields, School_D, and Prop_type. So we'd have two selection criterias, and they would both have to be true: {Selection Criteria #1} AND {Selection Criteria #2} ******* *(or,)* 37 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. ******* School_D = "Wise" AND Prop_type <> "C" The basic structure of a complex selection criteria is: {Selection Criteria #1} {Linking Conditional} {Selection Criteria #2} The linking Conditional is used to say "#1 AND #2 have to be true", or "#1 OR #2 have to be true", etc. You could actually go on and on with this, linking as many selection criterias as you like: {Flt #1}{LC#1}{Flt #2}{LC#2}{Flt #3}{LC#3}{Flt #4}...etc. Figure 11-3 shows the legal Linking Conditionals and their definitions. It also shows what is known as a Truth Table. Basically, a Truth Table gives you on the vertical (or left) side the conditions (#'s 1 and 2). On the horizontal (top) side it gives you the two possible outcomes ([T]rue and [F]alse). By cross-referencing them, the result is the complex combination of them. The right-most column (R) shows the result of the combina- tion. 38 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. _____________________________________________________________ | | | AND | | _____|___T_____|____F____|____R____| | | | | | | | | | |#1 | T | T | T | | | -------------------------|---------| | | |#2 | T | F | F | | | |____|_________|_________|_________| | | | | | | | | | |#1 | F | T | F | | | -------------------------|---------| | | |#2 | F | F | F | | | |____|_________|_________|_________| | | | | OR | | _____|___T_____|____F____|____R____| | | | | | | | | | |#1 | T | T | T | | | -------------------------|---------| | | |#2 | T | F | T | | | |____|_________|_________|_________| | | | | | | | | | |#1 | F | T | T | | | -------------------------|---------| | | |#2 | F | F | F | | | |____|_________|_________|_________| | | | | | | | | NOT | | _____|___T_____|____F____|____R____| | | | | | | | | | |#1 | T | T | F | | | -------------------------|---------| | | |#2 | T | F | T | | | |____|_________|_________|_________| | | | | | | | | | |#1 | F | T | F | | | -------------------------|---------| | | |#2 | F | F | F | | | |____|_________|_________|_________| | | | |___________________________________________________________| Figure 11-3 A List of Linking Conditionals 11.4 Maintaining a Selection Criteria Library. As you can see, selection criterias can become as complex as the questions they represent. And we can't expect every user to become an expert in the use of them. In order to still allow the user flexibility, the system allows use of a library of selection 39 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. criterias, which users can add and change at will. By choosing Option #8 from the Main Menu (see Figure 3-1), you can maintain the selection criterias that are kept on file. Figure 11-4 shows the Selection Criteria Maintenance Menu. The Selection Criteria Library is set up to allow users to access selection criterias by a number, which corresponds to the record # that the selection criteria is located in the selection criteria database file. _____________________________________________________________ | | | This is the Selection Criteria Maintenance Module | | Do you want to: | | | | 1> Display all Selection Criterias | | 2> Modify a Specific Selection Criteria | | 3> Add a New Selection Criteria | | 4> Test+Produce a Selection Criteria Report(on printer | | | | Which one do you want (-#/Help,Q/Quit)? | |___________________________________________________________| Figure 11-4 Selection Criteria Maintenance Menu In regards to the four options listed, they perform the following functions: 1> Display all Selection Criterias. This option will list onto the screen all of the Selection Criterias currently on file, in the order that they were entered. 2> Modify a Specific Selection Criteria. This option allows a user to go and change (permanently) a particular selection criteria. 3> Add a New Selection Criteria. This option allows a user to add a selection criteria not previously available on the system. 4> Test + Produce a Selection Criteria Report. This option will go through all selection criterias and test them for accuracy and proper syntax. It will also produce a report describing all correct and incorrect selection criterias. Notice that the selection criteria numbers are contained on the report, and you may want to consider distributing the report to users or to post the report near the unit, so as to allow them to look at the list when choosing their selection criterias. 11.5 Choosing a Selection Criteria. 40 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. There are 3 different ways of choosing a Selection Criteria. You can enter one manually, use the Library, or use the Selection Criteria Guide. Figure 11-5 shows the menu from which you can choose. Enter a Manual Selection Criteria Access The Selection Criteria Library Use the Selection Criteria Guide Use Current Selection Criteria Help Quit this program Use the arrow keys to highlight your choice And hit Current Selection Criteria: Figure 11-5 Choosing Selection Criteria Method Now you should notice that the method of selection here is different from other areas in the AGS. Instead of entering a number or letter, you use the arrow keys on your keyboard to highlight your selection, and press . The selection criteria area is the only area currently supporting this capability. NOTE: DO NOT hit any key prior to the highlighted area showing on your screen, as it will have strange effects on your system later. Now, let's look at each of the methods of entering a Selection Criteria. 11.51 Enter a Manual Selection Criteria. This is technically the easiest, but also for the user the most difficult. By selecting this option, the system will display a screen as shown in Figure 11-6. This will allow you _____________________________________________________________ | | | Enter the selection criteria you're looking for | | (H/Help, Q/Quit, =,>, etc.) | | ? | | ? | | Is this the Selection Criteria that you want | |___________________________________________________________| Figure 11-6 Selection Criteria Entry Screen to enter up to two lines of Selection Criteria information. The 41 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. syntax is identical to what Dbase III+ would expect in a line such as: DISPLAY FOR ***** and you would enter what you would put instead of *****. After you've entered your selection criteria, the system will test it for validity. If you want to leave this screen, enter simply a "Q" (no quotes). A blank selection criteria will assume all records. 11.52 Access the Selection Criteria Library. Assuming that the Selection Criteria Library is properly set up, each selection criteria will have a number associated with it(as stated above). There are three areas where selection criterias come in handy. They are: A> Search. B> Word Processing Conversion. C> Inquiry/Maintenance (w/Browse Logical Order Option). Each of these use the selection criteria is a slightly different way, but the results are the same. Let's take our wondrous example of the school district open house letter. Assuming that our Selection Criteria Library looked something like Figure 11-7, which selection criteria would we want? _____________________________________________________________ | | | # Selection Criteria Use | | | | 1 Prop_type = "R" for Residential | | Properties | | 2 Units > 1 for multiple unit | | Housing | | 3 School_D = "Wise" for the Wise School | | District | | 4 Del_flg = .F. for non-deleted | | records | |___________________________________________________________| Figure 11-7 Sample Selection Criteria Library #3, of course. The others have useful meanings as well, but it's #3 that suits our purposes now. When the system asks for the selection criteria #, we would enter "3" In this case, the system will see that the first character is an exclamation point (!). The system will expect a number after that, and will use that number to find the selection criteria. The selection criteria will then be displayed on the screen, and the user will verify and move on. 42 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. In the case that an incorrect selection criteria, or selection criteria number is entered here, the system will display and error message. A selection criteria must be correct in order for the system to proceed to the next step. 11.53 Use the Selection Criteria Guide. The third and easiest method is to use the Selection Criteria Guide. This will run in five steps. Each step you must again point at your target using the arrow keys and hit to choose the answer you've highlighted. These steps are: 1> Select the variable you want and hit . Ex: "School_d" 2> Select the measurement (=,>,etc.) and hit . Ex: "=" 3> Select the variable you want to measure against. Here you may also enter your own value. Ex: "Wise" 4> Select Linking another condition, Enter Y or N. 5> If you selected "Y", you will then be asked to link the previous condition with the choices listed in Figure 11-8: Which of the following Boolean Conditions Do you want to specify: Condition #1 AND Condition #2 Condition #1 OR Condition #2 Condition #1 AND NOT Condition #2 Forget it, I changed my Mind Figure 11-8 Boolean Conditions 11.6 Selection Criteria Syntax. There is of course a particular syntax that is needed in order to successfully create a selection criteria. We have shown how to specify a simple condition (Section 11.2, Simple Selection Criterias). But we have also shown how to link conditions together, forming complex selection criterias (Section 11.3, Complex Selection Criterias). The syntax of a linking conditional is actually very straightforward: {Selection Criteria #1} .{LC}. {Selection Criteria #2} ^ ^ | | -------------Notice the periods? (.) 43 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Simply put a period (.) on each side of the linking condi- tional. Using or example from Section 11.3, the full syntax would be: School_D = "Wise" .AND. Prop_type <> "C" But if we have several selection criterias to link, and we need them grouped, we would then use parenthesis "(" to group them. Let's say we wanted both the "Wise" and the "Gai" school district to get the letter. (School_D = "Gai" .OR. School_D = "Wise") .AND. Prop_type <> "C" ^ ^ | | | The system will first evaluate | ^ | the condition within the paren- | | | thesis, and then evaluate the | | | remaining selection criterias. | | --------------------------------------------------- Just think back to your old Algebra days and you'll do just fine. 44 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 12.0 Verification Edit. When the system is initially Created, certain fields were set up as verifiable. That is to say there was a limit placed onto them as to the acceptable values allowed for that field. This is where you would specify those limits. Three types of fields can be verifiable; Numeric, Date and Character. Logicals cannot (why should they be?) be. When you initially call up Verification Edit, the system will list for you the fields currently defined as verifiable. You would then choose the field you want to work on from this list. 12.1 Verifying Numerics. If the field is numeric, the system will request a "Lowest Legal Value" and a "Highest Legal Value". Any field that is : "Lowest Legal Value" < Field Value < "Highest Legal Value" is ok. Any other is not. 12.2 Verifying Dates. If the field is a Date, the system will request a "Oldest Legal Date" and a "Most Recent Legal Date". Any field that is : "Oldest Legal Date" < Field Value < "Most Recent Legal Date" is ok. Any other is not. 12.3 Verifying Characters. If the field is a Character, the system will show you a submenu (Figure 12-1), asking if you want to display all legal values, modify a specific one, add one or print a hardcopy report. Do you want to: 1> Display all Legal Values 2> Modify a Specific Legal Value 3> Add a new Value 4> Produce a Verification Report (on printer) 5>Change how Blanks are Accepted Which one do you want (-#/Help,Q/Quit)? Figure 12-1 Verification Edit Menu 45 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. When you run Verify, the system checks to see if the field's value is on this list. If it's on the list, it's ok. Any other is not. The Options perform as follows: 1> Will list (on screen) the list of all Legal Values for that field. 2> Will ask for a value from you. If that value exist, the system will allow you to modify or delete it from the list. 3> Will allow you to add a new value (NOTE: System will NOT check for duplication.) 4> The system will produce a report, optionally to a printer. 5> Will allow you to change whether an empty (blank) field will show up as an error or not for that field. Note that Verification do a Caseless search. In other words, if you have a value of "ABC" in Verify, and a record has "abc", there would be no error. However, the values "abcd" and " abc" would both be considered errors. 46 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 13.0 Registration Info. Of course, having a system that does 80% of what you want is nice. Having it do more is better. That's what you get with a fully-registered version! Not only do you get unlimited record capability (well, up to Dbase's limits, anyway), you get additional documentation which tells you how to use AGS to: >Link Databases (ie, customer database vs. order database) >Use print codes! >Import Data from other systems >Customizing your d/e >make verification during initial data entry etc, etc... So REGISTER!! 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 How much should you send? I leave that up to a debate between you, your wallet and your conscience. (C'mon, Conscience!!) 47 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. 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. Several changes have been made since V2.0. 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.2... (see the file AGS210.TXT) Later!!! Bob 48 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 14.0 Additional Notes and Capabilities. At this point in time you have reviewed all system capabil- ities. The system is built for non-technical people to use; however, familiarity with Dbase III+ would aid dramatically in really getting your money's worth. This system can be easily modified to fit and adapt to a particular users needs. There are a few other things worth commenting about. 14.1 Security There ain't no such beast. Generally speaking, there is no easy way of making your data more secure than the area in which it is contained. In other words, if your unit is going to be out in the open with no one watching it, so is your data. My standard response to the immortal question "How secure is my data?" is that it's equally secure as the file cabinet next to it. 14.2 Training If you don't train people, either they will not use the system, or they will use it improperly. Even the friendliest system (I hate the term "user-friendly") needs some type of guidance in how to use it from a procedural standpoint, if for no other reason. One of the biggest problems with implementing computer systems onto people with little or no computer experience is that there is often little or no regard paid to making sure that the transition is made. Often time people will resist taking advantage of the computer unless they are encouraged by their supervisor. 14.3 Justification Automating a manual process is the easiest way to com- puterize. Unfortunately, it is also the least efficient and the most likely to fail. When you are computerizing a process, you should begin by reviewing all steps to that process, look into the possibilities of streamlining the operations somehow so that there would be a more efficient method of processing the informa- tion. Often that step alone would save more money than simple computerization. 49 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 15.0 Suggested Ways of Learning More. If you have successfully completed mastering this system, you should feel free to go on, and master Dbase III+ itself. There are many seminars, books, tutorials, even video tape classes created specifically for this product. The AGS in some ways scratches the surface of the truly complex Dbase III+ system. Take advantage of whatever products you have available, and enjoy! 50 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Section 16.0 Thanks and Acknowledgements Of course, there are several people who made contributions to this package. Amongst them are: Ashton-Tate, for making Dbase in the first place. Without that package, this package is nothing with a capitol N. The Compuserve Ashton Tate SIG, for being easier than looking it up. The Compuserve Micropro SIG Ed Zollars (making sense of WordStar and my ignorance) For their technical help (and speed) Robert A. Byers, Jeb Long, C. Wayne Ratliff, authors of Dbase Programmer's Utilities for the MenuBar utility. Whoever wrote the original Dbwind file. Randy Ayers and Mark Webster for playing with this and not making TOO many wisecracks when it went My wife Helen for putting up with this nonsense. And finally, to the "Poor Man's Database System", the predecessor to the AGS. Too bad CP/M never really caught on in the end... (just kiddin') 51 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Appendix A: System Flowchart This is a technical flowchart that points out the programs and their relationship to one another. Although this is of minor interest and need to the user, someone with a more technical interest may find it helpful. This was produced through use of the package Dflow (from WallSoft Systems, Inc.), a neat documen- tation generator package for Dbase III+. 52 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Appendix B: Technical Documentation This area describes the program files that go into running the AGS. This is available in the registered version with Source. 53 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Appendix C: Create! This documentation covers the use of Creating a particular application. For ARC-hieved files, this is AGSAPPC.TXT 54 Copyright 1988 - RL Coppedge, CDP All Rights Reserved. Appendix D: Index Here's what is probably an incomplete index. (you get this with source). This also includes a memory variable map. This could help explain certain "anomalies" (we no longer have bugs, folks; this is 1988!) 55 Copyright 1988 - RL Coppedge, CDP All Rights Reserved.