image
CHAPTER
8
Change Impact Analyzer
image ou use Change Impact Analyzer to identify files, PeopleCode, and managed definitions that have been affected by changes to unrelated definitions. Change Impact Analyzer differs from compare reports tools, which reveal differences between two versions of the same definition. Basically, Change Impact Analyzer is a configurable version of Application Designer’s Find Definition References command. It is capable of searching multiple definitions, infinite levels deep.
Setup, Installation, and Configuration
Like Change Assistant, Change Impact Analyzer is a Microsoft Windows–based program. Although not automatically installed with PeopleTools, the setup program is included in %PS_HOME%setupPsCIA. To install Change Impact Analyzer, launch %PS_HOME%setupPsCIAsetup.exe. The installation wizard is rather short and asks that you indicate the JDBC driver type and install location.
Java Database Connectivity (JDBC) is a standardized Java API that defines how client applications connect to a database. The intent of JDBC is to abstract database implementation details from application code, allowing a developer to code for the common JDBC standard. The Java language includes code for these abstractions, but each database vendor is responsible for the actual implementation.
When you are prompted for a JDBC driver type, select the name that matches your PeopleSoft database platform. For PeopleTools 8.52, options include Oracle, SQL Server 2008, DB2, Sybase, and Informix.
The Change Impact Analyzer default install location is your Windows program files directory. Change Impact Analyzer allows the installer to select an alternate directory if desired.
Installing a JDBC Driver
If your PeopleSoft database is an Oracle database and you selected the Oracle JDBC driver type when installing Change Impact Analyzer, your JDBC driver is already installed. If your site uses an alternate database platform, you will need to install the JDBC driver yourself. Here’s how to install the JDBC driver:
 
1.    Acquire (download, copy, and so on) your database vendor’s type 4 JDBC driver.
2.    Copy the JDBC driver into the jdbc subdirectory of Change Impact Analyzer’s installation directory. (On my workstation, the path to the jdbc directory is C:Program FilesPeopleSoftChange Impact Analyzerjdbc.)
3.    The Change Impact Analyzer launcher (menu icon) created by the installation program launches a batch file. Confirm that this batch file includes your JDBC driver’s jar file. To confirm, open the file C:Program FilesPeopleSoftChange Impact Analyzerpscia.cmd and search for jdbc. The following listing shows the entry for my JDBC driver:
image
4.    If your batch file does not contain a jdbc line, you’ll need to add one. Copy the last SET CLASSPATH line and replace the text after the semicolon (;) with the path to your JDBC driver jar file.
 
The Change Impact Analyzer Rules Editor also launches from a batch file. Open psciare.cmd and confirm/apply the same JDBC driver value. Basically, the pscia and psciare programs require the same CLASSPATH environment variable.
Configuration
To configure the Change Impact Analyzer, follow these steps:
 
1.    Launch Change Impact Analyzer and select Configure | Connectivity.
2.    In the Configure Connectivity dialog, select your database type and enter connection parameters specific to your environment. Figure 8-1 shows my configuration parameters.
3.    If your JDBC driver or environment configuration requires additional or alternate JDBC parameters, select the Override Connection String checkbox and enter the appropriate values.
4.    Click the Test Connection button to test the connection settings. Change Impact Analyzer will prompt for database credentials prior to connecting.
5.    Configure the URL used to launch PeopleSoft pages online by selecting Configure | Reporting and Logging Options.
6.    In the Options dialog, update the URL Prefix to match your PeopleSoft site’s URL. Change Impact Analyzer will use this prefix when displaying relative URL definitions. Figure 8-2 shows the reporting and logging options.
image
FIGURE 8-1.   Connectivity configuration parameters
image
FIGURE 8-2.   Reporting and logging options
image NOTE
On Windows Vista or later versions, be sure to launch Change Impact Analyzer using the Run As Administrator option.
Preprocessing
Unlike other managed definitions, PeopleTools does not maintain enough metadata to perform a proper analysis of PeopleCode and file references. Change Impact Analyzer will build this metadata upon request. You need to run the preprocessing programs only if the source contents changes (PeopleCode or files) and you require a fresh version of cached metadata.
image NOTE
When you are running the preprocessor programs, be sure to use database credentials with write access to the Change Impact Analyzer cache tables mentioned in the sidebar “Change Impact Analyzer Authentication” later in this chapter.
PeopleCode and File Preprocessing
Initiate the PeopleCode preprocessor program by selecting Tools | PeopleCode Pre-Processor from the Change Impact Analyzer menu bar.
image NOTE
Running the PeopleCode preprocessor program may require a significant amount of time and use a fair amount of computing resources. I suggest launching the program right before heading off to a meeting, lunch, or some other activity where your workstation will be free to build metadata. On my workstation, the PeopleCode preprocessor program required approximately 20 minutes to build metadata for a Financials/Supply Chain database. The required runtime is directly related to the amount of PeopleCode within the database.
Launch the file preprocessing program by selecting Tools | File Pre-Processor. As with the PeopleCode preprocessor, the amount of time required to run the File preprocessor is directly related to the number and size of the files to process.
Analyzing Change
Change Impact Analyzer is capable of assessing the impact of a change to a single definition, multiple definitions, all definitions within a project, or all definitions within a change package.
Workspaces
A Change Impact Analyzer workspace is a definition or a collection of definitions along with all impact reports. Initially the workspace contains no impact reports.
Create a new Change Impact Analyzer workspace by selecting File | New Workspace. Enter your database credentials. Change Impact Analyzer will prompt for the definitions to analyze in the Impact Analysis Search dialog (Figure 8-3).
image
FIGURE 8-3.   Impact Analysis Search dialog
The number of definitions within a workspace directly relates to the complexity of the impact analysis: more definitions equal greater complexity.
Let’s analyze the impact of a change to a single PeopleTools definition: record PSOPRDEFN.
 
