Transactional RFC and Queued RFC Monitor in CCMS

Transactional RFC and Structure linkqueued RFC are variants of the Remote Function Call that make the data transfer between different systems more reliable and more secure.

Transactional RFC guarantees the following attributes:

· The call is executed exactly once in the target system.

· Calls that belong to a Logical Unit of Work (LUW) are either completely executed, or not executed at all.

If the target system is not available when the call is made, the call remains in the local wait queue. The calling dialog program can, however, proceed. If the target system does not become active within a certain amount of time, the call is scheduled as a background job.

Although tRFC significantly improves the reliability of the data transfer, it also has disadvantages. This method does not ensure that the sequence of LUWs specified in the application is observed. However, there is a guarantee that all LUWs will be transferred at some point.

Queued RFC (qRFC with Outbound Queue)

To offset this disadvantage, a serialization of tRFC is performed using wait queues. It is called queued RFC (qRFC). With this serialization, an outbound queue for tRFC was created, which is therefore referred to as qRFC with outbound queue. The main features of qRFC are as follows:

· A LUW is only transferred if it has no predecessor (in reference to the sequence defined in the applications) in the participating queues. After a qRFC transaction is executed, the system attempts to start the next qRFC transaction in the sequence from the queue.

· A queue name and a queue counter are required fore each qRFC transaction for queue administration. Each tRFC call that is to be processed chronologically is assigned a queue name determined by the application.

qRFC with Inbound Queue

Serialization of the incoming RFC calls from other systems is also possible. This ensures that incoming calls are always executed in the order of their arrival. This serialization of incoming calls also limits the maximum load on the target server caused by RFC.

Monitoring with the Alert Monitor

Using the Transactional RFC and Queued RFC subtree, you can quickly detect errors and blocked queues (in the context of transactional RFC and queued RFCs). The corresponding special monitors with which you can quickly eliminate the cause of the error are set as analysis methods. The subtree is in the Communications monitor of the SAP CCMS Monitor Templates monitor set.

Prerequisites

You have performed the setting up of the monitoring of qRFC calls.

Features

This graphic is explained in the accompanying text

The monitor contains the following monitoring tree elements (MTEs):

MTE Name
(MTE Class)

Meaning

ARFCSSTATE: Outbound tRFC Calls
(CCMS_tRFC_Outbound_Tbl)

Monitoring object with information about the LUWs and tRFC calls that are waiting to be executed on their target system or on an external component.

Calls w/ Communication Errors – CPICERR
(CCMS_tRFC_qRFC_CPIC_Errors)

Number of tRFC calls that were not executed due to problems creating the connection or the communication with the target system or an external component; depending on the settings (transaction SM59), the attempt may be repeated a number of times

Calls w/ Execution Errors – SYSFAIL
(CCMS_tRFC_qRFC_SYSFAIL_Errors)

Number of tRFC calls that could not be executed due to a problem with the execution in the target system or an external component

Calls w/o Server Resources – SYSLOAD
(CCMS_tRFC_qRFC_SYSLOAD_Status)

Number of tRFC and qRFC calls with outbound queue with status SYSLOAD; these are calls that could not be executed due to a lack of resources in the target system

ARFCSSTATE: Inbound tRFC/qRFC Calls
(CCMS_tRFC_qRFC_Inbound_TIDs)

Monitoring object with information about tRFC and qRFC calls that are waiting to be executed in this system; after they have been executed, they are deleted from table ARFCRSTATE

Total Calls
(CCMS_qRFC_Inbound_Total)

Number of tRFC and qRFC calls that are waiting to be executed in this system and are therefore stored in table ARFCRSTATE

Outbound Queues
(CCMS_qRFC_Outbound_
Queues_Summary)

Subtrees that contain the log messages of the outbound qRFC calls to external systems; these messages are sorted by the different queue groups: there is a monitoring object for each group with the name Outbound Queues

Inbound Queues
(CCMS_qRFC_Inbound_
Queues_Summary)

Subtrees that contain the log messages of the inbound qRFC calls from external systems; these messages are sorted by the different queue groups: there is a monitoring object for each group with the name Inbound Queues

Blocked Queues: Client
(_MSC_)

Log messages for the queues of an application, sorted by the different clients; the log messages contain the error messages that are returned during the qRFC call

The following statuses are immediately identified as “blocking”:

· CPICERROR (for Inbound/Outbound, error text available)

