Analyze Object Links Actions

Analyze Object Links actions perform an analysis of the tree of object links produced by the Find Object Links or Where Used action. The Analyze Object Links action may be used in two ways:

  • To identify an optimal set of impacted executables and screens that would need to be tested in order to exercise the Source objects that may be applied to a system when importing a support pack or transport, or to identify a minimum percentage of the impacted executables and screens required for testing. If required, a set of business critical objects may be included in the set of most-at-risk executables.
  • To identify how the Find Object Links or Where Used action arrived at a parent object or executable, given a particular source object.

Impacted executables are obtained from the Tree dataset output by the Find Object Links or Where Used action. Source objects are obtained from the Source parameter or dataset provided to the Where Used action, or from the ‘Objects to Find’ parameter or dataset provided to the Find Object Links action.

If a most-at-risk transaction code has screens, the Analyze Object Links action finds the transaction’s used screens from the available Usage and Procedure Logging (UPL) data, obtained using the Read UPL Data action. The used screens that most effectively cover the object are recommended for testing, and included in the action’s Result dataset.

Scenario 1: How do we identify an optimal set of executables to test?

The Analyze Object Links action uses the results of the Get Performance History Data or Read Performance History Data action to determine which impacted executables are in use on the system being analyzed. The usage count for each executable may affect whether it is included in the set of most-at-risk executables. This scenario may be used to identify a minimum percentage of the impacted executables required for testing, or to include a set of business critical objects in the most-at-risk executables.

The Analyze Object Links action in this scenario has the following input datasets:

Source

This should be set to either the Objects to Find table passed to the Find Object Links action, or the ‘Source’ table passed to the Where Used action.

Tree

This should be set to the Tree dataset returned by either the Find Object Links or Where Used action.

Usage Counts

This should be set to a table of performance history data returned by the Get Performance History Data or Read Performance History data action.

Cross Reference Objects

A table of source objects for which to find used impacted executables. This may be set to the Objects to Find table passed to the Find Object Links action, or the Source table passed to the Where Used action. The found executables are stored in the Result Cross Reference dataset.

UPL Data

A table of UPL data obtained by the Read UPL Data action.

The Analyze Object Links action in this scenario has the following output datasets:

Cover Log

For each depth in the Tree dataset at which a most-at-risk executable was found, the Cover Log dataset contains the most-at-risk executable and the impacted Source object to which it is linked. It also contains executables at the same depth that have not been recommended for testing because their impacting objects are covered by another most-at-risk executable.

The Cover Log dataset has the following columns:

Column Description
FROM The name and type of a most-at-risk executable, or an executable that has not been recommended for testing because its impacting objects are covered by another most-at-risk executable.
TO The name and type of a Source object that is covered by the executable in the FROM column.
DEPTH The depth in the Tree dataset at which the executable was found.

Result

The Result dataset contains the optimal set of impacted executables and screens that would need to be tested in order to exercise the source objects analyzed by the Find Object Links or Where Used actions. The executables and screens that are recommended for testing may be affected by the Analyze Object Links action’s Recommended Threshold and Business Critical Objects properties.

The Result dataset has the following columns:

Column Description
TYPE The type of a most-at-risk executable to test, obtained from the Tree dataset produced by the Find Object Links or Where Used action.
NAME The name of the most-at-risk executable.
DYNP_PROG For transaction codes that have screens, this column contains the transaction’s associated program name.
DYNP_NUM For transaction codes that have screens, this column contains the associated screen number.
DEPTH The search depth at which the executable was found.
USAGE The usage count for the executable, obtained from the performance history and UPL data supplied to the Analyze Object Links action. For rows with screens, the usage count is the sum of input module and output module UPL usages for the screen.
CHILD_TYPE The type of a source object that would be exercised by testing the most-at-risk executable or business critical object.
CHILD_NAME The name of the source object.
DATE If the Analyze Object Links action’s RFC Destination property is specified, this column contains the source object’s last modification date. This column is populated for the following object types: BSP Applications (WAPA) Classes (CLAS), Domains (DOMA), Data Elements (DTEL), Function Groups (FUGR), Functions (FUNC), Includes (INCL), Programs (PROG), Screens (DYNP), Structures (STRC) and Tables (TABL).
CHANGES If the Analyze Object Links action’s RFC Destination property is specified, this column contains the number of transports on the analysis system that include the transport object. This column is set to 0 if a child object is a table used in a view, and only the view is included in the analyzed transports. This column is populated for the following object types: Classes (CLAS), Domains (DOMA), Data Elements (DTEL), Function Groups (FUGR), Functions (FUNC), Includes (INCL), Programs (PROG), Screens (DYNP), Structures (STRC), Tables (TABL) and Transactions (TCOD).
FANIN If the Analyze Object Links action’s RFC Destination property is specified, this column contains the source object’s fan-in value. The fan-in value of an object is the number of other objects that are referencing it. Multiple references from the same object are counted as one access. This column is populated for the following object types: Classes (CLAS), Domains (DOMA), Data Elements (DTEL), Functions (FUNC), Includes (INCL), Programs (PROG), Structures (STRC), Tables (TABL) and Transactions (TCOD).
FANOUT If the Analyze Object Links action’s RFC Destination property is specified, this column contains the source object’s fan-out value. The fan-out value of an object is the number of other objects that are referenced in it. Multiple references to the same object are counted as one access. This column is populated for the following object types: Classes (CLAS), Domains (DOMA), Data Elements (DTEL), Function Groups (FUGR), Functions (FUNC), Includes (INCL), Programs (PROG), Structures (STRC), Tables (TABL) and Transactions (TCOD).

