Tuesday, December 28, 2010

Compare and Report Tips and Techniques

You may have customizations in your target database that you don’t want overwritten when copying a project.

Application Designer lets you compare the contents of your project with the target database and shows you both online and in generated reports the status of each object in the target and the source database. You can then decide which object definitions to keep.

Note. Comparisons are not always necessary. For example, if you’ve created a project in your development database that consists only of new object definitions, you can be sure that those objects don’t exist in your production database. In this case, you can simply review your upgrade settings and copy the project without fear of overwriting any object definitions in the target.

Topics
Comparable Object Types
Comparison Types
Comparison Reports
Performing Comparisons

Comparable Object Types — The object types that Application Designer can compare are:
Records
Indexes
Fields
Translates
Panels
Panel Groups
Menus
Record PeopleCode
Menu PeopleCode
Colors
Styles

Comparison Types — Two ways to perform a source/target comparison.
One way is to compare all the database objects of the type specified and populate the current project with any objects defined differently in the source than in the target.

The other way is to compare only the objects in the current project.

Topics
Database Comparisons
Project Comparisons
Comparing Records
Database Comparisons

Earlier, we discussed the different methods of selecting objects to insert into a project. One of these methods was selecting objects by comparison. You do this by performing a database comparison, in which the current (source) database is compared with another database.
Any objects defined differently in the two databases are added to the project.

Application Designer performs comparisons one object type at a time. You decide which types of objects you want compared. For each object type you select, Application Designer will remove any existing objects of that type from the current project and repopulate the project based on the comparison results.
For this reason, you should be careful when performing a database comparison on a predefined project.

For example, say your project includes several record, panel, and menu definitions and you perform a database comparison just on panels. All the panel definitions that were originally in the project will be removed and be replaced by any panel definitions found in the compare process. However, the record and menu definitions in your project will not be affected.

Performing a database comparison will also overwrite customized upgrade settings with the defaults for the specified target orientation.

Project Comparisons
If you’ve manually inserted objects into your project and you want to see how those objects differ from the same objects in another database, you’ll want to perform a project comparison. This method compares only the objects in the project, and does not repopulate the project?except in the case of record comparisons, which we explain below. Upgrade settings are never modified when you perform a project comparison.

Comparing Records
When records are compared, during a database or project comparison, any differences found in record fields will be written into the project. For example, let’s say Record A in the source database contains record fields 1, 2, 3, 4, and 5, and Record A in the target database contains fields 2, 4, 6, and 7. Before the comparison, the project contains only Record A. After the comparison, the project would contain Record A and recfields 1, 3, 5, 6, and 7.
Note. This is the only situation in which a project comparison will repopulate a project.

Comparison Reports
By default, when you perform a comparison, the system generates a report for each object type compared. These reports provide detailed information on how each object in the source differs from its counterpart in the target.

Before performing a comparison, you can choose what object status combinations you want to generate reports on. For example, during an upgrade to a new PeopleSoft release, you may decide that if an object is found in the source that was last changed in the target by PeopleSoft and that hasn’t changed since the last upgrade, you don’t need to see any information on the object definition differences (because you intend to accept PeopleSoft’s new version). In this case, you want to filter your compare reports so that a report is not generated if Source = (any status) and Target = Unchanged.

Note. Filtering comparison reports doesn’t affect which objects get added to a project during a database comparison, only which objects are reported. Any object defined differently in the two databases will always be added to the project.

To define the comparison report filter
1. Select File, Project Properties.
The Project Properties dialog (General page) is displayed.

2. Click the Report Filter tab. The Report Filter page of the dialog is displayed. Report Filter Page of the Project Properties Dialog You use the checkboxes to specify how you want to filter your upgrade comparison reports.

3. Select the checkboxes corresponding to the object status combinations you want reported.
Each row in the matrix corresponds to the object status in the source database. Each column corresponds to the object status in the target. The default settings for report filtering will show conflicting customized definitions only. To reset your selections to the default setting, click the Default button. To choose all object status combinations, click Select All. If you don’t want to generate any reports, deselect all of the checkboxes.

4. Click OK.
When you save your project, the report filtering settings you made will be saved and remain set until you change them again. Performing Comparisons To perform a comparison

1. Lock all Application Designer objects in the target database (optional).
If you’re performing a full comparison, it may take several days for you to review all your comparison reports and to set your upgrade settings accordingly. Locking the target database Application Designer objects will ensure that those definitions cannot be changed between the comparison and the time you’re ready to copy.

2. Turn off all tracing.

3. Set your report filtering options, if you haven’t done so already.
For more information see Comparison Reports (Development ToolsApplication DesignerUpgrading with Application DesignerComparing and Reporting).

4. Select Tools, Upgrade, Compare and Report.
The Target Signon dialog is displayed, prompting you to sign on to a target database.

5. Sign on to the target database. Sign on just as you would to any PeopleSoft database. The Compare and Report dialog is then displayed:
Compare and Report Dialog
You use this dialog to set your comparison preferences and to kick off the comparison and reporting processes.

6. Select the Compare Type.
Your options are Project and Database. When you perform a Project comparison, only the objects in the current project?of the specified Object Type(s)?are compared; the contents of the project do not change.
In a Database comparison, all definitions?of the specified Object Type(s)?will be compared.
Warning! If you choose Database, the contents of the current project will be deleted and replaced with objects found during the comparison.

7. Choose the criteria to Compare By.
By default, you compare the databases by the highest Release that the two databases have in common. If you want, you can use the drop-down list to select from lower common releases. Using the Release option, the comparison process will label objects as Changed or Custom/Changed if they’ve been changed since the date/time stamp for that release level. You can choose to compare the databases based on a particular Date instead of by Release. In this case, the comparison process will label objects as Changed or Custom/Changed if they’ve been modified since the Date that you specify.

8. Specify the Run Location. If your Run Location is set to Client, you’ll only be able to select one Object Type(s) at a time, due to locking constraints. If you want to select more than one object type or to Select All object types, you must set Run Location to Server. When you do, you can choose a specific server type from the drop-down list or use the default of (any).

9. Pick a Target Orientation. The Target Orientation option determines how the Upgrade checkboxes in the upgrade definition window will be set for objects that were last modified by the customer in one database and last modified by PeopleSoft in the other database.
If you select the PeopleSoft Vanilla orientation, the Upgrade checkboxes will be set so as to preserve PeopleSoft’s changes. If you select the Keep Customizations option, the checkboxes will be set so that your changes are preserved.

10. Choose your Object Type(s). From the Object Type(s) list, select the types of objects you want to compare. If you want to select all or of most of the types, click Select All. You can then use Ctrl+click to deselect any unwanted types.
Note. The Select All button is only enabled if the Run Location is set to Server. To avoid concurrency problems, you should not select the two PeopleCode object types alongs with the others. The Menu PeopleCode and Record PeopleCode comparisons can be run together, but run them either before or after running the other object type comparisons.

11. If you plan to run the compare report SQRs later from outside the PeopleSoft system (using SQRW) click Apply, then Cancel. Clicking Apply saves your comparison settings to the database so they can be referenced later when you run the SQRs.

12. To perform the comparison now, click Compare. Process Scheduler will begin to run the SQR(s) and the dialog will close. Note. If your Run Location was Client, you’ll have to repeat this procedure from step 3 for each object type you want to compare.

13. After the comparison completes, check for messages.

No comments:

Post a Comment