SAP CMS_OBJ_ANL_CALC_PERS_CONTROL Function Module for Calculation Controller
CMS_OBJ_ANL_CALC_PERS_CONTROL is a standard cms obj anl calc pers control SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Calculation Controller 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 cms obj anl calc pers control FM, simply by entering the name CMS_OBJ_ANL_CALC_PERS_CONTROL into the relevant SAP transaction such as SE37 or SE38.
Function Group: CMS_OBJ_RBL_SYNC
Program Name: SAPLCMS_OBJ_RBL_SYNC
Main Program: SAPLCMS_OBJ_RBL_SYNC
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:
Function CMS_OBJ_ANL_CALC_PERS_CONTROL 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 'CMS_OBJ_ANL_CALC_PERS_CONTROL'"Calculation Controller.
EXPORTING
I_TAB_AST_GUID = "Technical Key of the Asset
* I_TAB_RBL_STATUS = "Receivables Status
* I_BUS_PROC = "CMS Business Process Name
I_TAB_CAG_GUID = "Technical Key of the Collateral Agreement
I_TAB_RBL_SKY = "Semantic Key for a Receivable
I_TAB_CHG = "Charges details
I_TAB_CAG_RBL = "Collateral Agreement-Receivable details with the CAG-GUID
I_TAB_REL_CAG_TO = "Table of Relationship Details: Contributions 'To'
I_RESULT_CURR = "Calculations Result Currency
I_RATE_TYPE = "Exchange Rate Type for Currency Conversion
* I_RBL_RISK_METHOD = 'B' "Indicator for RBL amt : Referring to MaxRisk or CurrRisk
IMPORTING
E_TAB_ASSESS_VALUE = "Assessment value - Calculation Result table
E_TAB_LENDING_LMT_GRT_M = "Lending Limit for Guarantee - Calculation Result table
E_TAB_LENDING_RANGES = "Lending Range - Calculation Result table
E_TAB_LTOV_RATIO_CAG_C = "Loan to Value Ratio (With Ref to CAG) - Results Table
E_TAB_LTOV_RATIO_PR_C = "Loan to Value Ratio (With Ref to Prior Charges) - Res Table
E_TAB_LTOV_RATIO_RBL_C = "Loan to Value Ratio (With Ref to Prior RBL) - Results Table
E_TAB_LTOV_RATIO_CAG_M = "Loan to Value Ratio (With Ref to CAG) - Results Table
E_TAB_LTOV_RATIO_PR_M = "Loan to Value Ratio (With Ref to Prior Charges) - Res Table
E_TAB_LTOV_RATIO_RBL_M = "Loan to Value Ratio (With Ref to Prior RBL) - Results Table
E_TAB_COLL_VALUE_C = "Intermediate Collateral Value table
E_TAB_COLL_VALUE_M = "Intermediate Collateral Value table
E_TAB_COLL_RIGHT_C = "Collateral Right - Calculation Result table
E_TAB_DIST_COLL_VALUE_C = "Intermediate table for distribution to recievables
E_TAB_DIST_COLL_VALUE_M = "Intermediate table for distribution to recievables
E_TAB_DIST_COLL_VALUE_REL_C = "Intermediate table for ditribution to relations
E_TAB_DIST_COLL_VALUE_REL_M = "Intermediate table for ditribution to relations
E_TAB_DIST_LENDING_RANGE_C = "Distribution of Lending Ranges : Results table
E_TAB_DIST_LENDING_RANGE_M = "Distribution of Lending Ranges : Results table
E_TAB_COV_RATIO_C = "Coverage ratio of collateral agreements -Calculatiion result
E_TAB_COV_RATIO_M = "Coverage ratio of collateral agreements -Calculatiion result
E_TAB_FREE_COLL_C = "Free Collaterals - Calculation Result table
E_TAB_FREE_COLL_M = "Free Collaterals - Calculation Result table
E_TAB_COLL_RIGHT_M = "Collateral Right - Calculation Result table
E_TAB_COVERAGE_GAP_C = "Coverage Gap - Calculation Result table
E_TAB_COVERAGE_GAP_M = "Coverage Gap - Calculation Result table
E_TAB_RC = "Return Code and corresponding Message
E_TAB_PRIOR_CHGS = "Prior Charges - Calculation Result Table
E_TAB_LENDING_VAL_AST = "Lending Value for Asset - Calculation Result table
E_TAB_LENDING_VAL_GRT_C = "Lending Value for Guarantee - Calculation Result table
E_TAB_LENDING_VAL_GRT_M = "Lending Value for Guarantee - Calculation Result table
E_TAB_LENDING_LMT_AST = "Lending Limit for Asset - Calculation Result table
E_TAB_LENDING_LMT_GRT_C = "Lending Limit for Guarantee - Calculation Result table
IMPORTING Parameters details for CMS_OBJ_ANL_CALC_PERS_CONTROL
I_TAB_AST_GUID - Technical Key of the Asset
Data type: CMS_TAB_AST_GUIDOptional: No
Call by Reference: Yes
I_TAB_RBL_STATUS - Receivables Status
Data type: CMS_TAB_RBL_STATUSOptional: Yes
Call by Reference: No ( called with pass by value option)
I_BUS_PROC - CMS Business Process Name
Data type: CMS_DTE_BUS_PROCOptional: Yes
Call by Reference: Yes
I_TAB_CAG_GUID - Technical Key of the Collateral Agreement
Data type: CMS_TAB_CAG_GUIDOptional: No
Call by Reference: Yes
I_TAB_RBL_SKY - Semantic Key for a Receivable
Data type: CMS_TAB_RBL_SKYOptional: No
Call by Reference: Yes
I_TAB_CHG - Charges details
Data type: CMS_TAB_CHGOptional: No
Call by Reference: Yes
I_TAB_CAG_RBL - Collateral Agreement-Receivable details with the CAG-GUID
Data type: CMS_TAB_CAG_RBL_LINK_DATAOptional: No
Call by Reference: Yes
I_TAB_REL_CAG_TO - Table of Relationship Details: Contributions 'To'
Data type: CMS_TAB_REL_CAG_TOOptional: No
Call by Reference: Yes
I_RESULT_CURR - Calculations Result Currency
Data type: CMS_DTE_CALC_RES_CURROptional: No
Call by Reference: No ( called with pass by value option)
I_RATE_TYPE - Exchange Rate Type for Currency Conversion
Data type: CMS_DTE_RATE_TYPEOptional: No
Call by Reference: No ( called with pass by value option)
I_RBL_RISK_METHOD - Indicator for RBL amt : Referring to MaxRisk or CurrRisk
Data type: CMS_DTE_IND_RISK_METHODDefault: 'B'
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for CMS_OBJ_ANL_CALC_PERS_CONTROL
E_TAB_ASSESS_VALUE - Assessment value - Calculation Result table
Data type: CMS_TAB_ANL_NOM_VALUEOptional: No
Call by Reference: Yes
E_TAB_LENDING_LMT_GRT_M - Lending Limit for Guarantee - Calculation Result table
Data type: CMS_TAB_ANL_LENDING_LMT_GRTOptional: No
Call by Reference: Yes
E_TAB_LENDING_RANGES - Lending Range - Calculation Result table
Data type: CMS_TAB_ANL_LENDING_RANGEOptional: No
Call by Reference: Yes
E_TAB_LTOV_RATIO_CAG_C - Loan to Value Ratio (With Ref to CAG) - Results Table
Data type: CMS_TAB_ANL_LTOV_RATIO_CAGOptional: No
Call by Reference: Yes
E_TAB_LTOV_RATIO_PR_C - Loan to Value Ratio (With Ref to Prior Charges) - Res Table
Data type: CMS_TAB_ANL_LTOV_RATIO_PROptional: No
Call by Reference: Yes
E_TAB_LTOV_RATIO_RBL_C - Loan to Value Ratio (With Ref to Prior RBL) - Results Table
Data type: CMS_TAB_ANL_LTOV_RATIO_RBLOptional: No
Call by Reference: Yes
E_TAB_LTOV_RATIO_CAG_M - Loan to Value Ratio (With Ref to CAG) - Results Table
Data type: CMS_TAB_ANL_LTOV_RATIO_CAGOptional: No
Call by Reference: Yes
E_TAB_LTOV_RATIO_PR_M - Loan to Value Ratio (With Ref to Prior Charges) - Res Table
Data type: CMS_TAB_ANL_LTOV_RATIO_PROptional: No
Call by Reference: Yes
E_TAB_LTOV_RATIO_RBL_M - Loan to Value Ratio (With Ref to Prior RBL) - Results Table
Data type: CMS_TAB_ANL_LTOV_RATIO_RBLOptional: No
Call by Reference: Yes
E_TAB_COLL_VALUE_C - Intermediate Collateral Value table
Data type: CMS_TAB_ANL_INT_COLL_VALUEOptional: No
Call by Reference: Yes
E_TAB_COLL_VALUE_M - Intermediate Collateral Value table
Data type: CMS_TAB_ANL_INT_COLL_VALUEOptional: No
Call by Reference: Yes
E_TAB_COLL_RIGHT_C - Collateral Right - Calculation Result table
Data type: CMS_TAB_ANL_COLL_RIGHTOptional: No
Call by Reference: Yes
E_TAB_DIST_COLL_VALUE_C - Intermediate table for distribution to recievables
Data type: CMS_TAB_ANL_INT_DIST_CV_RESULTOptional: No
Call by Reference: Yes
E_TAB_DIST_COLL_VALUE_M - Intermediate table for distribution to recievables
Data type: CMS_TAB_ANL_INT_DIST_CV_RESULTOptional: No
Call by Reference: Yes
E_TAB_DIST_COLL_VALUE_REL_C - Intermediate table for ditribution to relations
Data type: CMS_TAB_ANL_INT_DIST_CV_RELOptional: No
Call by Reference: Yes
E_TAB_DIST_COLL_VALUE_REL_M - Intermediate table for ditribution to relations
Data type: CMS_TAB_ANL_INT_DIST_CV_RELOptional: No
Call by Reference: Yes
E_TAB_DIST_LENDING_RANGE_C - Distribution of Lending Ranges : Results table
Data type: CMS_TAB_ANL_DIST_LR_RESULTOptional: No
Call by Reference: Yes
E_TAB_DIST_LENDING_RANGE_M - Distribution of Lending Ranges : Results table
Data type: CMS_TAB_ANL_DIST_LR_RESULTOptional: No
Call by Reference: Yes
E_TAB_COV_RATIO_C - Coverage ratio of collateral agreements -Calculatiion result
Data type: CMS_TAB_ANL_COV_RATIOOptional: No
Call by Reference: Yes
E_TAB_COV_RATIO_M - Coverage ratio of collateral agreements -Calculatiion result
Data type: CMS_TAB_ANL_COV_RATIOOptional: No
Call by Reference: Yes
E_TAB_FREE_COLL_C - Free Collaterals - Calculation Result table
Data type: CMS_TAB_ANL_FREE_COLLOptional: No
Call by Reference: Yes
E_TAB_FREE_COLL_M - Free Collaterals - Calculation Result table
Data type: CMS_TAB_ANL_FREE_COLLOptional: No
Call by Reference: Yes
E_TAB_COLL_RIGHT_M - Collateral Right - Calculation Result table
Data type: CMS_TAB_ANL_COLL_RIGHTOptional: No
Call by Reference: Yes
E_TAB_COVERAGE_GAP_C - Coverage Gap - Calculation Result table
Data type: CMS_TAB_ANL_COVERAGE_GAPOptional: No
Call by Reference: Yes
E_TAB_COVERAGE_GAP_M - Coverage Gap - Calculation Result table
Data type: CMS_TAB_ANL_COVERAGE_GAPOptional: No
Call by Reference: Yes
E_TAB_RC - Return Code and corresponding Message
Data type: CMS_TAB_MSG_COL_MESSAGEOptional: No
Call by Reference: Yes
E_TAB_PRIOR_CHGS - Prior Charges - Calculation Result Table
Data type: CMS_TAB_ANL_PRIOR_CHGSOptional: No
Call by Reference: Yes
E_TAB_LENDING_VAL_AST - Lending Value for Asset - Calculation Result table
Data type: CMS_TAB_ANL_LENDING_VAL_ASTOptional: No
Call by Reference: Yes
E_TAB_LENDING_VAL_GRT_C - Lending Value for Guarantee - Calculation Result table
Data type: CMS_TAB_ANL_LENDING_VAL_GRTOptional: No
Call by Reference: Yes
E_TAB_LENDING_VAL_GRT_M - Lending Value for Guarantee - Calculation Result table
Data type: CMS_TAB_ANL_LENDING_VAL_GRTOptional: No
Call by Reference: Yes
E_TAB_LENDING_LMT_AST - Lending Limit for Asset - Calculation Result table
Data type: CMS_TAB_ANL_LENDING_LMT_ASTOptional: No
Call by Reference: Yes
E_TAB_LENDING_LMT_GRT_C - Lending Limit for Guarantee - Calculation Result table
Data type: CMS_TAB_ANL_LENDING_LMT_GRTOptional: No
Call by Reference: Yes
Copy and paste ABAP code example for CMS_OBJ_ANL_CALC_PERS_CONTROL 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_tab_ast_guid | TYPE CMS_TAB_AST_GUID, " | |||
lv_e_tab_assess_value | TYPE CMS_TAB_ANL_NOM_VALUE, " | |||
lv_i_tab_rbl_status | TYPE CMS_TAB_RBL_STATUS, " | |||
lv_e_tab_lending_lmt_grt_m | TYPE CMS_TAB_ANL_LENDING_LMT_GRT, " | |||
lv_i_bus_proc | TYPE CMS_DTE_BUS_PROC, " | |||
lv_e_tab_lending_ranges | TYPE CMS_TAB_ANL_LENDING_RANGE, " | |||
lv_e_tab_ltov_ratio_cag_c | TYPE CMS_TAB_ANL_LTOV_RATIO_CAG, " | |||
lv_e_tab_ltov_ratio_pr_c | TYPE CMS_TAB_ANL_LTOV_RATIO_PR, " | |||
lv_e_tab_ltov_ratio_rbl_c | TYPE CMS_TAB_ANL_LTOV_RATIO_RBL, " | |||
lv_e_tab_ltov_ratio_cag_m | TYPE CMS_TAB_ANL_LTOV_RATIO_CAG, " | |||
lv_e_tab_ltov_ratio_pr_m | TYPE CMS_TAB_ANL_LTOV_RATIO_PR, " | |||
lv_e_tab_ltov_ratio_rbl_m | TYPE CMS_TAB_ANL_LTOV_RATIO_RBL, " | |||
lv_e_tab_coll_value_c | TYPE CMS_TAB_ANL_INT_COLL_VALUE, " | |||
lv_e_tab_coll_value_m | TYPE CMS_TAB_ANL_INT_COLL_VALUE, " | |||
lv_i_tab_cag_guid | TYPE CMS_TAB_CAG_GUID, " | |||
lv_e_tab_coll_right_c | TYPE CMS_TAB_ANL_COLL_RIGHT, " | |||
lv_e_tab_dist_coll_value_c | TYPE CMS_TAB_ANL_INT_DIST_CV_RESULT, " | |||
lv_e_tab_dist_coll_value_m | TYPE CMS_TAB_ANL_INT_DIST_CV_RESULT, " | |||
lv_e_tab_dist_coll_value_rel_c | TYPE CMS_TAB_ANL_INT_DIST_CV_REL, " | |||
lv_e_tab_dist_coll_value_rel_m | TYPE CMS_TAB_ANL_INT_DIST_CV_REL, " | |||
lv_e_tab_dist_lending_range_c | TYPE CMS_TAB_ANL_DIST_LR_RESULT, " | |||
lv_e_tab_dist_lending_range_m | TYPE CMS_TAB_ANL_DIST_LR_RESULT, " | |||
lv_e_tab_cov_ratio_c | TYPE CMS_TAB_ANL_COV_RATIO, " | |||
lv_e_tab_cov_ratio_m | TYPE CMS_TAB_ANL_COV_RATIO, " | |||
lv_e_tab_free_coll_c | TYPE CMS_TAB_ANL_FREE_COLL, " | |||
lv_e_tab_free_coll_m | TYPE CMS_TAB_ANL_FREE_COLL, " | |||
lv_i_tab_rbl_sky | TYPE CMS_TAB_RBL_SKY, " | |||
lv_e_tab_coll_right_m | TYPE CMS_TAB_ANL_COLL_RIGHT, " | |||
lv_e_tab_coverage_gap_c | TYPE CMS_TAB_ANL_COVERAGE_GAP, " | |||
lv_e_tab_coverage_gap_m | TYPE CMS_TAB_ANL_COVERAGE_GAP, " | |||
lv_e_tab_rc | TYPE CMS_TAB_MSG_COL_MESSAGE, " | |||
lv_i_tab_chg | TYPE CMS_TAB_CHG, " | |||
lv_e_tab_prior_chgs | TYPE CMS_TAB_ANL_PRIOR_CHGS, " | |||
lv_i_tab_cag_rbl | TYPE CMS_TAB_CAG_RBL_LINK_DATA, " | |||
lv_e_tab_lending_val_ast | TYPE CMS_TAB_ANL_LENDING_VAL_AST, " | |||
lv_i_tab_rel_cag_to | TYPE CMS_TAB_REL_CAG_TO, " | |||
lv_e_tab_lending_val_grt_c | TYPE CMS_TAB_ANL_LENDING_VAL_GRT, " | |||
lv_i_result_curr | TYPE CMS_DTE_CALC_RES_CURR, " | |||
lv_e_tab_lending_val_grt_m | TYPE CMS_TAB_ANL_LENDING_VAL_GRT, " | |||
lv_i_rate_type | TYPE CMS_DTE_RATE_TYPE, " | |||
lv_e_tab_lending_lmt_ast | TYPE CMS_TAB_ANL_LENDING_LMT_AST, " | |||
lv_i_rbl_risk_method | TYPE CMS_DTE_IND_RISK_METHOD, " 'B' | |||
lv_e_tab_lending_lmt_grt_c | TYPE CMS_TAB_ANL_LENDING_LMT_GRT. " |
  CALL FUNCTION 'CMS_OBJ_ANL_CALC_PERS_CONTROL' "Calculation Controller |