For business critical objects, only impacted screens will be included in the Result dataset.

Result Summary

The Result Summary dataset provides a summary of all the impacted executables, listing each executable’s usage count and the number of source objects it covers. The Result Summary dataset has the following columns:

Column Description
TYPE The type of an impacted executable, obtained from the Tree dataset produced by the Find Object Links or Where Used action.
NAME The name of the impacted executable.
USAGE The usage count for the executable, obtained from the performance history data supplied to the Analyze Object Links action.
COVERAGE For impacted executables with usage counts greater than 0, the number of source objects that would be exercised by testing the executable.

Result Cross Reference

The Result Cross Reference dataset lists the impacted executables that exercise each of the source objects specified in the Cross Reference Objects table. The Result Cross Reference dataset has the following columns:

Column Description
TYPE The type of an impacted executable that exercises a source object specified in the Cross Reference Objects table.
NAME The name of the impacted executable.
USAGE The usage count for the impacted executable, obtained from the performance history data supplied to the Analyze Object Links action.
DEPTH The search depth at which the source object was found.
CHILD_TYPE The type of a source object specified in the Cross Reference Objects table.
CHILD_NAME The name of the source object.

Source Summary

The Source Summary dataset provides a summary of the source objects passed to the Analyze Object Links action, listing for each source object the number of executables that exercise it, the number of used executables that exercise it, and the type and name of an impacted executable. The Source Summary table has the following columns:

Column Description
TYPE The type of each source object passed to the Analyze Object Links action.
NAME The name of the source object.
COUNT The total number of executables impacted by the source object.
COUNT_WITH_USAGE The number of used executables impacted by the source object. Used executables are obtained from the performance history data supplied to the Analyze Object Links action.
FOUND_TYPE The type of an example executable impacted by the source object.
FOUND_NAME The name of the example executable.

Usage Data Summary

The Usage Data Summary dataset provides a summary of the performance history data supplied to the Analyze Object Links action, indicating the impact status for each used executable. The Usage Data Summary dataset has the following columns:

Column Description
TYPE The TYPE column from the Usage Counts dataset supplied to the Analyze Object Links action.
NAME The NAME column from the Usage Counts dataset.
USAGE The COUNT column from the Usage Counts dataset.
IMPACT

Indicates the impact of the transport (source) objects on this used executable:

R - Indicates that this object is a most-at-risk executable to test.

C - Indicates that this executable is impacted by the source objects but covered by a most-at-risk executable.

U - Indicates that this executable is not affected by the source objects.

Usage Paths

For each used and impacted executable, the Usage Paths dataset stores a single path from the executable to each of the source objects that impact it. The Usage Paths dataset has the following columns:

Column Description
EXE_TYPE The type of a used impacted executable.
EXE_NAME The name of the used impacted executable.
INDEX An index value for each object in a particular path.
TYPE The type of a child object in the path.
NAME The name of the child object.
PARENT_TYPE The type of a parent object in the path.
PARENT_NAME The name of the parent object.

The path from each used impacted executable to an impacting source object may be followed starting at index level 0 by matching child objects in the TYPE and NAME columns with their corresponding entries in the PARENT_TYPE and PARENT_NAME columns.

It can take a long for the Analyze Object Links action to generate the Usage Paths result. With a Tree dataset of typical size (of the order of a million rows), it can take one hour to process each ten executables in the Usage Counts dataset. For this reason, if the Usage Paths property is used, the Usage Counts table should be kept as small as possible.

Example:

Analyze Object Links action optimal set of executables example.

In this example, the Source table is either the Objects to Find parameter or dataset passed to the Find Object Links action, or the Source parameter or dataset passed to the Where Used action.

Scenario 2: How did we arrive at a particular executable?

This use of the Analyze Object Links action helps to answer the question: Given a particular used impacted executable, how did the Find Object Links or Where Used action arrive at the transport object that impacted it?

Example:

Analyze Object Links action arriving at a particular executable example.

The Analyze Object Links action in this scenario has the following action properties:

Path Objects (Input)

Enter the desired used impacted executable’s TYPE and NAME in the FROM columns and the TYPE and NAME of the transport object that impacts the executable in the TO columns. You can enter one or more pairs of path objects.

The Path Objects table should have the following columns:

Column Description
FROM_TYPE The type of a used impacted executable.
FROM_NAME The name of a used impacted executable.
TO_TYPE The type of a transport object that impacted the executable.
TO_NAME The name of a transport object that impacted the executable.

Paths (Output)

The Paths dataset shows how the Find Object Links or Where Used action arrived at a particular transport object from a specified used impacted executable.

The Paths dataset has the following columns:

