Century UpDate Automates Y2K Conversion Tasks

Article ID: 2565

Century UpDate is an automated Year 2000 conversion tool from Advanced Systems Concepts, Inc. (ASC), the developer of Sequel, a query and reporting tool, and Abstract/Probe+, an integrated cross-referencing and development environment. Century UpDate, a native AS/400 application, consists of an Impact Analysis module and a Conversion module and builds on the analysis functions of Abstract/Probe+ to offer solutions for the Year 2000 (Y2K) problem.

Century UpDate's Impact Analysis module locates date-field usage throughout your AS/400 applications, providing online inquiries and reports that show the scope and impact of necessary changes. Impact analysis information includes high-level summary statistics, project-costing estimates, and details on each line of source code (CMD, DDS, RPG, RPG ILE, and CL) that must be changed. Although the Impact Analysis module can be licensed separately, it's usually acquired as part of the complete product.

Century UpDate's Conversion module automatically converts existing source code so it's Y2K ready. It uses a "date expansion" approach to converting your applications and provides data windowing when you want to present dates with a six-digit format. Century UpDate creates new source members based on existing source code and the conversion attributes you've selected. You can convert each date field using global or field- specific conversion attributes.

When the conversion is complete, Century UpDate automatically creates new files, rebuilds file relationships, and recompiles programs. It converts data from existing databases to new formats as necessary. In addition, Century Update features a staged conversion option that automatically creates and uses AS/400 database triggers so you can convert some programs in your application without replacing the entire application at one time. (See "JULIE RANSOM TITLE," and "Triggering the Y2K Conversion," Summer 1997 Bonus Issue, for more information about trigger programs.) You can also use Century UpDate for other projects where you need to expand or change a field within an application.

Why Date Expansion?

One of the most important aspects of a Y2K conversion tool is how it converts applications. Although most tools on the market convert applications with some degree of adequacy, others leave side effects you'll have to live with long after the conversion is complete. Date expansion is the cleanest overall approach for Y2K conversion because

  • it doesn't require developers to insert date manipulation code in every affected program or query
  • it solves the sorting problem for dates in both the 20th and 21st centuries
  • it avoids the "coded database" problems inherent with a century digit or 28-year approach
  • it avoids problems caused by splitting date values among separate fields
  • it facilitates full-date representation in display and print files
  • it makes comparisons using eight-digit YYYYMMDD representation without requiring any logic changes to programs currently using six-digit YYMMDD representation.
  • it lets developers retain application code that converts MDY representation to YMD representation within programs
  • it requires changes to only those data structures used by the program because calculations that work with six-digit values will probably also work with eight-digit values
  • it simplifies ongoing development of new programs, user queries, and cross-platform downloads

Although date expansion normally requires a significant amount of manual conversion, Century UpDate completes all the required tasks automatically. It converts data from two- to four-digit years and updates RPG programs (including internal record layouts), CL programs, commands, DDS print files, and display files accordingly. For display and print files, Century UpDate gives you the option of retaining two-digit year date presentation.

Getting Started

It takes about 10 minutes to load Century UpDate and access the main menu (Figure 1). First, set Century UpDate's defaults for your environment. The Century UpDate Defaults screen (Figure 2) is displayed when you select menu option 1; you specify global defaults for the impact analysis and conversion now. Later, you can enter overrides for specific fields if you want them handled differently.

The Defaults screen introduces some of Century UpDate's unique capabilities. The Century window parameter determines how to assign century values when data is converted from two- to four-digit years. (You also use it to convert four-digit dates back into two- digit values for any display or print fields you don't want to expand.) When you select Fixed window as the default, the entry value specifies the earliest year that will be assigned to the 1900s. For example, a fixed window value of 40 causes all two-digit years from 40 to 99 to be interpreted as 20th century values; fixed window values from 00 to 39 will be treated as 21st century values. When you select Sliding window, the current year plus 50 years is the starting year. For example, if the current year is 1997, all two- digit years from 47 to 99 will be converted to 20th century values, and all two-digit years from 00 to 46 will be converted to 21st century values. (See "JULIE RANSOM TITLE" and "Assessing Year 2000 Database Strategies," Summer 1997 Bonus Issue, for more information on windowing techniques.)

The Conversion method parameter activates another feature: the Staged expansion option that automatically converts your database so that unconverted and converted programs can both run in the same environment. You don't even have to convert all the programs that use a major file at one time. Converted programs can be placed in production on an "as needed" basis, greatly reducing the impact and risk associated with replacing many application programs at one time.

The Expand date fields settings tell Century UpDate whether to expand fields in display (Input-capable) and print (Output-only) files. The options for display and print files are

  • expand date fields only if space permits
  • always expand all date fields
  • never expand year/date fields

If you still want to enter two-digit dates in your application screens, Century UpDate inserts windowing code to expand the year to a four-digit value inside your application. If you specify Always expand and the expanded date field doesn't fit, Century UpDate generates a warning message so you can manually edit the layout.

Creating the Cross-Reference

Once you specify the product defaults described above, you generate Century UpDate's "where-used" cross-reference database, the primary information source used to identify date fields in your applications. Select main menu option 2 to display the Load/Remove Cross-Reference Data screen (Figure 3). The center section of the screen won't contain any data until you load the libraries whose members you plan to convert. You do that by simply typing each library name in the Library column (or by selecting names from a prompt) and pressing F6 to submit a batch job that analyzes your library list and builds the cross-reference database.

After you've loaded a library in the cross-reference database, the screen shows the load date and an X for each object type in the library; you can then remove or reload libraries or specific object types from the cross-reference database. If Century UpDate detects missing objects during the load process, it highlights the load date in white. To display a detailed error log, enter 5 next to the library name.

