TEXTILE COMPUTER SYSTEMS, INC
618 Bluff Trail, San Antonio, TX 78216
Telephone(210)491-0046, Fax(210)491-9054
SQR is a widely used report writer, Data Development Language and Data Manipulation Language
software for Client/Server applications. SQR is developed by Sqribe Technologies and supports
a wide range of Relational Database Management Systems like Oracle, Sybase, Sqlbase, DB2,
Informix, Ingres etc. This software also runs under several popular operating systems like
Windows NT/95, VMS, VAX, Unix, AS400 etc. This software is replacing traditional batch
processing programming language like COBOL.
SQR Tools have been developed using SQR, to help System Analysts/SQR Programmers to develop and
maintain SQR programs easily and enhance production considerably. SQR Tools is neither a
shareware software nor a group of routines that perform simple functions. SQR
Tools is really one of a kind unique commercial software that is not available anywhere else
and drastically simplifies the highly complex function of
System Analysis, Program Development, Application management and Upgrade Management for systems
developed using SQR, like Peoplesoft, Hrizon, Maximo etc. Our SQR tools are so affordable and
some of them cost less than the cost of 1 hour of a typical SQR System Analysts/SQR Programmers
time which will save you hundreds of hours of their time over the life of the software.
System Analysis
for SQR based applications without SQR Tools VS with SQR Tools
SQR Development
without SQR Tools VS with SQR Tools
SQR Tools
Examples:
- Expanded File Example
- The Expanded file could be created using SQR Expander, SQR Interactive
Debugger or SQR Multi Cross Reference Tool.
-
- Compiler Listing Example
- The Compiler Listing file could be created using SQR Expander, SQR Interactive
Debugger or SQR Multi Cross Reference Tool. This also highlights hard to
find Compiler fatal and warning errors.
-
- SQR Interactive Debugger Example
- The Interactive Debugger could be used to easily debug SQRs through
interactive panels.
-
- Profiler Trace File Listing Example
- The Trace Listing file could be created by executing the SQR through SQR
Profiler.
-
- Debugger Trace File Listing Example
- The Trace Listing file could be created by executing the SQR through SQR
Interactive Debugger.
-
- SQR Tools Executer Example
- Any SQR Tool or any SQR could be executed using SQR Tools Executer which
is a Graphical User Interface. Currently this is available only for
Windows Operating System.
-
User Manuals:
Support
Send Request for Demo Software
Price List
COPYRIGHT/LICENSE/WARRANTY
System Analysis for SQR based applications without SQR Tools VS with SQR
Tools:
System Analysis for SQR based applications without SQR Tools:
In order to do System Analysis for SQR based applications the following information is very
crucial:
- Include Files, Tables, Procedure Flow Charting and Internal Cross Reference
information for each SQR.
Example:
- With the Procedure Flowchart it is easy to understand the logic of
main program.
- List of SQRs that use each Include File and the complete path of each Include File
to each SQR.
Example:
- Assess the impact of changing source code in any one of the include
files.
- List of SQRs that use each Table and the mode in which each Table is used in the SQRs.
Example:
- Assess the impact of changing the structure of any particular table
- Find all SQRs that use a particular table in any particular mode
(update, insert or read)
- Find Table that may not be used in any SQR.
- List of SQRs that use each Particular Procedure, especially Procedures used in
Include file which affect more than one SQR.
Example:
- Assess the impact of changing the source code in any Procedure
- Inventory of SQRs and include files.
Example:
- Get inventory of SQRs and include files at any given time
- SQR Execution information including the time, database used and the platform used
for each execution.
Examples:
- Find the SQRs that are executed between a period of time
- Find SQRs that are obsolete (SQRs that are not used more than a
period of time)
- SQRs that abended in the middle
- SQRs that used a particular database or platform
- Time taken to execute each SQR
- Enforce SQR programming standardization.
Examples:
- Find weather names of variables used, follow standard procedures
- Find weather names of procedures used, follow standard procedures
- Find weather files are included that are not needed, which makes
SQR inefficient
To obtain the above mentioned crucial information we have to spend days, weeks or even months
which makes any meaningful qualitative System Analysis for SQR based applications, and also very
expensive. For example to find the SQRs that used a particular table we have to follow
the following procedure:
- Search the required table name in all SQRs.
- Search the required table name in all include files.
- Search for these include file names in all SQRs in the order the included files are
searched while executing the SQR.
- Search for these include file names in all other include files in the order the
included files are searched while executing each SQR.
- Repeat step number 4 and 5, using the include file list obtained from step number
4, until complete list is obtained.
If we have to do this for each table then the manual process become very tedious and may not be
even possible. Every time a new SQR is added into the system, immediately the analysis work
done before becomes obsolete. This kind of System Analysis work is very important especially
when upgrading the system.
One can easily see that this manual procedure is highly time consuming, error prone and
almost impossible. The same way it is almost impossible to find all the SQRs that use a
particular procedure. Also it is impossible to find the SQR execution information including
the platform it ran on, database it used etc.
System Analysis for SQR based applications with SQR Tools:
System Analysis for SQR based applications is simplified considerably, with SQR tools, because
the following information crucial for System Analysis, are readily available:
- Compiler like listing
for each SQR which provides the following information:
- Listing of the source code (main source file and included files) in the
expanded format with the line numbers in the expanded format and line numbers in
the individual included file.
- Listing of the included files and the information of the folders, form which
the SQR and the included files, were pulled. This list also highlights the
included files that may not be needed and that are duplicated. Also lists
complete path information from main SQR source file to each individual include
file.
- Listing of the Procedure Flow from the beginning to end, including the
parameters used in the Procedures.
- Listing of all Declared Procedures including the type, with included files
information, where they are declared.
- Names of tables used and their access mode.
- Listing of all variables and their types and the place, including line
numbers and included files information, where they are used. Also it provides
warning messages for variables not used correctly.
- Highlights hard to find following Compiler fatal errors:
- Begin-Procedure without an End-Procedure.
- End-Procedure without a Begin-Procedure.
- Begin-Select without an End-Select.
- End-Select without a Begin-Select.
- Begin-Sql without an End-Sql.
- End-Sql without a Begin-Sql.
- Highlights hard to find following Compiler warning errors:
- Using of variable names with '_' in second character position in
Global procedures.
- Passed variables not being used in Local procedures.
- Table names in alphabetical order and alphabetically listed SQRs that used each
table and the mode in which each table was accessed.
- Procedure names in alphabetical order and alphabetically listed SQRs that used each
procedure.
- Include file names in alphabetical order and alphabetically listed SQRs that used
each include file, the directory from which the included files were pulled from and the
complete path information of the include files to each SQR.
- Execution Information of all the SQRs including that did not complete the execution
successfully.
For example, to find the SQRs that used a particular table or a particular include file, we
have to follow the following simple procedure:
- As new SQRs are moved into production, add them to the SQR multicross reference
system using SQR multicross reference tool.
- Use SQR multicross reference tool to get hard copy listing of SQRs that use a
particular table or a particular include file. This information could also be
retrieved instantly using on-line part of SQR multicross reference tool.
Similarly, it is very easy to obtain information about SQRs that used a particular table in a
particular access mode, or SQRs that used a particular procedure etc. Also SQR execution
information could be retrieved instantly.
SQR Development without SQR Tools VS with SQR Tools:
SQR Development without SQR Tools:
In order to develop and debug SQRs, the following information is very
crucial:
- Name of the files included in the SQR and exactly where they are pulled from.
Example:
- Include file "ABCD.SQC" may be coming from include file "C.SQC" which
may be coming from include file "B.SQC" which may be coming from include
file "A.SQC" which may be included in the main SQR. To make matters worse
each of the included file may be coming from different folders.
- Name of the include files that are included but are not needed.
Example:
- "NEW.SQR" is developed by copying "OLD.SQR" and removing unwanted
procedures, but still leaving all the included files in the "NEW.SQR",
because of lack of information on what include files are needed in "NEW.SQR".
This will make "NEW.SQR" still run but will make it very inefficient.
- Name of the SQRs or include files that use a particular table in a particular mode.
Example:
- The specifications for the SQR call for an insert into a particular table.
- Name of the SQRs or include files that use a particular procedure.
Example:
- The specifications for the SQR call for a function that is used in a
particular procedure.
Apart from having the above mentioned information it is also important to have the ability to
create one expanded file from the source SQR. This expanded file should have pulled the
include files from the appropriate folders exactly the same way SQR program would have pulled
these include files from different folders. The folders from which the included files are
pulled from by SQR program depends on the "I" flag setting and the existence of these
include files in various folders. It is extremely easy to debug the expanded file compared to
debugging the unexpanded SQR when included files are used in the SQR. This is because when
the SQR abends due to any compilation error and if the error occurred in any one of the included
file, the "Error Message" may not point exactly to the source.
One of the technique to debug the program is to add display statements at required places in
the SQR. But this is a very inefficient and highly time consuming process which may require
the execution of the SQR repeatedly for many, many times. In order to debug the SQR
efficiently in less time, it is important to have interactive debugging facility similar to that are available in
compilers like "C", "C++", "COBOL", "JAVA", "JAVA++" etc. Using the debugging facility the
execution of SQR could be temporarily stopped at any logical break point and the value of the
variables could be viewed and modified dynamically.
Since many of the required information is not readily available and there is no efficient way of
debugging the SQR, the development of SQR without SQR Tools is a very tedious, inefficient and
time consuming process.