Column Description
TYPE The type of the used executable from the FROM_TYPE column in the Path Objects table.
NAME The name of the used executable from the FROM_NAME column in the Path Objects table.
DEPTH The search depth at which the parent object was found.
FROM_TYPE The type of a parent object from the Find Object Links or Where Used action’s Tree dataset.
FROM_NAME The name of the parent object.
TO_TYPE The type of a child object from the Find Object Links or Where Used action’s Tree dataset.
TO_NAME The name of the child object.

Source (Input)

The Final Transport Object Set input provided to the Find Object Links or Where Used action.

Tree (Input)

The Tree input comes from the Detailed Tree of Links dataset that is output from Find Object Links or Where Used action. The Detailed Tree of Links dataset contains all the paths from all the used impacted executables to the transport objects that impact them.

Types to Find (Input)

This should be set to the Types to Find parameter provided to the Find Object Links or Where Used action.

Action Properties

The Analyze Object Links action has the following action properties:

Action Property Description
Business Critical Objects An optional Table parameter or dataset with NAME and TYPE columns which should be set to contain a set of business critical objects. If any of the business critical objects are impacted by the Source objects provided to the Analyze Object Links action, the impacted business critical objects will be recommended for testing.
Cover Log A Table dataset containing most-at-risk executables and the Source objects that impact them. It also contains executables at the same depth that have not been recommended for testing because their impacting objects are covered by another most-at-risk executable.
Cross Reference Objects A Table parameter or dataset with NAME and TYPE columns containing one or more source objects. The executables that exercise the source objects are stored in the Result Cross Reference dataset.
Objects to Ignore A Table parameter or dataset with NAME and TYPE columns containing a list of objects from the Usage Counts table that are to be ignored in the analysis. These objects are assumed to have a usage count of 0.
Path Objects A Table parameter or dataset containing source object/impacted object pairs. A path linking each source object with its corresponding impacted object is stored in the Paths dataset.
Paths A Table dataset which stores ‘where used’ links between each source object in the Path Objects table and its corresponding impacted object.
Recommended Threshold An Integer parameter specifying the minimum percentage of impacted executables and screens that should be recommended for testing. The default value for this parameter is 10.
Result A Table dataset containing an optimal set of impacted executables that would need to be tested in order to exercise the source objects provided to the Analyze Object Links action.
Result Cross Reference A Table dataset containing the impacted executables from the Result dataset, and the impacted executables that exercise each of the source objects specified in the Cross Reference Objects table.
Result Summary A Table dataset containing a summary of all the impacted executables found by the Find Object Links or Where Used action. The table includes each executable’s usage count and the number of source objects it covers.
RFC Destination If an RFC Destination parameter or dataset is specified for this property, the Analyze Object Links action accesses the specified system to retrieve additional data for the optimal set of impacted executables stored in the Result dataset. The additional table fields that are populated in the Result dataset are DATE, CHANGES, FANIN and FANOUT. See the Result section for a description of each of these fields.
Source A Table parameter or dataset with NAME and TYPE columns. This should be either the ‘Objects to Find’ table provided to the Find Object Links action or the ‘Source’ table provided to the Where Used action.
Source Summary A Table dataset listing the number of executables and the number of used executables that exercise each of the source objects provided to the Find Object Links or Where Used action.
Tree The Table dataset containing a network of ‘where used’ links. This should be the Tree dataset returned from either the Find Object Links or Where Used action.
Types to Find The Types to Find String List parameter provided to either the Find Object Links or Where Used action. This parameter contains a list of object types. Only objects that match one of the types appear as impacted objects in the Result, Result Summary and Result Cross Reference datasets. To include screens in the analysis results, include the object type DYNP in the Types to Find String List parameter.
UPL Data

A Table parameter or dataset with PROG_NAME, PROC_TYPE, PROC_NAME and COUNT_N columns containing UPL data. This is normally set to the ‘UPL Statistics’ table returned by the Read UPL Data action.

If this property is set, the UPL data used to filter out unused objects when finding object links. If this property is not set, or if the UPL data table is empty, no UPL filtering will occur.

Usage Counts A Table parameter or dataset with TYPE, NAME and COUNT columns containing performance history data. This is normally set to the ‘Application Statistics’ table returned by the Get Performance History Data or Read Performance History Data action.
Usage Data Summary A Table dataset providing a summary of the supplied performance history data, indicating the impact of the source objects on each of the used executables.
Usage Paths A Table dataset which stores a single path from each used and impacted executable to each of the source objects that impact it.
Use Cache A Boolean parameter or dataset which determines whether a cached tree of object links will be used to retrieve additional data for the optimal set of impacted executables stored in the Result dataset. If this property is not set, ‘true’ is used as the default value. This property is only used if the action’s RFC Destination property has been set; the action uses Object Links Cache database generated for the specified RFC Destination.

Recommended Threshold and Business Critical Objects Properties

To examine the details for an Analyze Object Links action, double-click the action node, or select ‘View Details’ from the node’s context menu. The Details screen displays a summary of the number of records in the Find Object Links or Where Used Tree table, and in each of the result tables. The time taken for the action to complete is also shown.

Object Type Matrix