ABAP Database Requests Test

While processing Sales orders, if a user places a SELECT SINGLE call inside a loop to fetch material details for hundreds or thousands of line items, the target SAP ABAP Instance may generate excessive database round-trips, increase response time and block dialog work processes during peak business hours. Similarly, large UPDATE or DELETE operations without proper commit control can cause lock contention, delaying other users’ transactions. This may inadvertently affect database load, work process availability, locking behavior, and transaction log growth. To avoid such issues, it is essential to periodically monitor the ABAP Database requests. The ABAP Database Requests test helps administrators in this regard!

Use this test to figure out the total calls made to the database of the target SAP ABAP Instance per minute and in the process identify the type of calls that were made to the database the maximum number of times per minute - is it SELECT SINGLE? or SELECT? or INSERT? or UPDATE? or DELETE calls. This test also helps you assess the total database rows affected during calls and in the process throws light on the type of calls that were made to the database the maximum number of times per minute - is it SELECT SINGLE? or SELECT? or INSERT? or UPDATE? or DELETE calls. Using this test you can also assess the efficiency of the ABAP memory buffer and identify which type of requests are catered the most from the buffer per minute - is it SELECT SINGLE? or SELECT? or INSERT? or UPDATE? or DELETE requests. By proactively monitoring request rates, rows affected, and call rates, organizations can detect inefficient access patterns early, prevent bottlenecks, and ensure smooth scalability under real business workloads.

Target of the test : A SAP ABAP instance

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for every port on the target SAP ABAP instance being monitored.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed

Host

Host name of the server for which the test is to be configured.

Port

Enter the port to which the specified host listens.

ClientName

Specify the ID of the client system as what the eG agent will be connecting to the SAP ABAP instance. To know how to determine the client ID to use, follow the instructions provided in Determining the Client ID/Name for the eG Agent to Connect to the SAP ABAP Instance.

SAPUser

Typically, to connect to a SAP ABAP instance and run tests, the eG agent requires the permissions of a SAP user who has been assigned with certain authorization objects. Ideally, you will have to create a new user role on the SAP ABAP instance for this purpose, associate the above-mentioned authorization objects with that role, and assign the new role to an existing SAP user. The procedure for the same has been provided in Creating a New User Role for Monitoring and Assigning it to a SAP User. Once the new role is assigned to a SAP user, specify the name of this user against SAPUser.

Password

The password of the specified SAPUser.

Confirm Password

Confirm the password by retyping it here.

SysNo

SysNo is an indicator of the TCP/IP port at which the SAP server listens. For example, for a server that listens at port 3200, the SysNo will be ‘00’. Similarly, if the SAP server port is 3201, the SysNo will have to be specified as ‘01’. Therefore, in the SysNo text box specify the system number of the SAP server with which the specified client communicates. To know the system number for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number.

Router

If the SAP client with the specified ClientName exists in a network external to the SAP server, then a router will be used to enable the server-client communication. In such a case, specify the router string of the router in the Router text box. If both the client and the server exist in the same network, then specify ‘none’ against the Router text box. To know what is the SAP Router string for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number.

InstanceName

This is set to none by default. This implies that the eG agent automatically discovers the instance name at run time.

Timeout

Indicate the duration (in seconds) for which this test should wait for a response from the SAP ABAP instance. By default, this is set to 120 seconds.

JCO Version

The eG agent uses the SAP JCO library to connect to the SAP ABAP system and pull out metrics. To enable the eG agent to make this connection and query the metrics, you need to specify the version of the SAP JCO library that the agent needs to use. For instance, to instruct the eG agent to use JCO v2.1.19, it would suffice if you specify the ‘major version number’ alone against JCO Version – in the case of this example, this will be 2.x. Note that if you have downloaded the SAP JCO CONNECTOR files for SAP JCO version 3 from the SAP market place (as instructed by Downloading the SAP JCO Connector files Required for Monitoring ), then the JCO Version configuration should be 3.x. 

IsPassive

If the value chosen is Yes, then the server under consideration is a passive server in a SAP ABAP cluster. No alerts will be generated if the server is not running. Measures will be reported as “Not applicable” by the agent if the server is not up.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Select single call rate to database

Indicates the number of SELECT SINGLE calls performed to fetch a single matching record from the database per minute during the last measurement period.

Calls/min

