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 workstation.
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.
You also agree to remove the demo software and the related documents
from all the computers immediately after 30 days from the date of
receipt of the demo software and return the demo software to TEXTILE
COMPUTER SYSTEMS INC (USA).
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 WITH-
OUT 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 thoro-
ughly tested with non-critical data before relying on it. The
user must assume the entire risk of using this software. ANY LI-
ABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACE-
MENT 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 return the software without installing
it.
One of the main problem with SQR is that full source file cannot be viewed by the user
when include files are used. Also SQR cannot generate a compiler listing, similar to the
one generated by traditional program development tools like COBOL, FORTRAN, C, C++, BASIC
etc. So the SQR Expander Software Objectives are to create a single
expanded file by
expanding the included files and to generate a
compiler like listing with the following
information:
To install the software the following 3 Install files are needed:
1. README.TXT
2. INSTXREF.EXE
3. INSSQRXF.SQT
Following are the steps to install the software:
1. Note down the name of the folder where SQR Executeable
file is residing. This information is needed when
installing the software.
2. Close down all the currently running application software.
3. Move the above mentioned 3 Install files into an empty
folder.
4. Run MS-DOS by selecting "MS-DOS Prompt" under "Programs"
from "Start" button.
5. Change to the folder where the 3 Install files were
moved.
6. Using "EDIT" or "TYPE" command, read "README.TXT" file
to get the instructions to install the software.
7. At MS-DOS prompt type INSTXREF which will execute the
SQR Install program.
8. Follow the instructions provided by the SQR Install
Porgram. (Use F1 to get help). The actual Installation
of the Software may take about 25 - 35 minutes depending
on the speed of the processor and the SQR Tools' modules are
to be installed.
NOTE: Complete connectivity information should entered
in the SQR Installer. Following are the examples
for different RDBMS systems:
Allbase: Database.
This is the name of the database to use.
DB2 Ssname/SQLid.
This is the subsystem name and SQL
authorization id to use.
Informix Database.
This is the name of the database to use
Ingres Database[/STAR][/Username].
This is the name of the database to use
and an optional user name.
Oracle [Username]/[Password[@Database]].
This is the username and password for the
database. Optionally, you can can
specify the connection string for the
database (e.g. @B:ORASERVER).
Rdb None
SQLBase [Database]/[Username]/[Password].
This is the name of the database to use,
your user name and password for the
database.
Sybase Username/[Password].
This is your username and password for
the password for the database.
ODBC DataSource/[Username]/[Password]
This if the name of the ODBC's
DataSource, your user name and password
for the ODBC driver.
Please refer to SQR Manual to get more information regarding
connectivity.
When the SQR Tools software is installed successfully, a successful message
will be displayed. After quitting the installer program check for the following
files in the current folder where the 3 install files were moved:
1. XFPRF (sub directory)
Files under XFPRF sub directory:
A. PRF*010.SQT where * denotes the name of RDBMS
which could have any one of the following
values:
A = ALLBASE
D = DB2
I = INFORMIX
G = INGRES
O = ORACLE
R = RDB
Q = SQLBASE
S = SYBASE
B. READMEP.TXT which gives instructions to run
SQR Expander Program.
D. XFPRF.DAT which has default parameters to run
SQR Expander Program.
The values in this file may have to be
changed to your needs.
E. XFSQR.LST which has the names of SQRs that have to
be expanded. This file has to be maintained
on an on-going basis.
2. SQRM.DAT
This file contains the minimum sizes to be assigned
to various internal parameters before running the
installed SQTs. This file could be used with
-M flag before running the installed SQTs. To get
more information about -M flag refer to your SQR manual.
Also the values assigned to various internal parameters
in this file could be used as minimum values in your
existing -M file.
3. Also make sure that the following sub directories are created:
XFE
XFL
TEMP
Restart the computer.
If you have any questions in installing the SQR Tools Software or running them,
please contact the developer TCS INC via email tcscad@stic.net or info@tcssoft.com.
Profiling an SQR using SQR Profiler Tool is a 2 step process. First a Profiler
SQR file is created using SQR Profiler (PRF*010.SQT) program. Then the Profiler
SQR file is executed to get the SQR's actual Profile information.
The SQR Profiler (PRF*010.SQT) program is an SQR Report file and
so could be executed only thorough SQR. Since this is a Report file the
SQR flag option '-RT' should be used to run this program. The SQR
Profiler reads the SQR Profiler Initialization file once, at the beginning
of the program. The name of this initialization file is 'XFPRF.DAT'.
If this initialization file does not exist in the current folder when the SQR
was executed, then a window as shown in Figure 1 would be presented to the
user so that the name of the folder where the initialization file exists
could be entered. At this point the user either enter the name of the
folder or enter 'Q' to quit the program. If the initialization file does
not exist in the folder entered by the user then the program would keep asking
for the correct folder's name.
____________________________________________________________________
|SQR Profiler Initialization File's Folder Name; Q=Quit: |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|__________________________________________________________________|
FIGURE 1
The initialization file contains vital information required by the
SQR Profiler program and should be updated before running the SQR Profiler
program. The SQR Profiler program reads the following information from
the initialization file:
1. TABLE21: The name of one of the tables used by the Profiler.
This name could be anything to suit the user's
stanadards. Following are the structure details of
this table:
XFDF_SQRNAME CHAR 15
XFDF_DATETIME CHAR 14
PRIMARY KEY: XFDF_SQRNAME
2. TABLE22: The name of one of the tables used by the Profiler.
This name could be anything to suit the user's
stanadards. Following are the structure details of
this table:
XFDF_SQRNAME CHAR 15
XFDF_COUNT NUMBER 6
XFDF_SRCLINE CHAR 255
XFDF_CANPROF CHAR 1
XFDF_YESPROF CHAR 1
PRIMARY KEY: XFDF_SQRNAME, XFDF_COUNT
3. CREATETABLE: When the value for this flag to set to 'Y' then the
needed tables for the SQR Profiler will be created.
After creating the tables it could be set to 'N', so
that the tabels will not be created again. Also if
it is desired to create the tables outside this SQR then
they could be created and this flag could be set to 'N',
before running this SQR.
4. INPUTFOLDER: The names of the SQRs for which the Profile SQRs are to
be created are entered into a file called 'XFSQR.LST'.
This file could exist in any folder and the name of the
folder in which this file exists is entered here.
5. SQRFOLDER: These are the folders, from which the SQR main source
file could be pulled from. The order of search
for the SQR main source file are the order in which
the SQRFOLDERs are entered in the initialization file.
The SQR Expander would look first in the first SQRFOLDER,
then the next SQRFOLDER and so on.
6. INCLFOLDER: These are the folders, from which the included files
could be pulled from. The order of search for the
included files are the order in which the INCLFOLDERs
are entered in the initialization file. The SQR
Profiler would look first in the first INCLFOLDER, then
the next INCLFOLDER and so on.
7. XFEFOLDER: This is the name of the folder in which the expanded SQR
files would be saved. An expanded file is created for
each selected SQR. The name of the expanded file is
primary name of the SQR file plus '.XFE'.
8. XFLFOLDER: This is the name of the folder in which the list files
would be saved. A list file is created for each
selected SQR. The name of the list file is primary
name of the SQR file plus '.XFL'.
9. XFPFOLDER : This is the name of the folder in which the Prfofile SQR
would be saved. A Profile SQR is created for each
selected SQR. The name of the Profile SQR is primary
name of the SQR file plus '.XPF'.
10. XPTFOLDER : This is the name of the folder in which the Profile Trace
files would be saved. When any Profile SQR, which are
saved in XPFFOLDER by XPF*010.SQT, is executed a Profile
Trace file will be created in this folder. The name of
the Profile Trace file is primary name of the SQR file
plus '.XPT'.
Following is contents of a sample SQR Profiler initialization file:
TABLE21 = 'XFST_TABLE21'
TABLE22 = 'XFST_TABLE22'
CREATETABLE = 'N'
SQRFOLDER = 'C:\SQR\PAYROLL\SOURCE\TEST\'
SQRFOLDER = 'C:\SQR\PAYROLL\SOURCE\STAGE\'
SQRFOLDER = 'C:\SQR\PAYROLL\SOURCE\PROD\'
INCLFOLDER = 'C:\INCLUDE\PAYROLL\SOURCE\TEST\'
INCLFOLDER = 'C:\INCLUDE\PAYROLL\SOURCE\STAGE\'
INCLFOLDER = 'C:\INCLUDE\PAYROLL\SOURCE\PROD\'
INPUTFOLDER = 'C:\INS\XFPRF\'
XFEFOLDER = 'C:\INS\XFE\'
XFLFOLDER = 'C:\INS\XFL\'
XPTFOLDER = 'C:\INS\XPT\'
XFPFOLDER = 'C:\INS\XPF\'
The value for the variables in the initialization file are provided
within single quotes. They can be changed by the user to suit their needs.
For example the names for the SQRFOLDER could be anything, and so could be according
to the standards of the individual user.
Following is contents of a sample 'XFSQR.LST' file, which for the
above example should reside inside the folder 'C:\INS\XFPRF\':
SQR011.SQR
LDTBLS.SQR
SQR085.SQR
SQR006.SQR
When the SQR Profiler (PRF*010.SQT) program is submitted for execution through
SQR, the initialization file would be read.
Once the needed information from the initialization file is read, a window as shown in
Figure 2 would be presented to the user so that the user can select an option, if the
flag for "CREATETABLE" is set to 'Y' and the needed tables already exist in the database.
____________________________________________________________________
|Customer: My Comapny Name |
|Program: c:\ins\xfprf\prfo010.sqt |
|Name for Table TABLE21: XFST_TABLE21 |
|Name for Table TABLE22: XFST_TABLE22 |
|No. of SQR Search Folders: 3.00000 |
|SQR Folder (SQRFOLDER) 1: C:\SQR\PAYROLL\SOURCE\TEST\ |
|SQR Folder (SQRFOLDER) 2: C:\SQR\PAYROLL\SOURCE\STAGE\ |
|SQR Folder (SQRFOLDER) 3: C:\SQR\PAYROLL\SOURCE\PROD\ |
|Include Folder (INCLFOLDER) 1: C:\INCLUDE\PAYROLL\SOURCE\TEST\ |
|Include Folder (INCLFOLDER) 2: C:\INCLUDE\PAYROLL\SOURCE\STAGE\ |
|Include Folder (INCLFOLDER) 3: C:\INCLUDE\PAYROLL\SOURCE\PROD\ |
|Input File Folder (INPUTFOLDER): C:\INS\XFSES\ |
|Profile File Folder (XFPFOLDER): C:\INS\XFP\ |
|Trace File Folder (XPTFOLDER): C:\INS\XPT\ |
|Expand File Folder (XFEFOLDER): C:\INS\XFE\ |
|List File Folder (XFLFOLDER): C:\INS\XFL\ |
|Do you really want to recreate the Tables (Y/N): |
| |
| |
| |
| |
| |
|__________________________________________________________________|
FIGURE 2
At this point the appropriate available options for the users are 'Y' , or
'N'. The input could be in upper or lower case. If the user's option is 'Y'
then the needed tables will be recreated. If the user's option is 'N' then the
tables will not be recreated. Then the execution of the program will continue.
Once the needed information from the initialization file is read, a window as
shown in Figure 3 would be presented to the user so that the user can select an option,
if the flag for "CREATETABLE" is set to 'N' and the needed tables do not exist in the
database.
____________________________________________________________________
|Customer: My Comapny Name |
|Program: c:\ins\xfprf\prfo010.sqt |
|Name for Table TABLE21: XFST_TABLE21 |
|Name for Table TABLE22: XFST_TABLE22 |
|No. of SQR Search Folders: 3.00000 |
|SQR Folder (SQRFOLDER) 1: C:\SQR\PAYROLL\SOURCE\TEST\ |
|SQR Folder (SQRFOLDER) 2: C:\SQR\PAYROLL\SOURCE\STAGE\ |
|SQR Folder (SQRFOLDER) 3: C:\SQR\PAYROLL\SOURCE\PROD\ |
|Include Folder (INCLFOLDER) 1: C:\INCLUDE\PAYROLL\SOURCE\TEST\ |
|Include Folder (INCLFOLDER) 2: C:\INCLUDE\PAYROLL\SOURCE\STAGE\ |
|Include Folder (INCLFOLDER) 3: C:\INCLUDE\PAYROLL\SOURCE\PROD\ |
|Input File Folder (INPUTFOLDER): C:\INS\XFSES\ |
|Profile File Folder (XFPFOLDER): C:\INS\XFP\ |
|Trace File Folder (XPTFOLDER): C:\INS\XPT\ |
|Expand File Folder (XFEFOLDER): C:\INS\XFE\ |
|List File Folder (XFLFOLDER): C:\INS\XFL\ |
|Can the Tables be created (Y/N): |
| |
| |
| |
| |
| |
|__________________________________________________________________|
FIGURE 3
At this point the appropriate available options for the users are 'Y' , or
'N'. The input could be in upper or lower case. If the user's option is 'Y'
then the needed tables will be created. If the user's option is 'N' then the
tables will not be created the execution of the program will terminate.
Once the needed information from the initialization file is read and if the
needed tables existed, a window as shown in Figure 4 would be presented to the user
so that the user can select an option.
____________________________________________________________________
|Customer: My Comapny Name |
|Program: c:\ins\xfprf\prfo010.sqt |
|Name for Table TABLE21: XFST_TABLE21 |
|Name for Table TABLE22: XFST_TABLE22 |
|No. of SQR Search Folders: 3.00000 |
|SQR Folder (SQRFOLDER) 1: C:\SQR\PAYROLL\SOURCE\TEST\ |
|SQR Folder (SQRFOLDER) 2: C:\SQR\PAYROLL\SOURCE\STAGE\ |
|SQR Folder (SQRFOLDER) 3: C:\SQR\PAYROLL\SOURCE\PROD\ |
|Include Folder (INCLFOLDER) 1: C:\INCLUDE\PAYROLL\SOURCE\TEST\ |
|Include Folder (INCLFOLDER) 2: C:\INCLUDE\PAYROLL\SOURCE\STAGE\ |
|Include Folder (INCLFOLDER) 3: C:\INCLUDE\PAYROLL\SOURCE\PROD\ |
|Input File Folder (INPUTFOLDER): C:\INS\XFSES\ |
|Profile File Folder (XFPFOLDER): C:\INS\XFP\ |
|Trace File Folder (XPTFOLDER): C:\INS\XPT\ |
|Expand File Folder (XFEFOLDER): C:\INS\XFE\ |
|List File Folder (XFLFOLDER): C:\INS\XFL\ |
|P=Profile; Q=Quit: |
| |
| |
| |
| |
| |
|__________________________________________________________________|
FIGURE 4
At this point the appropriate available options for the users are 'P' , or
'Q'. The input could be in upper or lower case. If the user's option is 'P'
then the SQRs that were listed in 'XFSQR.LST' in the Input Folder would be read one
after the other. If the user's option is 'Q' then the window would be closed and the
execution of SQR Expander would be stopped.
For the above example the main SQR files and the included files used in each
SQR file are pulled from the following folders in the order they are listed:
'C:\SQR\PAYROLL\SOURCE\TEST\'
'C:\SQR\PAYROLL\SOURCE\STAGE\'
'C:\SQR\PAYROLL\SOURCE\PROD\'
'C:\INCLUDE\PAYROLL\SOURCE\TEST\'
'C:\INCLUDE\PAYROLL\SOURCE\STAGE\'
'C:\INCLUDE\PAYROLL\SOURCE\PROD\'
If the required file exist in a folder then the next folder in the list would
not be searched, otherwise the search would continue.
After reading all the required files for each SQR a window as shown in Figure 5
will be presented to the user so that the needed information from the user will be
obtained before creating a Profiler SQR file for the read SQR.
___________________________________________________________________________________
| SQR Profiler By TCS |
| Total Number of Lines: 1201 |
| |
| |
| %* 32 begin-report |
| * 33 DO XFSC-SQR-EXECUTION('A_XFST"_TABLE01',#XFSC-Instance,'Begin','..|
| * 34 do Main |
| %* 35 DO XFSC-SQR-EXECUTION('A_XFST"_TABLE01',#XFSC-Instance,'End','ID..|
| 36 end-report |
| 37 |
| %* 38 begin-procedure Main |
| * 39 Let $UserChoice = '' |
| * 40 while ($UserChoice <> 'Y') |
| * 41 do Get-User-Input($UserChoice) |
| * 42 evaluate $UserChoice |
| 43 when='1' |
| * 44 do Begin-Table-Tran |
| * 45 do Create-All-Tables |
| * 46 do Commit-Table-Tran |
| |
|(Browse: S=Save Q=Quit I=Index M=LineNo P=Prev N=Next |
| Any key to continue (Profile: T=Toggle A=All C=Clear D=Default): |
|_________________________________________________________________________________|
FIGURE 5
The source code of the SQR along with the signs '%' and '*' will be displayed
in Figure 5. First time the starting line number of the source code is the first
execcutable line in the SQR. The sign '%' denotes that the Profile point for the
source line is set to 'ON' position and the absence of this sign denotes that the
Profile point for the source line is set to 'OFF' position. At the time of executing
the Profiler SQR file, if the Profile point for a source line is set to 'ON' position,
then Profile information for that line will be written into the Profile Trace file.
The Profile point for any source line could be set to 'ON' position only if the source
line is a logical profile point. The sign '*' denotes whether the source line is a
logical profile point or not. Following are the logical profile points:
Entry Point of any Procedure
Any Executable statement withing any Procedure
Exit Point of any Procedure
First time the profile status of the default logical profile points will be set
to 'ON' position. The default profile points are the entry and exit points of all
Procedures.
At this point the appropriate available options for the users are 'S', 'Q', 'I',
'M', 'P', 'N', 'T', 'A', 'C', or 'D'. The input could be in upper or lower case.
'S': This option would close this window and save the Profiler SQR File.
'Q': This option would close this window and not save the Profiler SQR File.
'I': This option would bring up a window as shown in FIGURE 6 which displays
starting line numbers of each procedure.
'M': This option along with a line number would bring up the window as shown
in Figure 5, but the starting line number would be the entered line
number.
'P': This option would bring up the window as shown in Figure 5, but the
starting line number will be 15 less than the current starting number
(Previous Page).
'N': This option would bring up the window as shown in Figure 5, but the starting
line number will be 15 more than the current starting number (Next Page).
'T': This option along with a line number will change the profile status of the
entered line number, and also the entered line number will become the starting
line number to list the source code. If the profile status of a line is set
to 'ON' position, then sign '%' will be displayed in front of the source code.
'A': This option would set the profile status of all the profile points to 'ON'
position.
'C': This option would set the profile status of all the profile points to 'OFF'
position.
'D': This option would set the profile status of the default profile points to
'ON' position.
____________________________________________________________________
| 1 32 BEGIN-REPORT |
| 2 38 MAIN |
| 3 69 GET-USER-INPUT |
| 4 90 BEGIN-TABLE-TRAN |
| 5 94 COMMIT-TABLE-TRAN |
| 6 110 CREATE-ALL-TABLES |
| 7 124 LOAD-ALL-TABLES |
| 8 148 CREATE-TABLE01 |
| 9 160 CREATE-TABLE02 |
| 10 172 CREATE-TABLE03 |
| 11 190 CREATE-TABLE04 |
| 12 205 CREATE-TABLE05 |
| 13 221 CREATE-TABLE06 |
| 14 233 CREATE-TABLE07 |
| 15 257 CREATE-TABLE08 |
| |
| |
|(Procedure Line No.: P=Prev N:=Next; Q=Quit): |
| |
|__________________________________________________________________|
FIGURE 6
When Figure 6 is presented to the user the appropriate available options for the
users are 'P', 'N', or 'Q'. Figure 6 has the line information of beginning of all
procedures in the SQR.
'P': This option would bring up the window as shown in Figure 6, but the
starting index number will be 15 less than the current starting index
number (Previous Page).
'N': This option would bring up the window as shown in Figure 6, but the
starting index number will be 15 more than the current starting index
number (Next Page).
'Q': This option would close this window and would bring up a window as shown
in Figure 5.
When a Profiler file is saved, an expanded file and a list file for the read SQR
would also be created.
The Profiler SQR files (in the above example SQR011.XFP, LDTBLS.XFP,
SQR085.XFP and SQR006.XFP) would be saved in 'C:\INS\XFP\'.
The expanded SQR files (in the above example SQR011.XFE, LDTBLS.XFE,
SQR085.XFE and SQR006.XFE) would be saved in 'C:\INS\XFE\'.
The compiler list file would be saved in (in the above example SQR011.XFL,
LDTBL.XFL, SQR085.XFL and SQR006.XFL) 'C:\INS\XFL\'.
The compiler list file would be saved in (in the above example SQR011.XFL,
LDTBL.XFL, SQR085.XFL and SQR006.XFL) 'C:\INS\XFL\'.
When the Profiler SQR file (in the above example LDTBLS.XFP,) is executed,
a profile trace LDTBL.XPT, file will be created.
Once the initialization file is set up correctly, then only the contents of
'XFSQR.LST' file has to be changed on an on-going basis.