SAP RSDU_ANALYZE_TABLE Function Module for Create Statistics for Cost-Based Optimizer for the Specified Tables
RSDU_ANALYZE_TABLE is a standard rsdu analyze table SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Create Statistics for Cost-Based Optimizer for the Specified Tables 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 rsdu analyze table FM, simply by entering the name RSDU_ANALYZE_TABLE into the relevant SAP transaction such as SE37 or SE38.
Function Group: RSDU_UTIL
Program Name: SAPLRSDU_UTIL
Main Program: SAPLRSDU_UTIL
Appliation area: B
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function RSDU_ANALYZE_TABLE 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 'RSDU_ANALYZE_TABLE'"Create Statistics for Cost-Based Optimizer for the Specified Tables.
EXPORTING
* I_T_TABLNM = "Tables to Be Analyzed
* I_TABLNM = "Table to Be Analyzed
* I_PERCENTAGE = 10 "Percentage for ESTIMATE Clause
* I_TEMP_TABLE = RS_C_FALSE "True = Table is Temporary
* I_FORCE_ESTIMATE = RS_C_FALSE "True = Do not Compute Statistics, If Possible
* I_FORCE_STATISTICS = RS_C_FALSE "True = User Triggered Statistics
* I_CONNECTION = 'R/3*' "Logical Name of a Database Connection; This Can Be Committed
EXCEPTIONS
ANALYZE_FAILED = 1 DBMS_NOT_SUPPORTED = 2 INHERITED_ERROR = 3
IMPORTING Parameters details for RSDU_ANALYZE_TABLE
I_T_TABLNM - Tables to Be Analyzed
Data type: RSDU_T_TABLNMOptional: Yes
Call by Reference: Yes
I_TABLNM - Table to Be Analyzed
Data type: RSD_TABLNMOptional: Yes
Call by Reference: No ( called with pass by value option)
I_PERCENTAGE - Percentage for ESTIMATE Clause
Data type: IDefault: 10
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_TEMP_TABLE - True = Table is Temporary
Data type: RS_BOOLDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FORCE_ESTIMATE - True = Do not Compute Statistics, If Possible
Data type: RS_BOOLDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FORCE_STATISTICS - True = User Triggered Statistics
Data type: RS_BOOLDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CONNECTION - Logical Name of a Database Connection; This Can Be Committed
Data type: DBCON_NAMEDefault: 'R/3*'
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
ANALYZE_FAILED - ANALYZE Failed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DBMS_NOT_SUPPORTED - Routine is Not Supported for DB Platform
Data type:Optional: No
Call by Reference: Yes
INHERITED_ERROR - Error from Called Routine
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for RSDU_ANALYZE_TABLE 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_t_tablnm | TYPE RSDU_T_TABLNM, " | |||
| lv_analyze_failed | TYPE RSDU_T_TABLNM, " | |||
| lv_i_tablnm | TYPE RSD_TABLNM, " | |||
| lv_dbms_not_supported | TYPE RSD_TABLNM, " | |||
| lv_i_percentage | TYPE I, " 10 | |||
| lv_inherited_error | TYPE I, " | |||
| lv_i_temp_table | TYPE RS_BOOL, " RS_C_FALSE | |||
| lv_i_force_estimate | TYPE RS_BOOL, " RS_C_FALSE | |||
| lv_i_force_statistics | TYPE RS_BOOL, " RS_C_FALSE | |||
| lv_i_connection | TYPE DBCON_NAME. " 'R/3*' |
|   CALL FUNCTION 'RSDU_ANALYZE_TABLE' "Create Statistics for Cost-Based Optimizer for the Specified Tables |
| EXPORTING | ||
| I_T_TABLNM | = lv_i_t_tablnm | |
| I_TABLNM | = lv_i_tablnm | |
| I_PERCENTAGE | = lv_i_percentage | |
| I_TEMP_TABLE | = lv_i_temp_table | |
| I_FORCE_ESTIMATE | = lv_i_force_estimate | |
| I_FORCE_STATISTICS | = lv_i_force_statistics | |
| I_CONNECTION | = lv_i_connection | |
| EXCEPTIONS | ||
| ANALYZE_FAILED = 1 | ||
| DBMS_NOT_SUPPORTED = 2 | ||
| INHERITED_ERROR = 3 | ||
| . " RSDU_ANALYZE_TABLE | ||
ABAP code using 7.40 inline data declarations to call FM RSDU_ANALYZE_TABLE
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_percentage) | = 10. | |||
| DATA(ld_i_temp_table) | = RS_C_FALSE. | |||
| DATA(ld_i_force_estimate) | = RS_C_FALSE. | |||
| DATA(ld_i_force_statistics) | = RS_C_FALSE. | |||
| DATA(ld_i_connection) | = 'R/3*'. | |||
Search for further information about these or an SAP related objects