=======================================================================
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.