2/1/2016 8:11:14 PM

qRFC or tRFC calls are not processed because the profile parameters are configured incorrectly. This blog will show about optimal settings and prerequisites and solutions about qRFC and tRFC. 

Below the different symptoms can occur:

1. In the case of qRFC calls, the outbound queues (transaction SMQ1) are in the READY status and the QOUT scheduler (SMQS) is in the WAITING status. In addition, you can see the reports SAPLQOWK and SAPLSPBT looping in transaction SM50.

2. In the case of qRFC calls, the inbound queues (transaction SMQ2) are in the READY status and the QIN Scheduler (SMQR) is in the WAITING status.

3. tRFC calls have the status 'Transaction recorded'.

Comment: The 'Transaction recorded' status may also be displayed if the relevant RFC destination is deregistered in transaction SMQS.

4. In the case of qRFC calls, the outbound queues (transaction SMQ1) have the READY status and the relevant RFC destination is deregistered in transaction SMQS (Type 'U'). Register the RFC destination.

5. In transaction SM58, the tRFC LUWs have the 'Transaction recorded' status, and the function module involved is RSAR_TRFC_DATA_RECEIVED. For more information.

6. In transaction SM58, the tRFC LUWs are in the 'Transaction recorded' status and the 'Cln' column does not include any clients. For more information.

7. The field ARFCRESERV is empty in the table ARFCSSTATE. If this field does not contain any value, the outbound scheduler (SMQS) does not process the t/qRFC LUWs. Until now, the problem was observed in MaxDB.

8. You might notice:

a) The tRFC LUWs have the status "Transaction recorded" in transaction SM58.

b) The indicator "W/o tRFC" in transaction SMQS (Outbound Scheduler) is not set for the RFC destination that is involved.

In this case, the Outbound Scheduler (transaction SMQS) processes the tRFC LUWs. To process the tRFC LUWs, the system does not always use desired number of dialog work processes that was set in transaction SMQS as "Max. Conn.". Instead, it uses the maximum number of work processes that can be provided by the ABAP system at runtime. In transaction SM50, you can observe the tRFC LUWs that run in parallel.

Processing the tRFC LUWs may be delayed if the number of dialog work processes is small. However, this does not indicate an error, but a shortage of resources.

These entries point to the fact that the main scheduler was terminated abnormally, and that is attempts to process the tRFC or qRFC LUWs 10 minutes later.

One reason for this problem could be too low values for the parameters 'Processes' and 'Sessions' in the database scheme.

The following entry in the file <SID>_ora_<digit>.trc (in the directory

<disk drive >:\oracle\<SID>\saptrace\background) may point to the following error:

ORA-00020: maximum number of processes (<number of processes>) exceeded

In this case, you can check the settings for the Oracle database.

The qRFC or tRFC calls cannot be processed because the profile parameters are configured incorrectly. The Qout scheduler or Qin scheduler does not receive any resources to send the calls.

Comment:

The "WAITING" status in transaction SMQS or SMQR indicates that the problem is due to:

A shortage of resources or Waiting for the completion of requests in the target system.

Solution:

Determine the number of dialog work processes that are available for processing tRFC/qRFC. As of qRFC Version 6.20.045 with supplement 7: Call transaction SMQS or SMQR and choose "Goto -> QRFC Resources" from the menu. In earlier qRFC versions, execute the report RSTRFCDR. A '0' in the right-hand column ('DIA-WPs for tRFC/qRFC') indicates that there is a resource problem for tRFC/qRFC communication.

In this case, check the configuration of your system:

1. The qRFC or tRFC requires at least 4 free dialog work processes on an application server.

2. The following rule MUST be followed:

a = (current number of DIA work processes) minus (minimum number of free work processes)

b = (current number of DIA work processes) multiplied by (maximum number of work processes used/100)

                    Comment: You can refer to transaction RZ12 for the values of the profile parameters 'Minimum Number of Free WPs' and 'Max. Number of WPs Used' for each application server.

The minimal values of (a, b) must be greater than or equal to 4.

Defining the profile parameters in RZ12:

                    'Minimum Number of Free WPs' (rdisp/rfc_min_wait_dia_wp):

                    The parameter 'rdisp/rfc_min_wait_dia_wp' indicates how many dialog work processes cannot be blocked using RFC. This means that if 'rdisp/wp_no_dia' minus 'rdisp/rfc_min_wait_dia_wp' dialog work processes are currently acting as RFC servers, no further RFCs are distributed by the dispatcher. Only the dialog work processes that are acting as RFC servers are counted, and not high-priority requests (such as using a number from the number range buffer) or requests from the SAP GUI.

                    'Max. Number of WPs Used' (rdisp/rfc_max_own_used_wp):

                    The parameter determines the quota of dialog work processes that an (RFC) user can use at the same time. The value is specified as a percentage of the configured dialog work processes.

3. A resource bottleneck may arise due to parallel processing of tRFC requests, which are used (among other things) in Central User Administration (CUA).

To avoid this situation, reduce the number of child systems to be supplied in parallel and Reduce the number of parallel requests for each RFC destination using the parameter "max-conn" in transaction SMQS.

4. The profile parameter "rdisp/rfc_use_quotas" must NEVER be set to zero.

5. Comment:The number of dialog processes must be greater than or equal to the total number of update and background processes for each application server and must be configured across all operation mode switches.

6. Set the profile parameter rdisp/max_arq to the value of the profile parameter rdisp/max_comm_entries.

You can reset the profile parameters dynamically in transaction RZ12. During a restart, these parameters are overwritten by the instance profile. Therefore, you must also adjust the parameters in the instance profile.


If you like this blog, please share (Facebook/LinkedIn/Google+) to click below links so it will reach to others.


COMMENTS