Find Object Links Actions

Find Object Links actions are given a set of source objects normally obtained from one or more SAP transports or enhancement packs, and a set of used executable objects obtained from performance history data on the SAP system being analyzed. Using these sets of objects, the Find Object Links action generates a number of result tables that store ‘uses what’ links from the used executables to the source objects. Used executables in the result tables will be impacted by the transport or enhancement pack objects.

The Find Object Links action supports the MODI and MODO object types, which correspond to input and output modules in ABAP code.

  • The MODI object type corresponds to PROCESS AFTER INPUT statements in the screen code.
  • The MODO object type corresponds to PROCESS BEFORE OUTPUT statements in the screen code.

Instead of linking directly to their used objects, all screens link to MODI and MODO object types which are then linked to the appropriate functions, structures or other object types.

Before the Find Object Links action is run against an RFC Destination, the Create Object Links Cache action should normally be run against the SAP system to create or maintain the RFC Destination’s tree of links database. The Source table for the Create Object Links Cache action should contain used objects obtained from the RFC Destination’s performance history data.

While the Where Used action typically begins its analysis with a set of transport objects, the analysis performed by the Find Object Links action is driven by used executable objects obtained from SAP performance history data. For this reason, the Find Object Links action is better suited to the analysis of large changes. For guidance on which Impact Analysis template is best suited to your change management needs, please see the online help for the Object Change Impact Analysis, Smart Impact Analysis and Business Function Impact Analysis templates.

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. These objects will be searched for object links along with the objects stored in the Objects to Find parameter or dataset.

Depth

An Integer parameter specifying the maximum depth to use when searching for referenced objects. The default value for this parameter is 5.

Duplicates

A Table dataset which stores used executable objects that are duplicated in the Objects to Find parameter or dataset. Each duplicate object is processed only once.

Exceptions

A Table dataset which stores any exceptions generated during the Find Object Links search.

Expand While Custom

If this Boolean parameter is set to ‘true’, the search for an executable’s referenced objects will continue while custom objects are found, stopping when the first SAP-authored object is encountered. All the custom objects and the first SAP-authored object will be included in the results. If the parameter is set to ‘false’, SAP-authored objects are also included in the search. If this parameter is not set, ‘false’ used as the default value. Custom objects are identified by Regular Expression patterns stored in the ‘Patterns’ Table parameter or dataset.

Filtered

A Table dataset which stores objects from the Objects to Find parameter or dataset that could not be processed because their types are not supported by the Find Object Links action.

Objects to Find

A Table parameter or dataset specifying the transport objects to be found. The Find Object Links action begins with the Source objects and finds what objects they use. The search continues recursively until an object in the Objects to Find set is found. The table should have a NAME column containing the name of each object, and a TYPE column specifying each object’s type. Object types should be specified using UPPER CASE.

Patterns

A Table parameter or dataset containing Regular Expression patterns which are used to identify custom objects in the Source table. This property is only used if the Expand While Custom property is set to ‘true’.

Result

A Table dataset which stores a list of object pairs. Objects on the left side of each pair are transport objects from the Source parameter or dataset. Objects on the right side of each pair are referenced by the transport objects, either directly or indirectly.

RFC Destination

An RFC Destination parameter or dataset referring to the SAP system for which to perform a Find Object Links analysis.

Source

A Table parameter or dataset containing used objects obtained from an SAP system’s performance history data. The table should include a NAME column which stores the name of each object, and a TYPE column which stores each object’s type.

TCOD PROG Map

A Table parameter or dataset with TCOD and PROG columns which is used to specify programs which have screens that are called by a transaction code. SAP table D020S is used to identify each transaction code’s called screens. SAP table /ICORP/YVPR001 is also used as a source of which programs have screens that are called by a transaction code.

Transport Analysis If this Boolean parameter is set to ‘true’, the action will be optimized for finding dependent objects. If this parameter is not set, ‘false’ is used as the default value.

Tree

A Table dataset which lists pairs of objects in the tree of results found by the Find Object Links action. Each pair is a link between two objects: the left side of the pair is an object; the right side of the pair is an object that uses the object on the left side of the pair directly.

Types to Report

A String List parameter containing the SAP object types for which to report Find Object Links results. Only these object types appear in the FOUND_TYPE column of the Result dataset.

UPL Data

Not used.

Use Cache

If this Boolean parameter is set to ‘true’ and a tree of links has been stored for the RFC Destination by the Create Object Links Cache action, the Find Object Links action will use the cached tree of links to produce its results. If the property is set to ‘false’, the Find Object Links action will generate its own tree of links. Typically, this will take much longer, however it does not require the Create Object Links Cache action to be run. If this parameter is not set, ‘false’ is used as the default value.

The Patterns table should contain the following columns:

Column Description

TYPE

An object type to be matched against the Source table’s TYPE column.

SapQuery (required)

A pattern matched against SAP object names of the specified TYPE to determine which objects to return to the LiveCompare server. The pattern must contain at least one wildcard character (*), which matches against zero or more characters in the object name.

Like

The SapQuery pattern expressed in the form required by a SQLite LIKE clause.

RegEx (required)

The SapQuery pattern expressed in the form of a Regular Expression. This is used to filter the object names returned to the LiveCompare server.

