Messungen der Quelltextabdeckung zusammenführen 
Sie können eine Gruppe von Messungen zusammenführen, um eine neue Messung anzulegen, die die zusammengeführten Messungen miteinander kombiniert.
Beispiel: Angenommen, Sie haben eine Gruppe von ähnlichen Messungen, die eigentlich zusammen gehören. Sie wollen eine einzige aggregierte Statistik zur Quelltextabdeckung für die Verwaltung auf einer höheren Ebene. Das Zusammenführen ermöglicht Ihnen diese aggregierte Ergebnis.
Sie können die zusammengeführte Messung genauso verwenden wie jede andere Messung - Sie können Ergebnisse daraus berechnen, sie im Repository sichern usw.
Das Zusammenführen kombiniert die Rohdaten der Messungen basierend auf einer der drei Strategien:
CE_SCV_MERGE_STRATEGY=>UNION: Legt eine Messung an, die die Quelltextabdeckung aller Programme in den zusammengeführten Messungen aggregiert. Beantwortet die Frage: “Was ist die Gesamtquelltextabdeckung, die sich aus meinen Messungen ergibt?”
CE_SCV_MERGE_STRATEGY=>INTERSECTION: Legt eine Messung an, die die Quelltextabdeckung aller Programme aggregiert, die während der beiden Messungen ausgeführt wurden. Beantwortet die Frage: "Was ist die Gesamtquelltextabdeckung der Objekte, die in beiden Messungen ausgeführt wurden?"
CE_SCV_MERGE_STRATEGY=>DIFFERENCE: Legt eine Messung an, die die Quelltextabdeckung aller Programme meldet, die während der ersten Messung und nicht in einer anderen der zusammengeführten Messungen ausgeführt wurden. Beantwortet die Frage: "Was ist die Quelltextabdeckung der Objekte, die nur in einer Messungen ausgeführt wurden?"
Voraussetzungen für das Kombinieren von Messungen:
Die Rohdaten aller Messungen, die zusammengeführt werden sollen, müssen noch verfügbar sein (nicht gelöscht oder finalisiert).
Die Messungen, die zusammengeführt werden sollen, wurden gestoppt (es werden keine Daten mehr gesammelt).
Sie können beliebig viele Messungen gleichzeitig zusammenführen.
Beispielquelltext für das Zusammenführen von Messungen:
Syntax
* Source measurements
DATA: factory TYPE REF TO if_scv_factory,
users TYPE if_scv_measurement=>users,
measurement TYPE REF TO if_scv_measurement,
another_measurement TYPE REF TO if_scv_measurement.
* Merging of measurements
DATA: measurements TYPE if_scv_measurement=>tab,
merged_measurement TYPE REF TO if_scv_measurement.
* Results
DATA: result TYPE REF TO if_scv_result,
coverage TYPE REF TO if_scv_coverage,
text TYPE string.
* Create two measurements and measure two test programs
factory = cl_scv_coverage_api=>get_factory( ).
APPEND sy-uname TO users.
measurement = factory->create_measurement(
i_local_server_only = abap_true
i_users = users ).
another_measurement = factory->create_measurement(
i_local_server_only = abap_true
i_users = users ).
* First measurement
measurement->start( ).
SUBMIT rsdssmpl_performance AND RETURN.
measurement->stop( ).
* Second measurement
another_measurement->start( ).
SUBMIT rsdssmpl_status AND RETURN.
another_measurement->stop( ).
* Report the code coverage of the first measurement
result = measurement->build_package_result( 'SMOI' ).
coverage = result->get_coverage( if_scv_coverage=>con_statement ).
text = |Package SMOI has after measurement 1 a statement coverage of { coverage->get_percentage( ) }%|.
WRITE:/ text.
* Report the code coverage of the second measurement
result = another_measurement->build_package_result( 'SMOI' ).
coverage = result->get_coverage( if_scv_coverage=>con_statement ).
text = |Package SMOI has after measurement 2 a statement coverage of { coverage->get_percentage( ) }%|.
WRITE:/ text.
* Merge the measurements
* Insert the measurements to be merged into a parameter table
INSERT measurement INTO TABLE measurements.
INSERT another_measurement INTO TABLE measurements.
* Here are the constants for the supported merge strategies
* CE_SCV_MERGE_STRATEGY=>UNION Merge Coverage Measurements
* CE_SCV_MERGE_STRATEGY=>INTERSECTION Intersect Coverage Measurements
* CE_SCV_MERGE_STRATEGY=>DIFFERENCE Report Differences of Coverage Measurements
* We use the UNION strategy to aggregate the code coverages
merged_measurement = factory->merge_measurements(
i_name = 'myMerger'
i_measurements = measurements
i_strategy = ce_scv_merge_strategy=>union ).
* Report the merged code coverage
result = merged_measurement->build_package_result( 'SMOI' ).
coverage = result->get_coverage( if_scv_coverage=>con_statement ).
text = |Object SMOI has a merged statement coverage of { coverage->get_percentage( ) }%|.
WRITE: / text.In diesem Beispiel werden zwei eigenständige Messungen kombiniert. Sie können jedoch auch Messungen in Messreihen zusammenführen. Sie können sogar zusammengeführte Messungen zusammenführen.