818.txt
     ======================================================================
     Problem Solving With R:BASE
     ======================================================================
 
 
     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. The 
     challenge in finding a solution, is determining the real problem. Once 
     the problem is identified, the solution follows.
 
     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 a person's 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 a problem, you need to eliminate some of the 
     possible causes; fortunately, the process of elimination moves 
     quickly. The comparison technique of problem solving works well and 
     quickly with computer related problems to eliminate causes until only 
     the actual problem remains.
 
     Making a comparison
     Compare the situation that has the problem to a similar situation or 
     environment without the problem, and you should be able to find a 
     difference. The difference leads to the cause of the problem, 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 6.22."
       "I bought a new 486."
       "I upgraded to a newer version of R:BASE."
       "I changed memory managers."
       "I just installed Win95."
 
     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 menu, now it leaves meat an R> 
       prompt."
       "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 to the screen, but not to the printer."
       "It works from the R> prompt, 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
     Before you call someone, take a look at any differences you have 
     identified. The difference might 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 RBTI Technical Support when 
     you have made a change to 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.
 
 
     The list of items to compare or check is long and 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 and on-line help
           Technical journals; From The Edge 
           R:BASE User's Groups
           Inside R:BASE
 
     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 
     has 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 leads to 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 (386, 486, Pentium)
           Amount of memory (conventional, extended, expanded)
           Stand-alone or on a network
           Size of the hard drive(s)
           Free (available) disk space 
           Sound Card
           Video Driver (manufacturer, resolution, large/small fonts)
           CD-ROM Drive (internal, external)
           Modem (internal, external, FAX)
           Screen saver
 
      Operating System
           DOS, OS/2, Windows 3.1, Windows NT, Win95, Warp, or other
           Version
           Win32S
           ODBC
 
      Printer
           Type of printer (dot matrix, laser ...)
           Brand of printer
           Serial or parallel connection on the printer
           Print spooler
           Printer driver
 
      Network System
           Brand
           Version
           Search mappings or path
           Group/permission settings
           File attributes
           Dedicated server
 
      CONFIG.SYS
           Files and Buffers
           Memory manager (brand, extended, expanded)
           Disk cache (extended or expanded)
           Other device drivers
           Disk doubler
           RAM doubler
 
      AUTOEXEC.BAT
           Path
           Network commands
           TSR's (Terminate and Stay Resident programs)
           Menuing system
 
 
     R:BASE
      Version and build number
 
      Database
           Name
           Size of files
           Location (local or network)
           Passwords
           AUTOCHK
 
      Tables
           Name
           Number of Rows
           Columns
           Name
           Autonumbered
           Indexed (single column, multi-column)
           Computed
           Constraints
           Rules
 
      Views
           Select command
           Linking columns
           Where clause
           Correlation names
           Outer Join
           Union
           Place holders
 
      Command Files
           Messages on
           Error Messages on
           Command syntax
           Debugger (Trace) used
           WHILEOPT on/off
           Comments
           Application Express or custom code
           CodeLock
           Variables
               Name
               Data type
               Values
               Expressions
               Functions
 
      Forms
           Add data or edit data
               Where clause
               Order by clause
               Form settings
               Number of tables/Views
           Table settings
               Region
               Tiered
           Field locations
           Field settings
               Default values
               Pop ups
           Entry edit procedures (see command files)
               Field level
               Row/table level
               Form-in-a-form
               Playback files
           Lookups ( same-table/other-table)
           Variables
               Column/variable definition
               Dependent
               Values
               Expressions
               Functions
 
      Reports
           Driving Table/View
           Print command
           Where clause
           Order by clause
           Variables
               Lookups
               Expressions
               Functions
               Data type
               Order
               Value
               Evaluation section
           Breakpoints
               Columns
               Reset variables
               Form feeds
           Page Settings
               Lines per page
               Form feeds
               Page footer line number
          Layout
               Report/Page/Break headers
               Detail lines
               Break/Page/Report footers
               Printer code locations
               Lines/boxes
               Column/Variable locations