Show TOC

Auswahlobjekte verwendenLocate this document in the navigation structure

Verwendung

Ein Auswahlobjekt ermöglicht es Ihnen, eine Gruppe von Anwendungskomponenten, Paketen und Programmen anzugeben, für die Sie die Quelltextabdeckung berechnen wollen. Verwenden Sie ein Auswahlobjekt mit der Methode IF_SCV_MEASUREMENT->BUILD_SELECTION_RESULT.

Der Vorteil bei der Verwendung von Auswahlobjekten ist, dass Sie die Gruppe von Entitäten nach Ihren Wünschen zusammenstellen können, für die Sie Ergebnisse der Quelltextabdeckung berechnen wollen. Sie können beispielsweise Ergebnisse für eine vollständige Anwendungskomponente erhalten, von denen Sie jedoch die Pakete ausschließen können, für die keine Ergebnisse erforderlich sind.

Mit einer Objektauswahl arbeiten - Eigenständige Messung

Nachfolgend wird erläutert, wie Sie eine Objektauswahl mit einer eigenständigen Messung verwenden. Dieses Quelltext-Snippet verwendet die INCLUDE- und EXCLUDE-Methoden von IF_SCV_SELECTION für das benutzerspezifische Festlegen der für eine Komponente berechneten Ergebnisse.

Sie instanziieren zunächst ein Auswahlobjekt. Die Auswahl wird wirksam, wenn Sie sie als ein Argument der Methode IF_SCV_MEASUREMENT->BUILD_SELECTION_RESULT bereitstellen.

* Customize the results with an object selection
* An object must be created, as it is not initially present. 

DATA: factory   TYPE REF TO if_scv_factory, 
      selection TYPE REF TO if_scv_selection,
      result    TYPE REF TO if_scv_result, 
      display   TYPE REF TO if_scv_result_display.

factory = cl_scv_coverage_api=>get_factory( ).
selection = factory->create_selection( ).

* Include my main component
selection->include_component( 'BC-CCM-MON' ).
* But exclude this component - doesn't belong to me
selection->exclude_component( 'BC-CCM-MON-SHM' ).
* And exclude this package as well
selection->exclude_package( 'SCSM' ).
* And exclude this program too
selection->exclude_program( 'S_TEST_FRAMEWORK' ).

* Do some measuring of code coverage...

* Calculate the results for the selected objects
result = measurement->build_selection_result( i_selection = selection ).

* Display the results in a graphical pop-up - 
* show_as_fullscreen also available
display = cl_scv_coverage_ui=>get_result_display( result ).
display->show_as_popup( ).

            

Mit einer Objektauswahl arbeiten - Messreihe

Sie können eine Auswahl als Standard einer Messreihe sichern. Wenn Sie eine Messreihe anlegen, führen Sie die folgenden Schritte aus, bevor Sie die Messreihe zum ersten Mal sichern:

  • Rufen Sie das Auswahlobjekt aus der Messreihe mit IF_SCV_SERIES->GET_SELECTION ab.

  • Legen Sie die Standardobjektauswahl für die Messreihe fest.

Wenn Sie die Messreihe sichern, wird die Auswahl ebenfalls gesichert. Die Messreihe übergibt die gesicherte Auswahl im Rahmen der Messreihe automatisch an IF_SCV_MEASUREMENT->BUILD_SELECTION_RESULT.

Nun können Sie die Berechnung der Ergebnisse in der Messreihe effizienter machen und standardisieren. Ein Methodenaufruf gibt die Standardgruppe der Ergebnisse zurück.

Zu diesem Zeitpunkt können Sie noch zusätzliche Ergebnisse in einer Messreihe berechnen. Sie können entweder die BUILD-Methoden aufrufen, die die Entitäten angeben, für die die Ergebnisse berechnet werden sollen. Oder Sie können das Standardobjekt der Messreihe durch ein anderes Auswahlobjekt ersetzen.

Weitere Details finden Sie unter Schritt 2: Standards für eine Messreihe setzen und Schritt 4: Ergebnisse der Quelltextabdeckung in einer Messreihe berechnen im Tutorial für Messreihen.

Objektauswahlmethoden

Nachfolgende werden Methoden beschrieben, mit denen Sie eine Objektauswahl Ihren Bedürfnissen anpassen können.

