SAP FM_GET_EFFECTIVE_DUE_DATE Function Module for Get effective (PPA) due date
FM_GET_EFFECTIVE_DUE_DATE is a standard fm get effective due date SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Get effective (PPA) due date 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 fm get effective due date FM, simply by entering the name FM_GET_EFFECTIVE_DUE_DATE into the relevant SAP transaction such as SE37 or SE38.
Function Group: FMPY_E
Program Name: SAPLFMPY_E
Main Program: SAPLFMPY_E
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function FM_GET_EFFECTIVE_DUE_DATE 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 'FM_GET_EFFECTIVE_DUE_DATE'"Get effective (PPA) due date.
EXPORTING
I_PPA_DUE_DATE = "PPA (adjusted) due date
I_COMP_CODE = "Paying company code
* I_PMT_METHOD = ' ' "Payment method
IMPORTING
E_EFFECTIVE_DUE_DATE = "Effective date for penalty calculation
Customer Function user exits
Below is a list of CUSTOMER FUNCTION exit user exits that are available within this program and maybe relevant for this FM.EXIT_SAPLFMPY_E_001 Message type for PPA, if correct payment term in po is not used
EXIT_SAPLFMPY_E_002 Configurable message for payment terms in FI
IMPORTING Parameters details for FM_GET_EFFECTIVE_DUE_DATE
I_PPA_DUE_DATE - PPA (adjusted) due date
Data type: REGUP-ZFBDTOptional: No
Call by Reference: No ( called with pass by value option)
I_COMP_CODE - Paying company code
Data type: T042-ZBUKROptional: No
Call by Reference: No ( called with pass by value option)
I_PMT_METHOD - Payment method
Data type: T043U-ZLSCHDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for FM_GET_EFFECTIVE_DUE_DATE
E_EFFECTIVE_DUE_DATE - Effective date for penalty calculation
Data type: REGUP-ZFBDTOptional: No
Call by Reference: Yes
Copy and paste ABAP code example for FM_GET_EFFECTIVE_DUE_DATE 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_i_ppa_due_date | TYPE REGUP-ZFBDT, " | |||
| lv_e_effective_due_date | TYPE REGUP-ZFBDT, " | |||
| lv_i_comp_code | TYPE T042-ZBUKR, " | |||
| lv_i_pmt_method | TYPE T043U-ZLSCH. " SPACE |
|   CALL FUNCTION 'FM_GET_EFFECTIVE_DUE_DATE' "Get effective (PPA) due date |
| EXPORTING | ||
| I_PPA_DUE_DATE | = lv_i_ppa_due_date | |
| I_COMP_CODE | = lv_i_comp_code | |
| I_PMT_METHOD | = lv_i_pmt_method | |
| IMPORTING | ||
| E_EFFECTIVE_DUE_DATE | = lv_e_effective_due_date | |
| . " FM_GET_EFFECTIVE_DUE_DATE | ||
ABAP code using 7.40 inline data declarations to call FM FM_GET_EFFECTIVE_DUE_DATE
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.| "SELECT single ZFBDT FROM REGUP INTO @DATA(ld_i_ppa_due_date). | ||||
| "SELECT single ZFBDT FROM REGUP INTO @DATA(ld_e_effective_due_date). | ||||
| "SELECT single ZBUKR FROM T042 INTO @DATA(ld_i_comp_code). | ||||
| "SELECT single ZLSCH FROM T043U INTO @DATA(ld_i_pmt_method). | ||||
| DATA(ld_i_pmt_method) | = ' '. | |||
Search for further information about these or an SAP related objects