SELECT SINGLE call is efficient because it retrieves only one record from the database. The SELECT SINGLE request initially goes to the buffer memory to check for the data related to the query. If the data is not available in the buffer, it will directly call the query on the database and fetch data.

Select call rate to database

Indicates the number of SELECT calls sent to the database per minute during the last measurement period.

Calls/min

Select calls retrieve multiple records from the database that meet the specified conditions. The SELECT request initially goes to the buffer memory to check for the data related to the query. If the data is not available in the buffer, it will directly call the query on the database and fetch data.

Insert call rate to database

Indicates the number of INSERT calls sent to the database per minute during the last measurement period.

Calls/min

INSERT calls are used to insert new records into database tables.

Update call rate to database

Indicates the number of UPDATE calls sent to the database per minute during the last measurement period.

Calls/min

UPDATE calls are used to update existing records from database tables.

Delete call rate to database

Indicates the number of DELETE calls sent to the database per minute during the last measurement period.

Calls/min

DELETE calls are used to delete records from database tables.

Total database call rate

Indicates the total number of database calls sent to the database per minute during the last measurement period.

Calls/min

This measure is a sum of Select single call rate to database, Select call rate to database, Insert call rate to database, Update call rate to database and Delete call rate to database measures.

Rate of rows affected by select single calls

Indicates the rate at which database rows were affected by SELECT SINGLE calls during the last measurement period.

Rows/min

Multiple SELECT SINGLE calls executing within loops are a serious cause of concern affecting the performance of the target SAP ABAP Instance.

Rate of rows affected by Select calls

Indicates the rate at which database rows were affected by SELECT calls during the last measurement period.

Rows/min

Multiple SINGLE calls executing within loops are a serious cause of concern affecting the performance of the target SAP ABAP Instance.

Rate of rows affected by insert calls

Indicates the rate at which database rows were affected by INSERT calls during the last measurement period.

Rows/min

A high value of this measure can directly impact:

  • Database performance

  • Work process utilization

  • Lock behavior

  • System scalability

Rate of rows affected by update calls

Indicates the rate at which database rows were affected by UPDATE calls during the last measurement period.

Rows/min

A high value for this measure can directly impact:

  • Database performance

  • Lock contention

  • Work process availability

  • Overall system scalability

Rate of rows affected by Delete calls

Indicates the rate at which database rows were affected by DELETE calls during the last measurement period.

Rows/min

 

Total Rate of rows affected

Indicates the rate at which database rows were affected during the last measurement period.

Rows/min

This measure is the sum of Rate of rows affected by select single calls, Rate of rows affected by Select calls, Rate of rows affected by insert calls, Rate of rows affected by update calls and Rate of rows affected by Delete calls measures.

Select single request rate

Indicates the number of SELECT SINGLE requests sent to the buffer memory during the last measurement period.

Requests/min

SELECT SINGLE is efficient because it retrieves only one record from the buffer memory. This measure indicates the number of Select single requests sent to buffer Memory per minute.

Select request rate

Indicates the number of SELECT requests sent to the buffer memory during the last measurement period.

Requests/min

SELECT call retrieves multiple records from the buffer memory that meet the specified conditions.

Insert request rate

Indicates the number of INSERT requests sent to the buffer memory during the last measurement period.

Requests/min

INSERT calls are used to insert new records into buffered tables.

Update request rate

Indicates the number of UPDATE requests sent to the buffer memory during the last measurement period.

Requests/min

UPDATE calls are used to update existing records from buffered tables.

Delete request rate

Indicates the number of DELETE requests sent to the buffer memory during the last measurement period.

Requests/min

DELETE calls are used to delete existing records from buffered tables.

Total request rate

Indicates the total number of requests sent to buffer memory during the last measurement period.

Requests/min

This measure is a sum of Select single request rate, Select request rate, Insert request rate, Update request rate and Delete request rate measures.

Hit ratio of select single requests

Indicates the percentage of SELECT SINGLE  requests sent to buffer memory during the last measurement period.

Percentage

A low value for this measure indicates that the data is fetched from database tables instead of buffer memory which directly denotes the inefficiency of the buffer memory.

Hit ratio of select requests

Indicates the percentage of SELECT requests sent to buffer memory during the last measurement period.

Percentage

A low value for this measure indicates that the data is fetched from database tables instead of buffer memory which directly denotes the inefficiency of the buffer memory.