Show TOC

Procedure documentationMonitoring tRFC Locate this document in the navigation structure

 

All transactional RFCs are stored in the tables ARFCSSTATE and ARFCSDATA. Here, each LUW is identified by a unique ID. When a COMMIT WORK is made, the calls belonging to this ID are executed in the target system. The system function module ARFC_DEST_SHIP transports the data to the target system and the function module ARFC_EXECUTE executes the stored function calls. If an error or an exception occurs during one of the calls, all the database operations started by the preceding calls are rolled back and an appropriate error message is written to the file ARFCSSTATE.

Procedure

There are two methods for checking on the status of a transaction ID:

  • From an ABAP program

    The function module ID_OF_BACKGROUNDTASK returns the ID of the LUW. You call this module after the first CALL... IN BACKGROUND TASK and before COMMIT WORK.

    CALL FUNCTION 'ID_OF_BACKGROUNDTASK' IMPORTING TASK-ID = TID.

    Once you have identified the ID of the LUW, you can use the function module STATUS_OF_BACKGROUNDTASK to determine the status of the transactional RFC.

    CALL FUNCTION 'STATUS_OF_BACKGROUNDTASK'

    EXPORTING TID

    = TASK-ID

    IMPORTING ERRORTAB

    = ERTAB

    EXCEPTIONS COMMUNICTATION

    = 01

    (Connection not available: Wll try again later)

    RECORDED

    = 02

    (ARFC is scheduled)

    ROLLBACK

    = 03

    (Rollback triggered in target system)

    • Online

      Call transaction SM58 (  Tools   Administration   Monitoring   Transactional RFC  ). This tool lists only those transactional RFCs that could not be carried out successfully or that had to be planned as batch jobs. The list includes the LUW ID and an error message. Error messages displayed in SM58 are taken from the target system. To display the text of the message, double-click on the message.

      Transaction SM58 also lets you control your transactional RFC at various stages. If the call ends abnormally during the sending process, you may need to use the Rollback LUW function to manually rollback the LUW before attempting a resend. If the target system was unavailable, you can use the Backgr.job function to display the batch job created for your call. Execute funct. module lets you restart the call after the occurrence of a temporary error (such as a syntax error).

Result

If a LUW runs successfully in the target system, the function module ARFC_DEST_CONFIRM is triggered and confirms the successful execution in the target system. Finally, the entries in the Tables ARFCSSTATE and ARFCSDATA are deleted.