Vorbereitung Methode QUERY_ATTRIBUTES

Transcrição

Vorbereitung Methode QUERY_ATTRIBUTES
Attribute
Prüfungen können Attribute haben. Das sind Einstellungen, die zu einem Test vorgenommen werden
können. Hier kann z.B. noch definiert werden, in welchem Umfang ein Test durchgeführt werden soll.
Typische Attribute sind zum Beispiel die folgenden zur Prüfung “Analyse der WHERE-Bedingung für
SELECT”:
Vorbereitung
Dem Code Inspector muss mitgeteilt werden, dass die Klasse Attribute hat. Dies geschieht in der
CONSTRUCTOR-Methode:
[crayon-58827d6015c7b696850687/]
Attribute definieren
Die Attribute müssen als öffentliche Instanzattribute der Klasse hinzugefügt werden. In diesem
Beispiel verwenden wir die Felder GP_CHECK1 und GP_CHECK2:
Im Code Inspector erkennt man Prüfungen mit Eingabefeldern (Attributen) daran, dass neben der
Prüfung ein “Werte-eingeben-Icon” erscheint:
Methode QUERY_ATTRIBUTES
Die Methode IF_CI_TEST~QUERY_ATTRIBUTES muss redefiniert werden. Hier wird das Popup
angezeigt, in dem die Auswahl bzw. Anzeige der Attribute erfolgt:
Mit folgendem Coding wird dieses Popup automatisch erzeugt:
Coding
[crayon-58827d6015c8c637115875/]
[crayon-58827d6015c92796067240/]
[crayon-58827d6015c98709009339/]
[crayon-58827d6015c9e096693643/]
[crayon-58827d6015ca4193215770/]
[crayon-58827d6015caa063474892/]
QUERY-Table / Attributtabelle
Mit Hilfe der Methode cl_ci_query_attributes=>generic werden die Attribute im Popup angezeigt.
Zuvor müssen die Attribute mit dem Macro fill_att definiert werden.
Folgende Einträge sind möglich in der Tabelle für die Attribute (Auszug aus der Doku zu Struktur
SCI_ATTENT):
Die Struktur SCI_ATTENT beschreibt Felder eines Dialoges. Die einzelnen Komponenten können folgen
Werte annehmen.
o KIND
‘G’ – Gruppierung der folgenden Felder
‘C’ – Darstellung als Ankreuzfeld
‘R’ – Darstellung als Auswahlknopf (siehe auch BUTTON_GROUP)
‘S’ – Darstellung als Selektionskriterium
‘L’ – Darstellung als Listbox
o REF
Referenz auf das Attribut
o TEXT
Beschreibung oder Titel
o BUTTON_GROUP
Spezifiziert die Auswahlgruppe der ein Auswahlknopf zugeordnet ist.
Speichern
Damit die Attribute auch gespeichert werden, müssen die beiden Methoden GET_ATTRIBUTES und
PUT_ATTRIBUTES redefiniert werden. Die Namensgebung der Methoden ist meines Erachtens etwas
verwirrend, denn mit GET werden die Attribute gespeichert und mit PUT gelesen…
Methode GET_ATTRIBUTES
Speichern der Attribute:
[crayon-58827d6015cb1584076706/]
Methode PUT_ATTRIBUTES
Lesen der Attribute
[crayon-58827d6015cb9451498421/]
Verwendung
Die Attribute können nun im Code Inspector eingegeben werden und in der Prüfroutine abgefragt
werden. Sie könnten zum Beispiel das Aufspüren des fehlenden BAPI_TRANSACTION_COMMIT als
Option definieren, so dass eine Prüfung auch ohne diesen Check durchgeführt werden kann.
Sie können aber auch steuern, ob die Prüfung einen Fehler oder nur eine Warnung erzeugen soll und
dies im Coding berücksichtigen.