SQR Developement with SQR Tools:
SQR Development with SQR Expander is much easier compared with SQR Development without any tool
like SQR Expander, The compilation error message is clear, because all the source code come from
one single file.

But still with SQR Expander, explicit display statements have to be added
to debug the SQR. SQR Development with SQR Debugger completely eliminates this problem.
There is no need to put any display statements in the SQR to debug them. SQR Debugger lets
user to dynamically view and modify any variable, which completely eliminates, the need to add
display statements and execute the SQR many, many times. Also SQR Debugger creates a
a Trace File which helps to debug the
SQR in very few executions.

SQR Development and maintenance with SQR Tools is very efficient and considerably less expensive
because the following crucial information is readily available:
- Compiler like listing
of all SQRs including the SQR that are currently being
developed. Also the compiler listing shows clearly the included files that are
not needed whose removal would make the final SQR smaller and more efficient.
Also it is very easy to check the spelling of the variables used. The spelling of
the variables are very critical, because the variables do not have to be defined
explicitly in SQR. Also they are Global unless they are used in local procedures.
- Listing of all SQRs that use a particular table in a particular mode. This
information could be obtained either through a hard copy or viewed through an
on-line panel.
- Listing of all SQRs that use a particular procedure. This
information could be obtained either through a hard copy or viewed through an
on-line panel.
- Listing of all SQRs that use a particular include file and the complete
path information from the include file to the SQR. This
information could be obtained either through a hard copy or viewed through an
on-line panel.
- Ability to create fully expanded file for the SQR. The
"Error Message" points exactly to the place where the compilation or run time
error occurred, since single SQR source is used. It is less time
consuming to modify the source, because all the source code exists in a single file.
- Ability to fully shrink the expanded file into SQR and into the include file
and save them in the original folders
- Ability to create debugger file for the SQR and to execute the debugger file
in an interactive debugging mode. Programmers accustomed to developing programs
using languages like "C", "C++", "JAVA", "JAVA++", "COBOL" or any other programming
language would know the importance of Interactive Debuggers. Interactive
Debuggers are very essential in developing good quality programs faster.
- Ability to view and or modify any Global and Local variables interactively
during the execution of the SQR.
- Ability to create automatically procedure and data flow charts
SQR TOOLS
- SQR Expander:
One of the main problem with SQR is that full source file cannot be viewed by the user
when include files are used. The expander, expands the included files and creates an
expanded file. The included files
could come from different folders. The search path for the included files could be set
up in the initialization file and need not be entered each time. It is similar to the
search path set up for SQR execution. Also the SQR Expander creates a report similar
to traditional compiler listing. This report consists of the following information:
- Listing of the source code in the expanded format with the line numbers in the
expanded format and line numbers in the individual included file.
- Listing of the included files and the information of the folders, from which
the SQR and the included files, were pulled. This list also highlights the included
files that may not be needed and that are duplicated.
- Listing of the Procedure Flow from the beginning to end, including the
parameters used in the Procedures.
- Listing of all Declared Procedures including the type, with Parameters and
the place including line numbers and included files information, where they are
declared.
- Listing of all variables and their types and the place, including line numbers
and included files information, where they are used. It also gives warning
messages when a global variable has an improper name in a global procedure or when a
passed variable is not used in a local procedure.
It will be lot easier to debug this expanded source rather than the original source
program. In order to develop efficient programs include files are a must.
- SQR Shrink:
After debugging the expanded file, the same could be shrunk (writing the code brought
from the included files back into the included files) using this tool. While creating
the expanded file the system puts beginning and ending marks in the expanded file for
each included file. Using these beginning and ending marks the expanded files are
shrunk.
- SQR Profiler:
The execution time of the SQR depends on many factors. As the database grows and
inadvertantly as the indices of the tables are dropped the SQR would become very
inefficient and the execution time would become abnormally high. In order to solve
this problem it is imperative to monitor the execution of the SQRs periodically and take
appropriate proactive steps. At present the only
way to do this is to manually monitor the execution times of individual SQRs and then to
manually add the required code to track the time at various
execution points each time. Also this involves modification of include files which
may affect many other SQRs. Our SQR tools solves this complex problem easily by using
SQR Multi Cross Reference and SQR Profiler Tools. Our SQR Multi Cross Reference tool
automatically tracks
the execution time of all SQRs. Once the problem SQRs are isolated then the SQLs and
the procedures that are inefficient within the SQR have to be isolated. Our SQR Profiler
solves this problem easily by automating the
addition of the required code to track the time at various points and creating a single
SQR file. This means that not only the include files or the main SQR need not be
modified, but also the addition of the required code is fully automated.
We believe ours is the first SQR Profiler. This tool creates the following 3 files:
- Expanded file:
- Compiler Listing File:
- Profiler file:
The Profiler file is created by the tool based on the information provided by the
user. When the tool is executed a panel will be presented, so that the required
logical profile points could be to set to "ON" or "OFF" position. Following are
the logical profile points:
- Entry point of each procedure
- Any executable statement
- Exit point of each procedure
The panel presented to the user provides the following functions:
- To create and Save the profiler file of the SQR.
(Use "S" which stands for Save).
- To Quit which will not create and save the profiler file
of the SQR.
(Use "Q" which stands for Quit).
- To view line numbers for beginning of all procedures.
(Use "I" which stands for Index to view line number for
beginning of all procedures).
- To view the source code from any source line.
(Use "M" which stands for Move to any line. After entering
M, enter the line number to move to. Instead of entering "M"
and then a line number both of them entered together ex. M1342).
- To view the previous page of source code, if any.
(Use "P" which stands for Previous page)
- To view the next page of source code, if any.
(Use "N" which stands for Next page)
- To toggle any logical profile point from off position to on
position and vice versa.
(Use "T" which stands for Toggle to change a profile point from
on to off position and vice versa. This will toggle only the
top most source line shown in the panel. If "T" is along with a
valid line number then that line will be toggled and the source
from that line number will be displayed. When a profile point
is set to on position, the the time at which the profile point
execution was completed will be written to the log file and also
the same information will be written into the Trace file, if flags
are set to create a Trace file. If path for a Trace file is
given "XFTFOLDER" in "XFPRF.DAT" file then the Trace file will
be created).
- To automatically set all logical profile points to on position.
(Use "A" which stands for All to set all profile points to on
position).
- To automatically set all logical profile points to off position.
(Use "C" which stands for Clear to set all profile points to off
position).
- To automatcally set the profile points at the beginning of all
procedures to on position.
(Use "D" which stands for Default to set the profile points at
the beginning of all procedures to on position).
This Profiler file
also is an SQR, which when executed will create a trace file. This
Trace File
consists of the following information:
- If the profile point at the entrance of a procedure is set to on,
the following message will be written:
Entering into * at **, where * is the name of the
procedure and the line number of the procedure in the
extended source file and ** is the time at which this
happaned.
- If the profile point at any execuatable statement is set to on,
the following message will be written:
Finished executing line number * at **, where * is the
line number of the statement in the extended source file
and ** is the time at which this happaned.
- If the profile point at the exit of a procedure is set to on,
the following message will be written:
Leaving from * at **, where * is the name of the
procedure and the line number of the procedure in the
extended source file and ** is the time at which this
happaned.
The information written into the Profiler Trace file is also written
into the SQR log file.
- SQR Interactive Debugger:
The most important problem with SQR is that no real Interactive Debugger was available
until now. We believe ours is the first SQR Interactive Debugger.
This tool creates the following 3 files:
- Expanded file:
- Compiler Listing File:
- Debugger file:
This file is an SQR, which when executed will
perform all interactive
debugging functions for the SQR. The interactive debugging
includes the following functions:
- Execution of program could be temporarily stopped at any logical break point in the
program. Following are the logical break points:
- Entry point into any procedure
- Any executable statement where a Global or Local variable is used
- Exit point from any procedure
- Program execution could be temporarily stopped by setting any break point to on
position. When program execution is temporarily stopped at any break point the
following actions can be taken:
- Names of all the Global variables and its values could be viewed in alphabetical order
- Names of all the Local variables, if any, and its values could be viewed in alphabetical order
- Value of any Global variable could be modified
- Value of any Local variable, if any, could be modified
- The source code could be viewed
- The break points in the source code could be viewed
- The status of the break points, whether they are set to on or off position,
could be viewed.
- Automatically set all break points at the entry of each procedure to on
position
- Automatically set all break points to on position
- Automatically set all break points to off position
- Toggle the setting of any break point to on or off position
- View listing of all declared procedures in the SQR and their
line numbers
- Cancel the program execution gracefully. User's exit routine could be executed before
the program stops.
- Writing information into
Trace File
could be stopped or restarted
- A Trace File
is created, which could be used to debug the program easily ,
and to generate procedure and data flow diagrams for the program. This file
consists of the following information:
- Listing of all Global variables at the starting point of the SQR
- Highlighting with a broken line and a message "Entering into" plus the
procedure name, at the entry point of each procedure
- Listing of all Passed variables and its values at the entry point of
each SQR
- List of all Global variables, whose values are changed at any logical
break point, including its old and new values
- List of all Local variables, whose values are changed at any logical
break point, including its old and new values
- Highlighting with a broken line and a message "Leaving from" plus the
procedure name, at the exit point of each procedure
- SQR Multi Cross Reference Tool:
This tool consists of 2 parts. The first part is a batch program and the second part is
an on-line program.
- SQR Multi Cross Reference Tool (Batch Program):
Following are the functions performed by this program:
- Loads the SQR into the system
- Analyze the loaded SQRs
Following are the functions of SQR analysis
- Create an Expanded file
as explained for SQR Expander.
- Create an Compiler Listing
file as explained for SQR Expander
- Add special code to the SQR to track the SQR execution. This
special code will be added only if the appropriate flag is set up
in the initialization file
- Remove from the SQR, any specially added code to track the SQR
execution. The special code will be removed only if the appropriate
flag is set up in the initialization file
- Obtain all the needed information for the SQR and add them into
the various tables used by the SQR Multi Cross Reference Tool. These
tables contain vital cross reference information between all the SQRs
added to the system.
- On demand this tool provides the following five cross reference list
files which could be printed.
- XREFS.DWN
- This file lists names of Main Files (SQR Source files) and names
of Included files including path information. It also shows the
complete route information to each Included File from the Main File.
-
- XREFS.UP
- This file lists names of Included Files and names Main Files
(SQR Source files) including path information. It also shows the
complete route information to the Main File from Included File.
-
- XREFS.PRC
- This file lists names of Procedures in all the Included Files and
in all the Main Files (SQR Source files). It also shows the complete
route information to the Main File from the Included File, if the
Procedure is used in an Included file. For each listed Procedure the
Procedure Parameters are also listed.
-
- XREFS.TBL
- This file lists names of Tables used in all the Included Files and
in all the Main Files (SQR Source files). It also shows the complete
route information to the Main File from the Included File, if the
Table is used in an Included file. For each listed Table the access
mode is also listed.
-
- XREFS.EXC
- This file lists the execution history of all the SQRs added to the
system with the required source modification.
-
- SQR Multi Cross Reference Tool (On-line):
The second part of SQR Cross Reference Tool is an interactive SQR software. It
displays interactively the following multi cross reference information.
- Listing of all SQRs that are added to the system. For any selected SQR
the following detail information is displayed:
- The date and time at which the SQR was added to the Multi Cross
Reference System.
- Name of folder, the SQR was pulled from
- Complete Flow of Procedure from beginning to end.
- Names of Declared Procedures including Parameter information in the
main source file and in each included file.
- Names of Tables including their access mode like R (reading),
I (insert), U (update), D (delete) etc in the main source file and in
each included file.
- Complete route information from main SQR to each individual included
file and the names of folders they were pulled from.
- Execution information
- Listing of all include files that are used in all the SQRs. For any
selected include file the following detail information is displayed:
- Name of folder, the include file was pulled from
- Names of Declared Procedures including Parameter information in the
in the included file.
- Complete route information from include file to each individual
SQR in which the include was was used.
- Listing of all Tables and the access mode used in all SQRs. For any
selected Table and a selected access mode the following detail information
is displayed:
- All the SQRs and the include files in which the table in the
selected mode was used
- Complete route information, if the table is used in an include
file, from the include file to the SQR
- Name of folder, the include file or the SQR was pulled from
- Listing of all Procedures declared in all the SQRs that are added
to the system. For any selected Procedure the following detail information
is displayed:
- All the SQRs and the include files in which the Procedure was
declared
- Complete route information, if the Procedure was declared in an
include file, from the include file to the SQR
- Name of folder, the include file or the SQR was pulled from
- Execution information of all SQRs that were executed between a selected
date and time. The execution information consists of the following:
- Start Time
- End Time
- Completion Code
- Database used by the SQR
- Platform on which the execution took place
- SQR Tool Executor:
This tool provides a Graphical User Interface (GUI) to execute any SQR Tool or any SQR.
Currently this is available only for Windows operating system.
All the above mentioned information generated through reports and through on line panels are
valuable information for system analysts and programmers. With this vital information the
development and maintenance cost could be brought down considerably.
For those who need on-line viewing of the cross reference information in Peoplesoft, we can
create necessary custom panels and programs in Peoplesoft.
The essential part of any change control process is to ensure that the modules (SQR Main
Source files and Included Source files) adhere to in house programming standards before
moving these modules from test to production system. Our SQR Cross Reference Toll provides
the necessary information to enforce these in house programming standards. Another important
part of any change control process is to keep an inventory of SQRs and our SQR Cross Reference
Tool enables to achieve this.
Also it is easier to implement a system with this SQR Cross Reference tool to keep track of
the most current execution data and time of each SQR.
Support
618 Bluff Trail, San Antonio, TX 78216
Telephone(210)491-0046, Fax(210)491-9054
E-mail
We provide on going support for price of 1% of purchase price per month paid in advance on
an yearly basis. On going support includes free upgrades, unlimited free technical support
through telephone or through email.
Send Request for Demo Software
Please read "COPYRIGHT/LICENSE/WARRANTY information before sending the request for the demo software.
Price List:
| PRICE LIST |
| Description |
Per Copy
$US |
First Server and First Operating System
$US |
Additional Server and/or Additional Operating System$US |
| SQR Expander & SQR Shrink | 94.00 | N/A | N/A |
| SQR Profiler* | 299.00 | 2,995 | 1,995 |
| SQR Interactive Debugger* | 499.00 | 4,995 | 2,995 |
| SQR Multi Cross Reference** | | | |
| Up to 100 SQRs | N/A | 995.00 | 495.00 |
| Up to 300 SQRs | N/A | 1,995.00 | 995.00 |
| Up to 500 SQRs | N/A | 2,995.00 | 1,495.00 |
| Up to 750 SQRs | N/A | 3,995.00 | 1,995.00 |
| Above 750 SQRs | N/A | 4,995.00 | 2,995.00 |
* The software can be loaded on any number of machines on the licensed server under the
licensed operating system.
** The Price of SQR Cross Reference Tool depends on the number of SQRs and number of servers
used. The software can be loaded on any number of machines on the licensed servers under the
licensed operating system. With SQR Multi Cross Reference Tool, SQR Expander and SQR Shrink
tools would be supplied at free of cost, to use on any number of machines on the licensed
servers under the licensed operating system.
COPYRIGHT/LICENSE/WARRANTY:
This software and accompanying files are Products of TEXTILE COMPUTER SYSTEMS INC (USA).
LICENSE AGREEMENT
You should carefully read the following terms and conditions before using this software.
Your use of this software indicates your acceptance of this license agreement and warranty.
You agree not to copy, modify, transmit or reverse engineer this software. Also you agree
not to use this software for any purpose or in any manner other than for which it is expressly
provided.
One single user version copy may either be used only by a single person who uses the software
personally on one or more computers, or installed on a single workstation used
nonsimultaneously by multiple people, but not both.
One single network version may be used on one or more computers simultaneously installed on a
single network
One multiple network version may be used on one or more computers simultaneously installed on
more than a single workstation upto the number of networks specified in the multiple network
version license.
GOVERNING LAW
This agreement shall be governed by the laws of the State of Texas, USA.
DISCLAIMER OF WARRANTY
THIS SOFTWARE AND THE ACCOMPANYING FILES ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS TO
PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED.
Because of the various hardware and software environments into which this software may be put,
NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.
Good data processing procedure dictates that any software be thoroughly tested with
non-critical data before relying on it. The user must assume the entire risk of using this
software. ANY LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR
REFUND OF PURCHASE OR CURRENT MARKET PRICE WHICH EVER IS LOWER UPTO US$100.
If you do not completely agree with the above "COPYRIGHT/LICENSE/WARRANTY" information, please
do not download the demo software.