SAP Reports and Programs

Share |

RFF110S_REVERSE SAP ABAP Report - F110: Reverse Payment Run


RFF110S_REVERSE is a standard Executable ABAP Report available within your SAP system (depending on your version and release level). Below is the standard documentation available for this report and a few details of other objects it interacts with such as tables, function modules, includes etc. If you would like to see the full code listing simply enter RFF110S_REVERSE into the relevant SAP transaction such as SE38 or SE80

Contribute (Add Comments)
Below is the basic information available for SAP report RFF110S_REVERSE and is provided for your convenience to access as and when required. Although the basic information may have limited use it does provide an easy to find location to store any knowledge about this program/report.

The contribute/comments section below therefore offer's an opportunity for anyone to add additional information. This can be anything from useful hints, tips and screen shots to relevant SAP notes or anything else you feel is relevant to this report.

This will then be available for everyone to easily find by simply searching on the report name RFF110S_REVERSE or its description.

SAP Documentation for program RFF110S_REVERSE


PURPOSE
You use program RFF110S_REVERSE only in exceptional situations, when you have to reverse all of the payment documents of a payment run (F110). You may have to do this, for instance, if you have entered an incorrect posting date for the payment run.
You can schedule the program in the background if you are dealing with very large payment runs.

INTEGRATION
Program RFF110S_REVERSE does not replace payment proposal processing.

