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:

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:
  1. Include Files, Tables, Procedure Flow Charting and Internal Cross Reference information for each SQR.
  2. List of SQRs that use each Include File and the complete path of each Include File to each SQR.
  3. List of SQRs that use each Table and the mode in which each Table is used in the SQRs.
  4. List of SQRs that use each Particular Procedure, especially Procedures used in Include file which affect more than one SQR.
  5. Inventory of SQRs and include files.
  6. SQR Execution information including the time, database used and the platform used for each execution.
  7. Enforce SQR programming standardization.
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:
  1. Search the required table name in all SQRs.
  2. Search the required table name in all include files.
  3. Search for these include file names in all SQRs in the order the included files are searched while executing the SQR.
  4. Search for these include file names in all other include files in the order the included files are searched while executing each SQR.
  5. 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:

  1. Compiler like listing for each SQR which provides the following information:
  2. Table names in alphabetical order and alphabetically listed SQRs that used each table and the mode in which each table was accessed.
  3. Procedure names in alphabetical order and alphabetically listed SQRs that used each procedure.
  4. 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.
  5. 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:

  1. As new SQRs are moved into production, add them to the SQR multicross reference system using SQR multicross reference tool.
  2. 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:
  1. Name of the files included in the SQR and exactly where they are pulled from.
  2. Name of the include files that are included but are not needed.
  3. Name of the SQRs or include files that use a particular table in a particular mode.
  4. Name of the SQRs or include files that use 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:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. Ability to fully shrink the expanded file into SQR and into the include file and save them in the original folders
  7. 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.
  8. Ability to view and or modify any Global and Local variables interactively during the execution of the SQR.
  9. Ability to create automatically procedure and data flow charts

SQR TOOLS

  1. 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:
    1. 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.
    2. 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.
    3. Listing of the Procedure Flow from the beginning to end, including the parameters used in the Procedures.
    4. Listing of all Declared Procedures including the type, with Parameters and the place including line numbers and included files information, where they are declared.
    5. 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.

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

  3. 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:
    1. Expanded file:
    2. Compiler Listing File:
    3. 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.

  4. 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:
    1. Expanded file:
    2. Compiler Listing File:
    3. 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:
        1. 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
        2. 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
        3. 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

  5. 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.
    1. SQR Multi Cross Reference Tool (Batch Program):
      Following are the functions performed by this program:
      1. Loads the SQR into the system
      2. 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.
      3. 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.
    2. 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.
      1. 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
      2. 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.
      3. 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
      4. 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
      5. 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

  6. 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.
Name
Company Name
Address
City
State
Zip
Phone
E-mail
SQR Version
Operating System
RDBMS
Application(Ex. Peoplesoft,Hrizon,Maximo)




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 Shrink94.00N/AN/A
SQR Profiler*299.002,9951,995
SQR Interactive Debugger*499.004,9952,995
SQR Multi Cross Reference**
Up to 100 SQRsN/A995.00495.00
Up to 300 SQRsN/A1,995.00995.00
Up to 500 SQRsN/A2,995.001,495.00
Up to 750 SQRsN/A3,995.001,995.00
Above 750 SQRsN/A4,995.002,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.