Custom

28
Demo User Guide YEAR2000.EXE Version 2.51 Copyright 1997, 1998 by 21st Century COBOL Conversions, Inc.

description

Custom

Transcript of Custom

  • Demo User Guide

    YEAR2000.EXEVersion 2.51

    Copyright 1997, 1998 by 21st Century COBOL Conversions, Inc.

  • Legal Notices

    PROPRIETARY RIGHTS NOTICE: All rights reserved. No part of this material may be reproduced ortransmitted in any form or by any means, electronic, mechanical or otherwise, including photocopying andrecording or in connection with any information storage or retrieval system, for commercial purposes withoutthe permission in writing from 21st Century COBOL Conversions, Inc.

    Regarding this documentation, 21st Century COBOL Conversions, Inc. has taken reasonable preventive mea-sures to ensure the accuracy of the information contained in this manual. However, 21st Century COBOLConversions, Inc. makes no warranties or representations with respect to the information contained herein; and21st Century COBOL Conversions, Inc. shall not be liable for damages resulting from any errors or omissionsherein or from the use of the information contained in this manual.

    DISCLAIMER: 21st Century COBOL Conversions, Inc. HEREBY DISCLAIMS AND EXCLUDES ALLWARRANTIES CONCERNING THE SOFTWARE, EXPRESS, IMPLIED OR STATUTORY, INCLUDING,WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, IMPLIED WARRANTY OFNON-INFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, OR INCREASED EFFICIENCY OFUSE, OF HARDWARE OR SOFTWARE COMPUTER SYSTEMS, DATA OR PROGRAMS. WHETHER ORNOT ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, 21st Century COBOL Conversions, Inc.SHALL NOT UNDER ANY CIRCUMSTANCE BE LIABLE TO YOU OR ANY OTHER PARTY FOR ANYDIRECT, SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING, WITH-OUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOST PROFITS, LOSTDATA OR COMPUTER HARDWARE OR SOFTWARE DAMAGE, FAILURE OR MALFUNCTION.

  • Table of Contents

    1. Introduction Installing the downloaded demo 5 Setting up to run your own program 6 Running the YEAR2000.EXE demo 6 Seven steps to Remediation 7

    2. YEAR2000.EXE The main menu Maintain Configuration 8

    Repository Builder 8 Verifying the Copy file Inventory 8

    Copyfile Validator 8Copyfile Generator 8

    Program Status 8Program Loader 9Program Examiner 9Program Generator 9Converting All Programs 9

    3. Maintain ConfigurationLOG-FILENAME 10REPOSITORY-PATH 10PAUSE-ON-ERRORS 10PROGRAM-LIST-FILE 10DIR-STYLE-PROGRAM-LIST 10WORD/BYTE-STORAGE 10SEPARATE-SIGNS 11

    MULTIPLE-VERBS 11SKIP-FIELD-LITERALS 11IGNORE 11

    WINDOWING-LITERAL 11WINDOWING-WORD 12WINDOWING-TAG 12

    CURRENT-DATE-TESTING 12EXPAND-LITERAL 12EXPAND-WORD 12DATE-FORMATTING-CHAR 12COPY-PATH 13COPY-EXT 13REPORT 13REPORT-PATH 13REPORT-EXT 13COPYFILE-WORKSHEET-FILE 13PROGRAM-WORKSHEET-EXT 14FULL-LISTING 14FULL-LISTING-PATH 14FULL-LISTING-EXT 14NEW-SOURCE 14NEW-SOURCE-PATH 14

    NEW-SOURCE-COPY-PATH 14NEW-SOURCE-EXT 14COMMENT-OLD-SOURCE 15COMMENTED-SOURCE-TAG 15LINE-TAG-LITERAL 15BANNER 15BANNER-PLACEMENT 15BANNER-PLACEMENT-LIT 16RENUM 16

  • 4. The Repository BuilderRepository Builder Passes 17

    5. The Copyfile ValidatorUser Options 18Field Values 18

    6. The Copyfile Reporter 197. The Copyfile Generator

    NEW-SOURCE Option 20FULL-LISTING Option 20

    8. Worksheets 21

    9. The Program Loader 2210. The Program Examiner 2311. The Program Validator

    User Options 24Field Values 24

    12. The Program Reporter and Impact Analysis:Impact Analysis and Change reports 25

    13. The Program GeneratorNEW-SOURCE Option 26FULL-LISTING Option 26

    14. Convert All programs: 27

    15. Hardware and Software requirements 28

    Appendix A: Setting up a typical conversion project 29

  • Chapter 1

    Introduction:

    Thank you for your interest in YEAR2000.EXE. We hope that the provided demo will help you establish whetherour tool can assist you in your conversion process. Selected chapters of our documentation are hereby included tohelp you explore the functionality offered with YEAR2000.EXE Your questions or comments are welcomed. Pleasecall our pre-sales department at (813)781-0035 or email us at [email protected].

    YEAR2000.EXE version 2.0 is a configurable toolset which automates a major part of the migration of COBOLlegacy systems from obsolescence to Y2k compliance.

    - Fully menu driven, makes for logical and efficient navigation throughout.- Accepts an unlimited number of date identifying literals (such as DAT, DT, YY, etc...) to convert or to ignore.- Creates an indexed repository of all copyfiles used system-wide.- When reviewing/editing the data repository, if unsure about a data name, one key stroke gives immediate access to the exact locations in the source code where any field is defined and used.- Applies user-defined expansion rules to all dates (Gregorian and Julian).- Determines direct/indirect references to ensure system-wide storage uniformity.- Includes various reports and worksheets to evaluate the project scope of suggested source code modifications.- Exports of all repository data into ASCII flat files for use with your own report writer.

    Installing and Running the YEAR2000.EXE Demo:

    Thank you for your interest in YEAR2000.EXE, the automated Date Expansion and Windowing tool for COBOL code. Thisdemonstration version contains as much functionality as possible to allow you to evaluate our product and make an informeddecision about its workability.

    You can review the various functions by using the COBOL program provided YEAR2000.CBL, or you can select to convertyour own program by following the setup instructions below under Setting up to run your own program with this demo.

    Installing a downloaded demo:

    Demos downloaded from our site are self extracting and must be extracted prior to running the installation steps below.1. Create a directory where you wish to install your demo (ie: Y2KDEMO).2. Copy the downloaded file (WIN31DEM.EXE or WINNTDEM.EXE) into your demo directory.3. From the Y2KDEMO directory, click on WIN31DEM.EXE or WINNTDEM.EXE. This will extract the files needed to install your demo version.4. Locate and click on SETUP.EXE to begin installation. You will have an option to select the Directory and Group name where your demo will reside.5. Once installed, click on the Year2000 icon to start the program. If no Icon was created, locate the YEAR2000.EXE file in the install directory and create a short cut for your demo.

    Setting up to run your own program with this demo:

    1. Select a COBOL program of 2000 lines or less (including copy files).2. Copy your selected program into the OLDSRC directory as YEAR2000.CBL. Only this file name will be processed by thedownloaded demo version.

  • 3. Copy all applicable copy files in the OLDCPY directory. Missing copy files will be listed in the YEAR2000.LOG file oncethe Repository Builder has been run.

    Running the YEAR2000.EXE demo:

    Please follow the brief tutorial sequence below for best results. Should you experience any error, please refer to the trouble-shooting section at the end of this document.

    1. From the main menu, start with Maintain Configuration to get acquainted with the various user defined options. NOTE:the configuration file provided is tailored to operate with the sample program YEAR2000.CBL which is included with thisdemo To adapt the Configuration file to your sample program, review each field separately, assigning values as appropriate toyour case. A brief explanation of the various fields is provided on line 23. Simply highlight any field to display help textabout that field. More detailed definitions of each configuration fields is available in Chapter 1 below.

    2. Run the automated Repository Builder to create a pool of copyfile fields with expanded date fields and WindowedProcedure. This automated process will also inform you of setup problems such as missing copy files. The missing copy filenames are listed into the YEAR2000.LOG file in your demo top directory. Please ensure that all copy files are present tomaximize the accuracy of your repository. Once the Repository is built, Impact Analysis and Statistics reports can be printedfrom the Program reports button. Once selected, reports are stored in the RPTS directory.

    3. The next process is the Copyfile Validator. This powerful tool allows you to review and edit the Data Repositoryinformation. Among its many features: - The Show Source option will display the source code containing the highlighted field. - Select to display all fields or only changed fields whether expanded or tagged for windowing. - Double click on any field or use the Update button to alter field sizes or tag for windowing. - You can also tag a field to be ignored with the Dont modify option. - In the Validator, when your decide to change a field size, Window a field or tag it as Dont modify, you can save that action. This allows you to retain these Repository tags in case you need to rebuild the repository from scratch.

    4. Use the Copyfile Worksheet and Copy file Reporter functions to print copy files Expansion reports to disk into theRPTS directory. These reports can be printed or viewed using Notepad.

    5. Click on the Copyfile Generator button to create the converted copy files in the NEWCPY directory. Use Notepad toview the converted copy files.

    6. Run the automated Program Loader to load all program components. This function creates acomplete program work file by loading all copy files into the program for a complete listing to bethen analyzed by the Program Examiner.

    7. Run the Program Examiner to establish and expand direct and indirect references. All programconversion functions occur during this step.

    8. Select the Program Validator. As with the Copyfile Validator, this step allows PIC clause editing, date field tagging,source code review. IMPORTANT NOTE: The Program Examiner MUST be run each time field size changes are madethrough the Validator. This ensures that all date relationships remain consistent.The following two steps show the results of the conversion process in reports as well as source code. Reports once run can beseen in the RPTS and LSTS directories. New converted source code resides in the NEWSRC directory.

    9. The Program Reports function prints Impact Analysis reports in the RPTS directory. These are available to print or viewwith Windows NotePad.

    10. Use the Program Generator to generate converted source code in the NEWSRC directory and full listings in the LSTSdirectory.

    11. In this demo version, the option to Convert All programs is limited to the program named YEAR2000.CBL. In our live

  • product, it is used to process your entire library of programs in one step. This function automatically runs the ProgramLoader, Examiner, Reporter and Generator in steps 6, 7, 9 and 10 above in batch mode.

    Seven steps to Remediation:

    The functionality of YEAR2000.EXE can be summarized as follows:1. Establish a basic configuration for your conversion (literals, sizes, expansion or windowing).2. Build your Copy file Repository. The configuration parameters will be applied to the copy files.3. Validate your Repository to refine the conversion with added parameters as needed.4. Using the program side of the menu, Load Examine and Generate your first program.6. Review your new source program and use the Program Validator to refine your program parameters, repeating step 4 toreview results.7. Once you are confident that the parameters apply well to your code, run Convert All Programs.

  • Chapter 2

    YEAR2000.EXE - The main menu:

    1. Maintain Configuration:Maintain Configuration is used to enter the parameters that will tailor YEAR2000 to run to your specifications. You can selectthe rules that apply to your code as well as a variety of options to customize the conversion process.

    2. The Repository BuilderThe Repository Builder creates the Repository Database using the following steps:a. Assembles a complete source file by merging the copybooks referenced within the program. (Year2000 will handle up tofive levels of nested copybooks.)b. All fields identified as date fields according to the rules of the configuration file, are flagged in the Repository Database.c. The assembled source is inspected to identify and expand date fields and identify any group fields containing date fieldswhose expansion will enlarge the groups storage requirements. Edited date fields are tagged as date fields but are not ex-panded so they will continue to print as 6 characters.d. The procedure division is scanned and references are identified by compiling a list of fields that are moved to what otherfields. Direct references to date fields or enlarged group fields are identified. If a date field (or enlarged group field) is beingmoved to a field which is now too small to contain it, the destination field is also expanded. The destination field (mentionedabove) is now identified as a date field (although it may not be named as such).

    At this point YEAR2000 has identified and expanded all of the date fields and all of the fields that these date fields are movedto directly, but there may still be fields which need expansion as well.

    YEAR2000 next scans the identified references to date fields (including the newly expanded destination fields) and looks forstatements where these fields are moved to fields that have not yet been identified as date fields.

    When these fields and references are found, YEAR2000 stores the field name, expands the field, then looks for references tothe new field that might require expansion. If one is found, it stores the field name expands the field and continues searching.YEAR2000 continues this expansion process until no more fields can be expanded.When YEAR2000 finds no further direct or indirect references to a field, it proceeds to the next field name to be checked andcontinues the process.

    3. Verifying the Copy file Inventory:Once the Repository is complete, review the LOG FILE to verify that no Copy file has been found missing. If some copyfiles are missing, please include the PATH them into the COPY-PATH or add the missing copy files into the specified Copyfile directory.

    4. The Copyfile Validator:The Copyfile Validator is available to scan through all fields, modified or not, to verify fields flagged for expansion arecorrect. This step allows users to further refine the conversion parameters.

    5. The Copyfile Generator:Based on the new field definitions in the Repository Database the Copyfile Generator creates the new copyfiles with theexpanded fields.

    6. The Program status:This screen lists the status of all programs in the programs list. The list can be sorted by the various columns at the top of thescreen. Additionally, when you wish to process a particular program, highlight it in the program status list and it becomes thenext one to Load, Examine etc...

    7. The Program Loader:

  • The Program Loader creates the program work files using the original source and copyfiles pulled in from the copyfilerepository (already date expanded via the Repository Builder).

    8. The Program Examiner:The Program Examiner converts the date fields of the program work files, after being loaded from the Program Loader or afterbeing modified during the Program Validator.

    The ACCEPT statements available in current COBOL compilers and runtimes only move 6 digits for Gregorian dates, or 5digits for Julian dates. Special calls are being made to two sub-routines, SYSDATE1.CBL and SYSDAY1.CBL which Win-dows the current date into an eight digit date. These sub-routines are included in the inventory of files provided with thisdemo and reside in top directory.

    9. The Program Generator:The new, converted source code is generated using the contents of the copyfile and program repositories. Depending on theoptions specified in Maintain Configuration, the Program Generator can comment the original source code line (with a userdefined tag), place a user-defined tag next to modified lines, renumber the source code (if line numbering is used), and place auser defined banner in the file.

    10. Converting All Programs:Once the Repository has been built and validated, this selection will automatically process all the programs listed in theprograms list. These programs will be loaded, dates will be expanded, new source will be generated and full listings createdin this single step. When invoking this batch process, please ensure that your repository is adequate and validated.

  • Chapter 3

    Maintain Configuration

    Maintain Configuration is used to update and customize the Configuration File, which contains the information specifyinghow Year2000 is to perform.

    When you select Maintain Configuration, the following conversion parameters are presented:

    LOG-FILENAME: This is the name of the file that Year2000 uses to record status information as it runs.

    Options: Any valid DOS filename up to 50 charactersDefault: LOG-FILENAME=YEAR2000.LOG

    REPOSITORY-PATH: Enter the path where you wish your repository to be placed. In case of a Network installation, you maywant your data repository to reside where all users can access it.

    PAUSE-ON-ERRORS: This determines if YEAR2000 should pause processing when an error is encountered. This gives theoperator an opportunity to decide if processing should be halted or continued.

    Options: (Y)es or (N)oDefault: PAUSE-ON-ERRORS=NO

    PROGRAM-LIST-FILE: This specifies the name of the file containing the names of the source files to be processed. If thisfield is left blank and a source file was not specified on the command line, YEAR2000 assumes the program-list-file is namedYEAR2000.LST and resides in the current directory.

    Options: Any valid DOS filename up to 50 charactersDefault: PROGRAM-LIST-FILE=YEAR2000.LST

    DIR-STYLE-PROGRAM-LIST: The program list file (above) can be in one of two formats.

    The first format is in a text file that lists each filename, one per line, including a drive and pathname (as required), with eachfilename starting in column one. Filenames not beginning in column one are ignored.

    The second format is the result of performing a directory listing and redirecting the results into a file. In this formatYEAR2000 uses the drive and directory name found in the directorys header information to locate the specified files.If you answer NO to this option, you need to create the program-list file manually. This parameter should always be set toNO for non-DOS operating systems.

    Options: (Y)es or (N)oDefault: DIR-STYLE-PROGRAM-LIST=NO

    WORD/BYTE-STORAGE: The type of computer the source is being compiled on can have an effect on the storage require-ments of certain numeric fields - mainly computational fields. Computers have natural boundaries in how they access theirinternal memory and it is much more efficient for a computer to perform arithmetic on a number when it lays on such aboundary. PC based computers have no natural boundary and so are called byte-storage machines. But larger computers suchas minis and mainframes usually have a boundaries based on 2, 4 or 8 byte words. So these machines are considered word-storage machines. Depending on the machine and the compiler used, computational type numeric fields may require morestorage from one platform to the next - even with the same source code.

    YEAR2000 supports both storage methods. These methods are WORD and BYTE storage modes. The configuration fileships with this parameters set to BYTE since that is usually the case.

  • Options: (B)yte or (W)ordDefault: WORD/BYTE-STORAGE=BYTE

    SEPARATE-SIGNS: Some compilers and/or computer environments default signed numeric fields of usage DISPLAY tocontain the sign in a separate byte when the field is stored. Some versions of COBOL do not default to this behavior butprovide compiler options for it.

    If all signed numeric fields have a separate sign when the program is compiled set this parameter to YES to forceYEAR2000 to allocate the extra byte. Otherwise the sign byte will not be allocated unless the field is declared as SIGN [IS]LEADING/TRAILING SEPARATE.

    Options: (Y)es or (N)oDefault: SEPARATE-SIGNS=NO

    MULTIPLE-VERBS: This flag indicates that multiple verbs are frequently found on one line i.e.: MOVE A TO B READREC-1 INTO REC-2.This indicates that YEAR2000.EXE must parse through the entire line. If your code contains standardly one verb per line, setthis field to N. A slight increase in performance can be seen with this flag set to NO.

    Options: (Y)es or (N)o Default: MULTIPLE-VERBS=NO

    SKIP-FIELD-LITERALS: There are certain types of fields that should not be expanded, such as print fields. This parameterallows you to enter part of a field name. All field names containing the partial name you enter will not be expanded. Thisfunction can be used to exclude Printed date fields for being expanded.

    Options: Up to 10 characters.DEFAULT: SKIP-FIELD-LITERALS=-MON SKIP-FIELD-LITERALS=-DAY

    IGNORE: This function allows you to enter an entire field name that shouldnot be expanded

    Options: Up to 30 characters.Default: IGNORE=(Blank)

    In the example above, the field may satisfy the expansion rules yet not be appropriate. The IGNORE function will exclude itfrom consideration.

    WINDOWING-LITERAL: This field contains partial field names to consider for windowing. By specifying a literal, youdictate all fields which contain that literal to be tagged for windowing. This means that procedural references will be high-lighted by your user defined tag throughout the procedure divisions.

    WINDOWING-WORD: Specify complete field names to consider for Windowing. Any field name matching aWINDOWING-WORD value gets tagged with the WINDOWING-TAG literal in columns 1-6.

    WINDOWING-TAG: Specify any string of up to 6 characters which YEAR2000.EXE will use to tag all lines of code whereWindowing is applicable.

    CURRENT-DATE-TESTING:: Answer (Y)es or (N)o. Allows you to generate testing code which calls a sub-routine contain-ing its own user defined date. For example, instead of using the system date, the sub-routine will generate a year 2000 date tobe used by your converted program for testing.

    Options: .Answer (Y)es or (N)o.Default: CURRENT-DATE-TESTING=YES

    EXPAND-LITERAL: This parameter allows the user to specify literals to look for within a fields name to identify date fieldswithin the source code. If any part of the fields name matches any one of these literals, the field is tagged as a date field. The

  • number following the literal specify the from and to sizes.

    Options: Up to 10 characters.Default: EXPAND-LITERAL=DAT 6-8, 5-7, 3X4

    EXPAND-LITERAL=YEAR 2-4, 1X2 EXPAND-LITERAL=YY 2-4, 1X2 EXPAND-LITERAL=YR 2-4, 1X2

    Click on the EXPAND-LITERAL line to access the size specification screen. For each literal selected (DAT, DT, YY, YEARetc...) you have up to eight size changes to specify. For example when found and applicable, the literal DAT is can be ex-panded from 6 to 8, from 5 to 7, from 4 to 7. This means that when a valid field containing DAT is found, with a size of 6digits it will be candidate for expansion to 8 digits, providing that it is not excluded by any other criteria such as an IGNORE.

    The comp-x specification applies to certain COBOLs where PIC X, COMP-X or binary fields are found. Please note that thisflag should only be set if your code contains picture clauses type PIC X.For DOS users, highlight the EXPAND-LITERAL line and add the literal followed by up to 8 combinations of sizes sepa-rated by a comma. For example, DAT ,6-8, 5-7 signifies that all fields containing the literal DAT will be considered forexpansion. Six digits fields will be expanded to 8 and 5 digit fields will be expanded to 7. A size adjustment listed as 4X5means that binary PIC X fields of 4 digits will be expanded to 5.

    Below is an image of the size selection screen for a given literal. An unlimited number of literals are allowed. Each contain-ing up to 8 size-change parameters (FROM and TO).Enter a LITERAL such as DAT. In the FROM field, enter the existing size (eg:6).In the TO field, enter the expanded size you desire (eg:8).

    EXPAND-WORD: The parameter allows the user to specify entire words that are used to identify date fields or any other fieldto expand.

    Options: Up to 30 charactersExample: EXPAND-WORD=JANUARY-1ST (default is blank).

    A size selection screen with From and To sizes, also regulates the expansion process of these data names specified asEXPAND-WORDS.

    DATE-FORMATTING-CHARACTER: This parameter tells YEAR2000 which character to look for within a PIC clause toidentify a field as a formatted date field. Unless you are processing source code from other countries, this parameter willprobably be set to /.

    Options: Any non-blank character except !Default: DATE-FORMATTING-CHARACTER=/

    COPY-PATH: This parameter allows you to specify the directories where thecopyfiles are located, when the COPY statement does not indicate the drive/path. Up to copy file 15 paths can be selected -one per line.

    If the source code is written so that a particular drive and/or directory for a copyfile is specified, YEAR2000 will only look forthe copyfile in that location. Otherwise YEAR2000 will check the paths as listed on the COPY-PATH parameters.NOTE: If the copyfiles are not found, an error condition arises and processing will stop, unless the PAUSE-ON-ERROR flagis set to NO. In either case, missing copy files are listed in the LOG file specified at the top of the configuration.

    Options: Up to 30 characters including the drive designation.Default: COPY-PATH=OLDCPY

    COPY-EXT: This parameter allows the user to specify the extension used forcopyfiles, when not coded in the program source file.

    Options: Up to three characters.Default: COPY-EXT=CPY

  • REPORT: This parameter tells YEAR2000 whether or not to create areport during the batch process of Convert All Programs.

    Options: (Y)es or (N)oDefault: REPORT=YES

    REPORT-PATH: This option specifies the path and directory where reportsgenerated by YEAR2000 will be placed.

    If this parameter is left blank, the report (if requested) will be created in the same directory as the source code file. To placethe report in a different directory, enter the name of thedrive/directory. Do not end the directory name with a trailing \. The REPORT-PATH parameter is ignored if a report is notbeing created.

    Options: Up to 50 characters.Default: REPORT-PATH=RPTS

    REPORT-EXT: If a report is being created in the same directory as the originalsource file, you must use a different extension for the report file to differentiate it from the original source code file. Thisparameter provides the report files extended name. This parameter is ignored if a report is not being created.

    Options: Any string up to 3 characters in lengthDefault: REPORT-EXT=RPT

    COPYFILE-WORKSHEET-FILE: This option is used to specify the directory and file name to use for copyfile worksheetswhen they are printed.

    Options: Up to 50 characters.Example:COPYFILE-WORKSHEET-FILE=RPTS\COPYFILE.WST

    PROGRAM-WORKSHEET-EXT: This parameter specifies the extension to be used for program worksheets that are printed.

    Options: Any string up to 3 characters in lengthDefault: REPORT-EXT=WST

    FULL-LISTING: This parameter simply tells YEAR2000 whether or not to create a full listing.

    Options: (Y)es or (N)oDefault: FULL-LISTING=YES

    FULL-LISTING-PATH: If this parameter is left blank, the full listing (if requested) will be created in the same directory as thesource code file. This option allows you to place the full listing in a different directory. Do not end the directory name with atrailing \. This parameter is ignored if a full listing is not being created.

    Options: Any valid DOS path up to 50 charactersDefault: FULL-LISTING-PATH=LSTS

    FULL-LISTING-EXT: If a listing is being created in the same directory as the original source file, you must use a differentextension for the listing file to differentiate it from the original source code file. This parameter provides the listing filesextended name. This parameter is ignored if a listing is not being created.

    Options: Any string up to 3 characters in lengthDefault: FULL-LISTING-EXT=Blank (defaults to pgm or copyfile extension)

    NEW-SOURCE: This parameter instructs YEAR2000 to generate new source code.

  • Options: (Y)es or (N)oDefault: NEW-SOURCE=YES

    NEW-SOURCE-PATH: If this parameter is left blank, the new source file (if requested) will be created in the same directoryas the original source code file. To place the new source in a different directory, enter the name of the drive/directory here inthe form [drive:]directory-name. Do not end the directory name with a trailing \. This parameter is ignored if a new sourcefile is not being created.

    Options: Any valid DOS path up to 50 charactersDefault: NEW-SOURCE-PATH=NEWSRC

    NEW-SOURCE-COPY-PATH: If this parameter is left blank, the new source for copy files will be created in the same direc-tory as the original copy files. To place the new source in a different directory, enter the name of the drive and directory herein the form[drive:]directory-name. Do not end the directory name with a trailing \. This parameter is ignored if a new source file is notbeing created.

    Options: Any valid DOS path up to 50 charactersDefault: NEW-SOURCE-COPY-PATH=NEWCPY

    NEW-SOURCE-EXT: If a new source file is being created in the same directory as the original source file, you must use adifferent extension for thenew source file to differentiate it from the original. This parameter provides the new source files extended name. Thisparameter is ignored if a new source file is not being created.

    Options: Any string up to 3 characters in lengthDefault: NEW-SOURCE-EXT=Blank (defaults to program extension)

    COMMENT-OLD-SOURCE: This option allows you to specify whether or not the original, unmodified source code lines areto remain in the modifiedprogram and be commented out.

    Options: (Y)es or (N)oDefault: COMMENT-OLD-SOURCE=YES

    COMMENTED-SOURCE-TAG: If you elect to leave in the old source code and comment where it has been changed, use thisoption to define the tag used.

    Options: Any string of less than 7 charactersDefault: COMMENTED-SOURCE-TAG=Y2KOLD

    LINE-TAG-LITERAL: A tag is used to mark each line of modified source code and tie the change to a banner line at the topof the program. Thisparameter defines the marker that will be placed (starting in column one) of each line that YEAR2000 modifies.

    The newly created banner line uses this literal to tie each line modified by YEAR2000 to the banner describing the modifica-tion.

    If this parameter is left blank, the modified lines will not be tagged. It is strongly recommended that you do tag the linesmodified to greatly ease any debugging that might be required.

    Options: Any string of less than 7 charactersDefault: LINE-TAG-LITERAL=Y2K

    BANNER: This parameter allows you to use YEAR2000 to place a bannerinto the new source code file.

  • When you use the literal 99/99/9999 in the banner, this flags YEAR2000 to insert the system date as the date the programwas modified into the banner in the source code file. This parameter has no effect if a banner is not being created.

    Option: Up to 78 characters in length.Default: BANNER= * 99/99/9999 Y2K Processed - 21st CCC

    BANNER-PLACEMENT: When using a banner noting modification to a programs source code, this option allows you tospecify the placement of the banner.

    B means the banner line is to be placed before the first source code line that contains the value of the parameter BANNER-PLACEMENT-LIT described below.

    A means the banner line is to be placed after the first source code line that contains the value of the parameter BANNER-PLACEMENT-LIT described below.

    N means that a banner is not to be added to the new source code file.

    The final options is to enter a number (up to six digits) which signifies which line in the new source code file YEAR2000 willplace the banner.

    Options: (B)efore, (A)fter, (N)one, or specify a line numberDefault: BANNER-PLACEMENT=AFTER

    BANNER-PLACEMENT-LIT: If BEFORE or AFTER are specified for the BANNER-PLACEMENT parameter (above), thisparameter is needed to give YEAR2000 the location for placing the banner.

    This parameter has no effect if a banner is not being created.

    Options: Up to 50 characters in length.Default: BANNER-PLACEMENT-LIT=DATE-WRITTEN.

    RENUM: Some developers provide line numbers within their source code, and others do not. If this parameter is left blank,nothing will be changed in columns one through six of the new source file (except for the tags on those lines that YEAR2000modified). If a C is used, any text appearing in the first six characters of each line will be cleared. However, lines modifiedby YEAR2000 will still be tagged.

    To renumber the new source code file, place a number (no more than 3 digits) for this parameter and each line will be as-signed a line number using multiples of this number.

    Options: (C)lear, (N)o or specify the increment (Up to 3 digits).Example: RENUM=NO

  • Chapter 4

    The Repository Builder

    The Repository Builder is used to create the work files that contain copies of all referenced copyfiles and related fields. Thisis the information that YEAR2000 uses to create new updated copyfiles and source program files.

    When you select 2 or click on the Repository Builder from the YEAR2000 main menu a screen similar to the follow-ing appears:

    When running the Repository Builder, YEAR2000.EXE reads through all of the source programs to be converted (as noted inthe program-list-file). It then creates work files for all of the referenced copyfiles.

    As copyfile references are found in the source program files, the Repository Builder first checks to see if the copyfile hasalready been loaded into the repository.

    As it reads through the programs it displays which program it is processing, the pass and the line number in the program. Allstatistical information is accumulated for Impact Analysis reports.

    As the copyfiles are loaded into the repository, the appropriate copyfile fields in the repository are expanded according to theConfiguration Files specifications.

    This process also performs the cross-referencing of date and year fields to working storage fields and updates the repositoryas required.

    By the end of this process, all copyfiles referenced in the programs to be processed are written into the repository file and anycopyfile fields that require expansion are expanded (in the repository file).

    Repository Builder Passes

    Gathering source files: This pass scans through the source files and gathers the copyfiles that are referenced.

    Defining fields: For every field in the program this pass creates a definition record in the database.

    Expanding fields: This pass expands the fields as per the Configuration file definition.

    Resolving indirect references: This pass expands the indirect reference fields found and expands them accordingly.

    Expanding fields: This pass expands VALUE clauses of date fields and double checks for any further field expansions.

    During the Repository Builder phase, a complete inventory of the system Copyfiles is done. All missing copyfiles are listedin the LOG FILE.IMPORTANT NOTE: Missing copyfiles listed in the Log file, should be added to the list of copyfiles and the RepositoryBuilder rerun. Once all Copy files are present and the Repository Builder has been rerun, the next step becomes the CopyfileValidator.

  • Chapter 5

    The Copyfile Validator

    The Copyfile Validator is used to check all copyfile fields to ensure that they are properly expanded and flagged.

    The Copyfile Validator displays, and allows changes to, all fields in the copyfile repository. It displays the original andsuggested picture clause as well as the flags that control the expansion and windowing process.

    When the user changes the suggested picture clause the fields storage requirements are automatically recalculated.

    User Options: Navigate through fields using PgUp/Dn, Arrow Up/Dn, Home and End keys.

    Find specific data fields by typing in the first letter of the field. When a line is highlighted, click on the highlighted line or theUpdate button to update it.

    To flag a field to not be modified, press F1. Press F1 again on the same field to remove the flag.To view all repository fields through the Validator, press F7 or click on Show all.

    To only view modified fields, press F8 or click on Show mods.

    To view the field within the source code, press F5 or click on Show source . Press F5 again to only view data fields.

    Field Values: The values displayed at the top of the screen show the File name: This is the name of the copyfile currentlybeing processed,.Line no: This is the line number in the copyfile where the field is found. Lv: This column shows the level ofthe field, Field Name: This is the name of the field, Original PIC: This is the original picture clause for the field.New PIC: This is the new picture clause for the highlighted field.

    The suggested size of the new PIC clause follows the user defined specifications in Maintain Configuration. For example, ifthe EXPAND-LITERAL DAT was specified from 6 to 8, fields which contain that literal AND have a picture clause of 6,are presented with a new PIC clause of 8 in the Validator.

    In addition to editing field sizes, the Validator, also allows you to specify whether you wish to Expand or Window thehighlighted field. Simply click on either buttons to implement either type of remediation for that specific field (and itssubsequent references).

  • Chapter 6

    The Copyfile Reporter

    The Copy File Reporter is used to print out the copyfile information in the Repository Database. It creates a report for eachcopyfile processed. Copyfiles that have not been changed are noted as such. For copyfiles that have been changed the reportshows the field name, line number, the original field size and the new field size. The REPORT option in Maintain Configura-tion must be YES to run this menu choice.

    Processing: his shows the name of the copyfile being processed.

    Choice #: This displays the menu item you are running. i.e. Copyfile Reporter.

    Field: This displays the name of the field currently being processed.

    Once the report is processed it is placed in the reports directory specified in the REPORT-PATH option in Maintain Configu-ration. Names of the reports are the same as the names of the original copy files, but the extension will be as specified in theREPORT-EXT option specified in Maintain Configuration. If REPORT-EXT is blank, the original copyfile extension is used.

  • Chapter 7

    The Copyfile Generator

    The Copyfile Generator is used to generate the new copyfiles and/or full listing with expanded date fields.

    Processing: This shows the name of the copyfile being processed.

    Choice #: This displays the menu item you are running. i.e. CopyfileGenerator.

    Line #: This displays the copyfile line number currently being processed.

    NEW-SOURCE Option: If the NEW-SOURCE option in Maintain Configuration is set to YES, the following occurs:

    As each copyfile is processed it is placed in the directory specified by the NEW-SOURCE-PATH option in Maintain Configu-ration.

    The name of the copyfile is the same as the name of the original copyfile.

    The extension for the copyfile used is as specified in the NEW-SOURCE-EXT option in Maintain Configuration. If NEW-SOURCE-EXT is blank, the original copyfiles extension is used.

    FULL-LISTING Option: If the FULL-LISTING option in Maintain Configuration is YES, the following occurs:

    As each copyfile is processed a listing is placed in the listings directory as specified by the FULL-LISTING-PATH option inMaintain Configuration.

    The name of the copyfile is the same as the name of the original copyfile.

    The extension used for the copyfile is as specified in the FULL-LISTING-EXT option in Maintain Configuration. If FULL-LISTING-EXT is blank, the original copyfiles extension is used.

  • Chapter 8

    Worksheets

    This function is used to print out worksheets to help guide you through the conversion process.

    Copyfile worksheets: When you press 6 or click on Copyfile worksheet from the YEAR2000 main menu a screenselection screen appears.

    Select to print Modified lines, Unmodified lines or Both. You can also select the print sequence to be by Field name (alpha-betic order) or by Line number.

    The Repository Worksheet prints out a worksheet for the copyfiles located in the Repository Database.

    The report is placed in the reports directory specified in the REPORT-PATH option in Maintain Configuration. The name ofthe report is as specified in the COPYFILE-WORKSHEET-FILE option in Maintain Configuration.

    Program Worksheet: The Program Worksheet prints out a worksheet showing the fields in the program source files. Thereport is placed in the reports directory specified in the REPORT-PATH option in Maintain Configuration. The name of thereport is the same as the name of the source file and the extension is as specified in the PROGRAM-WORKSHEET-EXToption in Maintain Configuration.

  • Chapter 9

    The Program Loader

    The Program Loader is used to load the work files for the source program currently being processed. No fields are expandedor changed during this process.When you press 7 or click on Program Loader from the YEAR2000 main menu a screen similar to the followingappears:

    Processing: This shows the name of the program being processed.

    Gathering source files: This pass gathers the copyfiles for the source codeprogram being processed.

    Defining fields: In this pass a definition record is created for each field inthe source program.

    Defining field references: This pass finds any references between fields with MOVE or IF statements.

    Line #: This displays the line number of the program currently beingprocessed.

  • Chapter 10

    The Program Examiner

    The Program Examiner is used to generate converted work files from the Program Loaders work files. All date and yearfields are expanded and any references between date and non-date fields are resolved for possible field expansion.

    If a field is found to require expansion, its work definition field is updated for future use by the program generator whichproduces converted source code.

    Processing: This shows the name of the program being processed.Pass: This display shows the process being performed by the Examiner such as Expanding fields, Resolving indirectreferences or Expanding fields.

  • Chapter 11

    The Program Validator

    The Program Validator is used to display the fields contained within a source code program. The converted fields are clearlyindicated for review by the user. Any field defined in the program may have its picture clause changed. Fields defined within acopyfile cannot be changed in the Program Validator.

    The Program Validator displays all fields associated with the currently processed program. It allows maintenance to all fieldsexplicitly defined in the source code of the program. It does not allow maintenance of fields defined in a copyfile. It displaysthe original and suggested picture clauses as well as the flags that control the expansion process.It also allows the user to change the suggested picture clause and automatically recalculates the fields storage requirementswithin the source file.

    Program Validator Options:

    Navigate through fields using PgUp, PgDn, Arrow Up/Down, Home and End keys or use the slide bar on the right of thescreen. Find specific data fields by typing in the first letter of the field. To Update or change a field size, press Enter, double clickon it or click on the Update button. To flag a field not to be modified, highlight it then click on Dont modify . To view all lines of the source, click on view source. To only view modified fields, click on the Show mods button. To exclude copyfile fields, click on the Hide copies button. To view a program field in the source code, click on the button Show source.

    When viewing the source code, press F6 at a data field definition to find the next reference of that field within the program.The F6 key moves through the program to show each reference of the original data field.

    The values displayed at the top of the screen show:File name. This is the name of the program currently being processed.Line no: This is the line number in the program where the field is defined.Formatted Date: This flag specifies whether or not this field is a formatted datefield.Lv: This column shows the level number of the field.Field Name: This is the name of the fieldOriginal PIC: This is the original picture clause for the field.New PIC: This is the new converted picture clause for the field.

  • Chapter 12

    The Program Reporter and Impact Analysis Reports:

    The Program Reporter is used to print a report showing all of the fields flagged for expansion in the source code file. TheREPORT option in Maintain Configuration must be YES to run this menu choice.

    Once the report is processed it is placed in the reports directory as specified by the REPORT-PATH option in MaintainConfiguration. The name of the report is the same as the name of the original source program, but the extension is as speci-fied in the REPORT-EXT option in Maintain Configuration. If REPORT-EXT is blank, the original programs extension isused.

    A series of six reports Impact Analysis reports can be printed from the Program Reporter menu selection. These require thatthe Repository Builder be run before the Impact information is available to print. Such information as number of lines,number of programs,

  • Chapter 13

    The Program Generator

    The Program Generator is used to generate the new converted program and/or full listing with expanded date fields.

    Processing: This shows the name of the source program being processed.Line #: This displays the line number currently being processed.NEW-SOURCE Option: If the NEW-SOURCE option in Maintain Configuration is YES, the following occurs:

    Each program processed is placed in the directory specified by the NEW-SOURCE-PATH option in Maintain Configuration.

    The name of the program is the same as the name of the original program.

    The extension for the program is as specified in the NEW-SOURCE-EXT option in Maintain Configuration. If NEW-SOURCE-EXT is blank, the original programs extension is used.

    FULL-LISTING Option: If the FULL-LISTING option in Maintain Configuration is YES, the following occurs: each programis processed a full program listing is placed in the listings directory specified by the FULL-LISTING-PATH option in Main-tain Configuration.

    The name of the listing is the same as the name of the original program. The extension used for the listing is as specified inthe FULL-LISTING-EXT option in Maintain Configuration. If FULL-LISTING-EXT is blank, the original listings extensionis used.

  • Chapter 14

    Convert All Programs

    When you select this option the program runs through all steps automatically. Each program in the program list file is pro-cessed through the Loader, Examiner, Reporter and Generator.

    Each program listed in the Program list file, are processed, and new source is written into the NEW-SOURCE directory. Afull listing is also generated in the LSTS directory.

    To maximize accuracy, this powerful selection should only be used when you are sure that YEAR2000.EXE is configuredproperly for your COBOL coding and syntax standards.

  • Chapter 15

    Hardware and Software requirements:

    Pentium 166 Mz based PC running Windows3.1 or Win95 (required for 32 bit demo) with a minimum of 5 Megabytes ofhard disk storage space and a minimum 8 megabyte of RAM.

    Hard disk storage requirements vary with the source code to be converted. As a rule, you should ensure that you providehard disk storage equal to 5 times the volume of your source code. (i.e. with 100 Mb of source code, provide 500 Mb of diskspace).If you do not select to generate new source, but only the reports which will guide your conversion, you will still need 3 timesyour source code volume to store the various reports, work files and worksheets generated be the conversion process. (i.e.with 100 Mb of source

  • Appendix A:

    Using the Program Status screen:

    At the top of the Main Menu screen, the Program Status lists all programs and where it sits in the conversion process. Thelist can be sorted by any of the headers. Simply click on the header to review the list by that sort.

    If you are not using the Convert all programs function, you can select which program to process next simply by highlightingit on the Program Status screen.

    When running the demo, only the allowed program YEAR2000.CBL will be shown in the Program Status screen, since thedemo is limited to one program of that name.