SIMOLYZE, Code Scanner Member Analysis & Categorization |
The SimoTime Home Page |
What is member typing and why is it important? Member typing is the process of storing a source member and then being able to determine its content without having to examine the member. This is typically accomplished in the following ways.
| ||||||
Possible Techniques to Determine and Retain Source Member Type |
If a process is not established to do source member typing then it will be necessary to scan the source member content and identify the type of member. SIMOLYZE is designed to scan mainframe-oriented source code and determine the member type.
Source member typing is often overlooked or receives a low priority in some programming shops. The importance of member typing is not often recognized until a change to an application is required. Attempting to estimate the skills required to implement a change and define the scope-of-effort required is difficult and time consuming when the type and quantity of members that makeup an application are not known and/or are difficult to determine.
Applications running on a mainframe are usually written in COBOL. However, mainframe applications are typically COBOL oriented but are not written entirely in COBOL. Mainframe applications are dependent on non-COBOL processes such as calls to 370 assembler subroutines, embedded calls to external sort routines and dependencies on batch processes using mainframe JCL to create and update existing data bases. If the plan is to migrate the application or distribute components of the application from a Mainframe System to a Linux, UNIX or Windows System then additional time should be allocated to handle these situations.
Some programming shops have the technology and a process to keep track of members by type but even these shops run an average error rate of five percent or higher. Other shops or programming groups do not even attempt to track member types and many shops have a variety of application source code that has not been touched in years. Knowledge about these applications is minimal or non-existent.
If the member type is not readily available or unknown it could be a significant effort to transfer programming functions from the mainframe to the PC Desktop or an application server. Revolve (see Note-1) and Mainframe Express (see Note-2) are dependent on member typing (i.e. the existence of a file extension with the file name). Many programming shops need assistance in creating and maintaining a programming environment that incorporates member typing. All programming shops could benefit from the ability to validate the accuracy of current member typing efforts.
Once a library of source members with accurate member typing has been established the time it requires to modify, deploy and maintain an application on the mainframe or PC, Micro Focus platform may be significantly reduced. Both Revolve and Mainframe Express deliver a tremendous amount of analytical and programming power for the analysis, development, testing, maintenance and deployment of business applications. However, both products are dependent on member typing. The suite of programs provided in this package will be referred to as SIMOLYZE. The primary purpose of SIMOLYZE is to do member typing and provide an overview of the number and type of members stored in a mainframe library or source code management facility. Prior to doing the initial scanning of the source code it must be downloaded from the mainframe to the PC. The downloading of the source members is greatly simplified by using Mainframe Express (MFE) with Mainframe Access (MFA) that is provided by Micro Focus.
Note-1: Revolve is a very powerful application and source code analysis tool provided by Micro Focus
Note-2: Mainframe Express (MFE) is a product that provides for the development, maintenance and testing of mainframe applications on a Windows System. MFE also has the capability of easily downloading and uploading source members from and to the mainframe.
Note-3: The Micro Focus web site is located at: http://www.microfocus.com.
We have made a significant effort to ensure the documents and software technologies are correct and accurate. We reserve the right to make changes without notice at any time. The function delivered in this version is based upon the enhancement requests from a specific group of users. The intent is to provide changes as the need arises and in a timeframe that is dependent upon the availability of resources.
Copyright © 1987-2024
SimoTime Technologies and Services
All Rights Reserved
In addition to determining the member language and member type a summary report is also provided. The following is an example of the summary information that is produced by SIMOLYZE.
o o o o o o o o o |
|
o o o o o o o o o |
Please note that many of the items discussed in this document are based on the hardware and software technologies that were available when this document was created. This is a rapidly changing environment and functional improvements are expected.
During the scanning process SIMOLYZE will create and/or maintain a Source Code Repository (APMASTER.DAT and .IDX) that contains information about the individual source members. Some of the information is the member language, member type, record count and date/time of last update. If a COBOL member contains EXEC CICS or EXEC SQL syntax it is noted in the repository. This information is very useful when determining the compiler directives to use with individual source members. The Source Code Repository is an indexed file in the Micro Focus file format.
For a detailed description of the record layout refer to The Source Code Repository (APMASTER) section of this document
This documentation is intended for SIMOLYZE, Version 11.04.24. The following is the minimum system requirements.
| ||||||||||
A Minimum System Requirements for Running SIMOLYZE |
The following is a typical system configuration for running SIMOLYZE with Micro Focus Mainframe Express and/or Mainframe Access.
| ||||||||||||
A Typical System Configuration for Running SIMOLYZE |
Note: The software and supporting members included in the SIMOLYZE package require less than 1 meg of disk space.
Note: Mainframe Express and Revolve are products provided by Micro Focus (http://www.microfocus.com).
The SIMOLYZE program, this documentation, the Installation Verification Procedures (IVP's) and examples are provided in a zipped file. Additional information about acquiring the SIMOLYZE software package may be obtained from http://www.simotime.com/purchase.htm.
SIMOLYZE is currently delivered on a Compact Disk. SIMOLYZE is also available directly from SimoTime via digital delivery using e-mail or File Transfer Protocol (or FTP). Information about the latest version may be obtained from the SimoTime Web Site.
If you have received SIMOLYZE on a CD then simply follow the SETUP instructions from the custom install options to install SIMOLYZE. This process will install SIMOLYZE into a directory called SimoLIBR
If you have received the SIMOLYZE software package in a zipped file then the following instructions define the necessary steps for installation.
| ||||||||||
Steps to Create Directory and Unzip SIMOLYZE |
The following is the list of command statements required using WinZip.
C:\>md SimoLIBR C:\>cd SimoLIBR C:\SimoLIBR>md LOGS C:\SimoLIBR>wzunzip SimoLYZE.zip
Three Installation Verification Procedures (IVP's) are provided with SIMOLYZE. The IVP's may also serve as examples. A little setup and preparation is required prior to running the IVP's. First, we must set the environment variables that will map the directories used in the source member typing process.
C:\SimoLIBR> SET4LYZ1 or C:\SimoLIBR> SET4LYZ2 or C:\SimoLIBR> SET4LYZ3
Next, we must create a set of directories. The following command will use the environment variables that were set in the preceding command and create the input directory (SLZINPUT) and the output directory (SLZMODEL) with its sub-directories.
C:\SimoLIBR> DIR4LYZE
The preceding command also creates an input directory. This is the directory that needs to be populated with the source members without file extension (i.e. unknown content).
Now it is necessary to copy a few source member into the SLZINPUT directory. For the IVP approximately ten (10) source members will provide an adequate test for proper installation.
Note: Do not use file extensions. Use only the file name without a file extension. The file name should be eight characters or less.
After copying a few member into the SLZINPUT directory run the following command to execute the SimoLYZE Installation Verification Procedure.
C:\SimoLIBR> IVP4LYZ1 SET4LYZ1
The preceding command will scan all the members (filenames without extensions) in the SLZINPUT directory and copy the typed members (filenames with extensions) to the appropriate sub-directories of SLZMODEL. A separate window should be displayed with a summary of the members by type. Use Windows Explorer to view the contents of the SLZMODEL directory and sub-directories.
The following is a second IVP that will produce a detailed list by member and the summary information.
C:\SimoLIBR> IVP4LYZ2 SET4LYZ2
The following is a third IVP that will produce a cross reference listing in an ASCII/Text file and summary information.
C:\SimoLIBR> IVP4LYZ3 SET4LYZ3
SIMOLYZE is run from a DOS command line by calling SIMOLYZE.GNT. It requires one parameter. Depending on the parameter value certain environment variables will need to be specified. The following is the command line format.
C:\SimoLIBR> run SIMOLYZE parameter
The Installation Verification Programs (IVP's) provide a good model for running SIMOLYZE and are described in more detail in this section.
The following table is a summary of the parameters (function to be performed) and environment variables.
parameter | Purpose, Environment Variable and Description |
ORGANIZE | The purpose of the ORGANIZE function is to do the member typing. Refer to The
Organize Function for more information.
SYSIMP1=filename - this file contains two records. The first record provides the name of the PDS where the members are stored on the mainframe. The second record provides the name of the Windows directory where the input members are stored. SYSIMP2=filename - this file contains a list of the input members to be analyzed and typed. Each record in the file contains one file name. The format of the file is ASCII/Text. SLZCONFG=filename - this is the SimoLYZE configuration file. APMASTER=filename - this is the SimoLYZE Source Code Repository. |
QUERY | The purpose if the QUERY function is to provide a method for selecting certain member types from the Source Code Repository (APMASTER) and create a file of "user-specified" output. Refer to
The Query Function for more information.
SYSQRY1=filename - this file contains the specifications for selecting records from the Source Code Repository. SYSQRY2=filename - this file is created by the Query function and contains the results of the query. SYSQRY3=filename - this file is used to specify a user date. The query function can then do a select of record information from the Source Code Repository using this date. SLZCONFG=filename - this is the SimoLYZE configuration file. APMASTER=filename - this is the SimoLYZE Source Code Repository. |
UPDATE | The purpose of the UPDATE function is to provide a method for updating information in the Source Code Repository (APMASTER) without having to write a program. Refer to
The Update Function for more information.
SYSUPD1=filename - this file contains the specifications for the information to be updated. SLZCONFG=filename - this is the SimoLYZE configuration file. APMASTER=filename - this is the SimoLYZE Source Code Repository. |
COPY | The purpose of the COPY function is to copy the specified members from the untyped directory to the typed directories with proper extensions. Refer to
The Copy Function for more information.
SYSCPY0=filename - each record within the file has a from-filename and a to-filename. SYSCPY3=filename - each record in this file will have a "UPD" or "ADD" in positions 1-3, positions 4-nn will contain the to-filename. SLZCONFG=filename - this is the SimoLYZE configuration file. |
LIST | The purpose of the LIST function is to read the Source Code Repository (APMASTER) file and create an ASCII/Text file of summary or detailed information about the source members. Refer to
The List Function for more information.
SLZLIST=filename - this is the output file that contains the listing information. The format is ASCII/Text and may be viewed with most editors. SLZCONFG=filename - this is the SimoLYZE configuration file. APMASTER=filename - this is the SimoLYZE Source Code Repository. |
HTML | The purpose of the HTML function is to read the Source Code Repository (APMASTER) file and create an HTML file of detailed and summary information about the source members. Refer to
The HTML Function for more information.
APHTML01=filename - this is the output file that contains the source member information. The format is HTML and may be viewed with most browsers. SLZCONFG=filename - this is the SimoLYZE configuration file. APMASTER=filename - this is the SimoLYZE Source Code Repository. APHTMHDR=filename - this is the header information for the HTML File. APHTMINC=filename - this is the include information for the HTML File. APHTMFTR=filename - this is the footer information for the HTML File. |
The following figure shows the process flow used by the Installation Verification Procedure for SIMOLYZE.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview Flowchart for SIMOLYZE |
The SIMOLIBR directory is the directory where SIMOLYZE is installed. The SLZINPUT directory is the directory that contains the un-typed source members (i.e. names without file extensions).
The IVP4LYZ1 is a command file that will run the necessary programs to analyze each of the members in the SLZINPUT directory and copy each member to the proper sub-directory within SLZMODEL based on the member type.
This process will also create a Source Code Repository (APMASTER). This data base is a VSAM file with a single key composed of the member name. The actual name of the APMASTER is determined by an environment variable called APMASTER.
The environment variables must be set prior to running SIMOLYZE. The following is a description of the environment variables used in SET4LYZ1.cmd.
@echo OFF echo ************************************************************** echo * SET4LYZ1.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2019 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * SET4LYZ1 is Starting... echo * SET4LYZ1 Setting the Environment Variables for SimoLYZE. This echo * SET4LYZ1 CMD file provides a single location for defining the echo * SET4LYZ1 location of the input directory, output directories, echo * SET4LYZ1 the configuration file and the Source Code Data Base. rem * rem * The SIMOLIBR environment variable specifies the drive and rem * directory location for the SIMOLIBR directory where SIMOLYZE rem * is installed. rem * set SIMOLIBR=C:\SimoLIBR rem * rem * The SLZBASE environment variable is the base directtory used rem * by SimoLYZE. SimoLYZE will use sub-directories created under rem * this directory. rem * set SLZBASE=C:\SLZLIB01 rem * rem * Identify the directory where the SimoLYZE work files and the rem * user-defined Source Code Data Base are located. rem * set SLZADMIN=%SLZBASE%\slzADMIN rem * rem * Define the location of the SimoLYZE configuration file. rem * set SLZCONFG=%SIMOLIBR%\cfg4lyz1.cfg rem * rem * Define the fully qualified name for the Source Code Repository file. rem * Notice the technique of using the previously defined SLZUSER rem * environment variable. The following could also be an explicit, rem * fully qualified drive, directory and filename.ext. rem * set APMASTER=%SLZADMIN%\APMASTER.DAT rem * rem * Define the Input directory. The following directory will contain the rem * source members that do not have file extensions. rem * set SLZINPUT=%SLZBASE%\slzINPUT rem * rem * Provide for a high-level directory definition for output members rem * set SLZMODEL=%SLZBASE%\slzMODEL rem * rem * Define the Output directories rem * set SLZ4CBL=%SLZMODEL%\cobol set SLZ4COBCPY1=%SLZMODEL%\cobcpy1 set SLZ4ASM=%SLZMODEL%\asm set SLZ4ASMCPY1=%SLZMODEL%\asmcpy1 set SLZ4ASMMAC1=%SLZMODEL%\asmmac1 set SLZ4JCL=%SLZMODEL%\jcl set SLZ4PRC=%SLZMODEL%\prc set SLZ4INC=%SLZMODEL%\inc set SLZ4BMS=%SLZMODEL%\bms set SLZ4MFS=%SLZMODEL%\mfs set SLZ4DBD=%SLZMODEL%\dbd set SLZ4PSB=%SLZMODEL%\psb set SLZ4OTHER=%SLZMODEL%\other rem * rem * The following is provided as a method for identifying the rem * PDS where the original members reside. rem * It is only used to when writing to the Source Code Repository rem * set SLZHOST=SIMOTIME.DEMO.BASE rem * rem * ********************************************************************** rem * The following are optional based on configuration file setting to rem * enable or disable a function. rem * rem * The following is for the APLIST01 file. rem * set APLIST01=%SLZADMIN%\APLIST01.TXT rem * rem * The following is for the messaging files. rem * set SimoNote=%SLZADMIN%\SIMONOTE_LYZE.LOG set SYSOUT=%SLZADMIN%\SYSOUT_LYZE.LOG set SLZMSG=%SLZADMIN%\SLZMSG_LYZE.LOG rem * rem * The following is for the cross reference file of main members to rem * to copyfiles. rem * set COPYXREF=%SLZADMIN%\COPYXREF.TXT rem * rem * The following is for the cross reference file of main members to rem * to data files. rem * set DATAXREF=%SLZADMIN%\DATAXREF.TXT rem * echo * SET4LYZ1 is Finished...
The input directory and output directories must be must exist prior to running SimoLYZE. The following is a description of a sample command file (DIR4LYZE.cmd) that may be used to create a directory structure.
Please note, prior to running the following command file the environment variables must be set as described in the Previous section of this document
@echo OFF echo * DIR4LYZE is Starting... echo ************************************************************** echo * DIR4LYZE.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2019 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * This command file will create the directories used by the echo * Installation Verification Procedures for SimoLYZE. echo * echo * Please note, the environment variables must be set prior echo * to running this procedure. Refer to the SET4LYZ1.cmd file echo * for more information. echo * MD %SLZADMIN% rem * MD %SLZINPUT% MD %SLZMODEL% rem * MD %SLZ4CBL% MD %SLZ4COBCPY1% MD %SLZ4ASM% MD %SLZ4ASMCPY1% MD %SLZ4ASMMAC1% MD %SLZ4JCL% MD %SLZ4PRC% MD %SLZ4INC% MD %SLZ4BMS% MD %SLZ4MFS% MD %SLZ4DBD% MD %SLZ4PSB% MD %SLZ4OTHER% echo * DIR4LYZE is Finished...
The following is a description of a sample command file (IVP4LYZ1.cmd) that steps through the member typing process.
@ECHO OFF echo ************************************************************** echo * IVP4LYZ1.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2019 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * Installation Verification Program for SIMOLYZE rem * if not "%1" == "" set slzcall=%1 if "%1" == "" set slzcall=c:\SimoLIBR\set4lyz1 CALL %slzcall% call SimoNOTE "************************************************************IVP4LYZ1" call SimoNOTE "Starting JobName IVP4LYZ1, User is %USERNAME%" call SimoNOTE "SLZINPUT set to %SLZINPUT%" rem * rem ****************************************************************************** rem * if EXIST %APMASTER% GOTO :SKIPALOC call SimoNOTE "Create a Source Code Repository for unidentified members." call SimoNOTE "* Ivp4Lyz1 %SLZCONFG%" call SimoNOTE "* Ivp4Lyz1 %APMASTER%" set SLZUPD1=UPDALOC1.UPD run SimoLYZE UPDATE if ERRORLEVEL = 1 GOTO :ABEND01 :SKIPALOC rem * rem ****************************************************************************** call SimoNOTE "Prepare to read the unidentified source members." rem * rem * The HOSTNAME identifies the original mainframe PDS. On the rem * PC this is used for documentation purposes, rem * The PCDIR identifies the directory where the unidentified rem * input source members are stored. If the source members are not rem * in the current directory the PCDIR must be used. rem * rem * The DIR command will create a list file of the members in the rem * input directory. rem * The /B option will list only the file name. rem * The /A-D option will cause directory names not to be listed. rem * The /ONE option will organize in name and extension sequence. rem * echo HOSTNAME %SLZHOST% >%SLZADMIN%\SYSTEMP1.TXT echo PCDIR %SLZINPUT%\ >>%SLZADMIN%\SYSTEMP1.TXT dir %SLZINPUT%\*.* /B /A-D /ONE >%SLZADMIN%\SYSTEMP2.TXT rem * rem * Load the Source Code Repository with unknown member types. rem * call SimoNOTE "Do the source code analysis and Populate the Source Code Repository " rem * set SYSIMP1=%SLZADMIN%\SYSTEMP1.TXT set SYSIMP2=%SLZADMIN%\SYSTEMP2.TXT run SimoLYZE ORGANIZE if ERRORLEVEL = 1 GOTO :ABEND02 rem * rem ****************************************************************************** call SimoNOTE "Select members from the Source Code Repository to be copied." rem * rem * This command file is usually run with the CFG4LYZ1.CFG file that has rem * the statement ...SLZQRY01 USERDATE NO... included rem * Therefore, all members that meet the other criteria will be selected. rem * set SYSQRY1=QRY4CPY1.QRY set SYSQRY2=%SLZADMIN%\SYSTEMP3.TXT run SimoLYZE QUERY rem * rem ****************************************************************************** call SimoNOTE "Copy member to SLZMODEL Directories, append the file extension." rem * set SYSCPY0=%SLZADMIN%\SYSTEMP3.TXT set SYSCPY3=%SLZADMIN%\SYSCPY3.LOG run SimoLYZE COPY if ERRORLEVEL = 1 GOTO :ABEND03 call SimoNOTE "IVP4LYZ1 Source members have been copied to specified user directories." rem * rem ****************************************************************************** call SimoNOTE "Create an ASCII/Text SLZLIST file from the Source Code Repository." rem * set APLIST01=%SLZADMIN%\APLIST01.TXT run SimoLYZE LIST if ERRORLEVEL = 1 GOTO :ABEND04 call SimoNOTE "IVP4LYZ1 Notepad will display the list file in a separate window." rem * START notepad %SLZADMIN%\APLIST01.TXT echo * IVP4LYZ1 Thank you for using SimoLYZE by SimoTime Enterprises goto :EojAok rem * rem ****************************************************************************** :ABEND01 call SimoNOTE "ABENDING Allocate function for Source Code Repository failed!" goto :END rem * rem ****************************************************************************** :ABEND02 call SimoNOTE "ABENDING Organize function for Source Code Repository failed!" goto :END rem * rem ****************************************************************************** :ABEND03 call SimoNOTE "ABENDING the COPY function for Source Code Repository failed!" goto :END rem * rem ****************************************************************************** :ABEND04 call SimoNOTE "ABENDING the LIST function for Source Code Repository failed!" goto :END rem * rem ****************************************************************************** :EojAok call SimoNOTE "Finished JobName IVP4LYZ1 " rem * :END
This section describes each of the SIMOLYZE functions. The ORGANIZE function does the actual member typing. The LIST function reads the Source Code Repository and creates a listing file in ASCII/Text format for easy viewing with most editors. The UPDATE function provides a quick method for updating records in the Source Code Repository. The QUERY function provides a quick method for accessing information in the Source Code Repository. The COPY function provides a method for quickly copying the un-typed source members from an input directory to the appropriate directories that have been defined for each member type.
The organize function does the actual member typing. This function will read each of the specified source members and determine the member type. This function starts by reading an ASCII/Text file (SYSIMP2) that contains a list of members that will be used to update or add records to the Source Code Repository file (APMASTER.DAT). The configuration file is read to get additional parameters to determine the execution behavior and results. The SYSIMP1 file contains two records. The first record provides the name of the PDS where the members are stored on the mainframe. The second record provides the name of the Windows directory where the input members are stored.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview Flowchart for the ORGANIZE Function of SIMOLYZE |
The list function will read the Source Code Repository file (APMASTER.DAT) and produce a listing file in ASCII/Text format. Two sample command files are provided. The first command file (SLZLIST1.CMD) will produce a listing file (ASCII/Text format) with a summary of information by member type group. The second example (SLZLIST2.CMD) will produce a listing file (ASCII/Text format) with detail for each member and a summary of information by member type group.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview Flowchart for the LIST Function of SIMOLYZE |
The following is an example of a command file (APLISTE1.cmd) that will execute SIMOLYZE with the LIST option.
@echo OFF set CmdName=APLISTE1 echo * Starting CmdName %CmdName%, User is %USERNAME% echo ************************************************************** echo * APLISTE1.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * This procedure will read the Source Code Data Base and * echo * create a listing file that includes SUMMARY info only. * rem ************************************************************** rem * Set the required environment variables. rem * set JobStatus=0000 call set4lyz1 rem * Override pointers to config and list file set SLZCONFG=%SLZADMIN%\tmp4lyze.CFG set APLIST01=%SLZADMIN%\APLIST01.TXT rem * rem ************************************************************** rem * The following two statements will create a temporary rem * configuration file for the SimoLYZE List function. rem * echo APLISTC1 NODETAIL > %SLZCONFG% echo APLISTC1 SUMMARY >> %SLZCONFG% rem * rem ************************************************************** rem * Run the List function and display the results with NotePAD. rem * run SIMOLYZE LIST if not "%ERRORLEVEL%" == "0" set JobStatus=0010 if not "%JobStatus%" == "0000" goto :EojNOK rem * rem ************************************************************** rem * End of Job. :EojAOK echo * %CmdName% Notepad will display the list file in a separate window. echo * %CmdName% DataTAKE is %APMASTER%. echo * %CmdName% DataMAKE is %APLIST01%. START notepad %APLIST01% echo * Finished CmdName %CmdName%, Job Status is %JobStatus% goto :End :EojNOK echo * %CmdName% slzCONFG is %slzCONFG%. echo * %CmdName% DataTAKE is %APMASTER%. echo * ABENDING CmdName %CmdName%, Job Status is %JobStatus% goto :End :End if not "%1" == "nopause" pause
The following statements in the configuration file (SLZCONFG.CFG) affect the program execution for the list function
SLZLST01 NODETAIL * Include record detail SLZLST01 SUMMARY * Include summary information
The first statement with the DETAIL keyword will write detailed information about each source member to the listing file. The NODETAIL keyword prevents the detailed information about each source member from being written to the listing file.
The second statement with the SUMMARY keyword will provide a summary of the number of source members in each type grouping and total count of members with total lines of code. The NOSUMMARY keyword will prevent the summary information from being placed in the listing file.
The HTML function will read the Source Code Repository file (APMASTER.DAT) and produce a listing file in HTML format. Two sample command files are provided. The first command file (APHTMLE1.CMD) will produce an HTML file with a summary of information by member type group. The second example (APHTMLE2.CMD) will produce an HTML file with detail for each member and a summary of information by member type group.
The following link to view a sample HTML document will provide a quick look at the information provided by the HTML function.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview Flowchart for the HTML Function of SIMOLYZE |
The following is an example of a command file (APHTMLE1.cmd) that will execute SIMOLYZE with the HTML option.
@echo OFF set CmdName=APHTMLE1 echo ************************************************************** echo * APHTMLE1.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * This procedure will read the Source Code Data Base and * echo * create an HTML file that includes DETAIL and SUMMARY info. * rem * rem * Set the required environment variables. rem * set JobStatus=0000 call set4lyz1 call SimoNOTE "************************************************************%CmdName%.CMD" call SimoNOTE "* Starting CmdName %CmdName%, Job Status is %JobStatus%" set APHTMHDR=%SimoLIBR%\aphtmhdr.htm set APHTMFTR=%SimoLIBR%\aphtmftr.htm set APHTMINC=%SimoLIBR%\aphtminc.htm set APHTML01=%slzADMIN%\aphtml01.htm if not exist %slzADMIN%\simologo.jpg copy %SimoLIBR%\simologo.jpg %slzADMIN% rem * rem ************************************************************** rem * Run the HTML function and display the results with IEXPLORE. rem * run APHTMLC1 if not "%ERRORLEVEL%" == "0" set JobStatus=0010 if not "%JobStatus%" == "0000" goto :EojNOK rem * rem ************************************************************** rem * End of Job. :EojAOK call SimoNOTE "* DataTAKE is %APMASTER%." call SimoNOTE "* DataMAKE is %APHTML01%." call SimoNOTE "* StepInfo Internet Explorer will display the HTML file in a separate window." START iexplore %APHTML01% call SimoNOTE "* Finished CmdName %CmdName%, Job Status is %JobStatus%" goto :End :EojNOK call SimoNOTE "* DataTAKE is %APMASTER%." call SimoNOTE "* ABENDING CmdName %CmdName%, Job Status is %JobStatus% " goto :End :End if not "%1" == "nopause" pause
The COBOL Category function will read the Source Code Repository file (APMASTER.DAT) and produce four (4) listing files in ASCII/Text format. A sample command file is provided. This command file (APLISTE4.CMD) will produce four (4) ASCII/Text files containing the following information.
| ||||||||||
Four Listing Files with Member Names by COBOL Category |
The query function will read the Source Code Repository file (APMASTER.DAT) and produce an ASCII/Text file using the control specifications contained in the SYSQRY1 file.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview Flowchart for the QUERY Function of SIMOLYZE |
This example will read the Source Code Repository and produce a CSV file that may be imported into an Excel Spreadsheet or other data bases. The following (QRYGET02.qry) is an example of a control file for the QUERY function.
* *************************************************************** * QRYGET02.qry - a SIMOLYZE Query Script * * This script is provided by SimoTime Technologies * * (C) Copyright 1987-2018 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * * *************************************************************** * This Query will select active member records from the * Source Code Data Base and create a CSV file that may * be imported into an Excel Spreadsheet. * //PutPrefix Member Name,Language,Type,Records,Comments,Blanks,Lines of Code * //IF STATUS EQ A //PUT &<MemberName<&,&<Language<&,&<Type<&,&<Records<&,&<Comments<&,&<BlankLines<&,&<LinesOfCode<& //END-IF *
The following is the command file (SLZQRYE2.cmd) that will execute the query function using the preceding query control file information.
@echo OFF echo * SLZQRYE2 is Starting, User is %USERNAME% echo ************************************************************** echo * SLZQRYE2.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * Read the Source Code Data Base and create a CSV file * echo * that may be imported into an Excel Spreadsheet. * rem ************************************************************** rem * Set the required environment variables. rem * call set4lyz1 set SLZSYS1F=%SLZADMIN%\QryCfg02.CFG set SYSQRY1=%SIMOLIBR%\QryGet02.QRY set SYSQRY2=%SLZADMIN%\QryPut02.CSV rem * rem ************************************************************** rem * The following statements will create a temporary rem * configuration file for the SimoLYZE Query function. rem * Note: The SLZSYS1F could be set to the CFG4LYZ1.CFG file rem * that is included with SimoLYZE. The purpose of using the rem * following is to show the minimum requirements. rem * echo SLZQRY01 MSGLEVEL 0 > %SLZSYS1F% echo SLZQRY01 WILDCARD * >> %SLZSYS1F% echo SLZQRY01 DOENVARS >> %SLZSYS1F% echo SLZQRY01 USERDATE NO >> %SLZSYS1F% rem * rem ************************************************************** rem * Run the Query function and display the results with NotePAD. rem * run SIMOLYZE QUERY echo * SLZQRYE2 Query File is %SYSQRY2% echo * SLZQRYE2 Display the QUERY file in a separate window. START notepad %SYSQRY2% rem * rem ************************************************************** rem * End of Job. echo * SLZQRYE2 Thank you for using SimoLYZE by SimoTime Technologie echo * SLZQRYE2 is Finished... if not "%1" == "nopause" pause
The following (QryPUT02.CSV) is the CSV file created as a result of running the preceding query function.
CBLBITC1,CBL,CBL,00000452 CBLDAYC1,CBL,CBL,00000438 CBLDAYC2,CBL,CBL,00000272 CBLHBXC2,CBL,CBL,00000400 CBLHBXC3,CBL,CBL,00000280 CBLNUXC1,CBL,CBL,00000296 CBLNUXC2,CBL,CBL,00000288 CBLPARC3,CBL,CBL,00000218 CBLPARC4,CBL,CBL,00000220 PASSBITS,CBL,CPY,00000025
The following table describes the various control statements that may be used to select the input and determine the output for the QUERY function.
Keyword | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
//IF | The //IF statement will cause the QUERY function to test various items within the Source Code Repository for the specified condition. The parameters are as follows:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
//END-IF | Closes the processing for the previously defined //IF statement(s). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
//PUT | The //PUT statement will cause the QUERY function to write a record to the output file (SYSQRY2). The parameters are as follows (the variable values are not case sensitive):
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
//PUTPREFIX | The //PUTPREFIX statement will cause records to be written at the beginning of the output file (SYSQRY2). This is useful when inserting comments at the top of the file. The only parameter is a text string. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
//PUTSUFFIX | The //PUTSUFFIX statement will cause records to be written at the end of the output file (SYSQRY2). The only parameter is a text string. |
The update function will read an ASCII/Text file of control records and update the Source Code Repository file (APMASTER.dat).
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview Flowchart for the UPDATE Function of SIMOLYZE |
The following statements will run the update function. The first statement will point to the configuration file. The second statement will point to the input file that contains the update functions to be performed. The third statement will point to the Source Code Repository. The fourth statement will run SIMOLYZE and perform the update function.
| ||||||||||
Sequence of Events for the SIMOLYZE Update function |
The format of the records in the SLZUPD1 file is as follows.
member-name keyword value-or-action
The member-name is also the key to the Source Code Repository records. A list of the keyword items and associated value-or-action may be found at the end of this section at the Summary List of Update Keywords.
The following example (SLZUPDE1.cmd and UPDSPEC1.upd) shows how to change the member status definition within the Source-Code-Data-Base file (APMASTER.dat).
@echo OFF echo * SLZUPDE1 is Starting, v04.04.14... echo ************************************************************** echo * SLZUPDE1.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * This procedure will read a file of update statements for * echo * the Source Code Data Base and update the Data Base. * rem ************************************************************** rem * call set4lyz1 set %SIMOLIBR%\SLZUPD1=UPDSPEC1.UPD echo Configuration file: %SLZSYS1F% echo Specification file: %SLZUPD1% echo Source Code Data Base: %APMASTER% run SIMOLYZE UPDATE rem * echo * SLZUPDE1 is Finished...
In the preceding command file the second "set" statement points to the specification file that defines the update function that needs to be performed. The following is an example of a specifications file with one statement (the asterisk in position one (1) indicates a comment). The "CBLDAYC2" is the member name, the "STATUS" indicates the Status Field in the record and the "D" is the value to place into the field. Once the following statement is processed the "CBLDAYC2" record will be flagged for deletion.
* *************************************************************** * UPDSPEC1.upd - a SIMOLYZE Update Script * * This script is provided by SimoTime Technologies * * (C) Copyright 1987-2018 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * * *************************************************************** * This specification will change the Record Status field in * the Source Code Data Base to a "D". The status is as follows: * A = Active * D = Delete * S = Suspend * CBLDAYC2 STATUS D
The members (SLZUPDE1.cmd and UPDSPEC1.upd) from the preceding example are included in the z-Pack (zipped file) for SIMOLYZE.
The following example (SLZUPDE2.cmd and UPDSPEC2.upd) shows how to override or explicitly define the member language definition within the Source-Code-Data-Base file (APMASTER.dat).
@echo OFF echo * SLZUPDE2 is Starting, v04.04.14... echo ************************************************************** echo * SLZUPDE2.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * This procedure will read a file of update statements for * echo * the Source Code Data Base and update the Data Base. * rem ************************************************************** rem * call set4lyz1 set SLZUPD1=%SIMOLIBR%\UPDSPEC2.UPD echo Configuration file: %SLZSYS1F% echo Specification file: %SLZUPD1% echo Source Code Data Base: %APMASTER% run SIMOLYZE UPDATE rem * echo * SLZUPDE2 is Finished...
In the preceding command file the second "set" statement points to the specification file that defines the update function that needs to be performed. The following is an example of a specifications file with one statement (the asterisk in position one (1) indicates a comment). The "CBLDAYC2" is the member name, the "LANGUAGE" indicates the Language Field in the record and the "CBL" is the value to place into the field. Once the following statement is processed the "CBLDAYC2" record will be identified as containing COBOL source code.
* *************************************************************** * UPDSPEC2.upd - a SIMOLYZE Update Script * * This script is provided by SimoTime Technologies * * (C) Copyright 1987-2018 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * * *************************************************************** * This specification will change the Language Definition in * the Source Code Data Base. The Language is as follows: * CBL = COBOL * JCL = Job Control Language * 370 = Assembler * CBLDAYC2 LANGUAGE CBL
Attention: The ability to override or explicitly define the language is intended for exception conditions. If SIMOLYZE fails to identify a member Language please notify the helpdesk@simotime.com .
The source members (SLZUPDE2.CMD and UPDSPEC2.UPD) from the preceding example are included in the z-Pack (zipped file) for SIMOLYZE.
The following example (SLZUPDE3.cmd and UPDSPEC3.upd) shows how to override or explicitly define the member type definition within the Source-Code-Data-Base file (APMASTER.dat).
@echo OFF echo * SLZUPDE3 is Starting, v04.04.14... echo ************************************************************** echo * SLZUPDE3.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * This procedure will read a file of update statements for * echo * the Source Code Data Base and update the Data Base. * rem ************************************************************** rem * call set4lyz1 set SLZUPD1=%SIMOLIBR%\UPDSPEC3.UPD echo Configuration file: %SLZSYS1F% echo Specification file: %SLZUPD1% echo Source Code Data Base: %APMASTER% run SIMOLYZE UPDATE rem * echo * SLZUPDE3 is Finished...
In the preceding command file the second "set" statement points to the specification file that defines the update function that needs to be performed. The following is an example of a specifications file with one statement (the asterisk in position one (1) indicates a comment). The "CBLDAYC2" is the member name, the "TYPE" indicates the member TYPE Field in the record and the "CBL" is the value to place into the field. Once the following statement is processed the "CBLDAYC2" record will be identified as a COBOL program.
* *************************************************************** * UPDSPEC3.upd - a SIMOLYZE Update Script * * This script is provided by SimoTime Technologies * * (C) Copyright 1987-2018 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * * *************************************************************** * This specification will change the Type Definition in * the Source Code Data Base. The Type is as follows: * CBL = COBOL * JCL = Job Control Language * 370 = Assembler * CPY = Copy File * INC = Include * MAC = Macro * MFS = Message Format Services for IMS * BMS = Basic Mapping Support for CICS * DBD = Data Base Description for IMS * PRC = Procedure for JCL * PSB = Program Specification Block for IMS * UNKNOWN * CBLDAYC2 TYPE CBL
Attention: The ability to override or explicitly define the language is intended for exception conditions. If SIMOLYZE fails to identify a member Language please notify the helpdesk@simotime.com .
The source members (SLZUPDE3.CMD and UPDSPEC3.UPD) from the preceding example are included in the z-Pack (zipped file) for SIMOLYZE.
A special feature of the update function is to create an empty Source Code Repository. The following example (SLZALOC1.cmd and UPDALOC1.upd) shows how to create a new Source-Code-Data-Base file (APMASTER.dat).
@echo OFF echo * SLZALOC1 is Starting, v04.04.14... echo ************************************************************** echo * SLZALOC1.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * This procedure will read a file of update statements for echo * the Source Code Data Base and create a new Data Base. echo * The allocate action is defined in the SLZUPD1 file. rem * set SLZCONFG=cfg4lyz1.cfg set SLZUPD1=UPDALOC1.UPD set APMASTER=%SLZADMIN%\APMASTER.DAT run SIMOLYZE UPDATE rem * echo * SLZALOC1 is Finished...
For the preceding example the SYSUPD1 file contains one record as follows.
* *************************************************************** * UPDALOC1.upd - a SIMOLYZE Update Script * * This script is provided by SimoTime Technologies * * (C) Copyright 1987-2019 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * * *************************************************************** * The following statement will cause a new Source Code Data Base * file to be allocated. * //ACTION ALLOCATE
Note: If a Source Code Repository already exist it will not be replaced by this function. An error message will be posted and the function will terminate. The existing data base file must be deleted prior to running this function.
The source members (SLZALOC1.CMD and UPDALOC1.UPD) from the preceding example are included in the z-Pack (zipped file) for SIMOLYZE.
A special feature of the update function is to copy the Source Code Repository and drop records that have been flagged for deletion. The following example (SLZCOPY2.cmd and UPDCOPY2.upd) shows how to copy the Source-Code-Data-Base file (APMASTER.DAT) to a new Source-Code-Data-Base file (SLZSCDB2.dat).
@echo OFF echo * SLZCOPY2 is Starting, v04.04.14... echo ************************************************************** echo * SLZCOPY2.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * echo * This procedure will read the Source Code Data Base and echo * create a new Source Code Data Base without deleted records. echo * set SLZCONFG=c:\SimoLIBR\cfg4lyz1.cfg set APMASTER=c:\slzLIB01\SLZADMIN\APMASTER.DAT set SLZSCDB2=c:\slzLIB01\SLZADMIN\SLZSCDB2.DAT set SLZUPD1=c:\SimoLIBR\UpdCopy2.UPD run SIMOLYZE UPDATE echo * SLZCOPY2 is Finished...
For the preceding example the SYSUPD1 file contains one record as follows.
* *************************************************************** * UPDCOPY2.upd - a SIMOLYZE Update Script * * This script is provided by SimoTime Technologies * * (C) Copyright 1987-2018 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * * *************************************************************** * This specification will copy the Source Code Data Base * and drop records flagged for deletion. * //ACTION DROPDELETE
The source members (SLZCOPY2.CMD and UPDCOPY2.UPD) from the preceding example are included in the z-Pack (zipped file) for SIMOLYZE.
The following is a list of the keywords used by the Update function for SIMOLYZE.
Keyword | Value or Action |
STATUS | Valid Status codes are A=Active, D=Deleted and S=Suspend |
LANGUAGE | Valid languages are CBL, JCL, 370, UNKNOWN, and the VALUE may be omitted. |
TYPE | Valid types are CBL, JCL, 370, CPY, INC, MAC, MFS, BMS, DBD, PRC, PSB, UNKNOWN, and the VALUE may be omitted. |
FLAG01 | Flag value must be "Y" or "N". |
FLAG02 | Flag value must be "Y" or "N". |
FLAG03 | Flag value must be "Y" or "N". |
FLAG04 | Flag value must be "Y" or "N". |
FLAG05 | Flag value must be "Y" or "N". |
FLAG06 | Flag value must be "Y" or "N". |
FLAG07 | Flag value must be "Y" or "N". |
FLAG08 | Flag value must be "Y" or "N". |
FLAGnn(x) | The value or action should be blank, the keyword value of nn is a flag number 01-08 and x is a Y or N. |
The following example (SLZUPDE4.cmd and UPDSPEC4.upd) shows how to do multiple updates to the Source-Code-Data-Base file (APMASTER.dat) in a single pass of the SIMOLYZE Update Function.
@echo OFF echo * SLZUPDE4 is Starting, v04.04.14... echo ************************************************************** echo * SLZUPDE4.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * This procedure will read a file of update statements for * echo * the Source Code Data Base and update the Data Base. * rem ************************************************************** rem * call set4lyz1 set SLZUPD1=%SIMOLIBR%\UPDSPEC4.UPD echo Configuration file: %SLZSYS1F% echo Specification file: %SLZUPD1% echo Source Code Data Base: %APMASTER% run SIMOLYZE UPDATE rem * echo * SLZUPDE4 is Finished...
For the preceding example the SYSUPD1 file contains one record as follows.
* *************************************************************** * UPDSPEC4.upd - a SIMOLYZE Update Script * * This script is provided by SimoTime Technologies * * (C) Copyright 1987-2018 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * * *************************************************************** * This specification is an example of multiple updates * in a single pass of the update function of SimoLYZE. * CBLDAYC1 LANGUAGE CBL CBLDAYC1 TYPE CBL CBLDAYC1 STATUS S CBLDAYC1 FLAG02 Y CBLDAYC1 FLAG04 Y CBLDAYC1 FLAG06 Y CBLDAYC1 FLAG08 Y
The source members (SLZUPDE4.CMD and UPDSPEC4.UPD) from the preceding example are included in the z-Pack (zipped file) for SIMOLYZE.
The copy function will read an ASCII/Text file of control records that contain the from-file and to-file names. The un-typed source members (from-file) will be copied to the specified directory (to-file).
WIP - Flow Chart
The following statements in the configuration file (SLZCONFG) affect the program execution for the copy function.
SLZCPY01 REPLACE * Replace existing members SLZCPY01 DOLOG * Create a ADD/UPD log file
The first statement with the REPLACE keyword provides for the replacement of existing members. The NOREPLACE keyword is the default and existing source members will not be replaced. If the logging function is enabled the UPD status in the first three bytes of the log record will be ERR instead of UPD.
The second statement with the DOLOG keyword will provide a log file as the source members are copied. The NOLOG keyword will prevent logging as members are copied.
When SimoLYZE performs the source code analysis and determines the member type the information along with the date and time for the source member is recorded. This information is stored in the Source Code Repository file (APMASTER). The field (MEMBERDATE) may be accessed by the query function.
The following (SLZDATE1.cmd) is a sample command file that sets the environment and calls the QUERY function of SIMOLYZE.
@ECHO OFF echo ************************************************************** echo * SLZDATE1.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * SLZDATE1 is Starting, v04.04.14... rem * echo * SLZDATE1 set Specific Base Directory's variables rem * if "%1" == "" GOTO :ABEND01 CALL %1 echo * SLZDATE1 SLZINPUT set to %SLZINPUT% rem * rem ****************************************************************************** echo * slzDate1 Set environment variables for files. Do a Query to identify records echo * slzDate1 with a member date greater than or equal to 20000101. rem * set APMASTER=%SLZADMIN%\APMASTER.DAT set SYSQRY1=c:\SimoLIBR\QRYDATE1.QRY set SYSQRY2=%SLZADMIN%\SLZDATE1.CSV run SimoLYZE QUERY if ERRORLEVEL = 1 GOTO :ABEND02 rem * rem ****************************************************************************** echo * SLZDATE1 NotePAD will be used to display the results in a separate window. rem * START NotePAD %SYSQRY2% goto :EojAok rem * rem ****************************************************************************** :ABEND01 echo * SLZDATE1 Parameter 1 is usually SET4LYZ1 for this IVP. echo * SLZDATE1 This is ABEND01 for slzDate1 processing... goto :END :ABEND02 echo * SLZDATE1 This is ABEND02 for slzDate1 processing... goto :END :EojAok echo * SLZDATE1 Thank you for using SimoLYZE by SimoTime Enterprises echo * SLZDATE1 is Finished... :END
The following (QRYDATE1.qry) is a sample SYSQRY1 file with the control specifications for selecting and outputting a list of file names that meet the date selection criteria.
* *************************************************************** * QRYDATE1.qry - a SIMOLYZE Query Script * * This script is provided by SimoTime Technologies * * (C) Copyright 1987-2018 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * * *************************************************************** * //PUTPREFIX * //PUTPREFIX * This Query will identify source members with a //PUTPREFIX * member date greater than or equal to 20000101 //PUTPREFIX * the Source Code Data Base file (SLZSCDB1). //PUTPREFIX * * //IF TYPE NE UNKNOWN //IF MEMBERDATE GE 20000101 //PUT &<MEMBERNAME<&.&<TYPE<&,&<MEMBERDATE>&,&<MEMBERTIME>& //END-IF * //PUTSUFFIX * A test for Member Date
The contents of the output file (SYSQRY2) is determined by the //PUT statement. The preceding query will create a comma separated value or CSV file that may be easily imported into an Excel spreadsheet.
When SIMOLYZE performs the source code analysis and determines the member type a flag is set to the "Y" condition. This flag is a field in the Source Code Repository file (APMASTER). This flag is not automatically reset by SIMOLYZE.
The following command file (SLZFLAG1.cmd) is provided as an example for determining which members have been flagged and how to reset the flag. There are eight flags available and SIMOLYZE only uses the first flag.
@ECHO OFF echo ************************************************************** echo * SLZFLAG1.cmd - a Windows Command File * echo * This program is provided by SimoTime Technologies * echo * (C) Copyright 1987-2018 All Rights Reserved * echo * Web Site URL: http://www.simotime.com * echo * e-mail: helpdesk@simotime.com * echo ************************************************************** echo * slzFlag1 is Starting, v04.04.14... rem * echo * slzFlag1 set Specific Base Directory's variables rem * if "%1" == "" GOTO :ABEND01 CALL %1 echo * slzFlag1 SLZINPUT set to %SLZINPUT% rem * rem ****************************************************************************** echo * slzFlag1 Set environment variables for files. Do a Query to identify records echo * slzFlag1 with Flag-01 ON. Create a specification file for the subsequent echo * slzFlag1 updating process. rem * set APMASTER=%SLZADMIN%\APMASTER.DAT set SYSQRY1=c:\SimoLIBR\QRYFLAG1.QRY set SYSQRY2=%SLZADMIN%\SYSTEMP4.TXT run SimoLYZE QUERY if ERRORLEVEL = 1 GOTO :ABEND02 rem * rem ****************************************************************************** echo * slzFlag1 Reset FLAG-01, this step uses the SYSTEMP4.TXT file echo * slzFlag1 created in the previous step. rem * set SLZUPD1=%SLZADMIN%\SYSTEMP4.TXT run SimoLYZE UPDATE if ERRORLEVEL = 1 GOTO :ABEND03 goto :EojAok rem * rem ****************************************************************************** :ABEND01 echo * slzFlag1 Parameter 1 is usually SET4LYZ1 for this IVP. echo * slzFlag1 This is ABEND01 for slzFlag1 processing... goto :END :ABEND02 echo * slzFlag1 This is ABEND02 for slzFlag1 processing... goto :END :ABEND03 echo * slzFlag1 This is ABEND03 for slzFlag1 processing... goto :END :EojAok echo * slzFlag1 Thank you for using SimoLYZE by SimoTime Enterprises echo * slzFlag1 is Finished... :END
The following is the SYSQRY1 file referenced in the preceding command file.
* *************************************************************** * QRYFLAG1.qry - a SIMOLYZE Query Script * * This script is provided by SimoTime Technologies * * (C) Copyright 1987-2018 All Rights Reserved * * Web Site URL: http://www.simotime.com * * e-mail: helpdesk@simotime.com * * *************************************************************** * //PUTPREFIX * //PUTPREFIX * This Query will create a file that may be used by //PUTPREFIX * the SimoLYZE UPDATE facility to reset Flag-01 in //PUTPREFIX * the Source Code Data Base file (SLZSCDB1). //PUTPREFIX * * //IF FLAG01 EQ Y //PUT &<MEMBERNAME<& FLAG01(N) //END-IF *
The callable Application Programming Interface (API) is provided to determine the member type of a single member and may be called from a Micro Focus COBOL program using Mainframe Express (MFE) or Net Express. The following is an example of how a COBOL program (SLZ4TYPE.cbl) using a copy file (SLZSCAB1.cpy) would call the API for SIMOLYZE.
IDENTIFICATION DIVISION. PROGRAM-ID. SLZ4TYPE. *AUTHOR. SIMOTIME TECHNOLOGIES ***************************************************************** * Copyright (C) 1987-2023 SimoTime Technologies. * * * * All rights reserved. Unpublished, all rights reserved under * * copyright law and international treaty. Use of a copyright * * notice is precautionary only and does not imply publication * * or disclosure. * * * * Permission to use, copy, modify and distribute this software * * for any non-commercial purpose and without fee is hereby * * granted, provided the SimoTime copyright notice appear on all * * copies of the software. The SimoTime name or Logo may not be * * used in any advertising or publicity pertaining to the use * * of the software without the written permission of SimoTime * * Technologies. * * * * Permission to use, copy, modify and distribute this software * * for any commercial purpose requires a fee to be paid to * * SimoTime Technologies. Once the fee is received by SimoTime * * the latest version of the software will be delivered and a * * license will be granted for use within an enterprise, * * provided the SimoTime copyright notice appear on all copies * * of the software. The SimoTime name or Logo may not be used * * in any advertising or publicity pertaining to the use of the * * software without the written permission of SimoTime * * Technologies. * * * * SimoTime Technologies makes no warranty or representations * * about the suitability of the software for any purpose. It is * * provided "AS IS" without any expressed or implied warranty, * * including the implied warranties of merchantability, fitness * * for a particular purpose and non-infringement. SimoTime * * Technologies shall not be liable for any direct, indirect, * * special or consequential damages resulting from the loss of * * use, data or projects, whether in an action of contract or * * tort, arising out of or in connection with the use or * * performance of this software * * * * SimoTime Technologies * * 15 Carnoustie Drive * * Novato, CA 94949-5849 * * 415.883.6565 * * * * RESTRICTED RIGHTS LEGEND * * Use, duplication, or disclosure by the Government is subject * * to restrictions as set forth in subparagraph (c)(1)(ii) of * * the Rights in Technical Data and Computer Software clause at * * DFARS 52.227-7013 or subparagraphs (c)(1) and (2) of * * Commercial Computer Software - Restricted Rights at 48 * * CFR 52.227-19, as applicable. Contact SimoTime Technologies, * * 15 Carnoustie Drive, Novato, CA 94949-5849. * * * ***************************************************************** * This program is provided by SimoTime Technologies * * Our e-mail address is: helpdesk@simotime.com * * Also, visit our Web Site at http://www.simotime.com * * * ***************************************************************** * * SOURCE MODULE SLZ4TYPE.CBL * ***************************************************************** * * SLZ4TYPE - Call Source Code Analysis to do member typing. * * CALLING PROTOCOL * ---------------- * Use standard Micro Focus procedure to RUN or ANIMATE. * * DESCRIPTION * ----------- * This program will call the SLZSCA02 member to identify the * specified source member. * ***************************************************************** * * MAINTENANCE * ----------- * 1997/02/27 Simmons, Created program. * 1999/08/13 Simmons, Added SA-Return code checking. * 1999/08/13 Simmons, Updated Copyright and release information. * ***************************************************************** * ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. ***************************************************************** * Data-structure for Title and Copyright... * ------------------------------------------------------------ 01 SIM-TITLE. 05 T1 pic X(11) value '* SLZ4TYPE '. 05 T2 pic X(34) value 'Sample Program, Callable API '. 05 T3 pic X(10) value ' v23.01.01'. 05 T4 pic X(24) value ' http://www.simotime.com'. 01 SIM-COPYRIGHT. 05 C1 pic X(11) value '* SLZ4TYPE '. 05 C2 pic X(20) value 'Copyright 1987-2023 '. 05 C3 pic X(28) value ' SimoTime Technologies '. 05 C4 pic X(20) value ' All Rights Reserved'. ***************************************************************** COPY SLZSCAB1. ***************************************************************** PROCEDURE DIVISION. perform Z-POST-COPYRIGHT. move 8 to SA-RETURN move '1' to SA-REQUEST move 'SLZ4TYPE ' to SA-MEMBER move 'C:\SLZLIB01\SLZINPUT\OBFDATR1' to SA-FILE-NAME call 'SLZSCAC2' using SA-PASS-AREA perform DISPLAY-RESULTS display '* SLZ4TYPE, EOJ of SLZ4TYPE...' upon console. GOBACK. ***************************************************************** * The following routines are in alphabetic sequence... * ***************************************************************** DISPLAY-RESULTS. display ' Member Name: ' SA-MEMBER upon console display ' Language: ' SA-LANGUAGE upon console display ' Member Type: ' SA-TYPE upon console display ' Record Count: ' SA-RECORDS upon console display ' EXEC CICS: ' SA-EXEC-CICS upon console display ' EXEC SQL: ' SA-EXEC-CICS upon console if SA-RETURN not = 0 display ' Return Status:' SA-RETURN upon console end-if exit. ***************************************************************** * The following Z-Routines perform administrative tasks * * for this program. * ***************************************************************** ***************************************************************** Z-POST-COPYRIGHT. display SIM-TITLE upon console display SIM-COPYRIGHT upon console exit.
The copy file (SLZSCAB1.CPY) used in the preceding example contains the following statements.
***************************************************************** * SLZSCAB1 is a COBOL Copy File * * Data Structure or Pass Area used for calling SLZSCA02. * * Copyright (C) 1987-2019 SimoTime Technologies * * All Rights Reserved * ***************************************************************** * Provided by SimoTime Technologies * * Our e-mail address is: helpdesk@simotime.com * * Also, visit our Web Site at http://www.simotime.com * ***************************************************************** * 01 SA-PASS-AREA. 05 SA-REQUEST PIC X. 05 SA-RETURN PIC 9(9) COMP VALUE 0. 05 SA-MEMBER PIC X(16). 05 SA-FILE-NAME PIC X(256). 05 SA-LANGUAGE PIC X(8). 05 SA-TYPE PIC X(8). 05 SA-RECORDS PIC 9(8) VALUE 0. 05 SA-BLANK-LINES PIC 9(8) VALUE 0. 05 SA-COMMENTS PIC 9(8) VALUE 0. 05 SA-LINES-OF-CODE PIC 9(8) VALUE 0. 05 SA-EXEC-CICS PIC 9(5) VALUE 0. 05 SA-EXEC-SQL PIC 9(5) VALUE 0. 05 SA-EXEC-JCL PIC 9(5) VALUE 0. 05 SA-DEPENDENCY-CODE PIC 9(5) VALUE 0. 05 SA-DEPENDENCY-EXEC PIC 9(5) VALUE 0. 05 SA-EMBEDDED-DATA PIC 9(7) VALUE 0. 05 SA-ACCUMULATOR-01 PIC 9(7) VALUE 0. 05 SA-ACCUMULATOR-02 PIC 9(7) VALUE 0. 05 SA-ACCUMULATOR-03 PIC 9(7) VALUE 0. 05 SA-ACCUMULATOR-04 PIC 9(7) VALUE 0. 05 SA-ACCUMULATOR-05 PIC 9(7) VALUE 0. 05 SA-ACCUMULATOR-06 PIC 9(7) VALUE 0. 05 SA-ACCUMULATOR-07 PIC 9(7) VALUE 0. 05 SA-ACCUMULATOR-08 PIC 9(7) VALUE 0. 05 SA-APMASTER-HOSTNAME PIC X(256). * *** SLZSCAB1 - End-of-Copy File - - - - - - - - - - - SLZSCAB1 * ***************************************************************** *
The source code for the preceding example is included with SIMOLYZE. The following shows the processing logic for the callable on demand member typing function.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview Flowchart for the Callable API for SIMOLYZE |
Note: The SLZCONFG file is required. The analysis programs use the name SLZCONFG without a file extension. To use a file with a different name an environment variable must be used or a file error message (0035) will occur with the return code set to 12. The following set statement would map the SLZCONFG file to a MYFILE.CFG.
set SLZCONFG=MYFILE.CFG
SIMOLYZE incorporates a concept known as "Judgmental Programming" or "Fuzzy Logic". In other words, SIMOLYZE makes a best effort to determine the source member language and type. For example, a member that contains syntax for the COBOL language may be a COBOL program or a COBOL copy file (i.e. member type).
If SIMOLYZE cannot determine a member type it will categorize the member as unknown. SIMOLYZE provides a very high level of accuracy when analyzing the following source members and with little or no changes to the configuration file parameters a 100% accuracy can be obtained.
| ||||||||||||||
Source Member Types Identified by SIMOLYZE |
The following sections will describe the capabilities and limitations in more detail.
SIMOLYZE provides support for scanning and identifying source member content as being the 370 Assembler language. Once the language is determined the member is then typed as a program, a copy file or a macro file. The un-typed member (a filename without extension) is copied to a predefined directory with the extension MLC for programs, CPY for copy files and MAC for macro files. In a few cases where unique macro files are heavily used it may be necessary to pre-identify these macro files in the configuration file to obtain the desired results.
SIMOLYZE provides support for scanning and identifying source member content as being the COBOL language. Once the language is determined the member is then typed as a program or a copy file. The un-typed member (a filename without extension) is copied to a predefined directory with the extension CBL for programs and CPY for copy files. In a few cases where unique copy files are heavily used it may be necessary to pre-identify these copy files in the configuration file to obtain the desired results.
SIMOLYZE provides support for scanning and identifying source member content as being the JCL language. Once the language is determined the member is then typed as a mainframe job, a procedure file or an include file. The un-typed member (a filename without extension) is copied to a predefined directory with the extension JCL for jobs, PRC for procedure files and INC for include files. The default parameters in the configuration file usually provide the desired results without modifications.
SIMOLYZE provides support for scanning and identifying source members as being 370 Assembler language and BMS (Basic Mapping Support for CICS) source member types. The un-typed member (a filename without extension) is copied to a predefined directory with the extension BMS. The default parameters in the configuration file usually provide the desired results without modifications.
SIMOLYZE provides support for scanning and identifying source members as being 370 Assembler language and MFS (Message Format Services for IMS) source member types. The un-typed member (a filename without extension) is copied to a predefined directory with the extension MFS. The default parameters in the configuration file usually provide the desired results without modifications.
SIMOLYZE provides support for scanning and identifying source members as being 370 Assembler language and MFS (Message Format Services for IMS)(a filename without extension) is copied to a predefined directory with the extension MFS. The default parameters in the configuration file usually provide the desired results without modifications.
SIMOLYZE provides support for scanning and identifying source members as being 370 Assembler language and PSB (Program Specification Block for IMS) source member types. The un-typed member (a filename without extension) is copied to a predefined directory with the extension PSB. The default parameters in the configuration file usually provide the desired results without modifications.
SIMOLYZE provides support for scanning and identifying source members as being Easytrieve Programs or Macro Files. The un-typed members (a filename without an extension) are copied to a predefined directory. After the analysis the Easytrieve Members are copied to a predefined directory with the extensions EZP or EZM. The default parameters in the configuration file will not enable this capability. This capability is provided as a Controlled Release Option.
This section describes additional items that need to be considered and/or anticipated.
WIP
The technique of placing JCL at the beginning and ending of a source member is a technique sometimes used by mainframe programmers. This is not a wide spread technique especially when a source code management system is used. This technique can cause additional problems when downloaded to a Windows System since the technique for compiling a program on a Windows System is different than the mainframe.
The situation exists for duplicate names if members are downloaded from more than one Partitioned Data Set (PDS). For example, the filename.BMS and the generated filename.CPY need to be kept separate. Another situation where duplicate names may occur is if the JCL has the same name as the program name. These members would be in separate PDS's on the mainframe and would need to be kept in separate directories on the Windows System.
The configuration file is used to set parameters that determine the way functions are performed when running SIMOLYZE.
The following statements will be used by the SLZMON01 monitoring program. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the SLZCPY01 copy program. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the SLZIMP01 import program. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the SLZSYS01 program which performs the system function which actually reads the configuration file. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the APHTMLC1 program which performs the HTML function. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the APLCSVC1 program which performs the CSV File function. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the APLISTC1 program which performs the Listing function. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the SLZMSG01 program which is called by other programs to display and/or log a message. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the SLZQRY01 program which performs the QUERY function. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the SLZSCA01, 02 and 03 programs which do the Source Code Analysis. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following statements will be used by the SLZUPD01 program which is perform which performs the mainline functions. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The Source Code Repository (APMASTB1.cpy) file contains information about the source members. For each member there is a record in APMASTER.
***************************************************************** * APMASTB1 is a COBOL Copy File * * Copy File for SIMOLYZE Application Properties Repository * * This is a VSAM Keyed Sequence Data Structure (KSDS) * * or a Micro Focus Keyed-Index File. * * Copyright (C) 1987-2023 SimoTime Technologies * * All Rights Reserved * ***************************************************************** * Provided by SimoTime Technologies * * Our e-mail address is: helpdesk@simotime.com * * Also, visit our Web Site at http://www.simotime.com * ***************************************************************** * 01 APMASTER-RECORD. 05 APMASTER-KEY. 10 APMASTER-KEY-16 PIC X(16). 10 APMASTER-RECORD-ID PIC 9(2). 05 APMASTER-DATA. 10 APMASTER-RECORD-STATUS PIC X. 10 APMASTER-LAST-ACTIVITY-DATE PIC X(8). 10 APMASTER-LAST-ACTIVITY-TIME PIC X(8). 10 APMASTER-MEMBER-DATE PIC X(8). 10 APMASTER-MEMBER-TIME PIC X(8). 10 APMASTER-LANGUAGE PIC X(8). 10 APMASTER-LANGUAGE-USER PIC X(8). 10 APMASTER-LANGUAGE-MFA PIC X(8). 10 APMASTER-TYPE PIC X(8). 10 APMASTER-TYPE-USER PIC X(8). 10 APMASTER-TYPE-MFA PIC X(8). 10 APMASTER-CICS PIC X. 10 APMASTER-CICS-USER PIC X. 10 APMASTER-CICS-MFA PIC X. 10 APMASTER-SQL PIC X. 10 APMASTER-SQL-USER PIC X. 10 APMASTER-SQL-MFA PIC X. 10 APMASTER-FLAGS. 15 APMASTER-FLAG-01 PIC X. 15 APMASTER-FLAG-02 PIC X. 15 APMASTER-FLAG-03 PIC X. 15 APMASTER-FLAG-04 PIC X. 15 APMASTER-FLAG-05 PIC X. 15 APMASTER-FLAG-06 PIC X. 15 APMASTER-FLAG-07 PIC X. 15 APMASTER-FLAG-08 PIC X. 10 APMASTER-FLAGS-USER. 15 APMASTER-FLAG-U1 PIC X. 15 APMASTER-FLAG-U2 PIC X. 15 APMASTER-FLAG-U3 PIC X. 15 APMASTER-FLAG-U4 PIC X. 15 APMASTER-FLAG-U5 PIC X. 15 APMASTER-FLAG-U6 PIC X. 15 APMASTER-FLAG-U7 PIC X. 15 APMASTER-FLAG-U8 PIC X. 10 APMASTER-RECORDS PIC 9(8). 10 APMASTER-BLANK-LINES PIC 9(8). 10 APMASTER-COMMENTS PIC 9(8). 10 APMASTER-LINES-OF-CODE PIC 9(8). 10 APMASTER-LA-DATE PIC X(8). 10 APMASTER-LA-TIME PIC X(8). 10 APMASTER-LA-TOKEN PIC 9(3). 10 APMASTER-DEPENDENCY-CODE PIC 9(5). 10 APMASTER-DEPENDENCY-EXEC PIC 9(5). 10 APMASTER-FILLER-00 PIC X(090). 10 APMASTER-MVS-MEMBER-NAME PIC X(016). 10 APMASTER-PCNAME PIC X(256). 10 APMASTER-MAKEACTION PIC X(224). 10 APMASTER-HOSTNAME PIC X(256). * *** APMASTB1 - End-of-Copy File - - - - - - - - - - - APMASTB1 * ***************************************************************** *
The following link provides additional information about the record structure.
Explore additional information about the record structure for the Application Repository (APMASTER.DAT).
A subset of moving, migrating and managing the application assets (i.e. source code and program control specification) is the data file management involved when moving, sharing and possibly converting and comparing data files. The data file management is beyond the scope of this document.
For information about data file management in a diverse or mixed systems environment refer to the Series of White Papers for non-relational data files.
This section is always a Work-in-Progress effort.
| ||||||||
Questions and Answers for SIMOLYZE |
The purpose of SIMOLYZE is to do member typing and provide an overview of the number of members by member type. It is not intended to do application analysis or modification. Both Mainframe Express and Revolve (from Micro Focus) deliver a tremendous amount of analytical and programming power for the analysis, development, maintenance and deployment of business applications.
This document may be used to assist as a tutorial for new programmers or as a quick reference for experienced programmers.
In the world of programming there are many ways to solve a problem. This documentation and software were developed and tested on systems that are configured for a SIMOTIME environment based on the hardware, operating systems, user requirements and security requirements. Therefore, adjustments may be needed to execute the jobs and programs when transferred to a system of a different architecture or configuration.
SIMOTIME Services has experience in moving or sharing data or application processing across a variety of systems. For additional information about SIMOTIME Services or Technologies please contact us using the information in the Contact, Comment or Feedback section of this document.
Software Agreement and Disclaimer
Permission to use, copy, modify and distribute this software, documentation or training material for any purpose requires a fee to be paid to SimoTime Technologies. Once the fee is received by SimoTime the latest version of the software, documentation or training material will be delivered and a license will be granted for use within an enterprise, provided the SimoTime copyright notice appear on all copies of the software. The SimoTime name or Logo may not be used in any advertising or publicity pertaining to the use of the software without the written permission of SimoTime Technologies.
SimoTime Technologies makes no warranty or representations about the suitability of the software, documentation or learning material for any purpose. It is provided "AS IS" without any expressed or implied warranty, including the implied warranties of merchantability, fitness for a particular purpose and non-infringement. SimoTime Technologies shall not be liable for any direct, indirect, special or consequential damages resulting from the loss of use, data or projects, whether in an action of contract or tort, arising out of or in connection with the use or performance of this software, documentation or training material.
This section includes links to documents with additional information that are beyond the scope and purpose of this document. The first group of documents may be available from a local system or via an internet connection, the second group of documents will require an internet connection.
Note: A SimoTime License is required for the items to be made available on a local system or server.
The following links may be to the current server or to the Internet.
Note: The latest versions of the SimoTime Documents and Program Suites are available on the Internet and may be accessed using the icon. If a user has a SimoTime Enterprise License the Documents and Program Suites may be available on a local server and accessed using the icon.
Explore An Enterprise System Model that describes and demonstrates how Applications that were running on a Mainframe System and non-relational data that was located on the Mainframe System were copied and deployed in a Microsoft Windows environment with Micro Focus Enterprise Server.
Explore The ASCII and EBCDIC Translation Tables. These tables are provided for individuals that need to better understand the bit structures and differences of the encoding formats.
Explore The File Status Return Codes that are used to interpret the results of accessing VSAM data sets and/or QSAM files.
The following links will require an internet connection.
A good place to start is The SimoTime Home Page for access to white papers, program examples and product information. This link requires an Internet Connection
Additional information about acquiring this softare may be obtained from the Product Availability and Pricing document.
Explore The Micro Focus Web Site for more information about products (including Micro Focus COBOL) and services available from Micro Focus. This link requires an Internet Connection.
Explore the GnuCOBOL Technologies available from SourceForge. SourceForge is an Open Source community resource dedicated to helping open source projects be as successful as possible. GnuCOBOL (formerly OpenCOBOL) is a COBOL compiler with run time support. The compiler (cobc) translates COBOL source to executable using intermediate C, designated C compiler and linker. This link will require an Internet Connection.
Note: You must be attached to the Internet to download a Z-Pack or view the list.
Explore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers.
This document was created and is maintained by SimoTime Technologies. If you have any questions, suggestions, comments or feedback please use the following contact information.
1. | Send an e-mail to our helpdesk. |
1.1. | helpdesk@simotime.com. |
2. | Our telephone numbers are as follows. |
2.1. | 1 415 763-9430 office-helpdesk |
2.2. | 1 415 827-7045 mobile |
We appreciate hearing from you.
SimoTime Technologies was founded in 1987 and is a privately owned company. We specialize in the creation and deployment of business applications using new or existing technologies and services. We have a team of individuals that understand the broad range of technologies being used in today's environments. Our customers include small businesses using Internet technologies to corporations using very large mainframe systems.
Quite often, to reach larger markets or provide a higher level of service to existing customers it requires the newer Internet technologies to work in a complementary manner with existing corporate mainframe systems. We specialize in preparing applications and the associated data that are currently residing on a single platform to be distributed across a variety of platforms.
Preparing the application programs will require the transfer of source members that will be compiled and deployed on the target platform. The data will need to be transferred between the systems and may need to be converted and validated at various stages within the process. SimoTime has the technology, services and experience to assist in the application and data management tasks involved with doing business in a multi-system environment.
Whether you want to use the Internet to expand into new market segments or as a delivery vehicle for existing business functions simply give us a call or check the web site at http://www.simotime.com
Return-to-Top |
Scan Source Code, Member Analysis and Categorization |
Copyright © 1987-2024 SimoTime Technologies and Services All Rights Reserved |
When technology complements business |
http://www.simotime.com |