SAP CHANGE_CHECK_FOR_REFKONT Function Module for Check Whether Relevant Changes Exist for Account Assignment Reference
CHANGE_CHECK_FOR_REFKONT is a standard change check for refkont SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Check Whether Relevant Changes Exist for Account Assignment Reference processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for change check for refkont FM, simply by entering the name CHANGE_CHECK_FOR_REFKONT into the relevant SAP transaction such as SE37 or SE38.
Function Group: FVZ5
Program Name: SAPLFVZ5
Main Program: SAPLFVZ5
Appliation area: F
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function CHANGE_CHECK_FOR_REFKONT pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'CHANGE_CHECK_FOR_REFKONT'"Check Whether Relevant Changes Exist for Account Assignment Reference.
EXPORTING
* IVDARL_NEW = ' ' "Loans: New
* I_POSTING_DATE = '00000000' "Buchungsdatum (wenn initial: Popup für Eingabe)
* I_REHER = ' ' "Herkunft für Vormerkung, sonst USERDATA_MAINTAIN
* IVZKPART_NEW = ' ' "Treasury: Acct assignmnt ref. features for business partner
* IVZKPART_OLD = ' ' "Treasury: Acct assignmnt ref. features for business partner
* I_ISSR_RPI_MFT_NEW = "ISSR: Feste und variable Daten Meldewesen
* I_ISSR_RPI_MFT_OLD = "ISSR: Feste und variable Daten Meldewesen
* IVDARL_OLD = ' ' "Darlehen alt
* IVDHOBJ_NEW = ' ' "Object - new
* IVDHOBJ_OLD = ' ' "Object - old
* IVZBAVV_NEW = ' ' "BAV variabel neu
* IVZBAVV_OLD = ' ' "BAV variabel alt
* I_SNUMOBJ = 'VD' "Nummernkreisobjekt für Suche Objekt
* I_SOBJEKT = ' ' "Interner Schlüssel für Suche Objekt
* I_SUCHFLAG = ' ' "' 'alle Obj. 'E'ohne Obj. 'I'nur Obj.
IMPORTING
E_ABBRUCH = "'X' Programm wird abgebrochen
E_VORMERK = "'X' Vormerkung zur Bestandsumbuchung erzeugt
EXCEPTIONS
UPDATE_ERROR = 1 FUNKTION_NOT_POSSIBLE = 2
IMPORTING Parameters details for CHANGE_CHECK_FOR_REFKONT
IVDARL_NEW - Loans: New
Data type: VDARLDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_POSTING_DATE - Buchungsdatum (wenn initial: Popup für Eingabe)
Data type: SY-DATUMDefault: '00000000'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_REHER - Herkunft für Vormerkung, sonst USERDATA_MAINTAIN
Data type: VDBEPP-REHERDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
IVZKPART_NEW - Treasury: Acct assignmnt ref. features for business partner
Data type: VZKPARTDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
IVZKPART_OLD - Treasury: Acct assignmnt ref. features for business partner
Data type: VZKPARTDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_ISSR_RPI_MFT_NEW - ISSR: Feste und variable Daten Meldewesen
Data type: ISSR_RPI_MFTOptional: Yes
Call by Reference: No ( called with pass by value option)
I_ISSR_RPI_MFT_OLD - ISSR: Feste und variable Daten Meldewesen
Data type: ISSR_RPI_MFTOptional: Yes
Call by Reference: No ( called with pass by value option)
IVDARL_OLD - Darlehen alt
Data type: VDARLDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
IVDHOBJ_NEW - Object - new
Data type: VDHOBJDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
IVDHOBJ_OLD - Object - old
Data type: VDHOBJDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
IVZBAVV_NEW - BAV variabel neu
Data type: VZBAVVDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
IVZBAVV_OLD - BAV variabel alt
Data type: VZBAVVDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_SNUMOBJ - Nummernkreisobjekt für Suche Objekt
Data type: VDGPO-SNUMOBJDefault: 'VD'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_SOBJEKT - Interner Schlüssel für Suche Objekt
Data type: VDGPO-SOBJEKTDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_SUCHFLAG - ' 'alle Obj. 'E'ohne Obj. 'I'nur Obj.
Data type: CYXRANGES-SIGNDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for CHANGE_CHECK_FOR_REFKONT
E_ABBRUCH - 'X' Programm wird abgebrochen
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
E_VORMERK - 'X' Vormerkung zur Bestandsumbuchung erzeugt
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
UPDATE_ERROR - Fehler beim Schreiben der Vormerkung
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FUNKTION_NOT_POSSIBLE - Umbuchungsvormerkung/Funktion nicht möglich
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for CHANGE_CHECK_FOR_REFKONT Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_e_abbruch | TYPE STRING, " | |||
| lv_ivdarl_new | TYPE VDARL, " SPACE | |||
| lv_update_error | TYPE VDARL, " | |||
| lv_i_posting_date | TYPE SY-DATUM, " '00000000' | |||
| lv_i_reher | TYPE VDBEPP-REHER, " SPACE | |||
| lv_ivzkpart_new | TYPE VZKPART, " SPACE | |||
| lv_ivzkpart_old | TYPE VZKPART, " SPACE | |||
| lv_i_issr_rpi_mft_new | TYPE ISSR_RPI_MFT, " | |||
| lv_i_issr_rpi_mft_old | TYPE ISSR_RPI_MFT, " | |||
| lv_e_vormerk | TYPE ISSR_RPI_MFT, " | |||
| lv_ivdarl_old | TYPE VDARL, " SPACE | |||
| lv_funktion_not_possible | TYPE VDARL, " | |||
| lv_ivdhobj_new | TYPE VDHOBJ, " SPACE | |||
| lv_ivdhobj_old | TYPE VDHOBJ, " SPACE | |||
| lv_ivzbavv_new | TYPE VZBAVV, " SPACE | |||
| lv_ivzbavv_old | TYPE VZBAVV, " SPACE | |||
| lv_i_snumobj | TYPE VDGPO-SNUMOBJ, " 'VD' | |||
| lv_i_sobjekt | TYPE VDGPO-SOBJEKT, " SPACE | |||
| lv_i_suchflag | TYPE CYXRANGES-SIGN. " ' ' |
|   CALL FUNCTION 'CHANGE_CHECK_FOR_REFKONT' "Check Whether Relevant Changes Exist for Account Assignment Reference |
| EXPORTING | ||
| IVDARL_NEW | = lv_ivdarl_new | |
| I_POSTING_DATE | = lv_i_posting_date | |
| I_REHER | = lv_i_reher | |
| IVZKPART_NEW | = lv_ivzkpart_new | |
| IVZKPART_OLD | = lv_ivzkpart_old | |
| I_ISSR_RPI_MFT_NEW | = lv_i_issr_rpi_mft_new | |
| I_ISSR_RPI_MFT_OLD | = lv_i_issr_rpi_mft_old | |
| IVDARL_OLD | = lv_ivdarl_old | |
| IVDHOBJ_NEW | = lv_ivdhobj_new | |
| IVDHOBJ_OLD | = lv_ivdhobj_old | |
| IVZBAVV_NEW | = lv_ivzbavv_new | |
| IVZBAVV_OLD | = lv_ivzbavv_old | |
| I_SNUMOBJ | = lv_i_snumobj | |
| I_SOBJEKT | = lv_i_sobjekt | |
| I_SUCHFLAG | = lv_i_suchflag | |
| IMPORTING | ||
| E_ABBRUCH | = lv_e_abbruch | |
| E_VORMERK | = lv_e_vormerk | |
| EXCEPTIONS | ||
| UPDATE_ERROR = 1 | ||
| FUNKTION_NOT_POSSIBLE = 2 | ||
| . " CHANGE_CHECK_FOR_REFKONT | ||
ABAP code using 7.40 inline data declarations to call FM CHANGE_CHECK_FOR_REFKONT
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| DATA(ld_ivdarl_new) | = ' '. | |||
| "SELECT single DATUM FROM SY INTO @DATA(ld_i_posting_date). | ||||
| DATA(ld_i_posting_date) | = '00000000'. | |||
| "SELECT single REHER FROM VDBEPP INTO @DATA(ld_i_reher). | ||||
| DATA(ld_i_reher) | = ' '. | |||
| DATA(ld_ivzkpart_new) | = ' '. | |||
| DATA(ld_ivzkpart_old) | = ' '. | |||
| DATA(ld_ivdarl_old) | = ' '. | |||
| DATA(ld_ivdhobj_new) | = ' '. | |||
| DATA(ld_ivdhobj_old) | = ' '. | |||
| DATA(ld_ivzbavv_new) | = ' '. | |||
| DATA(ld_ivzbavv_old) | = ' '. | |||
| "SELECT single SNUMOBJ FROM VDGPO INTO @DATA(ld_i_snumobj). | ||||
| DATA(ld_i_snumobj) | = 'VD'. | |||
| "SELECT single SOBJEKT FROM VDGPO INTO @DATA(ld_i_sobjekt). | ||||
| DATA(ld_i_sobjekt) | = ' '. | |||
| "SELECT single SIGN FROM CYXRANGES INTO @DATA(ld_i_suchflag). | ||||
| DATA(ld_i_suchflag) | = ' '. | |||
Search for further information about these or an SAP related objects