Previous Reporting on the Worksheet Revolve/2000 Next

Chapter 15: SmartFind Wizard

This chapter describes how using SmartFind Wizard you can find lines of source code that could become points of interest (POIs) in verifying or fixing code. SmartFind Wizard generates a Candidate List, providing an effective method of finding date related source code.

15.1 The Candidate List

You use the SmartFind Wizard to generate a list of candidates which could become POIs when moved to the worksheet. They are based on a range of attributes of the candidates, such their names or their type and size. You can generate a candidate list with the default settings of SmartFind Wizard or you can customize the settings.

15.1.1 Building a Standard Candidate List

The standard candidate list is built by the default settings of the Candidate Wizard. This uses preset search criteria, filters and rules for identifying the potential candidates. These form the candidate list. You can then examine the candidates in more detail and reduce their number until the list contains only genuine points of interest that need to be verified or fixed.

To build the list, in the Year 2000 menu, select SmartFind Plus, click Candidate Wizard and then select Standard, click Next and Finish. The wizard will automatically start the find process. In general terms, the wizard finds the candidates in two stages by:

  1. Building a list of potentially date-related elements, based on the size and type of data items, some specific literals, and other criteria. These potentially date-related elements form the candidate list.

  2. Examining the lines of code where each candidate is used, and reducing the list to only those lines containing suspect operations, such as comparisons and subtractions. The candidate wizard also filters out some other items that are not of interest, such as data items formatted for display using PIC ...V... for a decimal point.

You can now use Add to Worksheet Add to Worksheet to take selected candidates from the candidate list and add them to the project's worksheet. When in the worksheet the candidates become points of interest. You then work from the worksheet removing and adding points of interest. Ultimately, the worksheet contains all the genuinely date-related points of interest and their verification categories or fixes.

15.1.2 Building a Custom Candidate List

Building a custom candidate list enables you to tailor the searches to suit your application, such as an application that never uses data items of a particular type for dates. The custom list also gives you the flexibility to tailor the candidate list to precisely the elements you want to work on, such as only those of a specific size. It also gives you a shortcut to finding the candidates in a specific area.

To build the list, in the Year 2000 menu, select SmartFind Plus, click Candidate Wizard and then select Custom, click Next and where appropriate configure the search pattern then click Finish. In general terms, the wizard finds the candidates in two stages by:

  1. Building a list of potentially date-related elements, based on the scope of the candidate list that you choose and the criteria you specify for the candidates.

  2. Filtering out some items that are not of interest, using any filters that you previously set. Note that the wizard does not examine how the candidates are used and does not apply any usage rules, unless they are already set.

You can choose any or all of the following to define the scope of the candidate list, and so what to examine for inclusion in the list:

You can specify the following criteria to include the corresponding candidates in the candidate list:


Note: When the wizard has built a custom candidate list, the wizard does not set the default filters and the SmartFind Plus usage rules. To set them yourself, use Data item filters and Usage inclusion on Display Filters in the SmartFind candidate list window.


You can now use Add to Worksheet Add to Worksheet to take selected candidates from the candidate list and add them to the project's worksheet. When in the worksheet the candidates become points of interest. You then work from the worksheet removing and adding points of interest. Ultimately, the worksheet contains all the genuinely date-related points of interest and their fixes.

15.1.3 Finding Data Items Based on their Names

When you build a candidate list, you can search for data items based on their names. You can specify the exact names or partial names of data items. For example, you can search for all data items with DATE anywhere in the name by specifying *DATE*, where * represents a match with any character and any number of them, and where the name is not case specific.

After building the candidate list, you can also make exceptions to the name criteria. For example, you might want to exclude *UPDATE, even though you included all data item names with *DATE*. You do this by filtering out the unwanted items.

In addition, you can expand the candidate list to view all the statements where each data item is used. You can filter out data items that you are not interested in, such as data items declared as 88-level conditionals with ALL clauses.


Note: If you give the full name of a data item to include it in the candidate list, it stays in the list regardless of any filters you set.


15.1.4 Finding Data Items Based on their Size and Type

When you build a customized candidate list, you can search for data items based on their data definitions of size and data type, or a mixture of both the name and the data definition.

You can find data items based on size and data type - you specify each combination of size and data type that you want when you build the candidate list. For example, you can search for data items of character display and 6 characters long, as defined in the following line:

