Below you can find some Coding parts which are relevant when using the functionality of "Aggregated Datas".
Information concerning this functionality can you also find in: Enable Aggregation of Data (Aggregated Data)
Check, if the switch 0006/0030 is activated:
CL_DPR_UI_LOG_PROJECTS_VIEW
GET_BUTTON_TABLE
CALL FUNCTION 'RPM_GET_SETTINGS_VALUE'
EXPORTING
iv_area = cl_rpm_co=>sc_ui_settings_area
iv_name = '0030' "Activate Aggregation of Data
TABLES
et_settingsvalue = lt_cc3_switch.
CL_DPR_UI_LOG_DETAIL
CONSTRUCTOR
CALL FUNCTION 'RPM_GET_SETTINGS_VALUE'
EXPORTING
iv_area = cl_rpm_co=>sc_ui_settings_area "0011 Master Switches
iv_name = '0030' "Activate Aggregation of Data
TABLES
et_settingsvalue = lt_settings.
Getting evaluation layout
CL_DPR_API_EVALUATION_SERVICES
GET_EVE_LAYOUT
Getting attributes for evaluation layout
CL_DPR_API_EVALUATION_SERVICES
GET_EVE_LAYOUT_ATTR
Open object and navigate to tab "Dates and Work" to display "Aggregated Datas":
CL_DPR_API_ENTITY
RETRIEVE_BY_ASSOCIATION
WHEN 'AggregationOfData'. "cl_dpr_api_co=>sc_association_aggr_data
CALL METHOD get_aggr_data
CL_DPR_API_ENTITY
GET_AGGR_DATA
CL_DPR_API_EVALUATION_SERVICES
SET_EVALUATION
* Check authorization for evaluation
Retrieve the values of Aggregation
CL_DPR_API_EVALUATION_SERVICES
GET_EVALUATION
* Get all data
LOOP AT lt_objects ASSIGNING <ls_object>.
CALL METHOD <ls_object>-object->move_corresponding
CHANGING
ca_data = <ls_data>.
INSERT <ls_data> INTO TABLE <ls_data_table>.
ENDLOOP.
CL_EVE_OBJECT_VIEW
UPDATE_VIEW_DATA
* Fill from normal data element
CALL METHOD mr_object_data->get_attribute_value
Pushing button "Aggregate Datas" on Projectheader
CL_DPR_API_ENTITY
DO_ACTION
*/ aggregate data
call method do_action_aggregate_data
BAdI: DPR_EVE_ATTRIBUTES
with method GET_ATTRIBUTES and COMPUTE_ATTRIBUTE are called at:
CL_DPR_EVE_OBJECT
IF_EVE_ITERATOR_OBJECT~GET_ATTRIBUTES
Read additional attributes / change attributes by BADI
IF sr_badi_attributes IS BOUND.
CALL BADI sr_badi_attributes->get_attributes
CL_IM_DPR_EVE_ATTR_COMPUTE
IF_EVE_ATTR_COMPUTE~COMPUTE_ATTRIBUTE
IF lr_badi_attr IS BOUND.
*/ Execute customer computation
CALL BADI lr_badi_attr->compute_attributes