Nachfolgend ist das vollständige Programm, das im Tutorial für Messreihen beschrieben wird.
Das Programm führt die folgenden Aufgaben durch. Es:
legt eine Messreihe an. Wenn der Messreihenname bereits existiert, lädt das Programm die vorhandenen Messreihen.
legt die standardmäßigen Auswahl- und Konfigurationseinstellungen für die Messreihe an. Die daraus resultierenden Objekte werden nur verwendet, wenn eine Messreihe angelegt wird. Die Standardeinstellungen können nach dem ersten Sichern der Messreihe nicht geändert werden.
führt eine Messung der Quelltextabdeckung durch und berechnet ein Ergebnis. Das Ergebnis verwendet die Standardkonfiguration für Berechnungen und Entitätsauswahl, die in der Messreihe gesichert wurden. Das Programm berechnet auch ein zweites Ergebnis für ein angegebenes Paket.
sichert das Ergebnis und implizit die Messung sowie die Messreihe.
Zeigt die aktuellen Ergebnisse im graphischen Browser des Coverage API an. Die Statistiken zur Quelltextabdeckung können auch als Text für die Wiederverwendung extrahiert werden.
REPORT z_coverage_api_series_example. * The Series DATA: factory TYPE REF TO if_scv_factory, repository TYPE REF TO if_scv_repository, series TYPE REF TO if_scv_series. * Default configuration DATA: configuration TYPE REF TO if_scv_result_configuration, selection TYPE REF TO if_scv_selection, users TYPE if_scv_measurement=>users. * Measurements and results DATA: measurement TYPE REF TO if_scv_measurement, default_result TYPE REF TO if_scv_result, package_result TYPE REF TO if_scv_result. * Display DATA: display TYPE REF TO if_scv_result_display. * Exceptions DATA: ops_ex TYPE REF TO cx_scv_execution_error, call_ex TYPE REF TO cx_scv_call_error. TRY. * Create measurement series factory = cl_scv_coverage_api=>get_factory( ). repository = cl_scv_coverage_api=>get_repository( ). series = factory->create_series( 'TEST_SERIES_NW_EHP3' ). * Set defaults for the series - first the scope of recording series->set_local_server_only( abap_false ). * Set the default users append 'KELLERH' to users. series->set_users( users ). * Then the selection of entities for which results are calculated * (not changeable after initial save) selection = series->get_selection( ). selection->include_component( 'BC-CCM-MON' ). " Exclude a sub-component of BC-CCM-MON selection->exclude_component( 'BC-CCM-MON-SHM' ). " Include explicitly two packages selection->include_package( 'SCSM' ). selection->include_package( 'SMOI' ). " Exclude a class pool and function group - the full " technical names of these entities must be used. selection->exclude_program( 'CL_CCMS_AL_DOC_VIEW_AL_FILTER=CP' ). selection->exclude_program( 'SAPLSALF' ). * Then the configuration of the results calculation * (read-only after initial save) configuration = series->get_result_configuration( ). " Calculate only top-level aggregated results configuration->set_ignore_hierarchy( abap_true ). * Try to save the series repository->save_series( series ). " Uniqueness of series name is checked. CATCH cx_scv_execution_error. TRY. * Load the series if it already has been created series = repository->load_series( 'TEST_SERIES_NW_EHP3' ). CATCH cx_scv_execution_error INTO ops_ex. ENDTRY. ENDTRY. * Create a measurement in the series - the name can be the * same for all instances of measurement TRY. measurement = series->create_measurement( 'MONITORING_API' ). measurement->start( ). * Run test programs - here a harmless CCMS standard program SUBMIT rsdssmpl_status AND RETURN. measurement->stop( ). * Calculate the results using the defaults of the measurement series * Series default selection and configuration are used default_result = measurement->build_selection_result( i_result_name = 'MONITORING_COVERAGE' ). * Calculate the results for a separate package package_result = measurement->build_package_result( 'SCSM' ). * Save the results and implicitly the measurement and series repository->save_result( default_result ). repository->save_result( package_result ). * Display the results in a graphical pop-up - show_as_fullscreen also available * The display display = cl_scv_coverage_ui=>get_result_display( default_result ). display->show_as_popup( ). display = cl_scv_coverage_ui=>get_result_display( package_result ). display->show_as_popup( ). CATCH cx_scv_execution_error INTO ops_ex. CATCH cx_scv_call_error INTO call_ex. ENDTRY.