Grumpfish Report Generator LOGPlus! v3.0 The Report Generator provided with LOGPlus! is provided "AS IS" and is "UNSUPPORTED". This product, other than minor changes to the basic code, is a fully function report generator developed by Grumpfish Inc. and Greg Lief. This documentation file is provide "AS IS" and will provide basic information which provides the basic operating technics of the report generator. Only slight variations between the commercial product and LOGPlus! Report Generator exists. Questions and suggestions are encouraged and will be looked into as time permits. Currently, only three databases are supported. (LOGBOOK, SATELLITE and DXCC). If additional databases support is requested, they can easily be added. However, unless you obtain the necessary files directly from the BBS, a support change of $4.00 USD is required to cover shipping and handling charges. NOTICE: Some slight variations will be noted. Please use the file SAMPLE.DBF as a test as per the documentation listed below. Grumpfish Reporter Version 2.0 User Documentation Copyright (c) 1992-4 Greg Lief ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ You may integrate the contents of this file into your own system ³ ³ documentation, provided that you prominently display the Grumpfish, Inc. ³ ³ copyright notice as stated in this paragraph. You may display this ³ ³ copyright notice either at the beginning of the system documentation or ³ ³ at the beginning of that particular section. Suggested wording for ³ ³ these two locations would be: (a) "Portions of this documentation are ³ ³ Copyright (c) 1992-3 Grumpfish, Inc."; or (b) "The following section of ³ ³ documentation is Copyright (c) 1992-3 Grumpfish, Inc." ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Contents I. BASIC OPERATION II. QUICK START PART ONE III. QUICK START PART TWO IV. COMMAND-LINE PARAMETERS V. FILES MENU VI. QUERY MENU VII. OUTPUT MENU VIII. DATA DICTIONARY MENU IX. GLOBALS MENU ------------------------------------------------------------------------ -1- Grumpfish Report Generator LOGPlus! v3.0 I. BASIC OPERATION Grumpfish Reporter is built around a framework of "menus". A menu is a series of options for you to select from. For example, when you first fire up Grumpfish Reporter, the main menu will contain the options "File", "Query", "Output", "Data Dictionary", and "Globals". Whenever a menu is active on-screen, you can make a selection in one of several ways: (a) using the arrow keys to move the highlight bar to the desired option and pressing Enter; or (b) pressing the highlighted trigger letter. For the main menu, the first letter of each option serves as the trigger letter, though this will not always be the case. To open a submenu, select a main menu option by one of the two options listed above. To close a submenu, press Esc. In general, you press Esc to return to the previous menu. TIP: There is a third way to select menu options shown on some of the Grumpfish Reporter submenus: "Quick Keys". For example, press "F" from the main menu to open the Files submenu. This submenu contains three options for you to select from. Notice that each of these options has a "quick key" associated it -- for example, Alt-X is the quick key for the Exit option. Any of these quick keys are active anywhere from within the structure of the Grumpfish Reporter main menu. You can try this now by pressing ESC to close the Files submenu, then press Alt-X from the main menu. Surprise -- you'll be at the operating system before you know what hit you. While the menu is helpful as you become familiar with Grumpfish Reporter, knowledge of these quick keys can ultimately save you a lot of time getting around in the program. For your convenience, the names of the currently active report, query, and data dictionary will be shown at the bottom of the main menu screen. II. QUICK START PART ONE We have supplied a sample database (appropriately named SAMPLE.DBF) on your Grumpfish Reporter diskette. Let's draw up a sample report with the following information: We want a printout of all articles containing the word "Review" in their title. We want to show the author, title, date, and number of pages for each of these articles. We want thist list to be sorted by author first, and then title. We also want to know the total number of pages for all of these articles, as well as the average number of pages per article. Move to the directory where Grumpfish Reporter resides (assuming you followed the installation instructions, that should be the \REPORTER -2- Grumpfish Report Generator LOGPlus! v3.0 directory). Fire it up by typing "GR" (or "GR /M" if you are using a monochrome monitor). Sample DOS instructions to perform this might be: C:>CD\REPORTER C:\REPORTER>GR a) Opening The File Our first step is to open the database we want to query/report on. 1. The "Files" option should be highlighted. Press Enter to open the Files submenu. 2. The first option on this submenu, "Open", will be highlighted. Press Enter to select that. 3. You will then be presented with a list of DBF files for selection, among which should be SAMPLE.DBF. Use the arrow keys or PgDn to move the highlight bar to SAMPLE.DBF, and press Enter. 4. Since we do not need to open any related files for this example, press Enter. You will be presented with the message "Are you finished selecting files?" -- press Enter again. b) Selecting Fields to be Displayed Our next step is to determine which fields should be shown as part of the output. 1. You should now be at the "Query" submenu. The first option on that submenu, "Display Fields", will be highlighted. Press Enter to select it. 2. You will see a list of selected fields on the right side of the screen. Because we only want to look at a few of these fields, press F10 to remove all selected fields. 3. We want to see the author's name, title, date, and pages. The Spacebar is used to select fields, which moves them from the left window (available) to the right window (selected). Use the arrow keys to move the highlight bar to the Author field, and press Spacebar to select it. 4. Repeat step 3 for the Title and Date fields. 5. But when you get to Pages, remember that we want to see the total and average number of pages for all articles. Because Pages is numeric data, you will be presented with a list of possible numeric formulae to choose from. 6. Use Spacebar to tag "Total" and "Average", then press Enter. -3- Grumpfish Report Generator LOGPlus! v3.0 7. Press ESC to exit back to the Query submenu. c) Selecting a Sort Order Our next step is to establish a "sort order". This will determine the order in which we view the data. 1. Use the down arrow to highlight the "Sort Order" option and press Enter. 2. You will be presented with a window similar to that for the Display Fields, except that nothing will have been selected. 3. We want to see the data sorted by author, then title. Make sure that the Author field is highlighted and press the Spacebar. It will move from the left side to the right side. 4. Repeat this process for the Title field. 5. Once again, press ESC to return to the previous menu. A message will appear reminding you that, to activate your sort order, you must first "execute" the query. We will get to that shortly. In the meantime, feel free to press the Spacebar to make that message vanish faster. d) Selecting a Query Condition Our next step is to create a query condition, which allows us to look at a subset of the entire file. 1. Use the Down arrow to highlight the "Condition" option, and press Enter. 2. You will see four choices along the bottom row of the screen. The first option, "Add Condition", is highlighted and that is the one you want, so press Enter. 3. You will be given the list of fields to select from. Remember that we only wanted to look at articles that contained the word "Review" in their title. Therefore, our query condition will be based on the TITLE field. Use the Down arrow to highlight that field and press Enter. 4. You will then be presented with a list of operators. The one we want is "contains", because we are looking for titles that contain the word "REVIEW". Use the down arrow (or press "C") to highlight "contains", and press Enter. 5. You will be prompted to enter what you want the TITLE field to contain. Type in "REVIEW" (in either upper- or lower-case) and press Enter. -4- Grumpfish Report Generator LOGPlus! v3.0 6. Press "X" or ESC to exit from this window back to the Query submenu. e) Executing the Query As mentioned above, whenever you change the sort order and/or query condition, you will get a reminder that "To activate this Query, select EXECUTE...". It is indeed time to execute this query. This will re-order your database based upon both the query condition and the sort order steps that we just performed. 1. Press the down arrow to highlight the "Execute Query" option, and press Enter. A status bar will appear in the middle of the screen showing you the progress of this action. When this is finished, you will be moved automatically to the Output menu. 2. Just to make sure that everything is fine, let's view the data on the screen before we print it out. The "View" option is the first option on the Output menu. It should already be highlighted, so go ahead and press Enter. You will be presented with a browse window containing exactly the data you specified. Use the arrow keys to move through the data, and press ESC when you are finished browsing. f) Getting a Hard Copy The end result of this work is to get a hard copy of the data. But before we do that, we need to install a printer. (I hope you have a printer that supports compressed print, because we'll need that for this particular report due to the column widths.) 1. Press the right arrow twice to move to the "Globals" submenu. 2. Press Enter for "Printer Setup", then highlight "Select Printer" and press Enter again. 3. You will be given a list of available printers to select from. To find your printer, you can use the up or down arrows, PgUp, and PgDn keys. A faster method is to type in the first few letters of your printer's name. For example, if you have an HP Laserjet, press "HP" to jump immediately to that group of printers. Once you have located your printer, press Enter to install it. 4. You will now be asked to enter a printer description and port. Your description should be anything that helps you to identify that particular printer. For example, if your office has three HP Laserjets, then you might want to refer to them like "Joe's Printer", "Accounting Department", and "Personnel Department". Ports that Grumpfish Reporter supports are LPT1, LPT2, LPT3, COM1, COM2, COM3, and COM4. The most common printer port is LPT1, so go ahead and -5- Grumpfish Report Generator LOGPlus! v3.0 select that (there's a 99% chance that it will work in your situation). 5. Great! You've installed your printer. Now press "S" to save global/printer information. By doing so, the next time you enter Grumpfish Reporter you will not have to re-install your printer. 6. Now press the left arrow twice to move back to the "Output" menu. Press the down arrow to highlight the "Printer" option and press Enter. 7. You will be asked several questions about your printed output. The first question is whether you want to review your print options, which include the header and footer. Answer "NO" to this question. (We'll discuss this in greater detail later in this manual.) 8. Your next decision is where to send the output: printer, file, or screen. Make sure that "Printer" is highlighted and press Enter. You will then be asked to verify that the printer is on-line and ready. Make sure it is, then highlight "Ready" and press Enter. You'll see the status bar, and when that's finished, so is your report! g) Saving Our Report for Next Time The last thing we'll do before we exit Grumpfish Reporter is save a copy of our report specification. This is composed of the various pieces of the report, including the list of fields, the sort order, and the query condition. You can also add other things, like a report header and footer, but we will not get into those until the next Quick Start discussion. We want to save a copy of this report so that we do not have to go through the trouble of recreating it. 1. You should still be on the "Output" submenu. Look for the "Save Report" option near the bottom. Rather than using the arrow keys, this time just press "S" to select this option. 2. You will be first asked to enter a description. Your description may be up to 60 characters long. Give this report the description "Reviews sorted by author and title". Press Enter when you are finished typing the description. 3. You will then be asked to enter a filename, which may be up to 8 characters long. Let's use "SAMPLE1" as the name for this report. The ".GRR" file extension will be added automatically. The message "Saving Report" should appear briefly, then disappear. 4. Now we can exit Grumpfish Reporter -- press ESC twice to get the "Are you sure you want to exit" message. Make sure the "Yes" is highlighted, and press Enter to bid the program a fond (but surely temporary) adieu. III. QUICK START PART TWO -6- Grumpfish Report Generator LOGPlus! v3.0 This time, let's refine our output somewhat. We need to get a count of records by author, which is easily done but something we did not bother with last time. We will investigate the report header and footer so that you can get a better feel for how to change those items. We will also change our query condition slightly and save it. Finally, we need to create a spreadsheet containing our information. a) Fire It Up Start up Grumpfish Reporter by moving to the directory where it resides. b) Reload Your Report Repeat the steps you followed earlier to open SAMPLE.DBF. Then move to the Output menu and press "L" for Load Report. (You can also use the Alt-R quick key to accomplish this from anywhere in Grumpfish Reporter.) You'll be given a list of available reports. There will probably only be one -- that which you just saved. Press Enter to load it. The message "Loading Report" will appear on the screen, and your query will be processed to properly reflect your query condition and sort order. TIP: Whenever you fire up Reporter and plan to reload a previously saved report, you can use option is to use the /R command-line parameter. This tells Grumpfish Reporter to reload a saved report immediately. For our example, you would type the following command to reload your report: C>GR /RSAMPLE1 Not only will this reload the report in SAMPLE1.GRR, but it will also cause the SAMPLE.DBF database to be opened at the same time... no muss, no fuss! c) Changing Print Options With the exception of the spreadsheet, all of our work is going to revolve around the Print Options section. This is accessible either when you are preparing to print a report, or from the Globals submenu. We will go ahead and print another hard copy, so we can access the Print Options as part of that process. 1. Press "P" to select "Printer". You will be presented with the question: "Review print options?". Press "Y" for Yes. 2. The Print Options window is divided into three sections: Printer Options, Header Information, and Footer Information. You may press the Tab key to move quickly between each of the sections. We will look at the Printer Options section first. -7- Grumpfish Report Generator LOGPlus! v3.0 i) Printer Options The first item is Page Length. If you are using a laser printer, you should probably change this to 60. Left and Top margins should be self-explanatory. Left Margin can be between 1 and 49. Top Margin can be between 1 and 19. The default settings for these margins are 5 and 0, respectively. If you answer yes to "Print total records?", that will simply cause the total number of records to be printed at the end of your report. (By default, this information is not printed.) If you are using a sort order, you may wish to answer yes to "Eject after subgroups". This will cause each new subgroup to be printed on a new page. (By default, this is not the case.) "Column Spacing" is the number of spaces to separate each of the columns on your report. The default spacing is 1, and you can increase this as high as 19 if you wish. "Suppress Duplicate Values?" can be a confusing question. To answer it, here are two examples of not suppressing, and then suppressing, duplicate values. Watch the Author name column to see the effect. Not Suppressing Duplicate Values Author Title ---------------------- -------------------------------------------------- Darren Forcier REVIEW UPDATE: Overlay Version 3.5 Darren Forcier REVIEW: Blinker - Dynamic Overlay Linker Darren Forcier REVIEW: Class(y) Darren Forcier REVIEW: Desqview Clipper API Darren Forcier REVIEW: The Force Compiler Joe Booth REVIEW: Data Junction Joe Booth REVIEW: Rad - Rapid Application Development Steve Baker REVIEW: FlexFile Steve Baker REVIEW: Telepathy Suppressing Duplicate Values Author Title ---------------------- -------------------------------------------------- Darren Forcier REVIEW UPDATE: Overlay Version 3.5 REVIEW: Blinker - Dynamic Overlay Linker REVIEW: Class(y) REVIEW: Desqview Clipper API REVIEW: The Force Compiler Joe Booth REVIEW: Data Junction -8- Grumpfish Report Generator LOGPlus! v3.0 REVIEW: Rad - Rapid Application Development Steve Baker REVIEW: FlexFile REVIEW: Telepathy Many people prefer to suppress duplicate values for aesthetic purposes, though you are certainly free to choose whatever method you prefer. "Show Record Count For Subgroups" is one of the options we need to change. By answering Yes to this question, Grumpfish Reporter will automatically give us the number of records printed for each subgroup based on the primary sort order. This would result in printed output similar to the following: Author Title ---------------------- -------------------------------------------------- Darren Forcier REVIEW UPDATE: Overlay Version 3.5 REVIEW: Blinker - Dynamic Overlay Linker REVIEW: Class(y) REVIEW: Desqview Clipper API REVIEW: The Force Compiler 'Darren Forcier': Count = 5 Joe Booth REVIEW: Data Junction REVIEW: Rad - Rapid Application Development 'Joe Booth': Count = 2 Steve Baker REVIEW: FlexFile REVIEW: Telepathy 'Steve Baker': Count = 2 "Double-spaced output" allows you to specify that the report be printed double-spaced. This is a requirement for some people, which is why we have included it as an option. (Default output is single-spaced.) "Show % of total for subgroups" is similar to record count for subgroups. If you answer Yes to this question, the database will be scanned prior to printing the report to determine the total number of records. Then the percentage of records represented by each subgroup will be printed at the end of the subgroup. The following example demonstrates this: Author Title ---------------------- -------------------------------------------------- Darren Forcier REVIEW UPDATE: Overlay Version 3.5 REVIEW: Blinker - Dynamic Overlay Linker REVIEW: Class(y) REVIEW: Desqview Clipper API REVIEW: The Force Compiler Darren Forcier: 55.55% of total -9- Grumpfish Report Generator LOGPlus! v3.0 Joe Booth REVIEW: Data Junction REVIEW: Rad - Rapid Application Development Joe Booth: 22.22% of total Steve Baker REVIEW: FlexFile REVIEW: Telepathy Steve Baker: 22.22% of total If you answer Yes to the "Summary report only" question, this will only print one line for each sort key, along with any counts and percentages. Summary reports can be useful if you only care about the record count for each subgroup. The following listing demonstrates a summary report, with subgroup counts and percentages. Author Title ---------------------- -------------------------------------------------- Darren Forcier: Count = 5 Darren Forcier: 55.55% of total Joe Booth: Count = 2 Joe Booth: 22.22% of total Steve Baker: Count = 2 Steve Baker: 22.22% of total "Auto-compress" determines whether Grumpfish Reporter will force your printer to compressed mode for reports wider than 80 columns (110 columns for landscape, 140 columns for landscape legal). By default, auto-compress is turned on. However, you might want to turn it off if you have a printer that will accommodate wide paper. Naturally, this feature will not do anything if your printer doesn't support compressed mode. "Printer port" determines the port to which to send the report. As mentioned previously, Grumpfish Reporter supports LPT1-3 and COM1-4. There are four other options that may appear in this first section depending upon the type of printer you are using. a) If you are using a laser printer, you will be given the option of changing the page orientation. "P" is Portrait, which is standard 8 1/2" width, 11" length. "L" is Landscape, which is 11" width, 8 1/2" length. b) If you have a printer that supports legal size paper, you can specify that by answering Yes to the "Legal" question. (By default, letter size will be used.) c) If you have a printer that supports A4 size paper, you can use that by answering Yes to the "A4" question. (By default, letter size will be -10- Grumpfish Report Generator LOGPlus! v3.0 used.) d) If you have a printer that supports 8 lines per inch, you will be given the option of switching between 6 and 8 LPI. 8 LPI allows you to squash more data onto the printed page (at the potential risk of losing your eyesight when you attempt to read it). d) Changing Header and Footer The next two sections of this window are devoted to Header and Footer Information, respectively. The header and footer are each composed of four lines. Each of those four lines is divided into three sections: Left, Center, and Right. Items in the Left section will be printed flush against the left margin. Items in the Center section will be centered horizontally on the row. Items in the Right section will be printed flush against the right margin. These items can contain either stock insertion items or actual text. For your convenience, we have included a variety of stock insertion items (including date, time, company name, and report description) that you would not necessarily want to have to re-type each time you prepared a report. You can also insert database fields in the header and/or footer. The default report header is comprised of the following: Line 1: Date (flush left), Company Name (centered), Page # (flush right) Line 2: Time (flush left) All four of these are stock insertion items. You can insert these (and other similar items) anywhere you like in the header or footer. 1. Let's make a few changes to the header now. Move the cursor to the Header Line 2/Center item, which should currently be blank. We want to insert the report description here. 2. Press F10. You will be presented with a list of insertion options. Move the highlight bar down to REPORT_DESC (Report Description) and select Enter. This will cause the report description to be printed centered on the second row of each page header. 3. Just after Line 4, you will see the item "Lines between header and column headings". This specifies the buffer to use between the report header and the column headings. By default, this will be one blank space, though you can increase it to as many as 9. 4. The footer should currently be completely empty. Let's have a one-line footer that shows the current date flush left, current page # centered, and current time flush right. 5. Place the cursor in the Footer Line 1/Left item. Press F10 for the -11- Grumpfish Report Generator LOGPlus! v3.0 list of insertion options and press Enter to select the date. 6. Move the cursor to the Footer Line 1/Center item. Type in a hyphen ("-") followed by a space. Press F10 again for the list of insertion options. Use the down arrow to highlight the Page option and press Enter to select it. Then type in another space and a hyphen. This will print the page number like so: "- 1 -", "- 2 -", etcetera. 7. Move the cursor to the Footer Line 1/Right item. Press F10 once again for the insertion options, press the down arrow once to highlight Time, and press Enter to select it. 8. Press PgDn to save your changes. At this point you may wish to save the report again so that you will not have to recreate the header and footer. Before moving on, get another hard copy so that you can see the effect of the subgroup counts and the header/footer changes you made. Whenever you change print options, the new settings will remain in effect until you either load a previously saved report or change the options again. e) Modifying Query Our current query condition is all articles that contain the word "REVIEW" as part of their title. Let's modify this so that we only look at reviews that deal with communications products. There is another field entitled KEYWORDS, which will serve us well here. 1. Move to the Query submenu. Press "C" for "Condition". 2. You will see your original condition on the right side of the screen. Press "A" to add another condition. 3. You will first need to specify whether this new condition will relate to the previously existing condition(s). If you select "AND", that means that both the previous condition and the new one must be fulfilled in order for a record to be part of your query. If you select "OR", that means that either the previous condition or the new one need be fulfilled. You can see that the difference between "AND" and "OR" is very important. Select "AND" and press Enter. 4. Highlight the KEYWORDS fields with the down arrow and press Enter. 5. Press "C" to highlight the "Contains" option and press Enter. 6. Type in "COMMUNICATION" and press Enter. -12- Grumpfish Report Generator LOGPlus! v3.0 7. Press "X" or ESC to exit back to the previous submenu. f) Saving Query Before you execute this new query, let's save it for future use. 1. You should still be on the Query submenu. Press "S" for Save Query. 2. You will be first asked to enter a description. Your description may be up to 60 characters long. Give this query the description "Communication product reviews". Press Enter when you are finished typing the description. 3. You will then be asked to enter a filename, which may be up to 8 characters long. Let's use "COMMPROD" as the name for this query. The ".GRQ" file extension will be added automatically. The message "Saving Query" should appear briefly, then disappear. You can then re-load this query later if you want to look at this particular subset of records. g) Spreadsheet Output 1. Move to the "Output" submenu. Press "Q" for Quattro/Lotus/Excel output. 2. You will be asked to specify which type of spreadsheet you wish Grumpfish Reporter to produce. These include: Lotus 2.x, Lotus 3.x, Quattro, Quattro Pro, Excel 2, Excel 3, and Excel 4. Highlight the desired spreadsheet type and press Enter. 3. You will then be asked to enter a filename, which may be up to 8 characters long. Let's use "COMMPROD" again as the name for this spreadsheet. The appropriate worksheet file extension will be added automatically. 4. You will be asked if you wish the cells to be protected. This applies to once the spreadsheet has been loaded into Lotus, Quattro, or Excel. Answer Yes or No. 5. The status bar will then appear to keep you apprised of the progress of the file creation. When the status bar is full, the creation is finished. You can then retrieve this file from DOS or Windows and use it with your spreadsheet program. DETAILS DETAILS DETAILS The remainder of this manual is devoted to discussing the many Grumpfish -13- Grumpfish Report Generator LOGPlus! v3.0 Reporter features in greater detail. This will be divided by menu (Files, Query, etc), because the menus form natural logical groupings. You can read these sections all at once if you so desire, although we recommend that you instead refer to specific sections of concern as necessary. IV. COMMAND-LINE PARAMETERS Grumpfish Reporter can be executed with the following command-line parameters: /DEV Allow creation/editing of data dictionaries /M -or- /MONO Monochrome operation /R Specify a pre-saved report to be loaded automatically /Q Specify a pre-saved query to be loaded automatically /D Specify a pre-saved data dictionary to be loaded automatically If you use more than one command-line parameter, be sure to separate them with spaces. Most of the items on the data dictionary menu are only available to someone with high enough security (either an administrator or developer). The /DEV command-line parameter would be used in those situations where you want to create a data dictionary for use by other users. We do not recommend that you make this particular command-line parameter common knowledge, because some users will not be adept enough to create data dictionaries. SECURITY LEVEL There are many Grumpfish Reporter features that would simply confuse the average user. Therefore, many of these features are tied directly to security level. The primary reason for this design is to avoid overcomplicating the life of the average user. There are five basic security levels: - None - Average - Power User - Administrator - Developer -14- Grumpfish Report Generator LOGPlus! v3.0 We already discussed under "Command-Line Parameters" how to activate Grumpfish Reporter with Developer level security. More specific information of these security levels will appear during the Data Dictionary section, because each data dictionary can have its own security level. In the meantime, though, there may be occasional mention of security level in the following discussions, which is why we are outlining it now. V. FILES MENU The Files menu is the simplest of all the menus. It contains three options: "Open", "Exit", and "DOS". a) Open The "Open" option allows you to open one or more database files to use for your query and report. The quick key associated with this menu option is F2. You will be presented with a list of DBF files for selection. Use the arrow keys or PgDn to move the highlight bar to the desired file and press Enter to select it. You may also type in the first few letters of the filename to jump quickly to that file. If you need to see the field structure of a DBF file, highlight the file in question and press F9. If the current directory has no DBF files, or if the file you wish to use is in a different directory, you can step backwards through the directory tree structure by highlighting the parent directory entry (shown by double periods) and pressing Enter. All items in this window that are bracketed by "<" and ">" indicate subdirectory entries. If the file you wish to use in on an entirely different drive, press the F10 key to switch drives. Once you have selected a file, you will presented with a completely different window that has three columns for Parent, Children, and Grandchildren databases. If you need to open related files, this screen clearly shows you the hierarchy between those files. While you are in this window, you can continue to open more files. Let's assume that you have opened a parent database named ORDERS.DBF. You want to open two child files related to ORDERS: CUSTOMERS.DBF and VENDORS.DBF. With the highlight bar on ORDERS.DBF, press INS. This will open the file picklist window for you to choose from. Look for the desired file and press Enter to select it. Once you have done so, you will be presented with another window to establish a relationship between the parent and child databases. Highlight the appropriate field (in this case, VENDOR_NO) and press -15- Grumpfish Report Generator LOGPlus! v3.0 Enter. Grumpfish Reporter will scan the child file for fields that match the one you just selected. If there is at least one such matching field, you will get another selection window. If there are no matching fields, you will get an error message to that effect and will have to pick a different field from the parent file. Once you have properly established the relationship between the parent and child database, the relationship will be shown in the main window. A line will be drawn between the parent and child, and the link field will be shown in parentheses between the two filenames. To move around within this window, use the arrow keys. You may continue to add related databases to the parent or one of the child databases. You may also remove files by highlighting them and pressing DEL. Whenever you delete a file, all files related to it and lower on the general hierarchy will be deleted as well. For example, if you delete the parent file, all other files will be deleted along with it. When you are finished selecting files, press Enter twice. This will open the files you have selected in the proper relationship hierarchy. At this time, Grumpfish Reporter will create temporary index files for all databases that have been related to others. b) Exit The "Exit" option allows you to exit Grumpfish Reporter. The quick key associated with this menu option is Alt-X. c) DOS The "DOS" option allows you to temporarily exit Grumpfish Reporter to DOS. The quick key associated with this menu option is Alt-F10. When you make use of this option, you will have approximately the same amount of free memory available as just prior to loading Grumpfish Reporter. This means that you could create a spreadsheet from within Grumpfish Reporter, then temporarily exit to run Quattro or Lotus to review the spreadsheet. When you use the "DOS" option, your DOS prompt will be altered to remind you that you are still inside Grumpfish Reporter: On temporary hiatus from Grumpfish Reporter Press EXIT at any prompt to return to G.R. C:\REPORTER> TIP: Unlike all other menu quick-keys, which are only available in framework of the Main Menu, Alt-F10 for the DOS option is available for your convenience ANYWHERE within Grumpfish Reporter. -16- Grumpfish Report Generator LOGPlus! v3.0 VI. QUERY MENU The Query menu contains the following options: "Display Fields", "Sort Order", "Condition", "Execute Query", "Load Query", "Save Query", "Clear Query", and "Delete Query". a) Display Fields The "Display Fields" option allows you to select the fields that you wish to see as part of your report or output. The quick key associated with this menu option is F3. When you select this option, you will be presented with two lists of fields on the left and right side of the screen. The fields shown on the left are still available for selection. Those shown on the right have already been selected for display. To select a field for display, highlight it with the arrow keys and press Spacebar. To remove the last field selected for display, press Backspace. To remove all fields selected for display, press F10. To return to the previous submenu, press Esc. You may return to this menu option at any time to change the fields being displayed. If you select a numeric field, you will be given a list of numeric formulae that may be attached to that field for output purposes. These include: Totals, Subtotals, Average, Maximum, Minimum, Deviation, and Variance. You can toggle individual formulae on and off by highlighting them and pressing Spacebar. You may also turn on all formulae by pressing F8, or turn off all formulae by pressing F9. When you are finished selecting numeric formulae, press Enter to proceed. NOTE: When you open a file using the Files menu, all fields will automatically be selected for display. When you are using a data dictionary, no fields will initially be selected, and you will have to select them manually. TIP: If no fields are currently selected, you may select all of them by pressing F10. b) Sort Order The "Sort Order" option allows you to determine the order in which you will view your data. The quick key associated with this menu option is F4. As with "Display Fields", when you select this option you will be -17- Grumpfish Report Generator LOGPlus! v3.0 presented with two lists of fields on the left and right side of the screen. The fields shown on the left are still available for selection. Those shown on the right have already been selected as part of the sort order. To select a field as part of the sort order, highlight it with the arrow keys and press Spacebar. If you wish to use a descending sort on this field, press F10 instead of Spacebar. By default, sorts are ascending (A-Z). You may combine ascending and descending sorts as part of the same sort order. To remove the last field selected, press Backspace. TIP: You can filter out duplicate sort records by pressing ALT-F. This is similar to a summary report in that your report will only contain the first record for each sort key. To return to the previous submenu, press Esc. You may return to this menu option at any time to change the sort order. c) Condition The "Condition" option is used to determine which subset of data you want to look at by creating query conditions. The quick key associated with this menu option is F5. When you select this option, you will see four options along the bottom of the screen: "Add Condition", "Edit Condition", "Delete Condition", and "Exit". We will run through the steps of adding a new condition before we discussing editing or deleting conditions. A query condition contains the following items: - the field you are querying - an operator (equal to, greater than, etcetera) - a value Press "A" to add a new condition. You will first be presented with a list of available fields. Use the arrow keys to highlight the appropriate one, and press Enter. You may also specify a formula by selecting the "" option at the bottom of the field list. This is useful if, for example, you need to compare two database fields to each other. The next window will contain operators. Grumpfish Reporter features the following operators: 1) is equal to -18- Grumpfish Report Generator LOGPlus! v3.0 2) is less than 3) is greater than 4) is less than or equal to 5) greater than or equal to 6) is not equal to 7) is between 8) is empty 9) is not empty 10) contains* 11) contains (positional)* 12) does not contain* 13) begins with* 14) ends with* 15) sounds like* *Applies to character data only Most of these operators are self-explanatory. However, the positional contains requires further illumination. It is a pattern-matching device that lets you look for specific characters in specific positions. You use qusetion marks to block out irrelevant characters. For example, you want to find all items that have the letters "ABC" in the third through fifth positions. You could use "???ABC" as the matching value. The next window allows you to enter a value for this particular query condition. You can also peek into the database by pressing F2 if you get stuck for what to enter. TIP: If you press F2 for suggested values on a character field, and there is an open index corresponding to that field, you will be able to incrementally search for values by typing the first few letters of what you are looking for. You may press Backspace to go back through any of these three steps (field, operator, value). When you have completed a query condition, it will be shown on the right side of the screen. Boolean Operators/Parentheses When you add subsequent query conditions, you will need to specify a "boolean" operator associated with them. This will generally amount to selecting either "AND" or "OR". If you select "AND", that means that both the previous condition AND the new one must be fulfilled in order for a record to be part of your query. If you select "OR", then either the previous condition OR the new one need be fulfilled. If you are operating at a security level of 5 (Power User) or greater, you will also be able to select the options "AND (" and "OR (". These allow you to nest parentheses as part of your query conditions. -19- Grumpfish Report Generator LOGPlus! v3.0 Parentheses can be used to override the natural precedence of these two operators. Ordinarily, AND is evaluated prior to OR. Editing Query Conditions You may edit any individual query condition after the fact by selecting the "Edit Condition" option. When you select it, a highlight bar will appear in the query condition window. Use the arrow keys to highlight the condition you wish to edit, and press Enter. If you change your mind and decide not to edit any conditions, press Esc. Deleting Query Conditions You may delete any individual query condition by selecting the "Delete Condition" option. As with editing conditions, a highlight bar will appear in the query condition window. Use the arrow keys to highlight the condition you wish to edit, and press Enter. If you change your mind, press ESC to exit without deleting any conditions. d) Execute Query The "Execute Query" option takes your sort order and query condition(s) into account to give you a different view of your database. This view will be limited to the subset defined by your query condition, shown in the order defined by your sort order. NOTE: Whenever you change the sort order and/or query condition, you must select the "Execute Query" option to reflect those changes. e) Load Query The "Load Query" option allows you to load a previously saved query. The quick key associated with this menu option is Alt-Q. When you select this option, you will be presented with a list of descriptions of previously saved queries (or an error message if there are no queries found), along with the date/time that they were created. Use the arrow key to highlight the one you want, and press Enter. Assuming that it applies to the currently active data dictionary or open files, this query will be executed immediately and thus take effect. f) Save Query The "Save Query" option allows you to save a query for later use. This will save the query condition and sort order, along with a description of the query which you provide. When you select this option, you will be first asked to enter a description. Your description may be up to 60 characters long. If you -20- Grumpfish Report Generator LOGPlus! v3.0 decide not to save the query, leave the description empty. Press Enter when you are finished typing the description. You will then be asked to enter a filename, which may be up to 8 characters long. (Again, you can back out of this by leaving the filename empty). The ".GRQ" file extension will be added automatically. If you enter the name of an existing file, you will be warned that you are about to overwrite it. The message "Saving Query" should appear briefly, then disappear. You can then re-load this query with "Load Query" to look again at this particular subset of records. g) Clear Query The "Clear Query" option allows you to clear the current query conditions. You will be asked if you wish to proceed with this, and if so, all query conditions will be removed. NOTE: Display fields and sort order will not be cleared. In fact, if there is an active sort order, the current view will be rebuilt automatically. h) Delete Query The "Delete Query" option allows you to delete a previously saved query file. When you select this option, you will be presented with a list of descriptions of previously saved queries (or an error message if there are no queries found). Use the arrow key to highlight the query you want to delete, and press Enter. NOTE: Whenever you save a query, the current security level will be saved along with it. You will only be able to delete that query if you have at least the same security level as the person who created it. VII. OUTPUT MENU The "Output" menu contains the following options: "View", "Printer", "Form", "Label", "CrossTab", "Database", "Quattro/Lotus/Excel", "ASCII", "Treeducer", "Load Report", "Save Report", "Clear Report", and "Delete Report". a) View The "View" option lets you view the result of your query on-screen prior to committing it to print. But more importantly, you can also make changes to the layout of the data via this option. The quick key -21- Grumpfish Report Generator LOGPlus! v3.0 associated with this menu option is F6. NOTE: This option will only be available when there is at least one field selected for display. When you select this option, you will be presented with a table-style browse of your database(s). The columns of this table will correspond directly to the Display Fields that you established earlier. For example, if you picked three display fields -- Name, Title, and Address -- you will have three columns containing those fields. The total number of print columns (i.e., the width of a printed report) will be displayed at all times in the lower right corner of the browse window. This also accounts for any spaces between columns (as determined by the current column spacing setting in the Print Options window). The following active keys apply during the browse: Key Description Up Arrow Move up one row of data Down Arrow Move down one row of data Left Arrow Move left one column Right Arrow Move right one column PgDn Move down one screenful of data PgUp Move up one screenful of data Ctrl-PgDn Move to bottom of data Ctrl-PgUp Move to top of data Home Jump to start of previous subgroup (requires sort order) End Jump to start of next subgroup (requires sort order) Ctrl-Home Pan to first (leftmost) column Ctrl-End Pan to last (rightmost) column Ctrl-Left Pan to first (leftmost) column Ctrl-Right Pan to last (rightmost) column Enter View memofield (if applicable) / Open Browse Configuration Menu F2 Show calculations (applies only when the cursor is in a column containing numeric data that has numeric formulae attached to it) F3 Show count of total records ESC Exit Browse Configuration Menu Most of the power of the View option lies in the Browse Configuration Menu. This lets you interactively change the configuration of your data, which in turn can have a drastic effect on the way that it is printed or converted to other file formats. However, like many advanced features of Grumpfish Reporter it is security-driven. The reason is that the average end user will only -22- Grumpfish Report Generator LOGPlus! v3.0 become confused by this. Therefore, you must have at least Average security for the Browse Configuration Menu to be active. Let's discuss the many options on the Browse Configuration Menu: Column Attributes This opens a submenu containing the following options specific to the current column that you are in: Contents: This allows you to change the contents of the current column. You will be given a list of available fields to serve as the basis for this column. Use the arrow keys to highlight a field and press Enter to select it. You may also select "Formula", in which case you can type in an user-defined formula. A formula can include most standard dBASE III+ functions, such as RECNO() and SUBSTR(). Header: This allows you to change the header of the current column. You can make the header multiple lines deep by embedding semi-colons indicating line breaks. To remove the header completely, leave it blank. Width: This enables you to widen or truncate the current column as desired. Column Separator: This allows you to change the separator between the current column and the one to the left of it. (NOTE: This requires at least power user security.) You will be asked to enter the desired column separator, using the tilde ("~") to mark the end. If you need help with the line drawing characters (don't we all?), press F10 for an extremely thorough and helpful chart. These line drawing characters are all denoted with three-digit codes. Type in the code that applies to the character you want, and it will automatically be inserted for you. (See also "Column Separator" under the "Browse Attributes Menu" discussion.) Header Separator: This allows you to change the separator between the current column header and the data in that column. (NOTE: This requires at least power user security.) If you change a column separator, you will probably need to change the corresponding header separator to ensure that the vertical lines join properly. As with column separators, each header separator goes between the current column and the one to the left of it. You will be asked to enter the desired header separator, using the tilde ("~") to mark the end. Also as with column separators, you can press F10 for the line drawing character chart. (See also "Header Separator" under the "Browse Attributes Menu" discussion.) PICTURE Clause: This allows you to attach a dBASE-style PICTURE clause to character or numeric data. Here are some PICTURE templates and characters at your disposal: -23- Grumpfish Report Generator LOGPlus! v3.0 @B Display numbers left-justified @C Display "CR" after positive numbers @R Insert non-template characters (for example, @R (###) ###-####) @X Display "DB" after negative numbers @Z Display zeros as blanks @! Convert alphabetic characters to upper-case @( Enclose negative numbers in parentheses $ Display a dollar sign in place of leading space in number * Display an asterisk in place of leading space in number You may combine templates (i.e., items preceded by "@"). For example, "@C@X" will display "CR" after positive numbers and "DB" after negative numbers. However, probably the most common PICTURE templates that you will use are upper-case ("@!") or phone numbers ("@R (###) ###-####"). Default Colors: This enables you to change the default colors for the current column. (NOTE: This requires at least power user security.) The "Standard" color is used for all of the data in the column. The "Enhanced" color is used only for the highlight bar in that column. Use the up and down arrows to change the color, or the left/right arrows to change the current column (Standard/Enhanced). Any changes you make here will be reflected as soon as you exit back to the submenu. Override Colors: This powerful option enables you to specify specific color settings based on data conditions. (NOTE: This requires administrator or developer security, not to mention a good working knowledge of code blocks.) Although it is light years beyond the scope of this manual to explain code blocks or TBrowse (which serves as the underlying data browser mechanism), the following brief description will nonetheless attempt to describe the use of override colors. If your head begins to swim in the next few paragraphs, please feel free to skip ahead to "Browse Attributes"! By default, color #1 (see the "Colors" discussion under "Browse Attributes Menu") will be used to display all data in the column. Color #2 will be used to display the current cursor position in the column. As previously mentioned, you can change these colors by using the "Default Colors" option described above. However, "Override Colors" lets you override the default colors based on specific data conditions in the column. There are two simple rules to follow when constructing the code block: - it must accept an argument, because the data item has to be passed to it at evaluation. - it must return an array of two numbers. These two numbers will serve as pointers into the master color table (see "Colors" under "Browse Attributes Menu"), representing the unselected and selected color pair to use for displaying that data. -24- Grumpfish Report Generator LOGPlus! v3.0 Here is an example of an override color setting: { | x | if("REVIEW" $ x, { 3, 4 }, { 1, 2 } ) } If the word "REVIEW" appears as part of the data in the current cell, colors #3 and #4 will be used to display the data. Otherwise, colors #1 and #2 will be used. Formulas: This option allows you to add and/or edit numeric formulae for columns that contain numeric data. It will be active only if the currently highlighted column contains numeric data. If you want to change numeric formulae information, you should move to the desired column first, and then go into the Browse Configuration Menu. Exit: This will return you to the Browse Configuration Menu. You may also achieve this by pressing ESC. Browse Attributes This opens a submenu containing additional options specific to the overall browse: "Column Separator", "Header Separator", "Colors", "Lock Columns", "Save Defaults", and "Exit". Column Separator: This allows you to change the default for all of the column separators. (NOTE: This requires at least power user security.) You will be asked to enter the desired column separator, using the tilde ("~") to mark the end. If you need help with the line drawing characters, press F10 for the handy-dandy line drawing chart. These line drawing characters are all denoted with three-digit codes. Type in the code that applies to the character you want, and it will automatically be inserted for you. (See also "Column Separator" under the "Column Attributes Menu" discussion.) Header Separator: This allows you to change the default for all separators appearing between the column headers and the data. (NOTE: This requires at least power user security.) You will be asked to enter the desired header separator, using the tilde ("~") to mark the end. As with column separators, you can press F10 for the line drawing character chart. (See also "Header Separator" under the "Column Attributes Menu" discussion.) Colors: This allows you to change the master color palette available for the browse. (NOTE: This requires administrator or developer security.) You will be presented with a list of the current ten color settings. These colors are used by the "Default Colors" and "Override Colors" options on the Column Attributes Menu to control the browse display. Use the up and down arrows to move through the list, and press Enter to change any of the settings. This will bring up an interactive color palette. Simply use the arrow keys to navigate through the palette to -25- Grumpfish Report Generator LOGPlus! v3.0 select the desired color. Lock Columns: This enables you to lock columns from the left side of the browse window. Locked columns remain on screen even as you pan horizontally to the right. Simply type in the number of columns you wish to lock. If you want to unlock all columns, enter zero. Save Defaults: This allows you to save your browse color settings (as just discussed) and global column and heading separators for future use. If you choose to save these, they will be saved to the file VIEWDATA.CFG. If this file is detected when you view data on-screen, the settings will automatically be loaded. Exit: This will return you to the Browse Configuration Menu. You may also achieve this by pressing ESC. Move Column This option enables you to move the current column to a different location. You will be given a list of columns and asked to select the target location. If you decide not to move the column, press ESC rather than selecting a target location. Insert Column This option enables you to insert a new column either just before or after the current column. (If you do not want to insert a column, press ESC.) Once the new column has been created, you will be given a list of available fields to serve as the basis for this column (as discussed under the Column Attributes Menu). Use the arrow keys to highlight a field and press Enter to select it. You may also select "Formula", in which case you can type in an user-defined formula using standard Clipper functions. If you insert a column that contains numeric data, you will be given the option to attach numeric formulae to them. The same keys apply as when you are selecting a field via the Display Fields menu option. You may also add or edit numeric formulae information via the Formulas option on the Column Attributes Menu. Delete Column This option will delete the current column. You will be asked for confirmation, which is a good thing because there is absolutely no way to recover a deleted column short of recreating it. Photocopy Column -26- Grumpfish Report Generator LOGPlus! v3.0 This option is similar to "Move Column", with the difference that this will create a second copy of the current column at the target location. The previous contents of the column at the target location will be lost. Filter Data This powerful option allows you to further restrict the current data subset. It is available only if there is an active sort order. Additionally, the current security level must be power user or greater. If either of these two conditions is not met, the menu option will not be selectable. If you select this option, you will get a window prompting you to enter a starting and ending value for the subset. If you type in a starting value, the ending value will assume the same value (for your convenience). After you have entered the starting and ending value and return to the Browse Configuration Menu, exit to the browse window to see your changes reflected. To remove the starting and/or ending value, leave them blank. TIP: Any data filtering that you do here will be reflected when you output your data to printer, text file, database, spreadsheet, etcetera. This means that you can run a query and then use the Filter Data option to perform a "sub-query". Save Configuration This option enables you to save your customized browse configuration for later re-use. This will remember any data filter you have set, the current color settings, and the order/contents of the columns. You will be asked to enter a filename up to eight characters. If you decide not to save your configuration, just leave the filename blank. The file extension .GRV will automatically be added to your filename. TIP: When you use the browse configuration menu to make any changes to the look of your data, you can save that customized view as part of the report. Just save the browse configuration first using the Save Configuration option. Then save your report. When you reload your report, the view file that was active when you saved it will be reloaded automatically. This is extremely useful if you want to change column headers, etcetera. Load Configuration This option enables you to reload a previously saved customized browse configuration. You will be given a list of all .GRV files in the current directory (or an error message indicating that there are none to be found). Use the arrow keys to highlight the desired one, and press -27- Grumpfish Report Generator LOGPlus! v3.0 Enter to load it. NOTE: If you do not have the same database open that was open when the configuration was saved, you will be warned to that effect. Repeat last action This option allows you to repeat any of the following customization actions for column attributes: - column contents - header - column separators - header separators - override colors - PICTURE clause This can save you a lot of time if you want to make the same change(s) to several columns. Undo last action This option allows you to undo the last column customization action. The same actions that can be repeated can be undone. Exit This simply returns you to the browse window. You can achieve the same thing by pressing ESC. b) Printer The "Printer" option allows you to send the results of your query/report to the printer, a text file, or the screen. NOTE: This option will only be available when there is at least one field selected for display. When you select this option, you will first be asked if you want to review your print options, which include the header and footer. If you want to change any of these, answer "Yes". You will then be changing print options specific to this report. If you later save the report with the "Save Report" option, these edited print options will be saved along with it. (Print Options will be covered in greater detail under "Printer Setup" in the Globals Menu discussion.) The next question is whether you wish to send output to the printer, a text file, or the screen. If you select "Printer", you will be asked to -28- Grumpfish Report Generator LOGPlus! v3.0 verify that the printer is on-line and ready. Make sure it is, then highlight "Ready" and press Enter. A status bar will appear showing the progress of your printed report. (If you have redirected printer output to a text file, the name of the text file will appear above the status bar.) You can cancel the output process at any time by pressing ESC. If you elect to print to a text file, you will be asked if you wish to "suppress control codes". Control codes are printer codes, such as those which turn on bold or compressed print. The general rule of thumb is: If you do not ultimately plan on sending this text file to your printer, you should suppress control codes. If you print to the screen, the progress bar will appear as a temporary file is created to hold your report. When the report is complete, it will be displayed on the screen. You can use the arrow keys to scroll through the report. If you want to search for any piece of text, press ALT-S and enter the desired text. If you decide to print the report, print ALT-P. Numeric Formulae: If you have specified one or more formulae for numeric fields, they will be printed one per row at the end of the report (with the exception of subtotals, which of course will be printed following each subgroup). The order in which the formulae are printed is: Total, Average, Maximum, Minimum, Deviation, and Variance. NOTE: Due to internal limitations, deviation and variance can only be based upon the first 4,096 records. If your report has more records than this, a disclaimer will be printed at the end of the report warning that the deviation and variance figures may be inaccurate. c) Form The "Form" option allows you to create and print your own forms. When you first select this option, you will be presented with a blank screen. The general idea is to insert fields, text, and boxes to create a form that tickles your fancy. When you are satisfied with your form, you can print it. TIP: If you have EGA or VGA display, you can set Grumpfish Reporter to use expanded video mode for your forms. This will enable you to put more information on each form. See "43/50 Line Forms" under the "Globals" menu discussion for more information. The active keys in the form painter are: Key Action Alt-A toggle autotrim for current item (character only) Alt-L load previously saved form Alt-S save current form -29- Grumpfish Report Generator LOGPlus! v3.0 Alt-P print current form Alt-D delete a form from disk Alt-O review/change print options Alt-F insert field at current position Alt-B insert box at current position Alt-E erase item at current position Alt-M move current item Alt-N delete all items and start over F2 show more info about current item Ù edit current item (text only) < slide items on this row one space left > slide items on this row one space right Ins insert row at current position Del delete row at current position Arrow keys move cursor Home move to top left corner Tab move right five columns Shift-Tab move left five columns PgUp move to top row PgDn move to bottom row Ctrl-Left move to start of item (or leftmost column) Ctrl-Right move to end of item (or rightmost column) Moving the Cursor You can move the cursor on the form with the arrow keys, PgUp, PgDn, Home, End, Tab, Shift-Tab, Ctrl-Left and Ctrl-Right. Note that if the cursor is positioned on a field, box, or text, field, the Ctrl-Left and Ctrl-Right keys will move you to the left and right edge of that item. Inserting Items To insert fields, move the cursor to the desired location and press Alt-F. You will be given a list of all available fields. Highlight the one you want, and press Enter to insert it. To insert text, move the cursor to desired location and just start typing. You can exit the editing process by pressing Enter, Up arrow, or Down arrow. TIP: Using the arrows to exit editing enables you to type several pieces of text on different rows very quickly. To insert a box, move the cursor to the desired location for the top left corner and press Alt-B. You will be given a list of available box outlines. Highlight the one you want and press Enter to select it. Use the arrow keys to size the box to your liking, and press Enter again when you are finished to anchor it. Editing Text Move the cursor to anywhere on the text in question and press Enter. -30- Grumpfish Report Generator LOGPlus! v3.0 Type the new text and press Enter when you are finished. Moving Items To move any item, press Alt-M while the cursor is positioned on it. The color of the item will change to indicate that it is active. The following keys are active when moving items: Key Action Up Move item up one row Down Move item down one row Left Move item left one column Right Move item right one column PgUp Move item to top row PgDn Move item to bottom row L Left-justify item C Center item R Right-justify item Ctrl-Left Left-justify item Ctrl-Right Right-justify item Esc Cancel movement Press Enter when you are finished moving the item. Note that items cannot be stacked on top of each other. Autotrim Autotrim is useful for merge mailings. It will remove any trailing spaces from character data, so that you can combine several data fields together without having large gaps between them. To toggle autotrim status on any character field, place the cursor on it and press Alt-A. Deleting Individual Items To delete an item, move the cursor on top of it and press Alt-E. You will be asked for confirmation. Deleting All Items To delete all items and start again with a fresh slate, press Alt-N. You will be asked for confirmation. Be certain that you want to do this -- there is no way to recover deleted items! Moving All Items on Row To move all items on a row left or right, move the cursor to that row and press "<" or ">", respectively. Note that these keys will not work for items that are inside a box. Print Options -31- Grumpfish Report Generator LOGPlus! v3.0 Press Alt-O to review and/or change print options. Page Break Between Forms: This determines whether or not to print only one form per page. If you answer "No", then as many forms will be printed as will fit on one page. # of lines per page: This determines the page length. # of lines between forms: This serves as a separator between forms. Also note that if you begin the form on a row other than the top row, those blank lines will serve as an additional separator between forms. Pause between forms: Answer "Yes" to this if you need to manually change paper between forms. # of copies to print: This is self-explanatory. Note that forms will be printed for collating -- in other words, if you are printing two copies of forms for four records, they will be printed 1-2-3-4, 1-2-3-4. The top and left margin options are self-explanatory. By default, both are set at zero. Printing a Form Press Alt-P to print a form. You will be asked if you wish to review your print options. You will then be asked if you want to send the output to the printer, a text file, or the screen. If you select Printer, you will be asked to verify that the printer is on-line and ready. A status bar will appear showing the progress of your printed report. (If you have redirected printer output to a text file, the name of the text file will appear above the status bar.) You can cancel the output process at any time by pressing ESC. If you elect to print to a text file, you will be asked if you wish to "suppress control codes". Control codes are printer codes, such as those which turn on bold or compressed print. The general rule of thumb is: If you do not ultimately plan on sending this text file to your printer, you should suppress control codes. Saving Forms You can save forms for later use by pressing Alt-S. This will save all items that you have placed on your form, current query condition (if any), and form print options, along with a description of the form which you provide. You will be first asked to enter a description. Your description may be up to 60 characters long. If you decide not to save the form, just leave -32- Grumpfish Report Generator LOGPlus! v3.0 the description empty. Press Enter when you are finished typing the description. You will then be asked to enter a filename, which may be up to 8 characters long. (You can back out of this by leaving the filename empty). The ".GRF" file extension will be added automatically. If you enter the name of an existing file, you will be warned that you are about to overwrite it. The message "Saving Form" should appear briefly, then disappear. Loading Forms To re-load a previously saved form, press Alt-L. You will be presented with a list of descriptions of previously saved forms along with the date/time that they were created (or an error message if there are no forms found). Use the arrow key to highlight the one you want, and press Enter. If there is a data dictionary saved with this form, and there is no data dictionary open at the time that you load it, the applicable data dictionary will be loaded immediately. If there is no data dictionary saved with this form, and the open files do not match the fields required for the form, you will get an error message to that effect and the form will not be loaded. Deleting Forms You can delete previously saved form files by pressing Alt-D. You will be presented with a list of descriptions of previously saved forms (or an error message if there are no forms found). Use the arrow key to highlight the form you wish to delete, and press Enter. NOTE: Whenever you save a form, the current security level will be saved along with it. You will only be able to delete that form if you have at least the same security level as the person who created it. Showing More Information About an Item If you would like to see more information about any item in the form painter, place the cursor on it and press F2. This is most useful for fields, because the database name will not be shown on the form painter due to space restrictions. d) Label The "Label" option allows you to create and print labels. Its operation is very similar to the form painter. -33- Grumpfish Report Generator LOGPlus! v3.0 When you first go into the label painter, you will see a box in the upper left corner. This box represents your label. Any text or fields that you put in your label must fit within the box, and you will not be allowed to move the screen or mouse cursors outside its boundaries. The active keys in the label painter are: Key Action Alt-A toggle autotrim for current item (character only) Alt-L load previously saved label file Alt-S save current label Alt-P print current label Alt-D delete a label file from disk Alt-O review/change print options Alt-F insert field at current position Alt-B insert box at current position Alt-E erase item at current position Alt-M move current item Alt-N delete all items and start over F2 show more info about current item Ù edit current item (text only) < slide items on this row one space left > slide items on this row one space right Ins insert row at current position Del delete row at current position Arrow keys move cursor Home move to top left corner Tab move right five columns Shift-Tab move left five columns PgUp move to top row PgDn move to bottom row Ctrl-Left move to start of item (or leftmost column) Ctrl-Right move to end of item (or rightmost column) Label Boundary To change the label boundary box, press ALT-O for Label Print Options. The label width and height directly affect the size of this box. While editing Label Print Options, you may press ALT-L to load a standard label size. This will give you a window similar to Figure 38 containing over 70 different standard label formats. Highlight your label type and press Enter. If you are using a label that is not supported by Grumpfish Reporter, please contact us so that we can add support for it. Label Print Options Are labels continuous: If you answer "No", then Grumpfish Reporter will eject each page from the printer. (Default is yes.) -34- Grumpfish Report Generator LOGPlus! v3.0 # of labels across: This is the number of labels across the page, and can be between one and four. (The default is three.) # of lines down: This is the number of labels down the page, and can be between one and twelve. (The default is ten.) Lines per inch: This can be either 6 or 8. 8 lines per inch allows you to cram more information onto each label. Note that you will only be able to change to 8 lines per inch if the currently active printer supports that. Compressed: This enables compressed print, which also allows you to cram more information onto a label. You will only be able to select compressed print if the currently active printer supports it. Label width: This is the label width in inches. This may be between zero and 8.5. (The default is 2.5 inches.) Label height: This is the label height in inches. This may be between zero and 11. (The default is 1 inch.) Gap between labels rows: This is the amount of space to put between each row of labels. It may be between zero and three. (The default is one quarter inch.) Top and left margin options are self-explanatory. By default, both are set at zero. Pause between labels: If you answer "Yes", Grumpfish Reporter will pause between each label. By default, there is no pause. # of copies to print: This is self-explanatory. Moving the Cursor You can move the cursor on the form with the arrow keys, PgUp, PgDn, Home, End, Tab, Shift-Tab, Ctrl-Left and Ctrl-Right. If the cursor is positioned on a field, box, or text, field, the Ctrl-Left and Ctrl-Right keys will move you to the left and right edge of that item. Inserting Items To insert fields, move the cursor to the desired location and press Alt-F. You will be given a list of all available fields. Highlight the one you want, and press Enter to insert it. To insert text, move the cursor to desired location and just start typing. You can exit the editing process by pressing Enter, Up arrow, or Down arrow. -35- Grumpfish Report Generator LOGPlus! v3.0 To insert a box, move the cursor to the desired location for the top left corner and press Alt-B. You will be given a list of available box outlines. Highlight the one you want and press Enter to select it. Use the arrow keys to size the box to your liking, and press Enter again when you are finished to anchor it. Note that boxes must fit within the confines of the label boundary box. Editing Text Move the cursor to anywhere on the text in question and press Enter. Type the new text and press Enter when you are finished. Remember that your text must fit within the constraints of the label boundary box. Moving Items To move any item, press Alt-M while the cursor is positioned on it. The color of the item will change to indicate that it is active. The following keys are active when moving items: Key Action Up Move item up one row Down Move item down one row Left Move item left one column Right Move item right one column PgUp Move item to top row PgDn Move item to bottom row L Left-justify item C Center item R Right-justify item Ctrl-Left Left-justify item Ctrl-Right Right-justify item Esc Cancel movement Press Enter when you are finished moving the item. Note that items cannot be stacked on top of each other. Autotrim Autotrim removes any trailing spaces from character data, so that you can combine several data fields together without having large gaps between them. To toggle autotrim status on any character field, place the cursor on it and press Alt-A. Deleting Individual Items To delete an item, move the cursor on top of it and press Alt-E. You will be asked for confirmation. Deleting All Items -36- Grumpfish Report Generator LOGPlus! v3.0 To delete all items and start again with a fresh slate, press Alt-N. You will be asked for confirmation. Moving All Items on Row To move all items on a row left or right, move the cursor to that row and press "<" or ">", respectively. Note that these keys will not work for items that are inside a box. Printing a Label Press Alt-P to print a label. You will be asked if you wish to review your print options. You will then be asked if you want to send the output to the printer, a file, or the screen. If you select Printer, you will be asked to verify that the printer is on-line and ready. You will also be given the chance to print one or more test labels to verify proper alignment. A status bar will appear showing the progress of the label print process. (If you have redirected printer output to a text file, the name of the text file will appear above the status bar.) You can cancel the output process at any time by pressing ESC. If you elect to print to a text file, you will be asked if you wish to "suppress control codes". Control codes are printer codes, such as those which turn on bold or compressed print. The rule of thumb is: If you do not ultimately plan on sending this text file to your printer, you should suppress control codes. Saving Labels You can save labels for later use by pressing Alt-S. This will save all items in the label boundary box, the label print options, and a description of the form which you provide. You will be first asked to enter a description. Your description may be up to 60 characters long. If you decide not to save the form, just leave the description empty. Press Enter when you are finished typing the description. You will then be asked to enter a filename, which may be up to 8 characters long. (You can back out of this by leaving the filename empty). The ".GRL" file extension will be added automatically. If you enter the name of an existing file, you will be warned that you are about to overwrite it. The message "Saving Label" should appear briefly, then disappear. -37- Grumpfish Report Generator LOGPlus! v3.0 Loading Labels To re-load a previously saved label, press Alt-L. You will be presented with a list of descriptions of previously saved labels along with the date/time that they were created (or an error message if there are no labels found). Use the arrow key to highlight the one you want, and press Enter. If there is no data dictionary saved with this label, and the open files do not match the fields required for the label, you will get an error message to that effect and the label will not be loaded. Deleting Labels You can delete previously saved label files by pressing Alt-D. You will be presented with a list of descriptions of previously saved labels (or an error message if there are no labels found). Use the arrow key to highlight the label you wish to delete, and press Enter. NOTE: Whenever you save a label, the current security level will be saved along with it. You will only be able to delete that label if you have at least the same security level as the person who created it. Showing More Information About an Item If you would like to see more information about any item in the label painter, place the cursor on it and press F2. e) CrossTab This option allows you to create a crosstab report. A crosstab is a special kind of report which creates a numeric matrix. Crosstabs are excellent for providing spreadsheet-like summary representations of your data. For example, let's suppose that you have a database which has departmental sales figures. It includes fields such as DEPARTMENT, SALESPERSON, SALESDATE, ITEM, QUANTITY, PRICE, etc. A crosstab report allows you to see how much each salesperson sold for each department. The matrix will look something like this: Department Sales People Clothing Housewares Automotive ----------------------------------------------------------- Maynard Algar 13,223 9,432 14,221 Don Bayne 32,332 12,345 5,443 Dweebus McDuck 109 365 11,287 To set up a crosstab report, you must pick a field for the rows going down the left side and a field for columns across the top. For each -38- Grumpfish Report Generator LOGPlus! v3.0 unique value of those two fields, the report will either sum a third field or count records. (This is the number which goes in the middle of the matrix.) You can specify headers for the rows and columns. You can tell whether or not to sort the row and column values. You can also get row and/or column totals. Row and column values can be of any type, although most often they will probably be either character or dates. If the row or column field is a date field, the user can pick from several options for grouping the dates. This is useful, for example, if you want to show the sales for each month or each year. Because of the dynamic nature of a crosstab report, be careful what you ask it to do. If the field you pick for the columns contains 20,000 unique values, you will never be able to print a meaningful report. Be realistic! Grumpfish Reporter automatically determines the width of your report and will split the report across multiple pages if not all columns will fit on a single page. When you select the Crosstab option, you will be presented with a small menu of other options which include: "Create/Edit Crosstab", "Load Crosstab", "Save Crosstab", "Print Crosstab", and "Clear Crosstab". These should all be self-explanatory. Select "Create/Edit Crosstab". Let's run through the options in the order that you will be asked to input them: Row Field: You must enter this to run a crosstab report. Either type in the name of the desired field or press Enter to display the list of available fields and select from that. If you select a date field, you will be given an additional menu of subgrouping options: Date - group by date (default) Day of Week - group by day of the week (i.e., Sunday, Monday, etc.) Week - group by week (each week starts on Sunday) Month - group by month (i.e, Jan 94, Feb 94, Mar 94) Year - group by year Row Header: This can be a description for the row field. If used, this will be printed over the row descriptions on the left side of the crosstab report. Row Header Width: Enter the desired width for the row header and the row descriptions. This width can be wider or narrower than the width of the -39- Grumpfish Report Generator LOGPlus! v3.0 field you chose for rows. Row Sort: This determines whether or not the row descriptions will be sorted on the left side of the report. Character data will be sorted alphabetically in ascending order. Numeric data will be sorted in ascending order. Column Field: You must enter this to run a crosstab report. Either type in the name of the desired field or press Enter to display the list of available fields and select from that. If you select a date field, you will be given an additional menu of subgrouping options as described above under "Row Field". Column Sort: This controls whether or not to the column descriptions will be sorted across the top of the crosstab report. Column Header: This can be a description for the column field. If used, this will be printed one line above the column descriptions. If you leave it blank, the extra row will not be printed. Count or Sum: Type "C" if you want to the report to count the number of entries which match the row and column fields. Otherwise, enter "S" if you wish to sum a numeric field (see "Field to Sum" below). Use Commas: This determines whether or not to insert commas into numbers printed in the body of the crosstab report. This will affect the width of the columns. If you are summing, you can also affect the column width by changing the number of decimal places to use (see below). Field to Sum: If you wish to sum a numeric field, then you should type in the name of the desired field or press Enter to select from the list of available fields. (This does not apply if you have chosen to Count rather than Sum.) Decimals: This is the number of decimal places to use for the numbers in the body of the crosstab report. This will affect the width of the columns. TIP: Remember to account for the decimal point; for example, selecting two decimal places will increase the column width by three. Column Totals: This allows you to show totals at the bottom of each column. If you select totals for both rows and columns, grand totals will also be printed. Row Totals: This allows you to show totals at the end of each row, which of course will affect the overall width of the crosstab report. If you select totals for both rows and columns, grand totals will also be printed. Page Length: Self-explanatory. (The default is 66.) -40- Grumpfish Report Generator LOGPlus! v3.0 Left Margin: Self-explanatory. (The default is 5.) Top Margin: Self-explanatory. (The default is 0.) Column Spacing: This is the number of spaces to separate each of the columns on the crosstab. The default spacing is 1, and you can increase this as high as 19 if you wish. Double-Spaced Output is self-explanatory. (Default is single-spaced.) Auto-Compress: This determines whether Grumpfish Reporter will force your printer to compressed mode for crosstabs wider than 80 columns (110 columns for landscape, 140 columns for landscape legal). By default, auto-compress is turned on. However, you might want to turn it off if you have a printer that will accommodate wide paper. Naturally, this feature will not do anything if your printer doesn't support compressed mode. Printer Port: This determines the port to which to send the report. Grumpfish Reporter supports LPT1-3 and COM1-4. There are four other options that may appear in this window depending upon the type of printer you are using. a) If you are using a laser printer, you will be given the option of changing the page orientation. "P" is Portrait, which is standard 8 1/2" width, 11" length. "L" is Landscape, which is 11" width, 8 1/2" length. b) If you have a printer that supports legal size paper, you can specify that by answering Yes to the "Legal" question. (By default, letter size will be used.) c) If you have a printer that supports A4 size paper, you can use that by answering Yes to the "A4" question. (By default, letter size will be used.) d) If you have a printer that supports 8 lines per inch, you will be given the option of switching between 6 and 8 LPI. 8 LPI allows you to squash more data onto the printed page (at the potential risk of losing your eyesight when you attempt to read it). The Header section is similar to the header section of the Printer Options screen. The header is composed of four lines, and each of those four lines is divided into three sections: Left, Center, and Right. Items in the Left section will be printed flush against the left margin. Items in the Center section will be centered horizontally on the row. Items in the Right section will be printed flush against the right margin. You may insert stock items (e.g., date, time) into any of the -41- Grumpfish Report Generator LOGPlus! v3.0 header locations by pressing F10. You may also insert a free-format function by selecting "". It can be any function that is available to the application. The default header for a crosstab report is: Line 1: Date (flush left), Company Name (centered), Page # (flush right) Line 2: Time (flush left) Lines Between Header and Column Headings: This represents the number of blank lines to insert between the end of the report header and the beginning of the column headings. The default value is 1, though you can increase it to as many as 9. f) Database The "Database" option allows you to send the results of your query/report to a new database file. NOTE: This option will only be available when there is at least one field selected for display. When you select this option, you will be asked for a filename (up to eight characters). The file extension .DBF will be added automatically. The status bar will appear showing the progress of the output. You may cancel the output process at any time by pressing ESC. g) Quattro/Lotus/Excel The "Quattro/Lotus/Excel" option allows you to send the results of your query/report to a spreadsheet file. NOTE: This option will only be available when there is at least one field selected for display. When you select this option, you will first be asked what type of spreadsheet you wish to create. Grumpfish Reporter supports Lotus 2, Lotus 3, Quattro, Quattro Pro, Excel 2, Excel 3, and Excel 4. Highlight the desired type and press Enter. You will then be asked for a filename (up to eight characters). The appropriate file extension will be added automatically. You will then be asked if you want cells to be protected. This will only have an effect when you are using the spreadsheet in Lotus, Quattro, or Excel. The status bar will appear showing the progress of the output. You may cancel the output process at any time by pressing ESC. Note that numeric fields will be output using Fixed format, along with -42- Grumpfish Report Generator LOGPlus! v3.0 the number of decimals. This is to alleviate inconsistency when using deviation and variation, which can often contain a different number of decimals than the data in the rest of the column. Also note that if you have specified formulae for numeric fields, they will be written to the spreadsheet using the appropriate @Formula (i.e., @SUM, @AVG, @MIN, @MAX, @VAR, @STD). h) ASCII The "ASCII" option allows you to send your data to an ASCII file. This is not the same as redirecting a report to a text file, and is better suited for data transfer between microcomputers and minicomputers or mainframes. The format of the ASCII file may be either SDF (system data format) or DELIMITED. In an SDF file, each record is fixed length and separated by a carriage return/line feed. Fields are fixed length and there is no field separator. Character fields are padded with trailing blanks, numeric fields are padded with leading blanks, date fields are written in the form yyyymmdd, and logical fields are written as T or F. The end-of-file marker is ASCII character 26. In an ASCII DELIMITED file, records are variable length and separated by a carriage return/line feed. Fields are variable length and separated by commas. Character fields are enclosed in double quotes. Leading and trailing spaces for numeric and character fields are truncated, date fields are written in the form yyyymmdd, and logical fields are written as T or F. The end-of-file mark is ASCII character 26. NOTE: This option will only be available when there is at least one field selected for display. i) Treeducer The "Treeducer" option allows you to print a report using the Treeducer product. Treeducer allows us to save paper when printing with laserjet printers. It also provides comprehensive support for numerous laser printer options, including: frame style; paper source, line numbering; mini font; duplex; multiple copies; text wrapping; and greenbar shading. NOTE: This option will only be available when there is at least one field selected for display. j) Load Report The "Load Report" option allows you to load a previously saved report. The quick key associated with this menu option is Alt-R. When you select this option, you will be presented with a list of -43- Grumpfish Report Generator LOGPlus! v3.0 descriptions of previously saved reports along with the date/time that they were created (or an error message if there are no reports found). Use the arrow key to highlight the one you want, and press Enter. Any data dictionary, database files, and/or view files associated with this report will be opened automatically. If a data dictionary and/or database is open, you will be asked for confirmation before they are loaded. When you load a report, the following global settings will be overridden by whatever was saved with the report: active date format; company name; and show alias. k) Save Report The "Save Report" option allows you to save a report for later use. This will save the following information: name and order of the display fields; current sort order and query condition (if any); print options; active date format; company name; currently selected printer; show alias setting; and a report description which you provide at this time. NOTE: This option will only be available if there is at least one field selected for display. When you select this option, you will be first asked to enter a description. Your description may be up to 60 characters long. If you decide not to save the report, just leave the description empty. Press Enter when you are finished typing the description. You will then be asked to enter a filename, which may be up to 8 characters long. (Once again, you can back out of this by leaving the filename empty). The ".GRR" file extension will be added automatically. If you enter the name of an existing file, you will be warned that you are about to overwrite it. The message "Saving Report" should appear briefly, then disappear. You can then re-load this report later by using either the "Load Report" option or the /R command-line parameter. l) Clear Report The "Clear Report" option allows you to clear any selected display fields, sort fields, and query condition, while leaving the databases and active data dictionary (if any) open. m) Delete Report The "Delete Report" option allows you to delete a previously saved report file. -44- Grumpfish Report Generator LOGPlus! v3.0 When you select this option, you will be presented with a list of descriptions of previously saved reports (or an error message if there are no reports found). Use the arrow key to highlight the report you want to delete, and press Enter. NOTE: Whenever you save a report, the current security level will be saved along with it. You will only be able to delete that report if you have at least the same security level as the person who created it. VIII. DATA DICTIONARY MENU The Data Dictionary menu contains the following options: "New", "Edit", "Print", "Load", "Save", "Save and Load", "Clear", and "Delete". Nearly all of these menu options require administrator/developer level security. The reason is that the average end user will be tremendously confused by the process of creating a data dictionary. a) New The "New" option allows you to create a new data dictionary. The quick key associated with this menu option is Alt-N. Complete instructions for how to create/edit data dictionaries can be found in the section "Creating Data Dictionaries". NOTE: This option will be available only if you have administrator or developer security. b) Edit The "Edit" option enables you to edit the data dictionary in memory. The quick key associated with this menu option is Alt-E. Complete instructions for how to create/edit data dictionaries can be found in the section "Creating Data Dictionaries". NOTE: This option will be available only if you have administrator or developer security and if there is an active data dictionary. c) Print The "Print" option will print a formatted report containing all of the information stored in the data dictionary currently being edited. This is useful for your reference, or for inclusion as part of your system documentation. NOTE: This option will be available only if you have administrator or developer security and if there is an active data dictionary. d) Load -45- Grumpfish Report Generator LOGPlus! v3.0 The "Load" option enables you to load a previously saved data dictionary. The quick key associated with this menu option is Alt-L. When you select this option, you will be presented with a list of descriptions of previously saved data dictionaries (or an error message if none are found). Use the arrow key to highlight the one you want, and press Enter. You will see two messages: "Loading Data Dictionary" and "Verifying Structure". Assuming that there are no problems with this process, the description of the data dictionary will appear along the bottom row of the screen. e) Save The "Save" option enables you to save the data dictionary currently being edited. The quick key associated with this menu option is Alt-S. NOTE: This option will be available only if you have administrator or developer security and if there is an active data dictionary. When you select this option, you will be prompted to enter the filename (up to eight characters). The default filename is "NEW" -- please feel free to change this to something else. Press Enter when you are finished typing the filename. The file extension .GRD will be added automatically. If the filename already exists, you will be asked if you want to overwrite it. The message "Saving Data Dictionary" will appear briefly, then disappear. Note that data dictionaries are automatically saved as READONLY. This is to prevent someone from accidentally deleting them via the DOS prompt. You will undoubtedly put a lot of work into creating a data dictionary, so you want your work to be protected. f) Save and Load The "Save and Load" option enables you to save the data currently being edited, then load it all in one fell swoop. The quick key associated with this menu option is Alt-A. NOTE: This option will be available only if you have administrator or developer security and if there is an active data dictionary. This option is most useful when you have created or edited a data dictionary, and wish to load it and start using it immediately. Data dictionaries are not active until they have been loaded. Note that, unlike the "Save" option, you will only be prompted to enter -46- Grumpfish Report Generator LOGPlus! v3.0 a filename if you have not changed the data dictionary name from the default ("NEW"). Assuming that you have changed the filename, your data dictionary will be saved to the same name (thus overwriting the earlier version of the same file), but this would be your intent anyway. g) Clear The "Clear" option will clear the data dictionary currently being edited. NOTE: This option will be available only if you have administrator or developer security and if there is an active data dictionary. h) Delete The "Delete" option allows you to delete a previously saved data dictionary file. NOTE: This option will be available only if you have administrator or developer security. When you select this option, you will be presented with a list of descriptions of previously saved data dictionaries (or an error message if there are none to be found). Use the arrow key to highlight the data dictionary you wish to delete, and press Enter. IX. GLOBALS MENU The Globals menu enables you to view, change, and optionally save a wide variety of global configuration options. This allows you to tailor Grumpfish Reporter specifically to your needs. The options on this menu include: "Printer Setup"; "Case Sensitive"; "Show Alias"; "Show Deleted Recs"; "Show Index Status"; "Date Format"; "Company Name"; "Bells and Beeps"; "Toggle Video Mode"; "43/50 Line Forms"; "Wildcard for Search"; "Input File Path"; "Output File Path"; "Large Index Warning"; "Ignore Datadict Path"; "Scanning Relations"; and "Save Globals". a) Printer Setup The "Printer Setup" option enables you to either change your installed printer, or any of your master print options (header/footer/etcetera). When you select this option, you will be asked if you want to select printer or change print options. Highlight the desired option and press Enter. Select Printer -47- Grumpfish Report Generator LOGPlus! v3.0 If you pick "Select Printer" and you have not yet selected a printer, you will be given a list of printers from which to select. Use the up or down arrows or the PgUp and PgDn keys to locate your printer. You may also type in the first few letters of your printer's name. For example, if you have an HP Laserjet, press "H" to jump immediately to that group of printers. Once you have located your printer, press Enter to install it. You should then enter a printer description and port. The description should be anything that helps you to identify that particular printer. Printer ports supported by Grumpfish Reporter are LPT1-3 and COM1-4. If you pick the "Select Printer" and have already selected at least one printer, then you will be given the Defined Printers window. While you are in the Defined Printers window, you may press Ins to add a new printer or Del to remove the currently highlighted printer. You may also press Alt-E to edit the description or port for currently highlighted printer. All printed output will be directed to the current default printer (i.e., the one with the checkmark next to it in the Defined Printers window). If you have only one printer installed, then obviously that will serve as the default. If you have more than one printer installed, you can select a default by highlighting the desired printer and pressing Enter. Print Options If you select "Change Options", you will be given the Printer Options window. The Print Options window is divided into three sections: Printer Options, Header Information, and Footer Information. You can use the Tab key to move quickly between these three sections. Press PgDn to save any changes you make, or press ESC to exit without saving changes. Page Length represents the total number of rows that can be printed on one page. If you are using a laser printer, you should probably change this to 60. Left margin indicates where printed output should begin on the left side of the page. This can be set between 0 and 49. The default left margin is 5. Top Margin indicates where printed output should begin at the top of the page. This can be set between 1 and 19. The default top margin is 0. "Print total records" allows you to print the total number of records at the end of your report. By default, this information is not printed. "Eject After Subgroups" allows you to force each new subgroup to be printed on a new page. (By default, this is not the case.) This applies -48- Grumpfish Report Generator LOGPlus! v3.0 only when a sort order is active. "Column Spacing" represents the number of spaces to separate each of the columns on your report. The default spacing is 1, and you can increase this as high as 19 if you wish. "Suppress Duplicate Values?" will suppress duplicate key values. For an example of this, please refer back to Quick Start Part Two. NOTE: This is only relevant when there is an active sort order, and can only be used to suppress values that serve as the primary sort key. "Show Record Count for Subgroups" allows you to see at a glance the number of records printed for each subgroup based on the primary sort order. For an example of this, please refer back to Quick Start Part Two. "Double-Spaced Output" allows you to have a blank line between each row of data. This is useful if you need to make annotations directly on the report. By default, reports will be single-spaced. "Show % of Total for Subgroups" allows you to print the percentage of the total records in each subgroup. This requires an active sort order. By default, percentages will not be printed. "Summary Report Only" allows you to suppress the printing of detail records. If you specify a summary report, the only items printed will be the report header, footer, subtotals for each subgroup, and grand totals. Note that it makes little sense to print summary reports if you do not have subgroups (i.e., an active sort order). "Auto-compress" determines whether Grumpfish Reporter will force your printer to compressed mode for reports wider than 80 columns (110 columns for landscape, 140 columns for landscape legal). By default, auto-compress is turned on. However, you might want to turn it off if you have a printer that will accommodate wide paper. Naturally, this feature will not do anything if your printer doesn't support compressed mode. "Printer port" determines the port to which to send the report. Grumpfish Reporter supports LPT1-3 and COM1-4. "Orientation": If you are using a laser printer, you will be given the option of changing the page orientation. "P" is Portrait, which is standard 8 1/2" width, 11" length. "L" is Landscape, which is 11" width, 8 1/2" length. "Lines per inch": If you have a printer that supports 8 lines per inch (LPI), you will be given the option of switching between 6 and 8 LPI. 8 LPI allows you to cram more data onto the printed page. -49- Grumpfish Report Generator LOGPlus! v3.0 Header/Footer Information The next two sections of this window are devoted to Header and Footer Information, respectively. The header and footer are each composed of four lines. Each of those four lines is divided into three sections: Left, Center, and Right. Items in the Left section will be printed flush against the left margin. Items in the Center section will be centered horizontally on the row. Items in the Right section will be printed flush against the right margin. These items can contain either stock insertion items or actual text. Stock insertion items are things that you would ordinarily like to have as part of your report header/footer, but do not necessarily want to retype each time. You can insert the following stock items anywhere in the header or footer by pressing F10: - Date - Time - Company Name - Page Number - Report Description - Query Description You may also insert free-format functions by selecting "". It can be any function that is available to the application. The following text enhancement codes may also be inserted anywhere in the header or footer by pressing F10: - Bold On - Bold Off - Underscore On - Underscore Off - Italic On - Italic Off - Compressed On - Compressed Off WARNING: If you turn on a text enhancement, you must turn it back off or it will remain on for the duration of your report! The default report header is comprised of the following: Line 1: Date (flush left), Company Name (centered), Page # (flush right) Line 2: Time (flush left) "Lines between header and column headings" represents the number of blank lines to insert between the end of the report header and the beginning of the column headings. The default value is 1, though you can increase it to as many as 9. -50- Grumpfish Report Generator LOGPlus! v3.0 "Lines between bottom of data and footer" represents the number of blank lines to insert between the end of the data and the beginning of the report footer. The default value is 1, though you can increase it to as many as 9. TIP: Consider setting up a basic header and footer that can serve as a template for all of your reports. Then if you need to insert specific information for one particular report, you will not have to bother reconfiguring the entire header or footer. Instead, you can simply insert the desired new text. Remember that whenever you change print options, the new settings will remain in effect until you either load a previously saved report or change the options again. b) Case Sensitive The "Case Sensitive" option is a toggle that determines whether queries should be case sensitive or not. It also applies to sort order -- i.e., if case sensitivity is off, then all character sort fields will be automatically converted to upper-case. By default, queries will not be case sensitive. For example, if you are checking for a field that contains the word "BASEBALL", a case insensitive query will also find "Baseball", "baseball", and any other permutation of the word. If it is paramount that the query only find the word "BASEBALL", then you should toggle Case Sensitivity on. If a checkmark appears next to "Case Sensitive", that indicates that queries will be case sensitive. c) Show Alias The "Show Alias" option is another toggle that determines whether database aliases should be shown throughout Grumpfish Reporter. By default, aliases will be shown. This is purely a matter of aesthetics. Some people do not like having to look at the database aliases. Here is a quick example of the difference: Showing Aliases SAMPLE->TITLE SAMPLE->AUTHOR SAMPLE->KEYWORDS Not Showing Aliases -51- Grumpfish Report Generator LOGPlus! v3.0 TITLE AUTHOR KEYWORDS If a checkmark appears next to "Show Alias", that indicates that database aliases will indeed be shown. d) Show Deleted Recs The "Show Deleted Recs" option is another toggle that determines whether deleted records should be displayed when you view data on-screen. By default, deleted records will be shown. If a checkmark appears next to "Show Deleted Recs", that indicates that deleted records will indeed be shown. e) Show Index Status The "Show Index Status" option is another toggle that determines whether the omnipresent status bar should be displayed. By default, the status bar will be shown. It is our recommendation that you leave this option set on for your own benefit. The status bar plays an important role in keeping you apprised of the status of executing queries and the like. It is true that by stifling the status bar, the process will be quicker because Grumpfish Reporter does not need to take the time to display the status bar. However, it will seem like an eternity if nothing is being displayed on the screen -- take our word for it. If a checkmark appears next to "Show Index Status", that indicates that the status bar will be shown. f) Date Format The "Date Format" option allows you to change the way that Grumpfish Reporter displays and prints dates. The following date formats are available: - mm/dd/yy (default) - yy.mm.dd - dd/mm/yy - dd.mm.yy - dd-mm-yy - yy/mm/dd - mm-dd-yy - mm/dd/yyyy - yyyy.mm.dd - dd/mm/yyyy - dd.mm.yyyy -52- Grumpfish Report Generator LOGPlus! v3.0 - dd-mm-yyyy - yyyy/mm/dd - mm-dd-yyyy Use the arrow keys to select the desired date format, and press Enter to select it. g) Company Name This option enables you to change the company name printed on reports. Type in the desired company name, and press Enter. h) Bells and Beeps The "Bells and Beeps" option allows you to enable or disable sound. By default, sound is disabled. If sound is enabled, Grumpfish Reporter will give you tones in conjunction with error and wait messages. Some people like it, and some don't, which is why we let you turn it off. If a checkmark appears next to "Bells and Beeps", that indicates that Grumpfish Reporter will use sound. i) Toggle Video Mode The "Toggle Video Mode" option allows you to switch between standard 25-line video and 43/50-line video. If you have EGA or VGA video, you may wish to take advantage of this option so that you can get more data on screen at once. By default, Grumpfish Reporter starts up in 25-line mode. TIP: If you toggle the video mode and then save your global information, Grumpfish Reporter will put you in the desired video mode when you fire it up again. j) 43/50 Line Forms The "43/50 Line Forms" option is similar to "Toggle Video Mode". However, it is restricted to the form painter. If you have this set on, you will automatically switch to 43/50 line mode upon entering the form painter. The reasoning behind this is that you can therefore have longer forms. NOTE: This option is meaningless without either an EGA or VGA video adapter. If a checkmark appears next to "43/50 Line Forms", that indicates that the option is enabled. k) Wildcard for Search This option allows you to specify a file specification to limit files available for selection. (By default, Grumpfish Reporter will search for all files with the .DBF extension.) For example, if you only want to -53- Grumpfish Report Generator LOGPlus! v3.0 select files beginning with the word DEPT", you could specify "DEPT*.DBF" as the wildcard for search. This can also save the day if all of your database files have an extension other than .DBF. l) Input File Path This option allows you to determine where to save and load any *.GR? files (e.g., reports, forms, queries, and data dictionaries). If you do not specify an input file path, all of these Reporter files will be saved to and loaded from the current DOS directory. m) Output File Path This option allows you to determine where to create output files, including reports, forms, databases, spreadsheets, ASCII files, and crosstabs. If you do not specify an output file path, these files will be created in the current DOS directory. n) Large Index Warning This option enables a warning in the event that you are about to create an index on a database of greater than 50,000 records (which can be a time- consuming process). This applies either when processing queries or setting up relations without using existing indeces. (Note to developers: The number of records can be changed by modifying the INDEX_WARNING_RECCOUNT manifest constant in the GR.CH header file.) If a checkmark appears next to "Large Index Warning", that indicates that warnings are enabled. o) Ignore Datadict Path Data dictionaries store the path for databases and indeces. This option allows you to ignore those paths. This is useful if you have the files in two places for testing purposes. If a checkmark appears next to "Ignore Datadict Path", that means that the paths will be ignored. p) Scanning Relations Whenever you open related databases -- manually, via a data dictionary, or as part of a presaved report or query -- Grumpfish Reporter looks at this option to determine how to build the relations between those files. If a checkmark appears next to "Scanning Relations", that means that all relations will be scanning rather than one-to-one. The difference between one-to-one and scanning (one-to-many) relations is that one-to-one relations only find the first related record in the child database, while a scanning relation will find all related records. -54- Grumpfish Report Generator LOGPlus! v3.0 To illustrate this difference, let's look at a brief example. We have a customer file that contains the following three customer IDs: JACK, JOE, and JON. We also have an order file that contains the following orders: Date Customer 06/01/94 JACK 06/03/94 JON 06/04/94 JOE 06/05/94 JACK 06/08/94 JACK 06/10/94 JACK 06/16/94 JON 06/17/94 JOE 06/20/94 JOE If you open the customer and order databases using a scanning relation and then sort on customer ID, your output will resemble the following: Customer Date JACK 06/01/94 JACK 06/05/94 JACK 06/08/94 JACK 06/10/94 JOE 06/04/94 JOE 06/17/94 JOE 06/20/94 JON 06/03/94 JON 06/16/94 If you open the customer and order databases using a non-scanning (one-to-one) relation, you will only get the first order for each customer, like so: Non-Scanning (One-to-One) Relation Customer Date JACK 06/01/94 JOE 06/04/94 JON 06/03/94 q) Save Globals The "Save Globals" option allows you to save the current state of both all global options and your defined printers so that you can use them in the future without having to reset everything. If you select this option, the message "Saving global info" will appear briefly, then disappear. The files GR.CFG (global configuration) and GR.PRT (printer configuration) will be saved in the same directory from which you loaded GR.EXE. -55- Grumpfish Report Generator LOGPlus! v3.0 If you select this option, and either GR.CFG or GR.PRT already exists, you will be asked to confirm that you wish to overwrite them. *** end of file GR.DOC *** -56-