SAP CACS00_EXEC_CALCULATION Function Module for NOTRANSL: Executing the calculation rule
CACS00_EXEC_CALCULATION is a standard cacs00 exec calculation 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: Executing the calculation rule 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 cacs00 exec calculation FM, simply by entering the name CACS00_EXEC_CALCULATION into the relevant SAP transaction such as SE37 or SE38.
Function Group: CACS00_REMUN_OFFSETTING
Program Name: SAPLCACS00_REMUN_OFFSETTING
Main Program: SAPLCACS00_REMUN_OFFSETTING
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function CACS00_EXEC_CALCULATION 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 'CACS00_EXEC_CALCULATION'"NOTRANSL: Executing the calculation rule.
EXPORTING
I_OBJ_ID = "Calculating Object Identification
I_TECH_TIME = "Technically Valid From
I_BUSI_TIME = "Effective from
I_ALL_TOTAL = "Remuneration Fields (Qty and Amt in Appl. and Contr. Curr.)
I_GROUP_TOTAL = "Remuneration Fields (Qty and Amt in Appl. and Contr. Curr.)
I_CTRTBU_ID = "Commission Contract Number for Remun. Clrg Rule Selection
TABLES
T_DOCREM_XL = "Commn: Enhanced Remuneration Row (Used Internally Only)
T_DOCREM_XL_NEW = "Commn: Enhanced Remuneration Row (Used Internally Only)
T_DOCDTM = "Comn Document: Detail Items for Remuneration Rows (Meta)
T_DOCDTM_NEW = "Comn Document: Detail Items for Remuneration Rows (Meta)
EXCEPTIONS
SEVERE_ERROR = 1
IMPORTING Parameters details for CACS00_EXEC_CALCULATION
I_OBJ_ID - Calculating Object Identification
Data type: TCACS_LOS_OBJECT-OBJ_IDOptional: No
Call by Reference: Yes
I_TECH_TIME - Technically Valid From
Data type: CACS_TECHTIME_BOptional: No
Call by Reference: Yes
I_BUSI_TIME - Effective from
Data type: CACS_BUSITIME_BOptional: No
Call by Reference: Yes
I_ALL_TOTAL - Remuneration Fields (Qty and Amt in Appl. and Contr. Curr.)
Data type: CACS_S_REM_VALUESOptional: No
Call by Reference: Yes
I_GROUP_TOTAL - Remuneration Fields (Qty and Amt in Appl. and Contr. Curr.)
Data type: CACS_S_REM_VALUESOptional: No
Call by Reference: Yes
I_CTRTBU_ID - Commission Contract Number for Remun. Clrg Rule Selection
Data type: CACS_S_OFFSETTING_CONTRACT_MAP-OFF_CTRTBU_IDOptional: No
Call by Reference: Yes
TABLES Parameters details for CACS00_EXEC_CALCULATION
T_DOCREM_XL - Commn: Enhanced Remuneration Row (Used Internally Only)
Data type: CACS00_S_DOCREM_XLOptional: No
Call by Reference: Yes
T_DOCREM_XL_NEW - Commn: Enhanced Remuneration Row (Used Internally Only)
Data type: CACS00_S_DOCREM_XLOptional: No
Call by Reference: Yes
T_DOCDTM - Comn Document: Detail Items for Remuneration Rows (Meta)
Data type: CACS00_S_DOCDTMOptional: No
Call by Reference: Yes
T_DOCDTM_NEW - Comn Document: Detail Items for Remuneration Rows (Meta)
Data type: CACS00_S_DOCDTMOptional: No
Call by Reference: Yes
EXCEPTIONS details
SEVERE_ERROR -
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for CACS00_EXEC_CALCULATION 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_obj_id | TYPE TCACS_LOS_OBJECT-OBJ_ID, " | |||
| lt_t_docrem_xl | TYPE STANDARD TABLE OF CACS00_S_DOCREM_XL, " | |||
| lv_severe_error | TYPE CACS00_S_DOCREM_XL, " | |||
| lv_i_tech_time | TYPE CACS_TECHTIME_B, " | |||
| lt_t_docrem_xl_new | TYPE STANDARD TABLE OF CACS00_S_DOCREM_XL, " | |||
| lt_t_docdtm | TYPE STANDARD TABLE OF CACS00_S_DOCDTM, " | |||
| lv_i_busi_time | TYPE CACS_BUSITIME_B, " | |||
| lv_i_all_total | TYPE CACS_S_REM_VALUES, " | |||
| lt_t_docdtm_new | TYPE STANDARD TABLE OF CACS00_S_DOCDTM, " | |||
| lv_i_group_total | TYPE CACS_S_REM_VALUES, " | |||
| lv_i_ctrtbu_id | TYPE CACS_S_OFFSETTING_CONTRACT_MAP-OFF_CTRTBU_ID. " |
|   CALL FUNCTION 'CACS00_EXEC_CALCULATION' "NOTRANSL: Executing the calculation rule |
| EXPORTING | ||
| I_OBJ_ID | = lv_i_obj_id | |
| I_TECH_TIME | = lv_i_tech_time | |
| I_BUSI_TIME | = lv_i_busi_time | |
| I_ALL_TOTAL | = lv_i_all_total | |
| I_GROUP_TOTAL | = lv_i_group_total | |
| I_CTRTBU_ID | = lv_i_ctrtbu_id | |
| TABLES | ||
| T_DOCREM_XL | = lt_t_docrem_xl | |
| T_DOCREM_XL_NEW | = lt_t_docrem_xl_new | |
| T_DOCDTM | = lt_t_docdtm | |
| T_DOCDTM_NEW | = lt_t_docdtm_new | |
| EXCEPTIONS | ||
| SEVERE_ERROR = 1 | ||
| . " CACS00_EXEC_CALCULATION | ||
ABAP code using 7.40 inline data declarations to call FM CACS00_EXEC_CALCULATION
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 OBJ_ID FROM TCACS_LOS_OBJECT INTO @DATA(ld_i_obj_id). | ||||
| "SELECT single OFF_CTRTBU_ID FROM CACS_S_OFFSETTING_CONTRACT_MAP INTO @DATA(ld_i_ctrtbu_id). | ||||
Search for further information about these or an SAP related objects