1.    In the Impact Analysis Search dialog, select the Definition radio button and then select Record.
2.    In the Name field, enter PSOPRDEFN.
3.    Click the Search button in the upper-right corner of the Impact Analysis Search dialog. This will populate the search results list displayed just below the search criteria.
4.    Select an item from the list and click the Add To List For Analysis button located on the right side of the dialog, just under the results list.
Change Impact Analyzer Authentication
Change Impact Analyzer connects directly to the PeopleSoft application database as a named database user. Unlike other two-tier clients, it does not use application security. Oracle recommends that DBAs configure read-only users for Change Impact Analyzer access with the following exception: To run the preprocessing programs, Change Impact Analyzer users must have write (insert/update/delete) permissions to the following tables:
 
■   PSCIAPCXREF
■   PSCIAPCXREFTIME
■   PSFILEPROCESSRUN
■   PSSQLXREFDEFN
■   PSSQLXREFITEM
■   PSFILESQLXREFDEFN
■   PSFILEXREFDEFN
 
The user running Change Impact Analyzer requires only write access to these tables when running the File and PeopleCode preprocessor programs. If necessary, a DBA may run these processes when appropriate.
In addition to the preceding requirements, the first time a user runs the PeopleCode preprocessor program, Change Impact Analyzer will create the PSCIAPCXREF and PSCIAPCXREFTIME tables. The user who runs this initial process must also have CREATE TABLE access.
The lower half of the Search dialog contains a list of all selected definitions—definitions to analyze. You can add multiple definitions of a variety of types by searching for the definition and then adding it to the list of objects to be analyzed. Figure 8-4 shows the dialog containing the definition we chose to analyze: PSOPRDEFN.
image
FIGURE 8-4.   Impact Analysis Search dialog
Full Analysis
Analyze the impact of changes to definitions within the workspace by selecting Tools | Full Analysis. Change Impact Analyzer will search PeopleTools metadata for references to objects contained within the workspace. Figure 8-5 shows the Change Impact Analyzer after performing a full analysis.
image
FIGURE 8-5.   Change Impact Analyzer full analysis
PSOPRDEFN is a critical PeopleTools record definition that is referenced by hundreds of definitions. You can see the number of definitions that reference PSOPRDEFN within the Statistics pane of the Analysis Workspace. On my Financials/Supply Chain instance, Change Impact Analyzer found over 400 references.
The Change Impact Analyzer workspace is divided into seven tabs:
 
■   Analysis Workspace
■   Impacted-By
■   Impacts Text
■   Impacted-By Text
■   Result Table
■   Find-In Result Tree
■   Find-In Result Table
 