03 ws-something PIC X(6).

15.1.5 Finding Literals

When you are building a customized candidate list, you can include literals that might be date-related, such as the literal 19, which might be used in the following statement:

MOVE 19 TO century

In the same way as specifying data items by name, you specify the exact or partial literals that are potentially date related when you build the customized candidate list.

15.1.6 Finding Text in Non-COBOL Components

When building the candidate list, you can include date-related text strings in text components of your project. Text components are unparsed source code, such as non-COBOL programs, that are loaded into the database as part of your project. For example, the following text line is found as matching the text string *DATE*:

today-date = "Nov 5, 2006"

In the same way as specifying data items by name, you specify the text strings you want when you build the candidate list.

15.1.7 Displaying the Candidate List

Having built the candidate list, you can manipulate it in a number of ways to examine its contents. You can reorganize the list on different bases, such as by data item or by program. You can also access the source code directly from the candidate list, click to divide the screen.

The candidate list is displayed in hierarchical folders, which you can open and close by double-clicking the folders or click one the buttons

The top-level folders represent the candidate's category that you choose. Each folder might represent a data item, and when you open the folder, you see the lines of code where that data item is used. Alternatively, each folder might represent a program, and when you open the folder you see all the program's candidate data items, each in their own folders, which you can open to see the relevant lines of code. For more on these display hierarchies, see the section Refining the Candidate List.

The candidate list gives details on each candidate. Most of the columns give data item-specific detail, although the source program or copybook is shown for all candidates, where it is known.

A data item's match flags indicate the criteria and filters that the data item matches. They show why the data item was included in the list, by showing which of the wizard's criteria it matches. The match flags also show which data items you can filter out of the list, by virtue of their matching the currently specified filters.

Use Status Bar to turn on and off the status line at the top, which shows how many matches there are. The number of matches corresponds to the type of candidates you are displaying. For example, it might show the number of programs that contain candidates, or the number of candidate data items.

You can choose how to structure the candidate list and on what basis to sort it, such as in alphabetical order of data item or program, or in order of the size of the data items. You use Display Filters to do this, and check the category of element you want to sort on.

Use View Source Code to display the source for the candidate you have selected in the candidate list. This divides the window. The top part shows the candidate list with one of the candidates selected, and the bottom part shows the source code of the selected candidate. This enables you to analyze the code in more detail and modify directly.

15.1.8 Refining the Candidate List

You can refine the candidate list in various ways, as described in the Worksheet chapter.

We recommend using the worksheet to refine the candidates. It is simpler and more effective to add candidates to the worksheet and to refine them there.

It is possible to refine the list based on how the candidates are used. To do this, use Usage inclusion on Display Filters. You can specify the SmartFind Plus recommended usages, which captures only suspect operations (operations that cause a logic problem when processing dates). These operations include comparisons, subtractions, sorts, etc.

15.1.9 Saving the Candidate List and Criteria

You can save the candidate list at any stage, and also the criteria you used to build it. You can reload either of these later when you want to continue working on them.

As well as saving complete candidate lists separately, you can save selected candidates in a worksheet together with other candidates you have previously saved there. You then have one central point to work from for fixing, tracking status, reporting and verifying. You can add to the worksheet at any time.

The following options are available:

Click this:
To do this:

Add to Worksheet
Saves the selected data items and statements in the SmartFind Plus worksheet, together with any already there. The worksheet has the .mdb extension and is automatically saved when you leave SmartFind Plus.

Save to File
Saves the candidate list to a text file, for which you can choose the filename and location. The candidate list is saved expanded or compressed to the same extent as it is currently displayed.

Save Date Research
Saves the candidate list and the criteria you used to include candidates in the list together with the filters you used for excluding candidates and the individual candidates that you removed. Also any impact information you collected from an Impact Analysis is saved. All this research is saved in a file with a .rev extension.

Save Date Criteria
Saves the criteria you used to include candidates in the candidate list, together with the filters you used for excluding candidates. The criteria is saved in a file with a .cri extension.

Load from File
Reloads the specified date research file (.rev) that you previously saved, or the specified the date criteria file (.cri) that you previously saved.


Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.
Previous Reporting on the Worksheet Revolve/2000 Next