Hinweis

Eine leere Auswahl oder eine Auswahl, die nur Ausschlüsse angibt, wird nicht unterstützt. Diese Arten der Auswahl lösen eine Ausnahme des Typs CX_SCV_CALL_ERROR in IF_SCV_MEASUREMENT->BUILD_SELECTION_RESULT aus.

Verwenden Sie die folgenden Methoden für das Ein- oder Ausschließen einer einzelnen Komponente, eines Pakets oder eines Programms in einem Auswahlobjekt.

Methode von IF_SCV_SELECTION

Verwendung

exclude_component

Schließt eine Anwendungskomponente in der Komponentenhierarchie von den Ergebnissen der Quelltextabdeckung aus.

Beispiel: Wenn Sie Ergebnisse der Quelltextabdeckung für Objekte in der Komponente BC-CCM-MON erhalten wollen, können Sie exclude_component( i_name = 'BC-CCMS-MON-SHM' ) verwenden, um die SHM-Unterkomponente von BC-CCM-MON von den Ergebnissen auszuschließen. Objekte, die zu BC-CCM-MON-SHM gehören, werden ebenfalls von den Ergebnissen ausgeschlossen.

exclude_package

Schließt ein ABAP- Paket und seine Objekte von den Ergebnissen der Quelltextabdeckung aus.

Beispiel: Wenn Sie Ergebnisse der Quelltextabdeckung für Objekte in der Komponente BC-CCM-MON erhalten wollen, können Sie exclude_package( i_name = 'SMOI' ) verwenden, um dieses Paket und seine Objekte von den Ergebnissen auszuschließen.

exclude_program

Schließt ein ABAP-Programm anhand des Namens von den Ergebnissen der Quelltextabdeckung aus.

Für Class-Pools, Funktionsgruppen und Funktionsbausteine benötigt das API den vollständigen technischen Namen. Für eine Klasse ist dies der Name des Class-Pools, also nicht CL_CCMS_AL_DATA_ENVIRONMENT sondern CL_CCMS_AL_DATA_ENVIRONMENT===CP. Für eine Funktionsgruppe ist dies der Name des Function-Pools, also nicht SALK sondern SAPLSALK.

Sie können den Funktionsbaustein RS_TADIR_TO_PROGNAME verwenden, um einen Objekteintrag ( Anfang des Navigationspfads Springen Nächster Navigationsschritt Objektkatalogeintrag Ende des Navigationspfads) in einen technischen Programmnamen zu übertragen. Zum Beispielt erhält der Objekttyp FUGR und Objektname SALK den Function-Pool-Namen SAPLSALK.

include_component

include_package

include_program

Schließt eine Komponente, ein Paket oder ein Programm und jede Unterkomponente in die Ergebnisse der Quelltextabdeckung mit ein. Weitere Details finden Sie unter EXCLUDE-Methoden im oben stehenden Abschnitt.

Verwenden Sie die folgenden Methoden für das Ein- oder Ausschließen von Objekttypen in einem Auswahlobjekt.

Methode von IF_SCV_SELECTION

Verwendung

get_component_range

get_package_range

get_program_range

Diese Methoden geben die Angaben im Auswahlobjekt für jede dieser Entitätkategorien zurück. Sie bemerken beispielsweise, dass eine Komponente mit einbezogen und eine Gruppe von Paketen ausgeschlossen werden sollte.

get_root_components

get_root_packages

Diese Methoden überprüfen die Beziehungen in den Auswahlangaben und geben Angaben zur übergeordneten Komponente und zum Paket zurück.

Beispiel: Wenn Sie angegeben haben, dass ein Auswahlobjekt die Komponenten BC-CCM-MON und BC-CCM-MON-SHM enthalten soll, gibt die Methode get_component_range die Angaben beider Komponenten zurück, wohingegen get_root_components nur die Angaben für BC-CCM-MON zurückgibt.

set_component_range

set_package_range

set_program_range

Mit diesen Methoden können Sie eine Gruppe von Objektauswahlangaben in ein Auswahlobjekt schreiben.

Die Methoden verwenden als Parameter eine Ranges-Tabelle, mit der Sie flexibel Gruppen von Entitäten definieren können.