The first tab, Analysis Workspace, will always have content. At a minimum, this tab contains the contents of the selected source definitions. The next four tabs contain relevant content only after an analysis has been performed. The remaining two Find-In tabs contain content only after running the Find In command (see the “Find In” section later in this chapter).
Analysis Workspace
The Analysis Workspace tab displays a hierarchical list of the workspace’s definitions grouped by definition type. Prior to running an analysis, this tab contains only the definitions inserted when the workspace was created. After performing an analysis, this list grows to contain all definitions searched plus all definitions impacted by the searched definitions. In the PSOPRDEFN example, the list of definitions also includes SQR reports that reference PSOPRDEFN.
Impacted-By
Similar to the Analysis Workspace tab, the Impacted-By tab contains a list of searched and impacted definitions, but they are organized slightly differently. In this view, each impacted definition contains a node list of definitions affecting the selected definition. For example, an impact analysis of PSOPRDEFN includes the USER_GENERAL page as an impacted definition. Expanding the Page Types/USER_GENERAL node reveals a list of searched definition types that impact the USER_GENERAL page. Since I limited the scope of the search to PSOPRDEFN, this list contains only Record definitions. Figure 8-6 shows the definitions impacting the page USER_GENERAL.
image
FIGURE 8-6.   Impacted-By tab
Impacts Text
The Impacts Text tab contains a text-based report that lists all definitions impacted by the analyzed definitions. The report is organized by definition headers with a list of impacted definitions below each heading.
Impacted-By Text
The Impacted-By Text tab is exactly the opposite of the Impacts Text tab. Each heading is an impacted definition and contains a list of definitions causing that impact.
Result Table
When analyzing the impact of a definition, I find the Result Table tab to be the most valuable. The Result table contains one row for each definition. Rows with a blank Impacted Definition column are impacted definitions that have not been analyzed. These rows represent definitions impacted by the analyzed definitions. Analyzed definitions, by contrast, have values in the Impacted Definition and Impacted Name fields. Figure 8-7 shows the Result table. The upper rows represent unanalyzed impacted definitions, whereas the lower rows represent analyzed definitions. In this example, I analyzed only the PSOPRDEFN table, which is why the Name field contains the value PSOPRDEFN.
image
FIGURE 8-7.   Result Table tab
You may open a definition in Application Designer by right-clicking a row and then selecting Open Impacted in PSIDE.
Traversing the Impact Tree
When I ran the impact analysis of PSOPRDEFN, Change Impact Analyzer found over 400 definitions and added each to the workspace. If I run the Full Analysis again, Change Impact Analyzer will expand the impact analysis to more than 400 definitions. On my PeopleSoft instance, this resulted in 1864 additional references. Running it a third time produced 9394 additional references. On the fourth run, Change Impact Analyzer identified nearly 40,000 references! I started with a little over 400 definitions that actually referenced PSOPRDEFN. The downstream impact, however, reached tens of thousands of definitions!
Targeted Analysis
Earlier you saw that it is possible to analyze a single definition by creating a workspace that contains just that one definition. After analyzing that one definition, you may be interested in seeing the impact of changing an impacted definition. For example, USER_GENERAL is a definition impacted by PSOPRDEFN. I can analyze the USER_GENERAL definition by right-clicking USER_GENERAL within the Analysis Workspace results. Figure 8-8 shows the USER_GENERAL analysis results within the previously analyzed PSOPRDEFN results.
image
FIGURE 8-8.   USER_GENERAL analysis results
The analysis of USER_GENERAL shows that a change to USER_GENERAL would impact the component USERMAINT. By analyzing USERMAINT, I can see that changing USERMAINT would impact the component interfaces SYNC_USER_PROFILE, USER_PROFILE, and USER_PROFILE_SYNC.
Analyzing Change Packages
To analyze the impact of an Oracle-delivered change package, follow these steps:
 
1.    Create a new workspace.
2.    In the Impact Analysis Search dialog, select the downloaded change package by choosing the Change Package radio button on the left side of the dialog and then clicking the Search button.
3.    Click the Select button to view a list of definitions included within the change package. Mark each item you want to analyze, or mark the top item to select all items.
4.    In the Package Items dialog shown in Figure 8-9, click Add To Search to add each selected item to the list of definitions to analyze.
5.    Click OK to create the workspace.
image
FIGURE 8-9.   Package Items dialog
Figure 8-10 shows the Impact Analysis Search dialog containing each of the change package’s definitions.
image
FIGURE 8-10.   Change package Impact Analysis Search dialog
Find In
You can search for references to workspace definitions by selecting Tools | Find In from the Change Impact Analyzer menu bar. The selection mechanism is similar to Application Designer’s Find In feature, but with additional scope options as well as the ability to search for multiple strings. Figure 8-11 shows the Find In dialog configured to search HTML definitions for the text isCrossDomain.
image
FIGURE 8-11.   Find In dialog
image CAUTION
The Find In command performs searches by loading large quantities of text into memory. Oracle recommends limiting the Find In scope by selecting specific PeopleCode program types, not all program types. You can fine-tune the amount of memory available to Change Impact Analyzer by modifying the -Xms and -Xmx values specified in the pscia.cmd Windows batch file.
Find-In Result Tree
After running the Find In command, Change Impact Analyzer populates the Find-In Result Tree tab with a list of results categorized by definition type and item name. Figure 8-12 shows the Find-In Result Tree tab displaying each line in which the HTML definition PT_SAVEWARNINGSCRIPT contains the text isCrossDomain.
image
FIGURE 8-12.   Find-In Result Tree tab
Find-In Result Table
The Find-In Result Table tab contains a tabular listing of each definition containing the text isCrossDomain. To view a definition within Application Designer, right-click the row containing the definition you want to view and then choose Open in PSIDE from the context menu.
Rules
Change Impact Analyzer uses configurable rule sets to identify affected definitions. To view the list of installed rules, choose Configure | Rules. Figure 8-13 shows the default rules files installed with Change Impact Analyzer.
image
FIGURE 8-13.   Installed rules files
You can use the Change Impact Analyzer Rules Editor to do the following:
 
