Specifying Object Dataset and Data Sources for Analysis

Prerequisites

  • To specify the settings in the selection screen, you need the authorization profile for data read access.See also: Tool Availability and Technical Requirements
  • To enable consumption of results from static code scans, you already executed an appropriate code inspection or ATC run series in your quality or test system.
  • To enable consumption of runtime data, SQL data from the productive system is available.
  • If you need to evaluate runtime data but no SQL Monitor results are available, it is required that either the Usage Procedure Logging or the Coverage Analyzer has been activated for a long enough period of time in your productive system.

Context

The SQL Performance Tuning Worklist provides you with options for specifying the object set as well as the data sources for analysis. In this way, you can control which data should be evaluated and how the results are to be arranged.

When you choose the data source, a combination of the results of the static checks with the respective runtime data is always possible. Depending on which runtime data are important for further analysis, we can distinguish between two use cases:

  • Case A: You focus the analysis on SQL statements and operations that are executed by productively used ABAP applications. This main use case requires SQL Monitor results from the respective productive system as the data source for runtime data.
  • Case B: Further analysis of the SQL Monitor data is not of primary importance. However, you wish to determine which units of your application are executed very frequently – or conversely, which program units are not accessed at all. In this case, use of the SQL Monitor data is also generally recommended. On the other hand, if no SQL Monitor is available in your productive system, you can also fall back on Code Coverage results, which you can receive through Usage Procedure Logging (UPL) or the Coverage Analyzer (SCOV).
Target Audience
  • ABAP developer
  • AS ABAP system administrators

Procedure

  1. To access the selection screen of the SQL Performance Tuning Worklist, launch transaction SWLT.
  2. On the first selection screen (General tab), you have the option of restricting the object datasets to be analyzed and deciding how to handle result sets from different data sources.

    Object Set Specifying the Package, Object Type or Object Name limits the number of retrieved result sets and enables you to focus your analysis on a restricted object set.
    Merging of Different Data Sources Results from different data sources (static and runtime data) are merged with regard to their source code position. This setting allows you to decide how to handle those result sets that cannot be matched, that is, result sets that have no counterparts in all data sources . You can choose one of the following options:

    Show All Results

    When you choose this option, the complete result set of every data source is included in the result list. This means that results sets from each individual data source make up the final result, even if there are no corresponding result sets from the other sources. You can think of the final result list as a logical OR disjunction of result sets from all data sources.

    Show Intersection of Results

    When you choose this option, only those result sets that have a counterpart in all data sources will make up the final result list. Result sets that cannot be matched across different data sources are dropped from the result list. You can think of the final result list as a logical AND combination of result sets from all data sources.
  3. To enable consumption of static check results, choose the Static Check tab.
    1. Activate the option Use Static Check Data.
    2. Select either the Code Inspector or ABAP Test Cockpit as the Data Source for static code checks.
    3. To select the relevant code inspection or the ATC run series, click the corresponding Select button.
    4. In the dialog that appears, you have the option to select the desired code inspection or ATC run series from the local or a remote system.
      Entering RFC destination
      Selected code inspection from the local system
      A green icon on the tab indicates to you that consumption of static check results is enabled.

Using SQL Monitor data

  1. To evaluate runtime data results, choose the SQL Monitor tab.
    1. Activate the option Use SQL Monitor Data.
    2. To select a snapshot as a data source, proceed as described in the topic: Providing Snapshots of SQL Monitor Data
    3. To adapt further settings to your specific needs, expand the icon for Further Options and change the default settings:
      • You can restrict the displayed data amount by a TOP N selection (with respect to the number of executions, the execution time, or the number of processed database records).
      • Using the filter options Request Type or Request Entry Point, or Minimal Number of Executions, you can restrict the data selection to a specific business context. For example, you can limit your scope to a business process that is initiated by an entry point, such as a specific transaction, RFC call, or ABAP report.
      Selected snapshot used as data source

Using Code Coverage Results (in case the SQL Monitor is not available)

  1. [Optional - ] If there is no runtime data from SQL monitoring available, you can use Code Coverage results instead. Using results from Coverage Analyzer or Usage Procedure Logging provides you at least with the number of executions at the level of processing blocks.
    1. To enable consumption of code coverage results, choose the Coverage Analyzer tab in the selection screen.
    2. Then activate the option Use Coverage Analyzer Data.
    3. To specify a Data Source with the desired code coverage results, enter a valid RFC destination for the Remote System. Otherwise, select the Local System option.
      Enabling consumption of code coverage results that originate from a remote system
  2. [Optional - ] Save your settings as a variant by choosing the corresponding button in the toolbar.