ABAP Connection or RFC Destination needs to be checked before calling any remote enabled function module, if connection is  checked prior to a Remote function module call, we can avoid system dumps whenever RFC destination is down or incase of login problems.

Manual way to test a RFC connection is to goto transaction SM59, select the RFC Destination, Double click on the same and Click on Action Button – Connection Test

/wp-content/uploads/2014/12/conncetion_test_605221.png

AUTOMATED PROGRAM TO SIMULATE SM59 – Connection Test

I have create a program using a standard function module CAT_CHECK_RFC_DESTINATION , Syntax of the program as follows :

REPORT zcvtest.

PARAMETERS: P_lsys like RSCATRFCDEST.

data: l_msgv1 type symsgv1,
      l_msgv2 type symsgv2,
      l_subrc type sysubrc.

CALL FUNCTION ‘CAT_CHECK_RFC_DESTINATION’
  EXPORTING
    rfcdestination       = p_lsys
IMPORTING
   MSGV1                = l_msgv1
   MSGV2                = l_msgv2
   RFC_SUBRC            = l_subrc.

if l_subrc = ‘0’.
  write: ‘Success’.
else.
  write: l_msgv1,l_msgv2.
endif.

Test Results

Negative Case – A Failed RFC

/wp-content/uploads/2014/12/sm59_1_619213.png

Using the program, Same RFC destination is checked:

Selection Screen

SS1.png

Output

OP1.png

Success Case

/wp-content/uploads/2014/12/sm59_2_605286.png

Selection screen

SS2.png

Output

Op2.png

Value : This document shows efficient way of using Function module to check RFC connection before making any RFC Calls, this will make sure that no dumps are encountered in the production system.

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. Suhas Saha

    This document shows efficient way of using Function module to check RFC connection before making any RFC Calls, this will make sure that no dumps are encountered in the production system.

    You’ll not get any short dumps, if you handle the RFC exceptions correctly. May be you should read this – ABAP Keyword Documentation.

    (0) 

Leave a Reply