Understanding Data Item Classification

Suppose your organization is considering adding support for a new currency and that you are going to have to expand the existing exchange rate data field from 9(5)V9(3) to 9(5)V9(6) to accommodate the currency. You will need to know the data fields that are affected in the database, intermediate fields that might contain or use the exchange rate field in calculations, and so forth.

Seed Fields

Use Change Analyzer to search for the exchange rate field. The object of the search is called a seed field:

  • If the application uses field names like EX-RATE, EXCH-RATE, EXCHANGE-RATE, and RATE-OF-EXCHG, you would search for data names that contain *EXCH* or *RATE*.
  • If you know that some fields already contain the required number of decimal positions, and are interested only in those that don’t, you might further limit the search by filtering on the PICTURE clause format of the variable, selecting only data items that have a format of 9(5)V9(3).
  • You might limit the search even further by choosing fields that have a given initial value.
  • If you know there are data fields that will meet the search criteria for name, but are not what you are looking for, you might set up a list of names to exclude, such as INTEREST-RATE and *PRORATE*.

Synonyms

Once you have found the exchange rate field, you can use Change Analyzer to detect its synonyms. A synonym is a data field whose value is related to the value of a seed field: a field whose value is assigned by a MOVE or REDEFINE statement, for example. In these cases, if you increase the size of the seed field, you will probably need to increase the size of its synonyms as well.

Analyzing Seed Fields and Synonyms

Not every seed field or synonym will be affected by a proposed change. You need to examine the source code for each instance of the field carefully in the Change Analyzer Source pane and in the Interactive Analysis tools accessible from the Source pane. You may want to perform an impact trace showing the flow of data to the field as documentation, or to ensure that you have accounted for each instance.

Seed Lists

Once you determine which fields are affected by a proposed change, you can move the fields between seed lists: Working and Affected, for example. You can generate reports based on your lists, as well as reports showing the affected source code in context.