SAP MD_EINZELRUNDUNG Function Module for NOTRANSL: ALT(Bitte, neuen FB: MD_SINGLE_ROUNDING benutzen)
MD_EINZELRUNDUNG is a standard md einzelrundung SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for NOTRANSL: ALT(Bitte, neuen FB: MD_SINGLE_ROUNDING benutzen) 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 md einzelrundung FM, simply by entering the name MD_EINZELRUNDUNG into the relevant SAP transaction such as SE37 or SE38.
Function Group: MDR1
Program Name: SAPLMDR1
Main Program: SAPLMDR1
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function MD_EINZELRUNDUNG 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 'MD_EINZELRUNDUNG'"NOTRANSL: ALT(Bitte, neuen FB: MD_SINGLE_ROUNDING benutzen).
EXPORTING
I_OPCODE = "
* I_VKORG = "
* I_VTWEG = "
* I_SPART = "
* I_KUNNR = "
* I_RDPR = "
* I_NO_MIN_MAX_CHECK = "
* I_INFLS = 'X' "
* I_RDPRF = "
* I_SCMNG = "
* I_SCHME = "
I_MATNR = "Material Number
* I_WERKS_KRED = "
* I_OLD_VERSION = ' ' "
* I_S_GENERAL = "
I_MENGE = "
I_MEINS = "Unit of Measure
* I_WERK = "
* I_LIFNR = "
* I_EKORG = "
* I_INFNR = "
* I_PSTYP = "
IMPORTING
E_LMENGE = "
E_LOGME = "
E_MENGE = "
E_RDPRF = "
E_SCMNG = "
E_SCHME = "
E_NICHT_KORREKT = "
E_S_RESULTS = "
TABLES
* T_RUNDUNGSGRUND = "-> Long Text
EXCEPTIONS
INVALID_OPCODE = 1 ERROR = 10 NO_PURCHASE_ORG = 2 RDPR_NOT_FOUND = 3 MATERIAL_NOT_FOUND = 4 MEINH_NOT_FOUND = 5 BAD_PARAMS = 6 DEBITOR_NOT_FOUND = 7 NO_ROUND = 8 RDPRF_NOT_FOUND = 9
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_SAPLMDR1_001 User Exit for Removing Invalid UN decimal Points
EXIT_SAPLMDR1_002 User Exit for Defining Allowed Units of Measure
EXIT_SAPLMDR1_003 User Exit for Implementing Customer-Specific Method of Rounding
EXIT_SAPLMDR1_004 User Exit for Customer-Specific Correction of Rounding Result
EXIT_SAPLMDR1_005 User Exit for Customer-Specific Correction of Rounding Parameters
IMPORTING Parameters details for MD_EINZELRUNDUNG
I_OPCODE -
Data type: SY-INPUTOptional: No
Call by Reference: No ( called with pass by value option)
I_VKORG -
Data type: KNMT-VKORGOptional: Yes
Call by Reference: No ( called with pass by value option)
I_VTWEG -
Data type: KNMT-VTWEGOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SPART -
Data type: KNVV-SPARTOptional: Yes
Call by Reference: No ( called with pass by value option)
I_KUNNR -
Data type: KNMT-KUNNROptional: Yes
Call by Reference: No ( called with pass by value option)
I_RDPR -
Data type: RDPROptional: Yes
Call by Reference: No ( called with pass by value option)
I_NO_MIN_MAX_CHECK -
Data type: COptional: Yes
Call by Reference: No ( called with pass by value option)
I_INFLS -
Data type: TVAK-INFLSDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_RDPRF -
Data type: MVKE-RDPRFOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SCMNG -
Data type: MVKE-SCMNGOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SCHME -
Data type: MVKE-SCHMEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_MATNR - Material Number
Data type: MARA-MATNROptional: No
Call by Reference: No ( called with pass by value option)
I_WERKS_KRED -
Data type: T001W-WERKSOptional: Yes
Call by Reference: No ( called with pass by value option)
I_OLD_VERSION -
Data type: CDefault: ' '
Optional: Yes
Call by Reference: Yes
I_S_GENERAL -
Data type: MDR1P_S_IN_SINGLE_ROUNDOptional: Yes
Call by Reference: Yes
I_MENGE -
Data type: FOptional: No
Call by Reference: No ( called with pass by value option)
I_MEINS - Unit of Measure
Data type: MARM-MEINHOptional: No
Call by Reference: No ( called with pass by value option)
I_WERK -
Data type: T001W-WERKSOptional: Yes
Call by Reference: No ( called with pass by value option)
I_LIFNR -
Data type: LFA1-LIFNROptional: Yes
Call by Reference: No ( called with pass by value option)
I_EKORG -
Data type: EINE-EKORGOptional: Yes
Call by Reference: No ( called with pass by value option)
I_INFNR -
Data type: EINA-INFNROptional: Yes
Call by Reference: No ( called with pass by value option)
I_PSTYP -
Data type: EKPO-PSTYPOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for MD_EINZELRUNDUNG
E_LMENGE -
Data type: FOptional: No
Call by Reference: No ( called with pass by value option)
E_LOGME -
Data type: MARM-MEINHOptional: No
Call by Reference: No ( called with pass by value option)
E_MENGE -
Data type: FOptional: No
Call by Reference: No ( called with pass by value option)
E_RDPRF -
Data type: MVKE-RDPRFOptional: No
Call by Reference: No ( called with pass by value option)
E_SCMNG -
Data type: MVKE-SCMNGOptional: No
Call by Reference: No ( called with pass by value option)
E_SCHME -
Data type: MVKE-SCHMEOptional: No
Call by Reference: No ( called with pass by value option)
E_NICHT_KORREKT -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
E_S_RESULTS -
Data type: MDR1P_S_OUT_SINGLE_ROUNDOptional: No
Call by Reference: Yes
TABLES Parameters details for MD_EINZELRUNDUNG
T_RUNDUNGSGRUND - -> Long Text
Data type: MDR1P_T_RUNDUNGSGRUNDOptional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
INVALID_OPCODE -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ERROR -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_PURCHASE_ORG -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
RDPR_NOT_FOUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
MATERIAL_NOT_FOUND - Material Not Found
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
MEINH_NOT_FOUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
BAD_PARAMS -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DEBITOR_NOT_FOUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_ROUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
RDPRF_NOT_FOUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for MD_EINZELRUNDUNG 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_lmenge | TYPE F, " | |||
| lv_i_opcode | TYPE SY-INPUT, " | |||
| lv_invalid_opcode | TYPE SY, " | |||
| lt_t_rundungsgrund | TYPE STANDARD TABLE OF MDR1P_T_RUNDUNGSGRUND, " | |||
| lv_error | TYPE MDR1P_T_RUNDUNGSGRUND, " | |||
| lv_i_vkorg | TYPE KNMT-VKORG, " | |||
| lv_i_vtweg | TYPE KNMT-VTWEG, " | |||
| lv_i_spart | TYPE KNVV-SPART, " | |||
| lv_i_kunnr | TYPE KNMT-KUNNR, " | |||
| lv_i_rdpr | TYPE RDPR, " | |||
| lv_i_no_min_max_check | TYPE C, " | |||
| lv_i_infls | TYPE TVAK-INFLS, " 'X' | |||
| lv_i_rdprf | TYPE MVKE-RDPRF, " | |||
| lv_i_scmng | TYPE MVKE-SCMNG, " | |||
| lv_i_schme | TYPE MVKE-SCHME, " | |||
| lv_e_logme | TYPE MARM-MEINH, " | |||
| lv_i_matnr | TYPE MARA-MATNR, " | |||
| lv_no_purchase_org | TYPE MARA, " | |||
| lv_i_werks_kred | TYPE T001W-WERKS, " | |||
| lv_i_old_version | TYPE C, " ' ' | |||
| lv_i_s_general | TYPE MDR1P_S_IN_SINGLE_ROUND, " | |||
| lv_e_menge | TYPE F, " | |||
| lv_i_menge | TYPE F, " | |||
| lv_rdpr_not_found | TYPE F, " | |||
| lv_e_rdprf | TYPE MVKE-RDPRF, " | |||
| lv_i_meins | TYPE MARM-MEINH, " | |||
| lv_material_not_found | TYPE MARM, " | |||
| lv_i_werk | TYPE T001W-WERKS, " | |||
| lv_e_scmng | TYPE MVKE-SCMNG, " | |||
| lv_meinh_not_found | TYPE MVKE, " | |||
| lv_e_schme | TYPE MVKE-SCHME, " | |||
| lv_i_lifnr | TYPE LFA1-LIFNR, " | |||
| lv_bad_params | TYPE LFA1, " | |||
| lv_i_ekorg | TYPE EINE-EKORG, " | |||
| lv_e_nicht_korrekt | TYPE EINE, " | |||
| lv_debitor_not_found | TYPE EINE, " | |||
| lv_i_infnr | TYPE EINA-INFNR, " | |||
| lv_no_round | TYPE EINA, " | |||
| lv_e_s_results | TYPE MDR1P_S_OUT_SINGLE_ROUND, " | |||
| lv_i_pstyp | TYPE EKPO-PSTYP, " | |||
| lv_rdprf_not_found | TYPE EKPO. " |
|   CALL FUNCTION 'MD_EINZELRUNDUNG' "NOTRANSL: ALT(Bitte, neuen FB: MD_SINGLE_ROUNDING benutzen) |
| EXPORTING | ||
| I_OPCODE | = lv_i_opcode | |
| I_VKORG | = lv_i_vkorg | |
| I_VTWEG | = lv_i_vtweg | |
| I_SPART | = lv_i_spart | |
| I_KUNNR | = lv_i_kunnr | |
| I_RDPR | = lv_i_rdpr | |
| I_NO_MIN_MAX_CHECK | = lv_i_no_min_max_check | |
| I_INFLS | = lv_i_infls | |
| I_RDPRF | = lv_i_rdprf | |
| I_SCMNG | = lv_i_scmng | |
| I_SCHME | = lv_i_schme | |
| I_MATNR | = lv_i_matnr | |
| I_WERKS_KRED | = lv_i_werks_kred | |
| I_OLD_VERSION | = lv_i_old_version | |
| I_S_GENERAL | = lv_i_s_general | |
| I_MENGE | = lv_i_menge | |
| I_MEINS | = lv_i_meins | |
| I_WERK | = lv_i_werk | |
| I_LIFNR | = lv_i_lifnr | |
| I_EKORG | = lv_i_ekorg | |
| I_INFNR | = lv_i_infnr | |
| I_PSTYP | = lv_i_pstyp | |
| IMPORTING | ||
| E_LMENGE | = lv_e_lmenge | |
| E_LOGME | = lv_e_logme | |
| E_MENGE | = lv_e_menge | |
| E_RDPRF | = lv_e_rdprf | |
| E_SCMNG | = lv_e_scmng | |
| E_SCHME | = lv_e_schme | |
| E_NICHT_KORREKT | = lv_e_nicht_korrekt | |
| E_S_RESULTS | = lv_e_s_results | |
| TABLES | ||
| T_RUNDUNGSGRUND | = lt_t_rundungsgrund | |
| EXCEPTIONS | ||
| INVALID_OPCODE = 1 | ||
| ERROR = 10 | ||
| NO_PURCHASE_ORG = 2 | ||
| RDPR_NOT_FOUND = 3 | ||
| MATERIAL_NOT_FOUND = 4 | ||
| MEINH_NOT_FOUND = 5 | ||
| BAD_PARAMS = 6 | ||
| DEBITOR_NOT_FOUND = 7 | ||
| NO_ROUND = 8 | ||
| RDPRF_NOT_FOUND = 9 | ||
| . " MD_EINZELRUNDUNG | ||
ABAP code using 7.40 inline data declarations to call FM MD_EINZELRUNDUNG
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 INPUT FROM SY INTO @DATA(ld_i_opcode). | ||||
| "SELECT single VKORG FROM KNMT INTO @DATA(ld_i_vkorg). | ||||
| "SELECT single VTWEG FROM KNMT INTO @DATA(ld_i_vtweg). | ||||
| "SELECT single SPART FROM KNVV INTO @DATA(ld_i_spart). | ||||
| "SELECT single KUNNR FROM KNMT INTO @DATA(ld_i_kunnr). | ||||
| "SELECT single INFLS FROM TVAK INTO @DATA(ld_i_infls). | ||||
| DATA(ld_i_infls) | = 'X'. | |||
| "SELECT single RDPRF FROM MVKE INTO @DATA(ld_i_rdprf). | ||||
| "SELECT single SCMNG FROM MVKE INTO @DATA(ld_i_scmng). | ||||
| "SELECT single SCHME FROM MVKE INTO @DATA(ld_i_schme). | ||||
| "SELECT single MEINH FROM MARM INTO @DATA(ld_e_logme). | ||||
| "SELECT single MATNR FROM MARA INTO @DATA(ld_i_matnr). | ||||
| "SELECT single WERKS FROM T001W INTO @DATA(ld_i_werks_kred). | ||||
| DATA(ld_i_old_version) | = ' '. | |||
| "SELECT single RDPRF FROM MVKE INTO @DATA(ld_e_rdprf). | ||||
| "SELECT single MEINH FROM MARM INTO @DATA(ld_i_meins). | ||||
| "SELECT single WERKS FROM T001W INTO @DATA(ld_i_werk). | ||||
| "SELECT single SCMNG FROM MVKE INTO @DATA(ld_e_scmng). | ||||
| "SELECT single SCHME FROM MVKE INTO @DATA(ld_e_schme). | ||||
| "SELECT single LIFNR FROM LFA1 INTO @DATA(ld_i_lifnr). | ||||
| "SELECT single EKORG FROM EINE INTO @DATA(ld_i_ekorg). | ||||
| "SELECT single INFNR FROM EINA INTO @DATA(ld_i_infnr). | ||||
| "SELECT single PSTYP FROM EKPO INTO @DATA(ld_i_pstyp). | ||||
Search for further information about these or an SAP related objects