PREREQUISITES
You can only reverse payment documents using the program if you have not started any follow-on processes. The program prevents any reversal in the following cases:
  • You have already created payment media.

  • The system has already created entries in the payment register or check management.

  • The payments are already undergoing the approval process of SAP Bank Communication Management (BCM).

  • If you have already started follow-on processes for the payment run, then you have to reverse these first with the relevant programs.
  • Check that the bank has not yet received the payment media. Then delete the payment media using transaction FDTA. After this, reset the payment medium data using program RFPAYM_RESET, and in the case of cross-payment run payment media using program RFPAYM_MERGE_RESET in addition.

  • Check to make sure the payment run has not printed any checks, and that no payment media have been sent. Then delete the check data and the payment register entries with transaction FCHD.

  • Check that those responsible have not yet approved the payment. Reset the batch data using transaction BNK_MERGE_RESET.


  • FEATURES
    You can start the program as a test run, which then tells you whether the system is able reverse the payment documents.
    In an update run, the program first checks whether all documents can be reversed, and makes the reverse postings if the check is successful. The program then deletes the payment data of the payment run.
    If you have already reversed some of the documents, you will find these documents in the log. However, they do not influence the program run.

    SELECTION
    You need to enter the reversal reason for the reversal, and can predefine the posting date and posting period.
    In an update run, the system provides a parameter for deleting the payment data. You are advised to set this parameter to prevent the creation of payment media following the reversal of the payment documents. If, in exceptional circumstances, you are unable to set the parameter, you can delete the data later in transaction
    F110 under
    Edit -> Payments -> Delete Output.

    Problem solving
    You can list the documents that cannot be reversed in the program run in the related selection conditions, and so exclude them from the run. Carry out the corresponding reversal or inverse postings later manually.

    STANDARD_VARIANTS


    OUTPUT
    The program logs the processing results for each payment document in the payment run. You can view the log using transaction SLG1
    :
    Object FBPM
    Transaction Code F110-FBRA-FB08
    Program RFF110S_REVERSE
    

    ACTIVITIES



    SYS_ADMIN
    Program RFF110S_REVERSE is protected by authorization group
    F_005 (repair program in financial accounting). Authorized users need to have been given this authorization.

    ABAP code:


    ABAP code listing snippet for SAP ABAP Report RFF110S_REVERSE

    *---------------------------------------------------------------------*
    * Report RFF110S_REVERSE to reset payment runs                        *
    *---------------------------------------------------------------------*
    REPORT rff110s_reverse.
    
    DATA: gs_reguv TYPE reguv, gt_reguh TYPE TABLE OF reguh WITH HEADER LINE, gt_reguhm TYPE TABLE OF reguhm WITH HEADER LINE, g_gpa(14) TYPE c, g_handle TYPE balloghndl, g_dummy TYPE string ##NEEDED, g_xpypr TYPE xpypr.
    PARAMETERS: run_date TYPE laufd OBLIGATORY, run_id TYPE laufi OBLIGATORY, test_run TYPE rfpdo1-allgtest AS CHECKBOX DEFAULT 'X' USER-COMMAND t.
    ....See full code listing within your SAP system using transactions such as SE80 and SE38

    Includes used within report:

    No INCLUDES are used within this report code!


    Tables used within report and the associated select statement:

    T041C SELECT SINGLE stgrd FROM t041c INTO reason WHERE stgrd EQ reason.

    REGUV SELECT SINGLE * FROM reguv INTO gs_reguv WHERE laufd EQ run_date AND laufi EQ run_id.

    REGUT SELECT laufd FROM regut INTO run_date UP TO 1 ROWS WHERE laufd EQ run_date AND laufi EQ run_id.

    DFPAYG SELECT laufd FROM dfpayg INTO run_date UP TO 1 ROWS WHERE laufd EQ run_date AND laufi EQ run_id.

    PAYR SELECT laufd FROM payr INTO run_date UP TO 1 ROWS WHERE irefe EQ space AND voidr EQ '00' AND laufd EQ run_date "index R not active in standard delivery AND laufi EQ run_id. "#EC CI_NOFIELD

    REGUVM SELECT SINGLE laufd FROM reguvm INTO run_date WHERE laufd EQ run_date AND laufi EQ run_id.

    REGUHM SELECT * FROM reguhm INTO TABLE gt_reguhm WHERE laufd EQ run_date AND laufi EQ run_id.

    REGUH SELECT * FROM reguh INTO TABLE gt_reguh WHERE laufd EQ run_date AND laufi EQ run_id AND xvorl EQ space AND vblnr NE space.

    T001 SELECT SINGLE * FROM t001 INTO ls_t001 WHERE bukrs EQ ps_reguh-zbukr.

    BKPF SELECT SINGLE * FROM bkpf INTO ls_bkpf WHERE bukrs EQ ps_reguh-zbukr AND belnr EQ ps_reguh-vblnr AND gjahr EQ s_gjahr.

    BSEG SELECT * FROM bseg INTO TABLE lt_bseg WHERE bukrs EQ ps_reguh-zbukr AND belnr EQ ps_reguh-vblnr AND gjahr EQ s_gjahr ORDER BY PRIMARY KEY.

    BKPF SELECT SINGLE * FROM bkpf INTO ls_bkpf WHERE bukrs EQ ps_reguh-zbukr AND belnr EQ ps_reguh-vblnr AND gjahr EQ s_gjahr.


    Function Modules used within report and the associated call statement:

    F4_ZAHLLAUF CALL FUNCTION 'F4_ZAHLLAUF' EXPORTING f1typ = 'D' f2nme = 'RUN_ID' IMPORTING laufd = run_date laufi = run_id TABLES laufk = tab_laufk.

    F4_ZAHLLAUF CALL FUNCTION 'F4_ZAHLLAUF' EXPORTING f1typ = 'I' f2nme = 'RUN_DATE' IMPORTING laufd = run_date laufi = run_id TABLES laufk = tab_laufk.

    DELETE_PAYMENT_ALL CALL FUNCTION 'DELETE_PAYMENT_ALL' EXPORTING date = run_date identification = run_id EXCEPTIONS abnormal_end = 4 error_message = 4 OTHERS = 4.

    DATE_TO_PERIOD_CONVERT CALL FUNCTION 'DATE_TO_PERIOD_CONVERT' EXPORTING i_date = s_zaldt i_periv = ls_t001-periv IMPORTING e_gjahr = s_gjahr.

    CALL_FBRA CALL FUNCTION 'CALL_FBRA' EXPORTING i_bukrs = ps_reguh-zbukr i_augbl = ps_reguh-vblnr i_gjahr = s_gjahr i_xsimu = p_xsimu i_stodt = date "n2178781 i_stomo = period "n2178781 i_update = 'L' EXCEPTIONS OTHERS = 8.

    CALL_FB08 CALL FUNCTION 'CALL_FB08' EXPORTING i_bukrs = ps_reguh-zbukr i_belnr = ps_reguh-vblnr i_gjahr = s_gjahr i_stgrd = reason i_budat = date "n2178781 i_monat = period "n2178781 i_xsimu = p_xsimu EXCEPTIONS OTHERS = 8.

    BAL_LOG_CREATE CALL FUNCTION 'BAL_LOG_CREATE' EXPORTING i_s_log = ls_log IMPORTING e_log_handle = g_handle EXCEPTIONS OTHERS = 0.

    BAL_LOG_MSG_ADD CALL FUNCTION 'BAL_LOG_MSG_ADD' EXPORTING i_log_handle = g_handle i_s_msg = ls_msg.

    BAL_LOG_HDR_READ CALL FUNCTION 'BAL_LOG_HDR_READ' EXPORTING i_log_handle = g_handle IMPORTING e_statistics = ls_scnt EXCEPTIONS OTHERS = 4.

    BAL_DB_SAVE CALL FUNCTION 'BAL_DB_SAVE' EXPORTING i_t_log_handle = lt_handle EXCEPTIONS OTHERS = 0.

    BAL_DSP_LOG_DISPLAY CALL FUNCTION 'BAL_DSP_LOG_DISPLAY' EXPORTING i_t_log_handle = lt_handle.


    Text pool values


    Selection Text: DELETE = Delete
    Selection Text: DATE = D .
    Selection Text: DOCUMENT = D .
    Selection Text: PERIOD = D .
    Selection Text: REASON = D .
    Selection Text: RUN_DATE = D .
    Selection Text: RUN_ID = D .
    Selection Text: TEST_RUN = D .
    Title: F110: Reverse Payment Run
    Text Symbol: 001 = F110: Delete payment data (after successful reversal)
    Text Symbol: 002 = Reversal Data
    Text Symbol: 003 = Troubleshooting
    Text Symbol: 004 = Use the following selection for problems: enter the document
    Text Symbol: 005 = that cannot be dealt with by the program. Reverse this document separately





    comments powered by Disqus