Finding Date Fields

Next, Century UpDate locates all date-field occurrences within your application. Select main menu option 3 to display the Define Field Definition Search screen (Figure 4). Now you can enter search parameters to identify potential date fields within externally or program-described files. To include impacted fields in your search results, specify Y in the Include impacted fields in list field. The software includes default search parameters, but you can modify them or define any number of customized queries to search for date fields. You can enter parameters to search for characters within field names, characters within field description text, fields with certain lengths and decimal positions, and other user-defined tests to identify potential date fields.

Once you've entered the search parameters, press F9 to initiate a search of the cross- reference database. You review the results and pick the actual date fields displayed in the top half of the Work with Field Definitions screen (Figure 5). The display's bottom half contains a list of the confirmed and selected date fields. You must complete this step carefully and thoroughly to ensure the success of the impact analysis and conversion. To help evaluate and select date fields, you can run "drill-down" options to display the data held in the field or the entire record. Another option shows a list of impacted fields.

You can specify a number of customized conversion attributes for each date field. These attributes drive the logic in the conversion programs. Settings specify field length, format, and whether to use the fixed- or sliding-window approach to six-digit presentation for converted dates. You can also specify how to convert date fields containing all zeros, nines, or blanks.

Generating the Impact Analysis

After you've identified the date fields in your application, menu option 4 (Load Impact Analysis Data) generates the impact analysis database, which rigorously analyzes source code to identify program-defined work fields that must be expanded. It also uses the cross-reference database, package defaults, and conversion attributes specified for each date field to determine the scope and impact of necessary changes.

Menu option 5 lets you print impact analysis reports or review the impact analysis information online via three general classifications of reports and inquiries: Date Field/Members Where Used, Member/Date Fields Used, and Project Costing. (You can review sample impact analysis reports and inquiries at ASC's Web site, http://www.asc-as400.com.) Menu option 6 (Ignore impacted work fields in programs) lets you override field expansion on a case-by- case basis to avoid expanding fields needlessly.

Century UpDate helps estimate project costs during impact analysis by applying user- supplied cost factors to calculate programmer resource requirements and programmer costs. Century UpDate provides default values based on feedback from a number of companies doing conversion projects. The impact analysis estimates reflect the cost of doing the project without the assistance of Century UpDate and can be performed during the trial period to see how much time and resources Century UpDate can save you.

Converting Source Code

The automated conversion process eliminates weeks and even months of manual effort. Menu option 7 (Convert Source) lets you submit a batch request that runs the conversion process. Changes are made to members copied by either Century UpDate or your change management system, rather than to your existing source members.

Two change management packages (CMPs) for the AS/400 - Aldon CMS from Aldon Computer Group and TurnOver from SoftLanding Systems - work seamlessly with Century UpDate. Century UpDate tells the CMP what source code must be modified during the conversion process. The CMP checkout function copies this code to a development library and initiates a Century UpDate function to convert it.

After the conversion, you can see both original and new lines of source code to determine exactly what changes were made. Then the CMP automatically recreates all object relationships and recompiles programs. (Century UpDate includes similar functions.) After testing is complete, the CMP manages the promotion of source and objects into production. In addition, it initiates a Century UpDate function that expands production data to the new format.

Century UpDate converts RPG, ILE RPG, CL, DDS, internally described record layouts, and command definitions. ASC's Web site contains before-and-after examples of converted members.

You can review the changes by running menu option 8 (Work with Converted Source) and looking for "CU" (or your chosen characters), inserted by Century UpDate, in positions 3 and 4 of every line of converted source code. You can also set an optional default to comment out and retain original lines of source code for a before-and-after view of the changes.

Converting Data and Recompiling Source

Menu option 9 (Recompile Converted Source) automates and simplifies re-creating file relationships, recompiling affected programs, and converting data by letting you submit a batch request that completes these tasks at one time. You can also partition the effort into multiple requests as your needs dictate.

Century UpDate re-creates physical files, all associated logical files, and any database or device files that reference converted files via the REF or REFFLD keywords. All current data is preserved, along with file attributes, physical/logical structure, and journaling. Files are generally compiled into a new library. Programs dependent upon the converted files are also recompiled. If an error is encountered while a file is being compiled, built-in error recovery restores the physical and logical files to the original status.

Then, during the recompile or as a separate process, Century UpDate maps the data from the original files into a new database containing expanded date fields. Date values are expanded based on the windowing parameters specified in the Century UpDate defaults.

When Will You Begin?

Recent surveys indicate that many AS/400 sites haven't yet begun a Y2K conversion effort. If your company is one of these, you need to get started. Symptoms will probably occur well before January 1, 2000, and there is no magic incantation to make the issue disappear - you must simply do the work. While the effort required for a manual conversion effort is daunting, a tool such as Century UpDate can automate and simplify the most time-consuming and tedious tasks.

Product Information

Century Update
Y2K conversion tool

Platform :
AS/400 running V3R7 or above or V2R3 or above

Price :
$20,000 for entire product; $7,500 for Impact Analysis only

Vendor:
Advanced Systems Concepts, Inc.
(847) 605-1311; fax (847) 605-1912
E-mail: asc@asc-as400.com

http://www.asc-as400.com

Demo Booth provides a practical, technical look at application development and systems management/operation tools. In Demo Booth, software vendors provide concise, concrete explanations of how their products can solve common AS/400 problems. The vendors speak for themselves — NEWS/400 technical editors referee submissions to eliminate promotional material, but vendors select their own problems, solutions, and styles of presentation.

ProVIP Sponsors

ProVIP Sponsors