■   Create new rules files
■   Add new rules to existing rules files
■   Change existing rules
■   Override existing rules
 
Let’s launch the Change Impact Analyzer to view rule sets.
 
1.    When the main rules editor program appears, select File | Load Rules File. Delivered rules are installed in the rules subdirectory of the Change Impact Analyzer installation directory.
2.    Select the PeopleTools Definition Selection Rules.xml file. In a standard Change Impact Analyzer installation, the full path to this rules file is C:Program FilesPeopleSoftChange Impact Analyzer ulesPeopleToolsDefinition Selection Rules.xml. Figure 8-14 shows the Rules Editor main window.
3.    Using the outline on the left side of the Rules Editor window, expand the nodes Rules/CHANGED: DefinitionSelection/Impacted: SQC/Rule Set: DefinitionSelection/Pillar: PT/Version: 8.00/DB Platform: default to view the rule(s) associated with SQC files. Figure 8-15 shows the rule criteria editor.
4.    To view the SQL associated with a rule, select the rule from the list of rules and then click the Edit Rule button. Figure 8-16 shows the SQC rule definition in the Edit Rule dialog.
image
FIGURE 8-14.   Rules Editor main window
image
FIGURE 8-15.   Rule criteria editor
image NOTE
The WHERE clause in Figure 8-16 uses like criteria with a bind variable. Typically a bind variable used with like criteria must be concatenated to wildcard characters. In Change Impact Analyzer rules, wildcards can be part of the bind variable string.
image
FIGURE 8-16.   SQC rule definition
Rule definitions contain the following fields:
 
■   Definition Name
■   Definition Print Name
■   Definition ID
■   Java Rule
■   Rule
■   Action
Definition Name
Enter the name of the SQL Result column containing the definition’s ID. For example, if the rule is supposed to identify records impacted by a change to a field, the value for Definition Name would be RECNAME.
Definition Print Name
The Definition Print Name field identifies the SQL result column containing the human-readable description of the impacted definition. When choosing a human-readable column, you should carefully consider the intent of displaying the column. Generally speaking, developers use the DESCR or NAME field when displaying information to users. PeopleSoft’s delivered rules, however, usually share the same column for Definition Name and Definition Print Name. Displaying the internal ID makes it easier for users to find displayed definitions within Application Designer. Oracle recommends using the same value for Definition Name and Definition Print Name.
Java Rule
Change Impact Analyzer allows administrators to define rules as Java classes. For the most part, these Java rules combine SQL and Java business logic to identify and display results. Oracle uses Java rules to create complex selection logic that cannot be written using standard, database-independent SQL.
image NOTE
Considering the differences between database platforms that run PeopleSoft applications, this makes sense for Oracle. For a customer, however, considering the power of a modern database procedural language, I don’t think Java rules are necessary. I believe a creative programmer can achieve the same results using the target database’s procedural language.
Rule
For Java Rules, the Rule field contains the Java class name. Otherwise, the rule is an SQL rule and should contain valid SQL. Here is an example of a rule that selects record definitions impacted by a change to a field definition:
image
Conclusion
Change Impact Analyzer is a powerful tool for analyzing relationships between definitions. Consider the following Manager/Analyst conversation:
Manager: What would be the impact of adding a Remote Worker flag to the User Profile?
 
Analyst: Let me open the User Profile page within Change Impact Analyzer to identify the downstream effect of that change. One moment…. It appears that adding the Remote Worker flag to the User Profile would require updating only three component interfaces. If the field is optional, then we should be OK. If it is marked as a required field, then we may have to review an additional 13 PeopleCode programs that use those component interfaces.
In this chapter you learned how to use Change Impact Analyzer to navigate through a definition impact path to answer questions just like this one intelligently. This text covered most of Change Impact Analyzer’s features and configuration options. For a complete list, refer to the PeopleBook PeopleTools: PeopleSoft Change Impact Analyzer.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset