======================================================================= PROBLEM SOLVING WITH R:BASE ======================================================================= PRODUCT: R:BASE VERSION : 3.1 Or Higher ======================================================================= AREA : PROGRAMMING CATEGORY: DEBUGGING DOCUMENT#: 663 ======================================================================= R:BASE is a useful tool for personal and business applications, offering many different solutions for your data processing needs. However, running a powerful program like R:BASE may sometimes seem to create as many problems as it solves. This article describes a basic strategy to help you identify some of the possible problems using R:BASE and developing applications. This strategy can also be applied to other, non-R:BASE related problems. You'll see where to look for problems, when to check your resources, and when to seek advice. Identifying the problem ----------------------- Identifying the problem is the first, but not necessarily the easiest, step in solving problems. Often a software problem starts as, "The program doesn't work," or "it worked fine the last time I did it!" Obviously, this sentiment isn't identifying the real problem. Our challenge is not only finding a solution, but also in determining the real problem. Today's personal computer is an environment that can spawn untold problems - a complex piece of hardware with processors, disk drives, keyboards, monitors and other devices connected by cables and more cables. Accompanying the hardware is a complex operating system controlling the different devices, and above all is the application software, for example, R:BASE with its relational tables, forms, reports and programs. Many times a "computer problem" is not a problem at all, but simply our inability to remember all the processes and possibilities. Computers are the most obedient creatures around. They do exactly what they're told, nothing more and nothing less. To get at the core of the problem, we need to eliminate some of these possible causes; fortunately, our process of elimination moves quickly. Here is an excellent way to go about it. Making a comparison -------------------- Compare the situation that has the problem to a similar situation or environment without it, and you should be able to find a difference. The difference usually leads to the cause, or at least to an area to be investigated. You must, however, make the comparison before you can see the differences that form the clues to the problem and thus the solution. Compare the environment; the difference may be here. For example: "It works on Joe's PC but not on mine." "I just upgraded to DOS 5.0." "I bought a new 486." "I upgraded to a newer version of R:BASE." "I changed memory managers" Compare the processes; the difference might be in the action or activity. For example: "My program is running slower than it used to." "The totals in my report are much larger than they used to be." "My program used to return to the me to the menu, now it leaves me at an R>". "It only happens the second time I do it." "I modified my program, just a little bit." Make a time comparison; the difference may be connected to the time of day. For example: "The network always slows down at lunch time." "At 9:00 every morning I get kicked out of R:BASE." "It only happens when Mary is printing the accounting report" Compare the problem with a similar situation. For example: "It prints from Wordperfect, but not from R:BASE" "It works from the R> but not in my application." "It works in the sample database but not in my database." "It works when my database is local, not when it is on the network" Sometimes it is hard to identify a difference. In fact there can be many situations with no apparent difference or change at all. This may be the time to contact someone who can offer a solution or suggest other areas to check. Before you call --------------- But, before you call someone, take a look at any differences you have identified, they may indicate who to confer with on possible causes. If the problem occurred when you changed hardware, then call your hardware technician. If the problem occurred when you switched operating systems, then contact the manufacturer of the operating system. You should contact Microrim Technical Support when you have made a change to R:BASE or your R:BASE program. An experienced support technician has a good idea where to look for solutions based on the description of the problem. Our technicians help you to identify differences and make comparisons for arriving at a solution. What to compare -------------- Here is a list of some areas and specifics to compare when trying to isolate a problem: Hardware and Environment ----------------------- Computer Brand of the computer Type of CPU (8088, 80286, 80386 ...) Amount of memory (conventional, extended, expanded) Stand-alone or on a network Size of the hard drive(s) Free (available) disk space Operating System DOS, OS/2 or other Version Printer Type of printer (dot matrix, laser ...) Brand of printer Serial or parallel connection on the printer Network System Brand Version Search mappings or path Group permission settings Topology (ethernet, archnet, token ring) File attributes CONFIG.SYS Files and Buffers Memory manager Brand of manager Extended or expanded Disk cache (extended or expanded) Ram drive (extended or expanded) Other device drivers AUTOEXEC.BAT Path Network commands TSR's (Terminate and Stay Resident programs) Menuing system R:BASE ------ Version Database Name Size of files Location Passwords (local or network) Tables Name Columns Rows Name Autonumbered Indexed Computed Views Select command Correlation names Linking columns Union Where clause Place holders Command Files Messages on Command syntax Error Messages on Comments Debug on Variables Echo on Names Debugger (Trace) used Data types Application Express/ Values custom code Expressions CodeLock Functions Forms Add data or edit data Variables Where clause Lookups Order by clause Same-table/other-table Form settings Characteristics Number of tables/Views Expressions Table settings Column/variable definition Region Dependent Tiered Correct value Field locations Field settings Default values Pop ups Entry edit procedures (see command files) Reports Table/View Page Settings Print command Lines per page Where clause Form feeds Order by clause Page footer line number Variables Layout Lookups Report/Page/Break headers Expressions Detail lines Datatype Break/Page/Report footers Order Column/Variable locations Correct value Printer code locations Breakpoints Lines drawn Columns Reset variables Form feeds This list is long and is by no means complete. You do not have to compare every item when problem solving. Compare the areas involving your problem to those areas where you may recently have made some type of change. Often finding one difference or change will lead to the next comparison to make and help you solve the problem. When you have identified those things that have changed, you should be very close to the cause of the problem. Now it is time to check your resources for the information that might offer a solution, They include: your documentation - a great source of help technical journals Microrim bulletin board FAX articles (automated FAX number is (206) 649-2789). When these resources have been exhausted, and you have not been able to find a solution, it is time to contact technical support. Because you have taken the time to research the problem, a support technician will have an easier time discussing the solution, or offering alternatives and suggestions for your problem. When you make the proper comparison, you can find the difference that will lead to a solution.