· SYSFAIL (for Inbound/Outbound, error text available)

· STOP (for Inbound/Outbound, no error text)

· ANORETRY (for Inbound/Outbound, error text available)

· WAITSTOP (for Inbound/Outbound, error text available)

· ARETRY (for Inbound/Outbound, error text available)

· RETRY (always for inbound, for outbound as of qRFC version 6.10.040, error text available)

· SYSLOAD (for outbound, up to qRFC version 6.10.033, no error text)

The following statuses are identified as “blocking” if they remain unchanged for longer than 30 minutes:

· READY (for inbound/outbound, no error text)

· RUNNING (for inbound/outbound, no error text)

· WAITUPDA (for outbound, no error text)

· EXECUTED (for inbound/outbound, no error text)

Note

For information about the possible statuses, see the Structure linkAppendix.

Queues not processed: Age Alerts
(_Age_Log)

Log messages for the queues of an application; the queues have not been processed for longer than the time defined in the associated threshold value (by default, seven days)

QIN Schedulers: Errors
(CCMS_qRFC_QIN_Scheduler_Object)

Monitoring object that contains information about the status of the QIN scheduler; the QIN scheduler controls the processing of incoming tRFC and qRFC calls within a client (see SAP Note 396007)

QOUT Schedulers: Errors
(CCMS_qRFC_QOUT_Scheduler_Object)

Monitoring object that contains information about the status of the QOUT scheduler; the QOUT scheduler limits the maximum number of parallel tRFC and qRFC connections to an RFC destination (see SAP Note 400330)

QIN Scheduler Error: All Clients
(CCMS_qRFC_QIN_Sched_Log)

Log messages with error messages for the QIN schedulers of all clients; an alert here indicates that the system could not process an incoming RFC call due to a communication or execution error

QIN Unregistered Queues: All Clients:
(CCMS_qRFC_QIN_Unreg_Log)

Log messages with error messages for the QIN schedulers of all clients; an alert here indicates that the scheduler found an RFC call with a non-registered queue

QOUT Scheduler Error: All Clients
(CCMS_qRFC_QOUT_Sched_Log)

Log messages from communication and system errors for the QOUT schedulers of all clients

Activities

To start the monitor, follow the procedure below:

...

1. Start the Alert Monitor using transaction RZ20 or choose CCMS ®Control/Monitoring ®Alert Monitor.

2. On the CCMS Monitor Sets screen, expand the SAP CCMS Monitor Templates set.

3. Start the Communications monitor from the list by double-clicking it.

4. Expand the Transactional RFC and Queued RFC subtree.

Procedure if an Alert Is Triggered

MTE

Procedure

ARFCSSTATE: Outbound tRFC Calls

The transaction Transactional RFC (SM58) is assigned as analysis method to all MTEs of this monitoring object. This tool lists only those transactional RFCs that could not be carried out successfully or that had to be planned as batch jobs.

Calls w/Communication Errors - CPICERR

Errors often occur in this attribute when an instance is shut down for maintenance. Once the instance is available again, the calls are automatically processed.

If this is not the case, you should check the RFC connection using the Display and Maintain RFC Destinations transaction (SM59).

Calls w/ Execution Errors - SYSFAIL

Errors in the execution of RFC calls are often caused by errors in the programs. These errors must therefore usually be individually processed.

Calls w/o Server Resources - SYSLOAD

RFC calls with the status SYSLOAD are automatically scheduled in a job. For more information about SYSLOAD status, see SAP Note 319860.

ARFCSSTATE: Inbound tRFC/qRFC Calls

For information about possible statuses and problems for table ARFCRSTATE, see SAP Notes 378903 and 366869.

Outbound Queues
Inbound Queues

Start the assigned analysis method. For the MTEs of this monitoring object, this is transaction SMQ1 or SMQ2 (qRFC Monitor).

QIN Schedulers: Errors
QOUT Schedulers: Errors

Start the assigned analysis method. For the MTEs of this monitoring object, this is transaction SMQR or SMQS (QIN/QOUT Scheduler).

See also:

Monitoring qRFC and tRFC Calls

Leaving content frame

3 comments:

Unknown said...

Your post was very interesting and useful for reading...
Simple Finance Online Training | SSAP MM Online Training

svrtechnologies said...

Thanks for sharing such a great information..Its really nice and informative..

sap mm online training

Ranjith said...

This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information. Keep it up. Keep blogging.

python Training in chennai

python Course in chennai


topics