home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_GEN / PEO.ZIP / MANUAL.DOC < prev    next >
Text File  |  1994-02-10  |  61KB  |  1,299 lines

  1.  
  2.                     JAMES W. YOUNG & ASSOCIATES, INC.
  3.                         1403 5th Street, Suite G
  4.                         Davis, California 95616
  5.                               (916)756-3051
  6.  
  7.         Dear Professional:
  8.  
  9.         Thank you for taking a look at James W. Young & Associates,
  10.         Inc.'s COBOL system analysis tool, Program Entity Organizer
  11.         (PEO). This is the same version of PEO we use to provide top
  12.         notch services and support for our clients.
  13.  
  14.  
  15.         TERMINOLOGY
  16.  
  17.         PEO refers to the screens which the user works with to analyze
  18.         the COBOL programs. However, in general, PEO refers to the
  19.         entire system; i.e., the batch programs (the supporting software)
  20.         and the screens.
  21.  
  22.         SEO refers to the batch portion of  PEO. SEO is the supporting
  23.         software for PEO. SEO consists of a preprocessor and a parser.
  24.  
  25.         MACHY refers to the group of senior programmer/analysts that
  26.         developed the PEO and SEO software. It is also the name of the
  27.         main directory that is created at installation.
  28.  
  29.         Application identifier is an important part of PEO. It
  30.         represents a particular group of COBOL programs and their
  31.         copybooks. Each application identifier (i.e., a unique set
  32.         of COBOL programs and copybooks) must be created as a
  33.         subdirectory of MACHY. The actual source code does not have
  34.         to be in the subdirectory. The first application identifier
  35.         subdirectory is created at install time.
  36.  
  37.         Publisher refers to James W. Young & Associates.
  38.  
  39.         Author refers to the copyright holders for the PEO and SEO
  40.         software.
  41.  
  42.  
  43.  
  44.  
  45.                              WHAT IS PEO?
  46.  
  47.  
  48.         PEO is a COBOL source code analysis and documentation tool.
  49.         It replaces the compiler output as the primary analysis tool.
  50.  
  51.         It gives you a huge leap in productivity and confidence;
  52.  
  53.          productivity, because PEO handles the cross reference grunt
  54.           work and bundles main programs and all their subprograms
  55.           into a single package for analysis;
  56.  
  57.          confidence, because you can be sure you've covered everything!
  58.  
  59.         Anything you can do with a compile listing you can do many times
  60.         faster with PEO and with virtual one-hundred percent accuracy.
  61.  
  62.         You can identify and document business functions in a fraction
  63.         of the time formerly required.
  64.  
  65.         You can identify and document program control functions in a
  66.         fraction of the time formerly required.
  67.  
  68.         PEO is a custom tool used by James W. Young & Associates and
  69.         clients for more than two years. It was designed and developed
  70.         by four senior programmer analysts with over 90 years combined
  71.         experience with mainframe COBOL systems. It's designed for the
  72.         real world of esoteric (spaghetti) code; numerous modifications;
  73.         numerous subprograms; alternate entry points; a plethora of
  74.         GO TO's, ALTER's; superfluous group moves and group parameters;
  75.         AND modern, structured code.
  76.  
  77.  
  78.         THE PEO DEMONSTRATION
  79.  
  80.         PEODEMO is a very tiny COBOL program with no function other
  81.         than demonstrate the look and feel of PEO; and, to show you
  82.         some of the features of PEO. Don't let the small size of the
  83.         demo fool you; there's no size limit on programs as long as
  84.         you have the DASD. Copy the demonstration and peo.exe files
  85.         to a hard drive to get an accurate idea of the speed of PEO.
  86.  
  87.         Change to the drive and directory containing peo.exe and the
  88.         PEODEMO.* files. You MUST do this to run the demonstration.
  89.         Select PEODEMO from the first screen.
  90.  
  91.         The PEODEMO.HIH file is output from the parser and shows the
  92.         call hierarchy, alternate entry points, and source files
  93.         containing the entry point (if different from the entry name).
  94.  
  95.         The PEODEMO.DTE file is an example of a data element name
  96.         filter. The string "YYMM" was the filter. The file contains
  97.         the selected names which met the criterion. These names can be
  98.         used with the PEO screens to analyze their use in the COBOL
  99.         system. You may specify multiple filters.
  100.  
  101.  
  102.  
  103.         DISCLAIMER - AGREEMENT
  104.  
  105.         USERS OF PROGRAM ENTITY ORGANIZER (PEO) AND ITS SUPPORTING
  106.         SOFTWARE, THROUGHOUT THIS DOCUMENT, REFERRED TO AS SEO, MUST
  107.         ACCEPT THIS DISCLAIMER OF WARRANTY:
  108.  
  109.         PROGRAM ENTITY ORGANIZER (PEO) AND SEO ARE SUPPLIED AS IS.
  110.         THE AUTHOR AND PUBLISHER DISCLAIM ALL WARRANTIES, EXPRESSED
  111.         OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF
  112.         MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE. THE AUTHOR
  113.         AND PUBLISHER ASSUME NO LIABILITY FOR DAMAGES, DIRECT OR
  114.         CONSEQUENTIAL, WHICH MAY RESULT FROM THE USE OF PROGRAM ENTITY
  115.         ORGANIZER (PEO) AND SEO. THE USER MUST ASSUME THE ENTIRE RISK
  116.         OF USING THE PROGRAM. ANY LIABILITY OF THE AUTHOR AND PUBLISHER
  117.         WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF
  118.         PURCHASE PRICE.
  119.  
  120.  
  121.  
  122.         CONTENTS:
  123.  
  124.         I.      Some Information About Getting Started
  125.         II.     The Outline of the User's Manual
  126.         III.    Draft Copy of the User's Manual.
  127.         IV.     JWY&Assoc., Inc.'s support for PEO.
  128.         V.      qikstart
  129.  
  130.  
  131.         I.      Some Information About Getting Started
  132.  
  133.         Here is some information which should get you started without
  134.         having to look at very  much of the User's Manual. The install
  135.         information is at the very end of this file.
  136.  
  137.         PEO is as easy to use as 1, 2, 3:
  138.  
  139.                 1. preprocess all the COBOL source code in the
  140.                    directory,
  141.                 2. parse the program(s) and load into the PEO data
  142.                    base, and
  143.                 3. analyze the program.
  144.  
  145.         Step one must be done at least one time during the "life-cycle"
  146.         of PEO for a particular set of COBOL programs. You repeat step
  147.         one only when a program is added to the directory or when
  148.         program names or alternate entry point names have been added or
  149.         changed; or, internal/external file definition names have been
  150.         added or changed.
  151.  
  152.         Step two depends upon step one being run at least one time.
  153.  
  154.         Step two must be done when you choose a program for analysis
  155.         for the first time. Usually, you will not have to do step two
  156.         more than once for each project. The capabilities PEO gives
  157.         you make it possible to do a thorough analysis, make the
  158.         changes to the program, and forget about the program until
  159.         the next project.
  160.  
  161.         Step three depends upon step two before a program can be analyzed.
  162.  
  163.         Step three is repeated as often as necessary to analyze the
  164.         program(s).
  165.  
  166.  
  167.         All three steps depend upon a certain configuration of DOS
  168.         directories. The main working directory is created at install
  169.         time. It is named, MACHY. The preprocessor and parser are
  170.         copied to this directory by install.bat. A particular set of
  171.         COBOL source code (referred to here as an application or
  172.         application ID) must be given a name by the user. The application
  173.         ID is used to create a subdirectory of MACHY. The application
  174.         ID is a required command line parameter when you run install.bat.
  175.         The third directory required by PEO is named EXS and is created
  176.         by install.bat as a subdirectory of application ID. The PEO.exe
  177.         file is copied to the EXS subdirectory by install.bat. Here is a
  178.         representation of the DOS directories:
  179.  
  180.           root                     the c: drive
  181.              |
  182.              MACHY                 the preprocessor and parser are here
  183.                  |
  184.                  application ID    the working directory for a set of COBOL
  185.                               |    code
  186.                               |
  187.                               EXS  the peo screens (peo.exe) reside here
  188.  
  189.         The install.bat file also creates a COBOL and a COPY sub
  190.         directory of application ID. These are the default directories
  191.         for the COBOL source code. You can copy the COBOL programs and
  192.         copybooks to these directories, respectively. Otherwise, you
  193.         must use the SEOCOBOL and SEOCOPY DOS environment variables to
  194.         point the preprocessor and parser to the COBOL source code.
  195.         (Notice, that is SEO..., not PEO.... The preprocessor and parser
  196.         are referred to as SEO.) SEO does require .cbl and .cpy file
  197.         extensions for your COBOL programs and copybooks, respectively.
  198.         Please see "Naming conventions for your source code" in the
  199.         User's Manual.
  200.  
  201.  
  202.         All three steps depend upon the DOS command line to be
  203.         executed. (step three is an exception, see next paragraph.)
  204.  
  205.         The first two steps depend upon command line parameters.
  206.         Step three, PEO, does not require any command line parameters.
  207.         You will be asked by the first PEO screen to provide the
  208.         information PEO needs. The first two steps are batch jobs and
  209.         should be run from the DOS command line only. PEO is not a
  210.         batch job and can run under Microsoft's Windows (R) or similar
  211.         product; we have not, however, run PEO under any system other
  212.         than DOS and Windows.
  213.  
  214.         To run the first two steps you must always provide the
  215.         application ID as the first command line parameter. The
  216.         application ID is the only parameter for step one, the
  217.         preprocessor. Step two, the parser, requires the application
  218.         ID and the main program name(s), i.e., the file name(s) in
  219.         the COBOL directory, with or without the file name extension.
  220.         If you omit the main program name(s), the parser will process
  221.         all the COBOL programs in the directory. You do not have to
  222.         provide the names of any subprograms; that is the job of the
  223.         preprocessor. You can parse "main" programs only. The parser
  224.         will include all subprograms automatically based upon the
  225.         latest information supplied by the preprocessor.
  226.  
  227.  
  228.         All three steps correspond to executable files:
  229.  
  230.                 prepro
  231.                 seoexp00
  232.                 peo.
  233.  
  234.  
  235.         Step one is prepro.bat which executes the two preprocessor
  236.         programs, seopre00.exe and seopsu00.exe. The application ID
  237.         is a required command line parameter.
  238.  
  239.         Step two is seoexp00.exe (the parser). The application ID is
  240.         a required command line parameter. It must be the first
  241.         parameter. The second parameter is the file name of the main
  242.         program to be parsed. If you run seoexp00.exe with only the
  243.         application ID, it will parse all the programs in the COBOL
  244.         directory. The third, fourth, etc. parameters are file names
  245.         of other main programs to be included (along with all their
  246.         subprograms) in a single analysis package; seoexp00.exe will
  247.         ask you to type in a one to eight byte name for the analysis
  248.         package if you type more than one program name on the command
  249.         line. The name you type in is the name you provide step three
  250.         (peo.exe) to load into the PEO data bases; otherwise, if there
  251.         is only one main program you provide step three with the
  252.         program name.
  253.  
  254.         Step three is peo.exe (the user interface). The first screen
  255.         you see will ask you to choose to view a program which already
  256.         exists in the PEO data bases or to choose to load a new program.
  257.         If you choose to load a new version of an existing program, you
  258.         will be asked to permit PEO to overlay the old version.The name
  259.         you provide to PEO is the main COBOL program name; or, if you
  260.         combined programs into one analysis package, it's the name you
  261.         typed into step two, seoexp00.exe.
  262.  
  263.         The first two steps, the batch preprocessor and parser, produce
  264.         a *.seo file. You should check these for such things as missing
  265.         copybooks, missing subprograms, unknown data element names, and
  266.         unknown procedure names. Other messages are information which
  267.         may indicate the parser failed to recognize something because of
  268.         an unusual condition; e.g., a missing period separator. More
  269.         arcane messages are rare and would require product support. The
  270.         preprocessor *.seo file is named SEOPREP.SEO and is in the
  271.         application ID subdirectory. The parser *.SEO file is named by
  272.         the COBOL program's name with a .SEO extension. This file is in
  273.         the EXS subdirectory of the application ID.
  274.  
  275.         All three steps have screens. The two batch steps, steps one
  276.         and two, will show the first few lines of the program being
  277.         processed and the identity of  the main program, subprogram,
  278.         and copybook currently being processed. In addition, the
  279.         running line count is displayed. PEO's screens are described
  280.         in the User's Manual.
  281.  
  282.  
  283.         If you've installed the SEO and PEO files and read through
  284.         the above, you're ready to put PEO to work. The instructions
  285.         for installing the software are at the very end of this file.
  286.  
  287.         Here's how it works. It's likely your COBOL source code is
  288.         already installed in a directory; or, you do not want to put
  289.         the programs and copybooks in a PEO directory. If either is
  290.         true, type in
  291.  
  292.                set SEOCOBOL=drive[path]
  293.                set SEOCOPY=drive[path]
  294.  
  295.         where drive is the letter of the drive containing the COBOL
  296.         source code and [path] is the path to the directory of the
  297.         source code. If you did put the COBOL programs into the COBOL
  298.         subdirectory of application ID and you put the copybooks in
  299.         the COPY subdirectory of the application ID, you will not have
  300.         to set the environment variables (SEOCOBOL and SEOCOPY). If
  301.         you did one and not the other, use the appropriate environment
  302.         variable.
  303.  
  304.         Before you proceed, check the information in the User's
  305.         Manual ("Naming conventions for your source code"). The COBOL
  306.         programs must have a .cbl file extension and the copy books
  307.         must have a .cpy file extension.
  308.  
  309.         Next, you're ready to run the preprocessor. Remember, you
  310.         will not have to run the preprocessor every time. Please
  311.         refer to the description of the preprocessor above and in
  312.         the User's Manual. You run the preprocessor by typing in:
  313.  
  314.                 prepro applid
  315.  
  316.         where prepro in the batch file which executes the two
  317.         preprocessor programs and applid is the application ID. It
  318.         should take about fifteen minutes for each 100,000 lines of
  319.         code in the COBOL program and copybook directories.
  320.  
  321.         After the preprocessor is finished, check the seoprep.seo
  322.         file in the application ID directory. It will tell you if
  323.         any copybooks are missing.
  324.  
  325.         Now, run the parser. In this example there will be only one
  326.         main program to parse. You parse the program by typing in
  327.  
  328.                 seoexp00 applid mainprogramid
  329.  
  330.         where seoexp00 is the parser, applid is the application ID,
  331.         and mainprogramid is the file name (with or without the file
  332.         extension) of the main program. How long will the parser
  333.         take? It depends upon the size of the program and how the
  334.         program is coded. Another factor is a RAM drive, see
  335.         "PERFORMANCE CONSIDERATIONS" in the User's Manual. Obviously,
  336.         a large program is going to take longer than a small program.
  337.         The parser works at about a thousand lines per minute. But,
  338.         a COBOL program with a lot of group-level activity; e.g.,
  339.         group MOVE's and group parameters, can take a longer than a
  340.         program of similar size but little group-level activity.
  341.  
  342.         Before loading the program into PEO, check the *.seo file
  343.         produced by the parser. It is named by using the main program
  344.         name and a .seo extension. The file will be in the EXS sub
  345.         directory of applid. The main things to look for are missing
  346.         files; e.g., copybooks and subprograms. Messages like, UNKNOWN
  347.         DATA ELEMENT, are also important. If all the parts for the
  348.         program were there, the file will contain only the header
  349.         record.
  350.  
  351.         Now load the program into the PEO data bases. This is done by
  352.         invoking PEO. If you did not put PEO (peo.exe) into Windows (R),
  353.         PEO can be executed by switching to the EXS subdirectory of
  354.         applid and typing in
  355.  
  356.                 peo
  357.  
  358.         The first screen you see will let you load the COBOL program
  359.         into the PEO data bases. Once the program is loaded, you will
  360.         see the program's name in PEO's window of program names. Please
  361.         see "USING THE PEO SCREENS" in the User's Manual; or, just go
  362.         ahead and do it. You'll find the process to load the COBOL into
  363.         the PEO data bases very easy and, when PEO is done, you can go
  364.         right into the analysis screens. You'll find the analysis screens
  365.         fairly intuitive.
  366.  
  367.         One final note. PEO was designed for mainframe COBOL; e.g., ANS74,
  368.         ANS85, OS/VS, and COBOL II. It does not support many of the
  369.         extensions found in PC-based COBOL. See the file CAUTION.DOC.
  370.  
  371.  
  372.  
  373.                             JAMES W. YOUNG & ASSOCIATES, INC.
  374.                                 1403 5th Street, Suite G
  375.                                 Davis, California 95616
  376.                                       (916)756-3051
  377.  
  378.  
  379.  
  380.  
  381.         II.    The Outline of  the User's Manual
  382.  
  383.                 HARDWARE AND SOFTWARE REQUIREMENTS
  384.                 GETTING STARTED
  385.                 Tools required.
  386.                 Installing PEO.
  387.                 What the install process does.
  388.                 INSTALLING THE COBOL SOURCE CODE
  389.                 Naming conventions for your source code.
  390.                 Paths to your source code.
  391.                 Adding new source code (after installation).
  392.                 Clean compiles only, please.
  393.                 PREPARING DATA FOR PEO.
  394.                 The preprocessor
  395.                 Main Programs
  396.                 The SEOPREP.SEO file
  397.                 The <progid>.seo file
  398.                 Loading output from the parser into PEO.
  399.                 USING THE PEO SCREENS
  400.                 No training required.
  401.                 The PEO Screens.
  402.                 The PEO Data Element Selection Screen
  403.                 The PEO Source Display Screen.
  404.                 The PEO Element Display Screen
  405.                 The target element and affected elements
  406.                 Picking a target
  407.                 Linking CALL and ENTRY PT relations.
  408.                 The PEO Multiple Element Selection Screen
  409.                 CAUTIONS.
  410.                 ADDITIONAL INFORMATION
  411.                 TYPE RELATIONS CODES
  412.                 PERFORMANCE CONSIDERATIONS
  413.                 RESERVED WORDS
  414.  
  415.  
  416.  
  417.  
  418.         III.  Draft Copy of the User's Manual.
  419.  
  420.         HARDWARE AND SOFTWARE REQUIREMENTS
  421.  
  422.         The basic PC platform required to run the preprocessor and parser
  423.         portions (i.e., SEO) would be a 80386 or 80486 PC with  at least
  424.         4MB of memory and a substantial hard disk... say 200MB or larger,
  425.         if you have a large number of COBOL programs. A removable storage
  426.         medium, such as a Bernoulli Box would make an ideal environment...
  427.         and a tape backup would be desirable. Once the files have been
  428.         created by the parser, they may be loaded on any available plat-
  429.         form that has sufficient disk storage. We have run the screens
  430.         (PEO) on 8088 and 8086 machines with 640K of memory and 40MB hard
  431.         disks. In most cases, the preprocessor and the parser run with
  432.         about 550K of memory; it's only when the number of elements in a
  433.         record exceed approximately 2300 that the parser runs out of
  434.         memory. Using DOS 5.0 or higher is desirable because most system
  435.         programs can be loaded into high memory leaving well over 600,000
  436.         bytes available for applications like the parser, SEO.
  437.  
  438.         PEO and SEO both run under DOS. PEO is very well behaved
  439.         under Windows, as a DOS application; in fact, we recommend
  440.         running PEO under Windows. The preprocessor and parser (SEO)
  441.         are both batch jobs which should not be run under Windows.
  442.  
  443.  
  444.         GETTING STARTED
  445.  
  446.         Tools required.
  447.  
  448.         It does require some tools (knowledge of DOS commands) to
  449.         install and use PEO and SEO. Specifically, you should under-
  450.         stand the basic DOS concepts of directories, "paths", command
  451.         line parameters, file names, and extensions. You may need to
  452.         know how to use the RENAME, MD, and SET commands.
  453.  
  454.         Installing PEO. Please refer to "How to install" at the end of
  455.         this readme.doc file.
  456.  
  457.         What the install process does.
  458.  
  459.         The install process creates a subdirectory of the hard drive.
  460.         The subdirectory is named, MACHY. The SEO software is copied
  461.         to the MACHY directory. The install process then creates a sub
  462.         directory for the application identifier. This is a subdirectory
  463.         of MACHY. Then the install process creates three subdirectories
  464.         of the application identifier: id COBOL, COPY, and EXS. Here's
  465.         how it looks
  466.  
  467.         root
  468.           |
  469.         MACHY
  470.           |- application identifier
  471.                 |- COBOL
  472.                 |- COPY
  473.                 |- EXS
  474.  
  475.         The PEO software (peo.exe) is copied to the EXS subdirectory.
  476.         The software installation process is now complete. The MACHY
  477.         directory is the working directory for the SEO software (pre-
  478.         processor and parser) and EXS is the working (default) directory
  479.         for peo.exe.
  480.  
  481.  
  482.         INSTALLING THE COBOL SOURCE CODE
  483.  
  484.         You must now give access to your COBOL source code to the SEO
  485.         reprocessor and parser. The "simplest" way is to copy the COBOL
  486.         source code to the COBOL subdirectory of the application identifier
  487.         created by the install process. The copybooks must be copied to
  488.         the COPY subdirectory of the application identifier. However, as
  489.         you will see in "Paths to your source code", you do not have to
  490.         use the default directories.
  491.  
  492.         Naming conventions for your source code.
  493.  
  494.         The SEO preprocessor and parser require a .CBL extension for
  495.         the COBOL source code and a .CPY extension for the copybooks.
  496.         You can use the DOS RENAME command to add the extension (or
  497.         change to the extension). If you are not familiar with the
  498.         RENAME command, you can add/change extensions for all members
  499.         of a directory with just one RENAME command. Please refer to
  500.         the RENAME command in the DOS manual.
  501.  
  502.         Paths to your source code.
  503.  
  504.         Just like all DOS applications, the MacHY Group's software has
  505.         access to directories via "paths". The default paths are
  506.         described above. If you do not wish to use the default paths
  507.         to get to your COBOL source code and copybooks, you can change
  508.         the paths. The names of the paths (environment variables) for
  509.         the COBOL source code and copybooks are SEOCOBOL and SEOCOPY,
  510.         respectively. How you're able to change paths is beyond the
  511.         scope of this document. Please refer to your DOS manual (SET
  512.         command).
  513.  
  514.         Adding new source code (after installation).
  515.  
  516.         There are two ways of adding new COBOL programs: add programs
  517.         to an existing application identifier or create a whole new set
  518.         of programs for a new application identifier. You add programs
  519.         to an existing application identifier by simply copying them
  520.         to the appropriate directories; but, you must run the preproces-
  521.         sor again before you can parse the new programs and load them
  522.         into PEO. This does not apply to copybooks. You do not have to
  523.         re-run the preprocessor when you add copy books - - unless the
  524.         copy books contain the ENTRY statement or SELECT ... ASSIGN TO
  525.         .... statements. You add a new application identifier by (1)
  526.         creating a sub directory of MACHY for the new application
  527.         identifier and (2) creating three subdirectories of the ap-
  528.         plication identifier: COBOL, COPY, and EXS. You use the DOS MD
  529.         (make directory) command to create directories. You provide
  530.         the value for application identifier. It's a name to describe
  531.         the group of programs just like the one mentioned in "Installing
  532.         PEO". Even if the paths to your source code and copybooks will
  533.         not be defaults (i.e., they will not lead to the COBOL and COPY
  534.         subdirectories of the new application identifier), you MUST
  535.         create the application identifier subdirectory of MACHY and an
  536.         EXS subdirectory of application identifier. And, you must run
  537.         the preprocessor for the new application identifier.
  538.  
  539.         ASCII files only.
  540.  
  541.         All source code input to the preprocessor and parser must be
  542.         ASCII and must have columns one through six and column seven
  543.         present. The COBOL statements must be in columns eight through
  544.         72. Of course, a LF/CR can terminate the record in any column,
  545.         including column one (to indicate a blank line). Basically,
  546.         what this means is there can be no TAB characters.
  547.  
  548.         Clean compiles only, please.
  549.  
  550.         PEO/SEO is not designed to help find potential compile errors.
  551.         It's designed to replace the need to research static code in
  552.         the traditional ways. It's not intended to replace Animate or
  553.         any other execution-time debugging tools, just as doing re-
  554.         search on static code has never done away with the need for
  555.         run-time debugging tools. Nor, has run-time debugging done
  556.         away with the need for "code walk-through".
  557.  
  558.  
  559.         PREPARING DATA FOR PEO.
  560.  
  561.         Every thing has its price in order to get its benefits. PEO's
  562.         price is the preprocessor and parser. The preprocessor saves
  563.         you the task (often very difficult) of identifying the COBOL
  564.         programs which contain the alternate entry points called by
  565.         other programs; and it obtains other information about your
  566.         COBOL programs that is required by the parser. The preprocessor
  567.         "bundles" information about the various COBOL source files and
  568.         passes the information to the parser.  The parser identifies
  569.         the relations and prepares data for PEO. Finally, the data are
  570.         loaded into PEO.
  571.  
  572.         The preprocessor
  573.  
  574.         The preprocessor must be run at least one time for each applica-
  575.         tion identifier. It will process every COBOL program and copy
  576.         book in the COBOL and COPY subdirectories (or, alternate sub
  577.         directories, see "Paths to your source code"). If you do not
  578.         add new programs or add/change CALL, ENTRY, or FD statements,
  579.         you should not have to run the preprocessor more than once for
  580.         an application identifier. Run the preprocessor by changing to
  581.         the MACHY directory and typing
  582.  
  583.                 PREPRO application-identifier
  584.  
  585.         where, application-identifier, is the name you provided for the
  586.         set of COBOL programs at installation time. Of course, applica-
  587.         tion identifier can also be any name you've added to the MACHY
  588.         directory since installation.
  589.  
  590.         Main Programs
  591.  
  592.         The preprocessor identifies all the main programs in the applica-
  593.         tion identifier directory. The preprocessor identifies a "main"
  594.         program by finding a program which no other program CALLs, either
  595.         directly or by alternate entry points. A main program should have
  596.         no alternate entry points (except, DLITCBL) and it must have a
  597.         PROGRAM-ID name  which matches the source file name. If the pre-
  598.         processor cannot identify any main programs, no files are produced
  599.         for the parser.
  600.  
  601.         The SEOPREP.SEO file
  602.  
  603.         This file lists the things encountered by the preprocessor. The
  604.         things important to the user are limited to identifying missing
  605.         components; e.g., copybooks. The file is in the application
  606.         identifier sub directory of MACHY.
  607.  
  608.         The parser
  609.  
  610.         The parser must be run every time you wish to add a program to
  611.         PEO, or every time you make major changes to a program which
  612.         require all the new relations in the changed program to be re-
  613.         identified. Run the parser by entering
  614.  
  615.                 seoexp00 applid program-id
  616.  
  617.  
  618.         Applid is the same as described in "The preprocessor". Program
  619.         id is the file name of the COBOL program. You do not have to
  620.         include the .CBL extension. If you omit the program name the
  621.         parser will parse all programs in the COBOL source code direc-
  622.         tory.  If you include more than one program name, the parser
  623.         will ask you to input a one to eight byte name; all the programs
  624.         will be parsed together and you will have to use the name to
  625.         load the parser files into PEO. The parser is executed from the
  626.         MACHY directory.
  627.  
  628.         The progid.seo file
  629.  
  630.         If the parser detects any things it cannot handle it writes
  631.         messages to a file identified by the program name and .seo
  632.         extension. You should check this file for missing subprograms
  633.         or copybooks, unknown data element names, or anything which
  634.         might affect the ability to analyze the program. If you parsed
  635.         a group of programs together, the file name will be the name
  636.         you provided to the parser plus the .seo extension. The files
  637.         are in the EXS sub directory of the application identifier.
  638.  
  639.         Loading output from the parser into PEO.
  640.  
  641.         When PEO is invoked you will be asked to choose to load a
  642.         program or select a program already in PEO to view. If you
  643.         choose to load a program and the program already exists in
  644.         PEO, you will be asked to permit PEO to overlay the old
  645.         program. Once the program is loaded, you will see the orig-
  646.         inal screen, The PEO (Program Entity Organizer) SCREEN
  647.         (Figure 1). You can select the program you wish to view.
  648.         You invoke PEO by entering PEO on the DOS command line. You
  649.         must, however, first change to the EXS sub directory of the
  650.         application identifier. The peo.exe file can reside in any
  651.         directory; but, when it's in the EXS sub directory it can
  652.         use default paths to load data files from the parser. PEO
  653.         works with Microsoft Windows. It's recommended you add PEO
  654.         to Windows.
  655.  
  656.  
  657.         USING THE PEO SCREENS
  658.  
  659.         Note: the illustrations of the PEO screens and the PEO demo
  660.         referenced beloware not included with the shareware "test
  661.         drive" version.
  662.  
  663.         No training required.
  664.  
  665.         Anyone can use the PEO screens with just a few minutes of
  666.         practice. It's best to have an actual application; i.e.,
  667.         don't expect to peruse code for the sole purpose of seeing
  668.         how PEO works. The amount of information provided by PEO can
  669.         overwhelm the senses. But, if you start with a specific task
  670.         in mind you'll quickly get up to speed. That's why we have
  671.         included a speed learning exercise with this manual. Please
  672.         see, The PEO Demo. (Not included with this package.)
  673.  
  674.         Here is some information, followed by some guidelines, which
  675.         will help you learn even faster. First, here is a brief
  676.         description of the PEO screens.
  677.  
  678.         The PEO Screens.
  679.  
  680.         The first screen you see after peo.exe is executed is
  681.         the PEO (Program Entity Organizer) SCREEN (Figure 1).
  682.         This screen has a little pop-up window in the right side.
  683.         The window gives you the option of loading a new program
  684.         (including overlaying an existing program) or you can
  685.         elect to view a program already loaded. Use the arrow
  686.         keys and Enter to select.
  687.  
  688.         The PEO Data Element Selection Screen
  689.  
  690.         The next screen is the PEO DATA ELEMENT SELECTION SCREEN
  691.         (Figure 2). This screen is used to select any element
  692.         (entity) in the program. Elements include data element
  693.         names, procedure names, program names, subprogram names,
  694.         entry points, copy books, etc. You must do one of three
  695.         things:
  696.  
  697.         1.      type in the whole name,
  698.         2.      type in a partial name and
  699.                 press F-7, or
  700.         3.      press F-7
  701.  
  702.         If you pressed F-7, you will see a pop-up window containing
  703.         a list of element names. Use the arrow and page keys and
  704.         press enter to make a selection. The pop-up window disappears
  705.         and the selected name remains on the screen. Now you must do
  706.         one of two things:
  707.  
  708.         1.      press F-5 to see how other entities in the program
  709.                 relate to the selected element or
  710.         2.      press F-6 to see the source code.
  711.  
  712.         If you pressed F-6, you will see the PEO SOURCE DISPLAY SCREEN
  713.         (Figure 3).
  714.  
  715.         If you pressed F-5, the next screen you see is the PEO ELEMENT
  716.         DISPLAY SCREEN (Figure 4).
  717.  
  718.         The PEO SOURCE DISPLAY SCREEN.
  719.  
  720.         If you pressed F-6, the PEO SOURCE DISPLAY SCREEN (Figure 3),
  721.         you have two options:
  722.  
  723.         1.      use the arrow, page-up, and page-down keys to
  724.                 view the source code or
  725.         2.      press Esc or Enter to return to the prior screen,
  726.                 the PEO DATA ELEMENT SELECTION SCREEN (Figure 2).
  727.  
  728.         The PEO Element Display Screen
  729.  
  730.         If you pressed F-5, you have the PEO ELEMENT DISPLAY SCREEN
  731.         Figure 4). The PEO ELEMENT DISPLAY SCREEN (Figure 4) is the
  732.         main working screen to view and trace relations. This screen
  733.         is also referred to as the element relations screen. This is
  734.         the main working screen. It is what PEO is about. The screen
  735.         has three main parts:
  736.  
  737.         1.      the target element,
  738.         2.      elements that affect the target, and
  739.         3.      elements affected by the target.
  740.  
  741.         The target element and affected elements
  742.  
  743.         The target element is the element you selected on the PEO DATA
  744.         ELEMENT SELECTION SCREEN (Figure 2). The part of the screen
  745.         which shows the elements that affect the target is a list of
  746.         elements and the nature of their affect. The part of the
  747.         screen which shows the elements affected by the target
  748.         is a list of  elements and the nature of the target's affect.
  749.         Both pars scroll and both parts show some additional informa-
  750.         tion. This is, in effect, an enhanced cross reference. This
  751.         shows the target, the elements directly related to it, and
  752.         the nature of the relation.
  753.  
  754.         Picking a target
  755.  
  756.         Before you can decide which new target to view, it will be
  757.         likely you'll need to see the source code associated with
  758.         each of the relations listed on the screen. To see the source
  759.         code, use the arrow keys to select the related element and
  760.         press F-6. This brings up the PEO SOURCE DISPLAY SCREEN
  761.         (Figure 3). The PEO SOURCE DISPLAY SCREEN (Figure 3) gives
  762.         you the same two options described above:
  763.  
  764.         1.      use the arrow, page-up, and page-down keys to
  765.                 view the source code or
  766.         2.      press Esc or Enter to return to the prior screen,
  767.                 the PEO ELEMENT DIS PLAY SCREEN (Figure 4).
  768.  
  769.  
  770.         Linking CALL and ENTRY PT relations.
  771.  
  772.         There are several relations for the CALL and ENTRY verbs.
  773.         The relations involve data passed between modules and the
  774.         passing of control to a subprogram. The relations for data
  775.         elements are ALIAS, GRPPARM, PRM:CALL, and ARG:ENTR. Please
  776.         refer to the discussion of relations for a description of
  777.         these types of relations. The purpose of this discussion is
  778.         to describe the usage of relations when following the passage
  779.         of control from one program to another. These relations are:
  780.         CALL:PRC, CALL, and ENTRY PT. The CALL:PRC relations indicates
  781.         there is a CALL verb in a named procedure, e.g., a paragraph.
  782.         You get this type of relation on the PEO ELEMENT DISPLAY
  783.         SCREEN (Figure 4) when a procedure is the target and the
  784.         procedure contains a CALL verb. To get detailed information
  785.         about the call, place the cursor on the line containing the
  786.         CALL:PRC type of relation and press enter. This makes the CALL
  787.         statement the new target. The PEO ELEMENT DISPLAY SCREEN
  788.         (Figure 4) for the new target will contain a detailed de-
  789.         scription of the CALL; including, the ENTRY PT type of
  790.         relation. But, ENTRY PT will be there only in the case of
  791.         the first call to the particular entry point. Press F-6 with
  792.         the cursor on the ENTRY PT type of relation to see the source
  793.         code at the entry point. (Note: by "first call", we mean it
  794.         is the first call encountered by the parser as it read
  795.         through the program sequentially; not necessarily, the first
  796.         call executed if the program were running.) When there are
  797.         multiple calls to the same entry point in a program, only the
  798.         first instance of the call will have the ENTRY PT type of
  799.         relation. You cannot use F-6 to get to the source code at
  800.         the entry point. (F-6 will show you the call to the entry
  801.         point.) You must place the cursor on the CALL type of rela-
  802.         tion and press Enter; the new target will be the called sub
  803.         program. This is the only way you can view the called sub
  804.         program's source code when there is no ENTRY PT type of relation.
  805.  
  806.         The PEO Multiple Element Selection Screen
  807.  
  808.         This screen comes in the form of a pop-up window on the PEO DATA
  809.         ELEMENT SELECTION SCREEN (Figure 2). You get this when an element
  810.         name is used to define more than one entity in the program. You
  811.         are provided with the subprogram name and the name of the copy
  812.         book (if any) to help you make a selection.
  813.  
  814.  
  815.         CAUTIONS.
  816.  
  817.         Here are some important things you should know.
  818.  
  819.         The SEO parser and preprocessor use temporary files. These files
  820.         are deleted at the end of the run. The temporary files are
  821.         created in the default (working) directory, unless the default
  822.         directory is overridden by an environment variable. The files
  823.         in the directory used by the SEO preprocessor and parser have
  824.         .cpt, .nha, .wrk, .inx, .idx, .f1, .f2, .f1s, .f2s, .sw*, .mg*,
  825.         and .tmp extensions. Future versions of PEO/SEO may add to this
  826.         list of temporary file extensions. ALL WORK FILES IN THE DIREC-
  827.         TORY USED BY THE SEO PREPROCESSOR AND PARSER WHICH HAVE THESE
  828.         EXTENSIONS WILL BE DELETED! Make sure you always run PEO/SEO in
  829.         a directory which does NOT contain any of your files.
  830.  
  831.  
  832.         ADDITIONAL INFORMATION
  833.  
  834.         Here are a few things you should know. In no particular order
  835.         they are:
  836.  
  837.         PEO's target has always been mainframe COBOL programs; especially,
  838.         old poorly-structured code. This, of course, happens because
  839.         programs that old have been changed through the years by a variety
  840.         of programmers. The developers of the preprocessor and parser did
  841.         not include the capability to recognize some PC COBOL features;
  842.         e.g., MicroFocus call-by-number and call-by-name features. Nor,
  843.         is COBOL II nested subprograms supported. The parser is not
  844.         designed for any particular release of COBOL. It attempts to avoid
  845.         problems by recognizing reserved words from all releases and stops
  846.         running when one of the words is used as a data element name. If
  847.         one of the reserved words is used as a procedure name (such as,
  848.         END-SEARCH where the paragraph name may be the exit for a para-
  849.         graph containing a SEARCH verb) the parser writes a message to
  850.         the program's .seo file and ignores the name. See "RESERVED
  851.         WORDS".
  852.  
  853.         CALL is supported; but, if the CALL is to a variable name and
  854.         the variable name is not identical to the CALLed program's entry
  855.         point, the parser cannot recognize the subprogram.
  856.  
  857.         COPY ... REPLACING .... is supported; but, the source code you
  858.         see on the PEO SOURCE screens does not show the effects of the
  859.         changes -- even though, the changes are shown on the PEO DATA
  860.         ELEMENT SELECTION (Figure 2) and PEO ELEMENT DISPLAY (Figure 4)
  861.         screens.
  862.  
  863.         The following COBOL reserved words are recognized but are not
  864.         processed by the current version of the parser:
  865.  
  866.                 EXHIBIT, CANCEL, CLOSE,
  867.                 ENTER, CONTINUE, SEEK, TALLY, USE
  868.  
  869.         Data definitions must end with a period and space. A LF/CR may
  870.         follow the period in lieu of a space.
  871.  
  872.         Procedures must end with a period and space. A LF/CR may follow
  873.         the period in lieu of a space.
  874.  
  875.         TITLE. EJECT, SKIP1, SKIP2, SKIP3, REPLACE, -INC, and
  876.         ++INCLUDE are ignored.
  877.  
  878.         TAB characters cause the parser to terminate early. The COPY
  879.         directive is the only compiler directive supported.
  880.  
  881.         The PC COBOL SELECT ... ASSIGN TO .... options are not
  882.         recognized by SEO and the name SEO picks for the DDNAME is
  883.         unpredictable.
  884.  
  885.         Lower case letters are converted to upper case letters.
  886.  
  887.         The COBOL II, READ ... AT END imperative-statement
  888.                         NOT AT END imperative-statement
  889.         results in NOT AT END being considered as data element names
  890.         and they are flagged as UNKNOWN DATA ELEMENT's and written to
  891.         the program's .seo file.
  892.  
  893.  
  894.  
  895.  
  896.         TYPE RELATIONS CODES
  897.  
  898.         See TYPE column on the PEO ELEMENT DISPLAY SCREEN (Figure 4).
  899.  
  900.         ACCEPT          ACCEPT. Indicates the data element name is related
  901.         to an ACCEPT verb. The data element may be a component of a group
  902.         referenced by the ACCEPT.
  903.  
  904.         ADD             ADD. The element is a term in an ADD statement.
  905.  
  906.         ADDCORR         ADD CORRESPONDING. The element is a member of a
  907.         group referenced in an ADD ... CORR statement.
  908.  
  909.         ALIAS           PARAMETER RELATED TO ARGUMENT. Shows the data
  910.         element used in the subprogram when the TARGET is the data
  911.         element in the calling program. Shows the data element used in
  912.         the calling program when the TARGET is the data element in the
  913.         CALLed program.
  914.  
  915.         ARG:ENTR        ARGUMENTS RELATED TO AN ENTRY POINT. This
  916.         appears on the PEO ELEMENT DISPLAY SCREEN when the target is
  917.         a CALLed entry point. It provides a connection between the
  918.         entry point and the arguments.
  919.  
  920.         CALL            CALL. Indicates a call to an entry point.
  921.  
  922.         CALL:PRC        CALL RELATED TO PROCEDURE NAME. The call to the
  923.         subprogram is contained in the procedure and the procedure is
  924.         the TARGET.
  925.  
  926.         COMPUTE         COMPUTE. Indicates the data element is part of a
  927.         COMPUTE statement.
  928.  
  929.         CONDITIN        CONDITION NAME. This is the 88-level condition
  930.         name and the variable name which it names.
  931.  
  932.         DISPLAY         DISPLAY. Indicates the data element name is
  933.         related to an DISPLAY verb. The data element may be a component
  934.         of a group referenced by the DISPLAY.
  935.  
  936.         DIVIDE          DIVIDE. The element is a term in a DIVIDE
  937.                         statement.
  938.  
  939.         DEPEND          DEPENDING ON. Indicates the data element is used
  940.         in a GO TO ... DEPENDING ON data-element-name statement.
  941.  
  942.         ELEM:GRP        ELEMENT RELATED TO GROUP. This is the data
  943.         definition for a component/group relation. It points to the
  944.         data definition for the group containing the element.
  945.  
  946.         ENTRY PT        ENTRY POINT. Indicates an entry point invoked
  947.         by the corresponding CALL type.
  948.  
  949.         EVALUATE        EVALUATE. The element is in a EVALUATE condition
  950.         phrase.
  951.  
  952.         FALLTHRU        FALL THROUGH. This indicates the procedure
  953.         immediately preceding another procedure had no statements and
  954.         control falls through to the second procedure. This was
  955.         included as a relation because, often, a program will perform
  956.         a section name. Immediately following the section name is a
  957.         paragraph name. FALLTHRU makes it possible to identify the
  958.         paragraph name without having to view the source code first.
  959.  
  960.         FLOW IN         ELEMENT FLOWS INTO PROCEDURE NAME. The element
  961.         is contained in the procedure (TARGET) and is not modified.
  962.  
  963.         FLOW OUT        ELEMENT FLOWS FROM PROCEDURE NAME. The element
  964.         is contained in the procedure (TARGET) and is modified by the
  965.         procedure; or, in the case of a DISPLAY, WRITE, etc., the data
  966.         are output from the procedure.
  967.  
  968.         GRPMOVE         GROUP MOVE. Indicates the element is a member
  969.         of a group referenced in a MOVE statement.
  970.  
  971.         GRPPARM         GROUP PARAMETER. Indicates the element is a
  972.         member of a group which is referenced in a CALL, ENTRY, or
  973.         PROCEDURE DIVISION USING statement.
  974.  
  975.         GRPREAD         GROUP READ. Indicates the element is a
  976.         member of a group referenced in a READ/RETURN statement.
  977.  
  978.         GRPWRITE        GROUP WRITE. Indicates the element is a
  979.         member of a group referenced in a WRITE/REWRITE/RELEASE
  980.         statement.
  981.  
  982.         IF              IF. Indicates the element is used in an
  983.         IF statement.
  984.  
  985.         JCL PARM        JCL PARAMETER. This appears on the screen,
  986.         along with the type relation which points to the beginning
  987.         of the source file's PROCEDURE DIVISION. It represents the
  988.         data element names passed to the main program via MVS JCL
  989.         PARM=parameters sub-element of the EXEC card.
  990.  
  991.         KEY             KEY. The data element is used as a key for
  992.         a READ direct or START statement.
  993.  
  994.         MULTIPLY        MULTIPLY. The element is a term in a MULTIPLY
  995.         statement.
  996.  
  997.         OPEN IN         OPEN INPUT. This connects the DD name to the file
  998.         in an OPEN INPUT statement. If there is an OPEN I-O there will an
  999.         OPEN output relation, also.
  1000.  
  1001.         OPEN OUT        OPEN OUTPUT. This connects the DD name to the file
  1002.         in an OPEN OUTPUT statement. If there is an OPEN I-O there will be
  1003.         an OPEN input relation, also.
  1004.  
  1005.         PERFORM         PERFORM PROCEDURE. This points to where the PERFORM
  1006.         statement is coded.
  1007.  
  1008.         PERFORMP        PERFORM TEXT. This points to where the PERFORMed
  1009.         procedure is located; i.e., this is the text of the procedure.
  1010.  
  1011.         PRM:CALL        PARAMETERS RELATED TO A CALL VERB. This appears on
  1012.         the PEO ELEMENT DISPLAY SCREEN when the target is a CALLed
  1013.         entry point. It provides a connection between the CALL verb and the
  1014.         parameters.
  1015.  
  1016.         READ            READ. Identifies the record in a READ statement.
  1017.  
  1018.         RELEASE         RELEASE STATEMENT. The TARGET element is referenced
  1019.         in a RELEASE verb.
  1020.  
  1021.         REMAINDR        REMAINDER. The data element is referenced as the
  1022.         remainder in a DIVIDE statement.
  1023.  
  1024.         REDEFINE        REDEFINES. This indicates a redefines condition.
  1025.  
  1026.         RENAMES         RENAMES. This is the renames condition.
  1027.  
  1028.         RETURN          RETURN STATEMENT. The TARGET element is referenced
  1029.         in a SORT RETURN verb.
  1030.  
  1031.         REWRITE         REWRITE STATEMENT. The TARGET is referenced in a
  1032.         REWRITE statement.
  1033.  
  1034.         SEARCH          SEARCH. Indicates the data element is used in a
  1035.         SEARCH statement.
  1036.  
  1037.         SET             SET. Indicates the data element is referenced
  1038.         in a SET statement.
  1039.  
  1040.         SORT IN         SORT INPUT PROCEDURE. This points to where the
  1041.         SORT statement is coded.
  1042.  
  1043.         SORT INP        SORT INPUT PROCEDURE. This points to where the
  1044.         SORT INPUT PROCEDURE is located.
  1045.  
  1046.         SORT OP         SORT OUTPUT PROCEDURE. This points to where the
  1047.         SORT statement is coded.
  1048.  
  1049.         SORT OPP        SORT OUTPUT PROCEDURE. This points to where the
  1050.         SORT OUTPUT PROCEDURE is located.
  1051.  
  1052.         SRCEFILE        SOURCE FILE. This points to the beginning of the
  1053.         PROCEDURE DIVISION of the main program.
  1054.  
  1055.         STRING          STRING. Indicates the data element is used in a
  1056.         STRING statement.
  1057.  
  1058.         SUBCORR         SUBTRACT CORRESPONDING. The element is a member
  1059.         of a group referenced in a SUBTRACT ... CORR statement.
  1060.  
  1061.         SUBSCRPT        SUBSCRIPT. Indicates the data element is used
  1062.         as a sugscript.
  1063.         SUBTRACT        SUBTRACT. The element is a term in a SUBTRACT
  1064.         statement.
  1065.  
  1066.         UNSTRING        UNSTRING. Indicates the data element is used
  1067.         in a STRING statement.
  1068.  
  1069.         WRITE           WRITE. Identifies the record in a write statement.
  1070.  
  1071.  
  1072.  
  1073.         PERFORMANCE CONSIDERATIONS
  1074.  
  1075.         You will note the PEO screens are extremely fast, no matter
  1076.         how big the COBOL program is. But, the parser's performance
  1077.         is affected by the size of a program and contents of a program;
  1078.         especially, if the program contains a number of "group" MOVEs
  1079.         (i.e., the number of groups moved, read, written, or passed as
  1080.         parameters). Each element in the sending group is matched to a
  1081.         corresponding element in the receiving group. This requires
  1082.         extra time, especially in older programs where it's common to
  1083.         move groups frequently in and out of save areas and pass entire
  1084.         groups of elements to subprograms.
  1085.  
  1086.         There is no good solution short of turning off the group move
  1087.         logic; but, then there a risk of losing critical information.
  1088.         A RAM drive can improve the performance of the parser.
  1089.  
  1090.         Ram drives
  1091.  
  1092.         Put some of the temporary files used by the parser on a RAM
  1093.         drive. This is done by setting the paths to the temporary
  1094.         files to the RAM drive. The environment variable names for
  1095.         the temporary files are: SEOIDX, SEOINX, SEOINXHI, SEOMST,
  1096.         and SEOSORT. If you don't have enough memory to put all these
  1097.         files on a RAM drive, SEOIDX and SEOMST are the two most
  1098.         important ones.
  1099.  
  1100.         How big should the RAM drive be? As a rule of thumb, try one
  1101.         meg for every 10,000 lines of code in the COBOL program. You
  1102.         may have to estimate the size; because, the size is not the
  1103.         size of the main source file. The size is the total lines of
  1104.         code for all source files and copybooks in the entire program.
  1105.         The factor that dictates the storage requirements is actually
  1106.         the number of data elements in the program. It takes about
  1107.         500 bytes per data element, mostly due to the sortwork files,
  1108.         SEOSORT. The two most important files are SEOIDX and SEOMST.
  1109.         The SEOSORT environment variable is for the sortwork files. If
  1110.         they default to the hard drive it just means the sort will take
  1111.         a little longer. A sort occurs at the end of each DATA DIVISION
  1112.         and at the end of each PROCEDURE DIVISION. The SEOINXHI will
  1113.         usually be core resident. Also, if your program contains 10 or
  1114.         more modules (separately compiled subprograms) you may have to
  1115.         specify additional directory space when you define the RAM
  1116.         drive. The parser creates several work files for the main
  1117.         program and for each subprogram. Please refer to your DOS manual
  1118.         for information about defining RAM drives.
  1119.  
  1120.         Output from the preprocessor and parser.
  1121.  
  1122.         The output from the preprocessor is usually quite small. There
  1123.         are two files which the parser uses, execprgm.prg and entrypt.eps.
  1124.         Both of these files, along with the seoprep.seo file, are in the
  1125.         application ID subdirectory of  MACHY. The output from the parser
  1126.         is usually quite large and is written to the EXS subdirectory of
  1127.         the application ID. The parser creates three files for PEO to
  1128.         load into its data bases. The three files are: <progid>.dat,
  1129.         <progid>.exp, and <progid>.prc. Once PEO has loaded these data
  1130.         into its data bases you can delete the three files. (If you
  1131.         combined programs for analysis, the three files will be named
  1132.         after the name you provided to the parser.) The amount of storage
  1133.         required for these three files depend upon the size of the
  1134.         program(s) and the amount of group activity in the COBOL
  1135.         programs. E.g., one program we've worked with had over 50,000
  1136.         lines of code (including subprograms) and required about
  1137.         10,000,000 bytes of storage for the three files. Another program
  1138.         had 34,000 lines of code, but it required about 20,000,000 bytes
  1139.         of storage. The difference was, the second program did almost
  1140.         everything at the group level, MOVE's, parameters, etc. The
  1141.         parser attempts to relate the elements in the sending and
  1142.         receiving groups, meaning there were several hundred relations
  1143.         for each group activity. So, it's a good idea to delete the
  1144.         .dat, .exp, and .prc files once they've been loaded into the
  1145.         PEO data bases.
  1146.  
  1147.  
  1148.         RESERVED WORDS
  1149.  
  1150.         COBOL reserved words from the various versions of COBOL
  1151.         must not be used as data element names or procedure names.
  1152.  
  1153.  
  1154.  
  1155.  
  1156.         IV.  JWY&Assoc., Inc.'s support for PEO.
  1157.  
  1158.         JAMES W. YOUNG & ASSOCIATES, INC. provides three month's mail
  1159.         and CompuServe support in accordance with the Association of
  1160.         Shareware Professionals' policy of  support for registered
  1161.         software, applicable to JWY&Assoc, Inc.'s PEO.
  1162.         After that period, support can be continued by licensee paying
  1163.         ten (10) percent of the original registration price (ten percent
  1164.         of $119.00, or $11.90, annually. Customization of SEO (the
  1165.         parser) and PEO is available, on-site and off-site. Please
  1166.         contact JWY&Assoc, Inc. for more information.
  1167.  
  1168.  
  1169.  
  1170.  
  1171.         V. qikstart
  1172.  
  1173.         DISCLAIMER - AGREEMENT
  1174.  
  1175.         USERS OF PROGRAM ENTITY ORGANIZER (PEO) AND ITS SUPPORTING
  1176.         SOFTWARE, THROUGHOUT THIS DOCUMENT, REFERRED TO AS SEO, MUST
  1177.         ACCEPT THIS DISCLAIMER OF WARRANTY:
  1178.  
  1179.         PROGRAM ENTITY ORGANIZER (PEO) AND SEO ARE SUPPLIED AS IS.
  1180.         THE AUTHOR AND PUBLISHER DISCLAIM ALL WARRANTIES, EXPRESSED
  1181.         OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF
  1182.         MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE. THE AUTHOR
  1183.         AND PUBLISHER ASSUME NO LIABILITY FOR DAMAGES, DIRECT OR
  1184.         CONSEQUENTIAL, WHICH MAY RESULT FROM THE USE OF PROGRAM ENTITY
  1185.         ORGANIZER (PEO) AND SEO. THE USER MUST ASSUME THE ENTIRE RISK
  1186.         OF USING THE PROGRAM. ANY LIABILITY OF THE AUTHOR AND PUBLISHER
  1187.         WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF
  1188.         PURCHASE PRICE.
  1189.  
  1190.  
  1191.         How to install PEO.
  1192.  
  1193.         Run the install batch file by changing to the directory
  1194.         containing the file and type the following
  1195.  
  1196.                  install x applicationID
  1197.  
  1198.         where, x is the target hard drive letter (WITHOUT THE COLON)
  1199.         and applicationID is a one to eight byte name you give to your
  1200.         set of COBOL programs.
  1201.  
  1202.  
  1203.         The install.bat file will create a directory called, MACHY.
  1204.         The install.bat file then copies the PEO files to the MACHY
  1205.         directory. The install.bat file creates a sub directory of
  1206.         MACHY by using the one to eight byte applicationID.
  1207.         Install.bat will create three sub directories of the
  1208.         application ID: COBOL, COPY, and EXS. The peo.exe file is
  1209.         copied to the EXS sub directory. The EXS sub directory is
  1210.         used by the parser to pass files to peo.exe. The COBOL and
  1211.         COPY sub directories are defaults for the application ID's
  1212.         source code.
  1213.  
  1214.         Here's what the directories look like after install.bat is run:
  1215.  
  1216.         root                    the c: drive
  1217.          |
  1218.          MACHY                  the preprocessor and parser are here
  1219.           |
  1220.           application ID        the working directory for a set of COBOL
  1221.            |                    code
  1222.            |
  1223.            |_ EXS               the peo.exe file resides here
  1224.            |
  1225.            |_ COBOL             the default for the COBOL source files
  1226.            |
  1227.            |_ COPY              the default for the copy books
  1228.  
  1229.  
  1230.  
  1231.         How to start using PEO.
  1232.  
  1233.         PEO is as easy to use as 1, 2, 3:
  1234.  
  1235.                 1. preprocess all the COBOL source code and copy books,
  1236.                 2. parse the program(s), and
  1237.                 3. load into the PEO data base, then analyze the program.
  1238.  
  1239.         Step one must be done at least one time during the "life-cycle"
  1240.         of PEO for a particular set of COBOL programs.
  1241.  
  1242.         Step two parses the COBOL program and prepares it for PEO.
  1243.  
  1244.         Step three, PEO, loads the COBOL program's output from the
  1245.         parser and interacts with the user with easy to use screens
  1246.         to do the analysis and documentation.
  1247.  
  1248.  
  1249.         How to execute the programs. From the MACHY directory:
  1250.  
  1251.                 Type
  1252.  
  1253.                 prepro applicationID
  1254.  
  1255.         where applicationID is the same as above. This is step one.
  1256.  
  1257.         After step one finishes, type
  1258.  
  1259.                 seoexp00 applicationID programname
  1260.  
  1261.         where applicationId is the same as above and programname is
  1262.         the name of the COBOL source file. This is step two.
  1263.  
  1264.         Change to the \MACHY\applicationID\EXS directory and type
  1265.  
  1266.                 peo
  1267.  
  1268.         Follow the instructions on the PEO screens to load the program
  1269.         and select the program for analysis and documentation. The PEO
  1270.         screens are intuitive and you'll recognize immediately how
  1271.         similar they are to using a compile listing for analysis.
  1272.  
  1273.  
  1274.         It's likely your COBOL source code is already installed in
  1275.         a directory; or, you do not want to put the programs and
  1276.         copybooks in the PEO default directory. If either is true,
  1277.         you must set the DOS environment variables listed below; type
  1278.  
  1279.         set SEOCOBOL=drive[path]
  1280.         set SEOCOPY=drive[path]
  1281.  
  1282.         where drive is the letter of the drive containing the COBOL
  1283.         source code and [path] is the path to the directory of the
  1284.         source code.
  1285.  
  1286.         The COBOL programs must have a .cbl file extension and the
  1287.         copy books must have a .cpy file extension. The DOS RENAME
  1288.         command can add/change extensions for all files in a single
  1289.         directory. Please refer to the DOS manual.
  1290.  
  1291.         The DETAILS.DOC file contains a deeper explanation of these
  1292.         procedures and a discussion of performance considerations.
  1293.  
  1294.  
  1295.         One final note. PEO was designed for mainframe COBOL; e.g.,
  1296.         ANS74, ANS85, OS/VS, and most of COBOL II. It does not support
  1297.         many of the language extensions found in PC-based COBOL. See
  1298.         the file CAUTION.DOC.
  1299.