-
Technical Assistance
Request product support from SAP
-
Non-Technical Assistance
Request non-product support or provide feedback on SAP Support Portal site
Technical Assistance
Request product support from SAP
Non-Technical Assistance
Request non-product support or provide feedback on SAP Support Portal site
Using a qRFC, data can be exchanged between two application components in multiple queues on a first-in-first-out basis (FIFO) for the function modules. Several applications can place function modules in the same queues. The function modules can be processed on the receiving system in the order defined by the applications in the sending system. The number of queues used is defined by the applications.
The following communication model shows what communication scenarios may look like in reality. The actual sending process is still executed by the tRFC (transactional Remote Function Call). Inbound and outbound queues are added to the tRFC, leaving us with a qRFC (queued Remote Function Call). The sender system is also called the client system, while the target system corresponds to the server system. In practice, the following three scenarios for data transfer with qRFC and tRFC exist:
Scenario 1: tRFC This scenario is appropriate if the data being sent is independent of each other. A calling application (or client) in system 1 uses a tRFC connection to a called application (or server) in system 2. In this scenario data is transferred by tRFC, meaning that each function module call sent to the target system is guaranteed to be executed only once. You can neither define the sequence in which the function module calls are executed nor the time of execution. If an error occurs during the transfer, a batch job is scheduled which sends the function module call again after 15 minutes.
Scenario 2: qRFC with outbound queue In this scenario, the sender system uses an outbound queue to serialize the data that is being sent. This means that function module calls which depend on each other (such as update and then change) are put into the outbound queue of the sender system, and are guaranteed to be sent to the target system one after each other and one time only. The called system (server) has no knowledge of the outbound queue in the sender system (client), meaning that in this scenario every SAP system can also communicate with a non-SAP system. The programming code of the server system does not have to be changed. However, it must be tRFC-capable.
Scenario 3: qRFC with inbound queue (and outbound queue) In this scenario, an outbound queue in the sender system (client) is used in parallel to an inbound queue in the target system (server). If a qRFC with inbound queue exists, this always means that an outbound queue exists in the sender system. This guarantees the sequence and efficiently controls the resources in the client system and server system. The inbound queue only processes as many function module calls as the system resources in the target system (server) at that time allow.
Although qRFCs are serialized tRFC LUWs, you cannot maintain or display these LUWs using the tRFC administration transaction SM58. You have to use the qRFC queue administration transaction SMQ1 for outbound queues and SMQ2 for inbound queues. The following functions are available:
The following technical prerequisites have to be met in order to use the qRFC Monitoring:
The qRFC monitoring allows monitoring the qRFC processing and its individual queues for status and backlog. This way you can be notified if the number of queue entries is higher than expected, the age of the oldest entry of the queue is too high, as well as the combinations.
This template contains metrics for the real-time monitoring of exception and performance of qRFC inbound and outbound queues.
The following metrics have been available since add-on ST-A/PI 01K:
Metric Name | Description | MAI Category | Since SP |
---|---|---|---|
Number of individual qRFC queues |
This metric measures the number of individual queues within the specified queue group. This means that the number of queues with the same name prefix that have at least one entry at the time of the data collection is measured. |
Performance |
SM 7.1 SP12 |
Total number entries in all queues |
This metric measures the total number of all entries in all queues that belong to the monitored queue group at the time of the data collection. |
Performance |
SM 7.1 SP12 |
Average number of entries per queue |
This metric measures the average number of entries in all queues that belong to the monitored queue group at the time of the data collection. In order to determine the measured value for this metric, the "Total number entries in all queues" is divided by the "Number of individual qRFC queues". The average number (as shown in the alert text) has two decimals. However, for the measured value it is rounded to an integer number. This integer number is basis for the alert determination. |
Performance |
SM 7.1 SP12 |
Maximum number of entries per queue |
This metric measures the number of entries in the largest queue of the monitored queue group. |
Performance |
SM 7.1 SP12 |
Age of oldest entry |
This metric measures the age (in minutes) of the oldest entry within any of the queues of the monitored queue group. |
Performance |
SM 7.1 SP12 |
Total number entries in all queues (combination with oldest entry)(1) |
Total number of entries in all queues with specific prefix in queue name. Shares a common event with metric “Age of oldest entry (combination with total number)” |
Performance |
SM 7.1 SP12 |
Age of oldest entry (combination with total number)(1) |
Age (in minutes) of oldest entry in all queues with specific prefix in queue name. Shares a common event with metric “Total number entries in all queues (combination with oldest entry)” |
Performance |
SM 7.1 SP12 |
Number of qRFC entries with critical status in group |
Number of queues with critical state in a queue group. |
Exceptions |
SM 7.1 SP10 |
Age of oldest critical status in group |
Age (in minutes) of oldest critical state queue with specific prefix in queue name |
Exceptions |
SM 7.1 SP10 |
Number of qRFC entries with critical status in group (combination with Age)(1) |
Number of queues with critical state with specific prefix in queue name. Shares a common event with metric “Age of oldest critical status in group (combination with Number)” |
Exceptions |
SM 7.1 SP12 |
Age of oldest critical status in group (combination with Number)(1) |
Age (in minutes) of oldest critical state queue with specific prefix in queue name. Shares a common event with metric “Number of qRFC entries with critical status in group (combination with Age)” |
Exceptions |
SM 7.1 SP12 |
Number of entries with interim status in group |
Number of queues with interim state with specific prefix in queue name |
Performance |
SM 7.1 SP10 |
Age of oldest interim status in group |
Age (in minutes) of oldest interim state queue with specific prefix in queue name |
Performance |
SM 7.1 SP10 |
Number of entries with interim status in group (combination with Age)(1) |
Number of queues with interim state with specific prefix in queue name. Shares a common event with metric “Age of oldest interim status in group (combination with Number)” |
Performance |
SM 7.1 SP12 |
Age of oldest interim status in group (combination with Number)(1) |
Age (in minutes) of oldest interim state queue with specific prefix in queue name. Shares a common event with metric “Number of entries with interim status in group (combination with Age)” |
Performance |
SM 7.1 SP12 |
Number of AppLog Errors (qRFC) |
This metric calculates the number of application log errors which are related to qRFC processing |
Exceptions |
SM 7.1 SP12 |
Note: Key figures with combined rating strategy (number & age)
(1) In classic BPMon you had the possibility to use key figures that had a combined rating for number of entries and age of entries for critical and interim state. For example you could create an alert only when you had a certain number of qRFC entries in critical state AND when these entries where older than a defined age.
To model this behavior in ICMon these key figures are presented by two metrics that are correlated on alert level.
From a functional point of view these metrics behave in the same way as the single metrics. However, they share a common event, which means an alert is only raised if both metrics exceed their threshold values. If you do not configure one of the metrics the system behaves as if only the single metric has been configured. E.g. not configuring the “Age of oldest entry (combination with total number)” metric means that alerts are created based on the output of metric “Total number entries in all queues (combination with oldest entry)” solely.
Use these metrics if you are not just interested in the pure number of queue entries or the oldest individual entry, but in the age of the oldest queue entry if a certain number of queue entries has been reached. This way, you can avoid being alerted about a single old queue entry and instead be only alerted if a more severe problem with the RFC queues exists on the system. Similarly, you can also use these metrics to be alerted about the number of queue entries only if the oldest of these entries has reached a certain age.
The following table shows the grouping of the metrics:
Key Figure | Alert | Metrics |
---|---|---|
BL: Combi of Total entries & Oldest age | Critical combination of high number & oldest entry (qRFC) |
|
ST: Combi Queues & Age in critical state |
Critical combination of qRFC entries & oldest age in error state |
|
ST: Combi Queues & Age in interim state | Critical combination of qRFC entries & oldest age in interim status |
|
This template contains metrics for the reporting of the qRFC throughput for inbound and outbound queues.
Metric Name | Description | MAI Category | Since SP |
---|---|---|---|
qRFC Throughput Inbound | This metric is used to measure the throughput of qRFC inbound processing. It is not meant for creating alerts, but just feeds the data into reporting for the usage in dashboards. | Performance | SM 7.1 SP12 |
qRFC Throughput Outbound | This metric is used to measure the throughput of qRFC outbound processing. It is not meant for creating alerts, but just feeds the data into reporting for the usage in dashboards. | Performance | SM 7.1 SP12 |
The Interface and Connection Monitoring setup can be accessed via SAP Solution Manager Configuration (SOLMAN_SETUP).
To access the Integration Monitoring setup, go to SAP Solution Manager Configuration (SOLMAN_SETUP) → Application Operations → Integration Monitoring → Interface and Connections.
Note: If you didn't perform the infrastructure configuration yet, please follow the Interface and Connection Monitoring Setup with SAP Solution Manager 7.2.
Navigate to the Define Scope step. You can create a new scenario or use an existing one. Make sure the sender and the receiver system are part of the Interface and Connection Monitoring scenario.
Create the Interface Channel:
Maintain the Interface:
Obsolete Parameters: Command SMD Backlog Collector and Command SMD Status Collector.
In older ST-A/PI release (earlier than 01R) there was a so-called SMD integration. The data collector was able to collect the metrics from certain function modules developed for Solution Manager Diagnostics (SMD). These function modules read the qRFC tables data and wrote this information into the ST-A/PI cluster table, from where the data was evaluated by the data collector. The data collector read the stored results, parsed the metric strings, and returned the measured values to SAP Solution Manager. As of ST-A/PI release 01R this integration has been discontinued. This means that the data collector always does its own raw data selection in the RFC database tables, comparable with the old option DIRECT-SELECT', which no longer needs to be explicitly specified.
Select Metrics:
On the Metrics tab, select the metrics you want to monitor. Note that the selected metrics are collected for each interface entered above.
Enter Metric Parameters:
Usually it is not necessary to include all these metrics.
You can maintain attributes as described in the Interface and Connection Monitoring Setup with SAP Solution Manager 7.2 on the Attributes tab.
Thresholds and the collection schedule are maintained in the next step of the guided procedure. Once you have maintained all your channels, click Next in the main guided procedure to move to the Activation step.
Maintain Thresholds and Schedule:
Navigate to the Define Scope step. You can create a new scenario or use an existing one. Make sure the sender and the receiver system are part of the Interface and Connection Monitoring scenario.
Create the Interface Channel:
This interface can only be created between an ABAP system and any other system. You need an ABAP system in this channel because this is where the data collector is running.
Maintain the Interface:
Select Metrics:
On the Metrics tab, select the metrics you want to monitor. Note that the selected metrics are collected for each interface entered above.
Enter Metric Parameters:
You can maintain attributes as described in the Interface and Connection Monitoring Setup on the Attributes tab.
Thresholds and the collection schedule are maintained in the next step of the guided procedure. Once you have maintained all your channels, click Next in the main guided procedure to move to the Activation step.
Maintain Thresholds and Schedule:
The following status codes are taken into account for error and interim statuses:
Direction | Severity | qRFC Status Code |
---|---|---|
Outbound | Critical | ANORETRY, SYSFAIL, VBERROR |
Interim | ARTRY, CPICERR, EXECUTED, MODIFY, NOSENDS, RETRY, RUNNING, STOP, SYSLOAD, WAITING, WAITSTOP, WAITUPDA | |
Inbound | Critical | ANORETRY, SYSFAIL |
Interim | ARETRY, CPICERR, MODIFY, NOEXEC, RETRY, RUNNING, STOP, WAITING, WAITSTOP |