SAP RSDG_CUBE_CHECK Function Module for Checks an InfoCube / MultiProvider
RSDG_CUBE_CHECK is a standard rsdg cube check SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Checks an InfoCube / MultiProvider 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 rsdg cube check FM, simply by entering the name RSDG_CUBE_CHECK into the relevant SAP transaction such as SE37 or SE38.
Function Group: RSDG_CUBE_DB_WRITE
Program Name: SAPLRSDG_CUBE_DB_WRITE
Main Program: SAPLRSDG_CUBE_DB_WRITE
Appliation area: B
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function RSDG_CUBE_CHECK 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 'RSDG_CUBE_CHECK'"Checks an InfoCube / MultiProvider.
EXPORTING
I_INFOCUBE = "InfoCube / MultiProvider
* I_CHECK_IOBJ_ACTIVE = RS_C_FALSE "with checks: InfoObjects active
* I_CHECK_NAV_ATR = RS_C_TRUE "with check: Navigational attribute
* I_EXT_BAPI_CHECK = RS_C_FALSE "extended check (->BAPI's)
* I_EXT_BAPI_NAME_CHECK = RS_C_TRUE "also check name if BAPI check
* I_T_IOBJ_USE_D = "InfoObjects which should be read in 'D' version
* I_T_CUBE_USE_D = "InfoProviders which should be read in 'D' version
IMPORTING
E_SUBRC = "Return code <> 0: Error (->Documentation)
E_SEVERITY = "Overall error type: 'S'uccess/'W'arnnig/'E'rror
E_IS_REPAIRED = "Object Repaired
E_T_MSG = "Log list
E_T_IOBJNM_ERR = "List of incorrect InfoObjects
E_T_DIME_ERR = "List of incorrect Dimensions
E_T_CUBE_ERR = "List of incorrect InfoProvider
E_TIMNM_REQ = "required time characteristic
CHANGING
C_S_CUBE = "InfoCube / MultiProvider Bar
C_T_DIME = "Dimensions
C_T_CUBE_IOBJ = "InfoObject in InfoCube / MultiProvider
C_T_DIME_IOBJ = "InfoObjects in the Dimensions
C_T_IC_VAL_IOBJ = "InfoObjects in Validity Table
* C_T_ICHA_PRO = "Data Target-specific Characteristic Properties
* C_T_IKYF_PRO = "Data Target-specific Key Figure Properties
* C_T_CUBE_PART = "InfoProviders invloved with the MultiProvider
* C_T_MULTI_IOBJ = "Relation: Iobj in MP <-> IOBJ in InfoProvider
EXCEPTIONS
ILLEGAL_INPUT = 1
IMPORTING Parameters details for RSDG_CUBE_CHECK
I_INFOCUBE - InfoCube / MultiProvider
Data type: RSD_INFOCUBEOptional: No
Call by Reference: No ( called with pass by value option)
I_CHECK_IOBJ_ACTIVE - with checks: InfoObjects active
Data type: RS_BOOLDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CHECK_NAV_ATR - with check: Navigational attribute
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_EXT_BAPI_CHECK - extended check (->BAPI's)
Data type: RS_BOOLDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_EXT_BAPI_NAME_CHECK - also check name if BAPI check
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_T_IOBJ_USE_D - InfoObjects which should be read in 'D' version
Data type: RSD_T_IOBJOptional: Yes
Call by Reference: Yes
I_T_CUBE_USE_D - InfoProviders which should be read in 'D' version
Data type: RSD_T_CUBEOptional: Yes
Call by Reference: Yes
EXPORTING Parameters details for RSDG_CUBE_CHECK
E_SUBRC - Return code <> 0: Error (->Documentation)
Data type: SY-SUBRCOptional: No
Call by Reference: No ( called with pass by value option)
E_SEVERITY - Overall error type: 'S'uccess/'W'arnnig/'E'rror
Data type: RS_CHAR1Optional: No
Call by Reference: No ( called with pass by value option)
E_IS_REPAIRED - Object Repaired
Data type: RS_BOOLOptional: No
Call by Reference: Yes
E_T_MSG - Log list
Data type: RS_T_MSGOptional: No
Call by Reference: Yes
E_T_IOBJNM_ERR - List of incorrect InfoObjects
Data type: RSD_T_IOBJNM_ERROptional: No
Call by Reference: Yes
E_T_DIME_ERR - List of incorrect Dimensions
Data type: RSD_T_DIME_ERROptional: No
Call by Reference: Yes
E_T_CUBE_ERR - List of incorrect InfoProvider
Data type: RSD_T_INFOCUBEOptional: No
Call by Reference: Yes
E_TIMNM_REQ - required time characteristic
Data type: RSD_IOBJNMOptional: No
Call by Reference: Yes
CHANGING Parameters details for RSDG_CUBE_CHECK
C_S_CUBE - InfoCube / MultiProvider Bar
Data type: RSD_S_CUBEOptional: No
Call by Reference: Yes
C_T_DIME - Dimensions
Data type: RSD_T_DIMEOptional: No
Call by Reference: Yes
C_T_CUBE_IOBJ - InfoObject in InfoCube / MultiProvider
Data type: RSD_T_CUBE_IOBJOptional: No
Call by Reference: Yes
C_T_DIME_IOBJ - InfoObjects in the Dimensions
Data type: RSD_T_DIME_IOBJOptional: No
Call by Reference: Yes
C_T_IC_VAL_IOBJ - InfoObjects in Validity Table
Data type: RSD_T_IC_VAL_IOBJOptional: No
Call by Reference: Yes
C_T_ICHA_PRO - Data Target-specific Characteristic Properties
Data type: RSD_T_ICHA_PROOptional: Yes
Call by Reference: Yes
C_T_IKYF_PRO - Data Target-specific Key Figure Properties
Data type: RSD_T_IKYF_PROOptional: Yes
Call by Reference: Yes
C_T_CUBE_PART - InfoProviders invloved with the MultiProvider
Data type: RSD_T_CUBE_PARTOptional: Yes
Call by Reference: Yes
C_T_MULTI_IOBJ - Relation: Iobj in MP <-> IOBJ in InfoProvider
Data type: RSD_T_MULTI_IOBJOptional: Yes
Call by Reference: Yes
EXCEPTIONS details
ILLEGAL_INPUT - Invalid Entry
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for RSDG_CUBE_CHECK 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_subrc | TYPE SY-SUBRC, " | |||
| lv_c_s_cube | TYPE RSD_S_CUBE, " | |||
| lv_i_infocube | TYPE RSD_INFOCUBE, " | |||
| lv_illegal_input | TYPE RSD_INFOCUBE, " | |||
| lv_c_t_dime | TYPE RSD_T_DIME, " | |||
| lv_e_severity | TYPE RS_CHAR1, " | |||
| lv_i_check_iobj_active | TYPE RS_BOOL, " RS_C_FALSE | |||
| lv_c_t_cube_iobj | TYPE RSD_T_CUBE_IOBJ, " | |||
| lv_e_is_repaired | TYPE RS_BOOL, " | |||
| lv_i_check_nav_atr | TYPE RS_BOOL, " RS_C_TRUE | |||
| lv_e_t_msg | TYPE RS_T_MSG, " | |||
| lv_c_t_dime_iobj | TYPE RSD_T_DIME_IOBJ, " | |||
| lv_i_ext_bapi_check | TYPE RS_BOOL, " RS_C_FALSE | |||
| lv_e_t_iobjnm_err | TYPE RSD_T_IOBJNM_ERR, " | |||
| lv_c_t_ic_val_iobj | TYPE RSD_T_IC_VAL_IOBJ, " | |||
| lv_i_ext_bapi_name_check | TYPE RS_BOOL, " RS_C_TRUE | |||
| lv_c_t_icha_pro | TYPE RSD_T_ICHA_PRO, " | |||
| lv_e_t_dime_err | TYPE RSD_T_DIME_ERR, " | |||
| lv_i_t_iobj_use_d | TYPE RSD_T_IOBJ, " | |||
| lv_c_t_ikyf_pro | TYPE RSD_T_IKYF_PRO, " | |||
| lv_e_t_cube_err | TYPE RSD_T_INFOCUBE, " | |||
| lv_i_t_cube_use_d | TYPE RSD_T_CUBE, " | |||
| lv_e_timnm_req | TYPE RSD_IOBJNM, " | |||
| lv_c_t_cube_part | TYPE RSD_T_CUBE_PART, " | |||
| lv_c_t_multi_iobj | TYPE RSD_T_MULTI_IOBJ. " |
|   CALL FUNCTION 'RSDG_CUBE_CHECK' "Checks an InfoCube / MultiProvider |
| EXPORTING | ||
| I_INFOCUBE | = lv_i_infocube | |
| I_CHECK_IOBJ_ACTIVE | = lv_i_check_iobj_active | |
| I_CHECK_NAV_ATR | = lv_i_check_nav_atr | |
| I_EXT_BAPI_CHECK | = lv_i_ext_bapi_check | |
| I_EXT_BAPI_NAME_CHECK | = lv_i_ext_bapi_name_check | |
| I_T_IOBJ_USE_D | = lv_i_t_iobj_use_d | |
| I_T_CUBE_USE_D | = lv_i_t_cube_use_d | |
| IMPORTING | ||
| E_SUBRC | = lv_e_subrc | |
| E_SEVERITY | = lv_e_severity | |
| E_IS_REPAIRED | = lv_e_is_repaired | |
| E_T_MSG | = lv_e_t_msg | |
| E_T_IOBJNM_ERR | = lv_e_t_iobjnm_err | |
| E_T_DIME_ERR | = lv_e_t_dime_err | |
| E_T_CUBE_ERR | = lv_e_t_cube_err | |
| E_TIMNM_REQ | = lv_e_timnm_req | |
| CHANGING | ||
| C_S_CUBE | = lv_c_s_cube | |
| C_T_DIME | = lv_c_t_dime | |
| C_T_CUBE_IOBJ | = lv_c_t_cube_iobj | |
| C_T_DIME_IOBJ | = lv_c_t_dime_iobj | |
| C_T_IC_VAL_IOBJ | = lv_c_t_ic_val_iobj | |
| C_T_ICHA_PRO | = lv_c_t_icha_pro | |
| C_T_IKYF_PRO | = lv_c_t_ikyf_pro | |
| C_T_CUBE_PART | = lv_c_t_cube_part | |
| C_T_MULTI_IOBJ | = lv_c_t_multi_iobj | |
| EXCEPTIONS | ||
| ILLEGAL_INPUT = 1 | ||
| . " RSDG_CUBE_CHECK | ||
ABAP code using 7.40 inline data declarations to call FM RSDG_CUBE_CHECK
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 SUBRC FROM SY INTO @DATA(ld_e_subrc). | ||||
| DATA(ld_i_check_iobj_active) | = RS_C_FALSE. | |||
| DATA(ld_i_check_nav_atr) | = RS_C_TRUE. | |||
| DATA(ld_i_ext_bapi_check) | = RS_C_FALSE. | |||
| DATA(ld_i_ext_bapi_name_check) | = RS_C_TRUE. | |||
Search for further information about these or an SAP related objects