EXPORTING | ||
I_TAB_AST_GUID | = lv_i_tab_ast_guid | |
I_TAB_RBL_STATUS | = lv_i_tab_rbl_status | |
I_BUS_PROC | = lv_i_bus_proc | |
I_TAB_CAG_GUID | = lv_i_tab_cag_guid | |
I_TAB_RBL_SKY | = lv_i_tab_rbl_sky | |
I_TAB_CHG | = lv_i_tab_chg | |
I_TAB_CAG_RBL | = lv_i_tab_cag_rbl | |
I_TAB_REL_CAG_TO | = lv_i_tab_rel_cag_to | |
I_RESULT_CURR | = lv_i_result_curr | |
I_RATE_TYPE | = lv_i_rate_type | |
I_RBL_RISK_METHOD | = lv_i_rbl_risk_method | |
IMPORTING | ||
E_TAB_ASSESS_VALUE | = lv_e_tab_assess_value | |
E_TAB_LENDING_LMT_GRT_M | = lv_e_tab_lending_lmt_grt_m | |
E_TAB_LENDING_RANGES | = lv_e_tab_lending_ranges | |
E_TAB_LTOV_RATIO_CAG_C | = lv_e_tab_ltov_ratio_cag_c | |
E_TAB_LTOV_RATIO_PR_C | = lv_e_tab_ltov_ratio_pr_c | |
E_TAB_LTOV_RATIO_RBL_C | = lv_e_tab_ltov_ratio_rbl_c | |
E_TAB_LTOV_RATIO_CAG_M | = lv_e_tab_ltov_ratio_cag_m | |
E_TAB_LTOV_RATIO_PR_M | = lv_e_tab_ltov_ratio_pr_m | |
E_TAB_LTOV_RATIO_RBL_M | = lv_e_tab_ltov_ratio_rbl_m | |
E_TAB_COLL_VALUE_C | = lv_e_tab_coll_value_c | |
E_TAB_COLL_VALUE_M | = lv_e_tab_coll_value_m | |
E_TAB_COLL_RIGHT_C | = lv_e_tab_coll_right_c | |
E_TAB_DIST_COLL_VALUE_C | = lv_e_tab_dist_coll_value_c | |
E_TAB_DIST_COLL_VALUE_M | = lv_e_tab_dist_coll_value_m | |
E_TAB_DIST_COLL_VALUE_REL_C | = lv_e_tab_dist_coll_value_rel_c | |
E_TAB_DIST_COLL_VALUE_REL_M | = lv_e_tab_dist_coll_value_rel_m | |
E_TAB_DIST_LENDING_RANGE_C | = lv_e_tab_dist_lending_range_c | |
E_TAB_DIST_LENDING_RANGE_M | = lv_e_tab_dist_lending_range_m | |
E_TAB_COV_RATIO_C | = lv_e_tab_cov_ratio_c | |
E_TAB_COV_RATIO_M | = lv_e_tab_cov_ratio_m | |
E_TAB_FREE_COLL_C | = lv_e_tab_free_coll_c | |
E_TAB_FREE_COLL_M | = lv_e_tab_free_coll_m | |
E_TAB_COLL_RIGHT_M | = lv_e_tab_coll_right_m | |
E_TAB_COVERAGE_GAP_C | = lv_e_tab_coverage_gap_c | |
E_TAB_COVERAGE_GAP_M | = lv_e_tab_coverage_gap_m | |
E_TAB_RC | = lv_e_tab_rc | |
E_TAB_PRIOR_CHGS | = lv_e_tab_prior_chgs | |
E_TAB_LENDING_VAL_AST | = lv_e_tab_lending_val_ast | |
E_TAB_LENDING_VAL_GRT_C | = lv_e_tab_lending_val_grt_c | |
E_TAB_LENDING_VAL_GRT_M | = lv_e_tab_lending_val_grt_m | |
E_TAB_LENDING_LMT_AST | = lv_e_tab_lending_lmt_ast | |
E_TAB_LENDING_LMT_GRT_C | = lv_e_tab_lending_lmt_grt_c | |
. " CMS_OBJ_ANL_CALC_PERS_CONTROL |
ABAP code using 7.40 inline data declarations to call FM CMS_OBJ_ANL_CALC_PERS_CONTROL
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_i_rbl_risk_method) | = 'B'. | |||
Search for further information about these or an SAP related objects