Visual Basic

Visual DateScope 2000 Fact File

VDS2000 automates the tasks that would otherwise require manual intervention. Adopting an automated approach accelerates the conversion process, provides a framework for control, and reduces the risk of human error. The VDS2000 tool-set consists of two primary components, the Scanning Application Component and the Date Function Library Component. These components assist in date identification/impact analysis, renovation, testing, and debugging.

Date Identification Process

The Scanning Application Component, consists of an executable application that performs an initial pre-scan through the Visual Basic or Excel/Access VBA source code extracting the declarations (or definitions) of all the main elements (tokens) that make up a Visual Basic project. You can add numerous Visual Basic projects to the catalog, allowing a repository and date scan of entire systems or of subsystems.

These tokens include the declaration of any controls, DLLs, constants, global variables, modular level and local variables, User Defined Type (UDT) names and element names and any function or procedure parameters. The Scanning Application Components also scans for the many intrinsic Visual Basic date functions and procedures, such as Now, DateDiff, and CVDate.

The Scanning Application Component provides database support by examining the internal structure of any ODBC or JET database, searching for date-related columns or fields and adding these to the repository.

Most date scanning applications will simply search program files for a predetermined set of date-related keywords. The Scanning Application Component recognizes the need for business domain knowledge by allowing the repository to be extended to include user-defined tokens. A scanning application that cross-references a fixed set of date-related keywords would run the risk of entirely missing a business domain date-related variable such as sEffectiveFrom.

A hierarchical repository display ensures that the user can work through the components of each project in a logical format and visualize the completion of each logical unit. Compare this with the chore of manually trudging through thousands of lines of code unaided and with no physical indication of work completed-chaos!

The Scanning Application Component provides a Results repository (sorted by module and procedure) of all date-related occurrences identified within each of the specified projects. You can print the repository or use it directly for renovation. (See the next section, "Renovation Process", for more details.) Using the repository of date occurrences, you can return to the Visual Basic project knowing each identified line of code in need of possible modification.

The Scanning Application Component provides an automatic update of the source code with annotations marking each of the identified date occurrences. By automating the majority of the Date Identification process, it is possible to increase accuracy because the risk of human error is reduced. The completion time for the whole process is a fraction of the time it takes to run a manual scan. Consider an average Visual Basic project consisting of 15,000 lines of code. Taking an average of four seconds per line, this could take up to two days to complete for the identification of just one application!