IorE (optional)

If this column is set to ‘I’, object names which match the pattern are included in the matching set. If this column is set to ‘E’, object names which match the pattern are excluded. Each name is matched against the ‘Exclude’ patterns first, and if a match is found the name is not added to the matching set. Otherwise, the name is matched against the ‘Include’ patterns, and added to the matching set if a match is found. If the IorE column is missing or blank, the default is to include matching object names.

Each row in the Patterns table represents a single pattern. An object is considered to be ‘custom’ if it matches at least one of the patterns.

The Duplicates dataset has the following columns:

Column Description

TYPE

The type of a duplicated object from the Objects to Find parameter or dataset.

NAME

The name of the duplicated object.

The Exceptions dataset has the following columns:

Column Description

TYPE

The type of a usage object from the Source parameter or dataset.

NAME

The name of the usage object.

LINE

The exception raised.

The following exceptions may be generated:

Exception Description

NOT IN SYSTEM

An object from the Source table was not found in the system referred to by the RFC Destination parameter.

MAX BREADTH EXCEEDED

The maximum number of referencing objects found at a particular search level was exceeded. This value is set internally at 5000. When this exception occurs, no further processing is performed for the current object.

EMPTY HITS EXCEEDED

When parsing code in which an object is used, a series of N attempts to find the object failed. At this point, the object is ignored. The value of N is set internally at 100.

PARSE ERRORS

The code parser generated an error in attempting to parse the code in which an object is used.

If an ABEND occurs in SAP while the Find Object Links action is running, this information is also recorded in the Exceptions dataset.

The Filtered dataset has the following columns:

Column Description

TYPE

The type of a usage object from the Source table that could not be searched for Find Object Links results.

NAME

The name of the usage object.

The Result dataset has the following columns:

Column Description

TYPE

The type of a usage object from the Source parameter or dataset.

NAME

The name of the usage object.

FOUND_TYPE

The type of an object that is referenced by the usage object, either directly or indirectly.

FOUND_NAME

The name of the referenced object.

DEPTH

The search depth at which the referenced object was found.

The ‘Result’ table may contain items that have a DEPTH greater than the maximum you specify. This is to be expected. LiveCompare dynamically adjusts its analysis based on the objects it discovers as it traverses the pathways between SAP implementation objects. For some object types it makes sense to go deeper to find the real impact pathways. For others it is acceptable to go no deeper than the depth specified.

The Tree dataset has the following columns:

Column Description

TYPE

The type of a referenced object.

NAME

The name of the referenced object.

PARENT_TYPE

The type of an object that uses the referenced object directly.

PARENT_NAME

The name of the referencing object.

ROW_TYPE

The type of each row.

DEPTH

The search depth at which the parent object was found.

LINK_TYPE

This column is used in generating the tree of object links.

The ROW_TYPE column may have the following values:

Value Description

X

The row represents a link between two objects.

C

Indicates that the found object is a container.

I

Row type identity. This value is used when resuming the action.

D

Row type depth done. This value is used when resuming the action.

E

The row was added because an executable was in the ‘Objects to Find’ data, but not in the Tree dataset.

File-based Datasets

To improve the performance of the Find Object Links action, the Result and Exceptions tables are stored as file-based datasets on the LiveCompare server. As they are not stored in SQLite, these datasets may not be referenced directly by SQL statements such as the following:

INSERT INTO Result SELECT * FROM Source1

You can use the Convert Data action to convert a file-based Table dataset into a normal Table dataset stored in SQLite. Set the action’s InTable property to the file-based Table dataset and create a new Table dataset for the action’s OutTable property.

Example:

Find Object Links action example.

To examine the details for a Find Objects 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 each of the result tables, as well as some additional diagnostic information. The time taken for the action to complete is also shown.

The progress of a Find Object Links action may be monitored by viewing the Details screen while the action is running. The following details are shown:

Item Description

Phase --- Read SAP Tables

The Find Object Links action is reading SAP tables.

Items done

The number of tables read.

Elapsed time (seconds)

The elapsed time for the Read SAP Tables phase.

Phase --- Do Where Used on Data Structures

A Where Used analysis is being performed for data structures.

Total items

The total number of transport objects in the Objects to Find parameter or dataset.

Items done

The number of transport objects processed for Where Used results so far.

Elapsed time (seconds)

The elapsed time for the Do Where Used on Data Structures phase.

Phase --- Do Uses What on Executables

A Uses What analysis is being performed for the used executables.

Total items

The total number of used executables in the Source parameter or dataset.

Items done

The number of used executables processed for Uses What results so far.

Elapsed time (seconds)

The elapsed time for the Do Uses What on Executables phase.

Total elapsed time hh:mm:ss

The time for which the Find Object Links action has been running in hours, minutes and seconds.

Press the F5 key periodically to update the display.

If a Find Object Links action is interrupted (for example because its RFC Destination becomes unavailable) choose ‘Continue’ from the action’s context menu to restart it.

A Find Object Links action may not be run for an RFC Destination while a Create Object Links Cache action is running against the same RFC Destination in another workflow.

Create Object Links Cache Actions

Maintaining SAP Where Used Indices

Object Type Matrix