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.