
BTP - ATC Genehmigung in Steampunk
Wie kannst du eigentlich eine ATC Befreiung im SAP BTP ABAP Environment durchführen? Wir führen dich einmal Schritt für Schritt durch den Prozess.
Inhaltsverzeichnis
In diesem Artikel schauen wir uns den Genehmigungsprozess im ABAP Environment an und wieso dieser etwas unterschiedlich ist, als zum Standardprozess des Central ATC.
Einleitung
Vor einer Weile hatten wir dir gezeigt, wie du das Central ATC in der BTP aufsetzen kannst. Dabei kannst du verschiedene Vorteile nutzen, wenn du das zentrale Szenario verwendest, wie die aktuellen Prüfungen, zentrale Governance über die Systeme und Sicherheitsprüfungen (CVA), die keine zusätzlichen Lizenzen benötigen. Dabei hatten wir auch gezeigt, dass das Central ATC aktuell ein Steampunk System nicht unterstützt.
Grundsätzlich kannst du die gleiche Variante verwenden, wie du auch für die On-Prem Prüfungen verwendest und als Standard definieren. Allerdings werden Befreiungen durch Entwickler anders gehandhabt und nicht über die zentrale Fiori Anwendung prozessiert. Das liegt auch daran, dass der Prozess zuerst im System definiert wurde, bevor die Idee des zentralen ATC seinen Weg in die Produktion gefunden hat.
Beispiel
Zuerst benötigen wir erst einmal etwas, was durch ATC prüfen können und was eine Meldung erzeugt. Grundsätzlich stehen uns dazu einige Themen zur Verfügung, die oft Probleme bereiten, wie ein nicht übersetzbarer Text oder die vergessene Sortierung nach der Selektion aus einer Tabelle. Dazu das kleine Beispiel, hier verwenden wir eine Tabelle aus unseren CDS Tutorials.
CLASS zcl_bs_demo_atc_approve DEFINITION
PUBLIC FINAL
CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES if_oo_adt_classrun.
ENDCLASS.
CLASS zcl_bs_demo_atc_approve IMPLEMENTATION.
METHOD if_oo_adt_classrun~main.
SELECT FROM zbs_dmo_partner
FIELDS *
INTO TABLE @FINAL(partners).
LOOP AT partners INTO DATA(partner) FROM 1 TO 3.
partner-name = 'No clean Text'.
out->write( partner ).
ENDLOOP.
ENDMETHOD.
ENDCLASS.
Um die Prüfung nun auszuführen, kannst du die Tastenkombination STRG + SHIFT + F2 im Objekt verwenden oder du gehst über die Aktion/Kontextmenü des Objekts.
Führen wir nun in dem Beispiel unseren ATC Check aus, sollten wir nun ein Ergebnis erhalten. Hier solltest du schauen, mit welcher Variante du die Prüfung ausführst. Grundsätzlich ist in der Prüfvariante "FUNCTIONAL_DB" auch die Prüfung enthalten, wenn du eine Standardvariante verwenden willst.
Antrag
Um nun eine Ausnahme zu beantragen, musst du nur in den Ergebnissen Rechts-Klick auf ein Finding machen. Neben verschiedenen anderen Aktionen, wie die Quick Fixes, findest du auch die Anträge über die Option "Request Exemption".
Damit startest du den klassischen Wizard, den du auch in einem On-Prem System findest. Im ersten Bild definieren wir, für was wir die Befreiung beantragen wollen. Hier können wir auch die Gültigkeit der Freigabe beantragen, ob es temporär sein soll (kurzer Zeitraum) oder wir das Finding für immer befreien wollen.
Im nächsten Schritt wählen wir einen Grund und haben noch einen Freitext, um das Problem oder die Begründung weiter zu beschreiben.
Haben wir einen Transport gewählt, wird zum Abschluss der Befreiungsantrag (CHKE) angezeigt. Hierbei handelt es sich um eine transportierbare Ausnahme, die sich nun in unserem Transport befindet.
Befreiung
Grundsätzlich kannst du nun deinem Kollegen den Link zum Antrag schicken. Dazu gehst du auf die Teilen Funktion des Objekts und lässt dir den Link generieren. Auf der anderen Seite kann dein Kollege aber auch einfach regelmäßig im System prüfen, ob neue Freigaben vorhanden sind. Wird können über das Menü unter "Window -> Show View -> Others ..." oder STRG + 3 nach dem View "ATC Exemptions (ABAP)" suchen.
Dort findest du alle Systeme aufgelistet und auch die entsprechenden Anträge. Grundsätzlich kannst du pro System nach einem spezifischen User filtern oder per "*" nach allen Einträgen des Systems schauen. Im Bereich Open sollten wir nun die offenen Einträge des Systems finden.
Per Doppelklick auf den Eintrag öffnest du die Befreiung und landest wieder im entsprechenden Dialog. Da wir hier mit dem 4-Augen-Prinzip arbeiten, kannst du deine eigenen Anträge nicht genehmigen. In diesem Beispiel haben wir einen Antrag von einem Kollegen. Erst wenn wir die Begründung befüllen, werden die Buttons zur Genehmigung aktiv geschaltet und wir können den Antrag genehmigen oder ablehnen.
Der Antrag wird dann ebenfalls auf einem Transportauftrag aufgezeichnet. Zu diesem Zeitpunkt am besten den gleichen Transport nutzen, wie für die Beantragung. Damit wäre der Freigabeprozess abgeschlossen und wir können normal transportieren.
Berechtigung
Damit du Anträge im System freigeben kannst, benötigst du die passenden Berechtigungen. Über den Business Catalog SAP_A4C_BC_DEV_CHKE_APR_PC (Quality Management - ABAP Test Cockpit Exemption Approval) bekommst du alles, was du für den Prozess brauchst.
Fazit
Aktuell weicht der Prozess im ABAP Environment noch komplett von dem des Central ATC ab und wir können aktuell nur die lokale Variante nutzen. SAP plant aber sicherlich auch für die Zukunft, dass System zentral anbindbar zu machen, um alles über ein System zu prozessieren und ein zentrales System zu verwenden.