This is a test message to test the length of the message box.
Login
BTP ATC Automation
Erstellt von Software-Heroes

BTP - ATC Automatisierung

151

Wie kannst du dein ABAP Test Cockpit in der BTP automatisieren und dir die Ergebnisse zuschicken lassen, wenn es einmal Probleme gibt? In diesem Artikel gehen wir auf die Details ein.

Werbung


In diesem Artikel gehen wir auf die aktuellen Möglichkeiten des ABAP Test Cockpit für die Automatisierung in der BTP ein. Dazu schauen wir uns den Standard an und wie wir den Rest übernehmen können.

 

Einleitung 

Das ABAP Test Cockpit im SAP BTP ABAP Environment bietet eine zentrale Lösung an, um alle Backendsysteme automatisch zu prüfen. Im Gegensatz zur klassischen On-Prem Transaktion ATC, funktionieren allerdings einige Prozesse im ABAP Environment anders. Daher schauen wir uns die aktuellen Möglichkeiten an und wie wir den Prozess möglichst automatisieren können.

 

Prüfvariante

Im ersten Schritt benötigen wir eine Prüfvariante, um eine Prüfung im System durchführen zu können. In dieser Prüfvariante wollen wir die eigentliche Prüfung definieren, aber auch den Scope der Prüfung einstellen, damit die passenden Entwicklungsartefakte geprüft werden.

 

Apps

Mit dem Release 2508 wurde die Anwendung "Custom Code Migration" auf zwei neue Tiles aufgeteilt. Damit soll die Anwendung verschiedenen Rollen zugeordnet werden, grundsätzlich wird die gleiche Anwendung aufgerufen. Über die Anwendungen kannst du einen neuen Lauf einplanen.

 

 

Projekt

In der App legen wir ein neues Projekt an. Über den "Create" Button kannst du ein neues "Custom Code Analysis Project" anlegen. Dieses benötigen wir, um einen eigenen Prüflauf zu starten.

 

In der Variante können wir nun einen Namen vergeben, dann wählen wir ein Prüfvariante aus. Hier kannst du eigene Prüfvarianten definieren, aber auch alle Standardvarianten wählen. Grundsätzlich können wir auch ein Remotesystem angeben, wenn wir ein On-Prem System prüfen wollen. In diesem Fall prüfen wir das lokale System.

 

Im nächsten Schritt können wir den Scope der Prüfung definieren. Wollen wir bestimmte Pakete prüfen, dann können wir hier all unsere Pakete angeben. Wollen wir alles prüfen oder bestimmte Pakete ausschließen, dann können wir dies im unteren Teil einstellen. Sind wir damit fertig, entfernen wir noch das Flag, damit die Prüfung nicht direkt im Anschluss startet.

 

Job

Um nun die Prüfung automatisieren zu können, können wir einen Job im System einplanen. Hier finden wir die Anwendung "Schedule Custom Code Analysis", die im Grunde die Standard App für die Application Jobs verwendet.

 

Über "Create" kannst du einen neuen Job erstellen, hier sollte die richtige Variante bereits voreingestellt sein. Weiterhin kannst du einstellen, ob der Job einmalig oder wiederkehrend laufen soll. Grundsätzlich führt der Job nun die Prüfung aus und persistiert das Ergebnis auf der Datenbank.

 

Ergebnisse

Die Ergebnisse des Laufs werden im System persistiert. Seit dem Release 2508 gibt es nun auch Core Data Services im Standard, die du für das Lesen nutzen kannst. Hierfür gibt es die Views:

  • SATC_API_RESULT_HEADERS - Hier findest du die verschiedenen Läufe, die durchgeführt wurden. Du kannst nach Zeitstempel und anderen Kriterien filtern.
  • SATC_API_FINDINGS - Die verschiedenen Findings eines Prüflaufs kannst du in dieser Tabelle finden. Neben der Meldung und der Klassifizierung findest du weitere Informationen zu den Findings.

 

Automatisierung

Damit wäre so weit der aktuelle Standard erklärt. Wie können wir hier noch den Schritt des Mailversands automatisieren? Dazu verwenden wir eine kleine Eigenentwicklung, die du auch auf GitHub findest, wenn du sie ebenfalls verwenden willst.

 

Application Job

Da wir direkt im Anschluss die Ergebnisse prüfen wollen, erstellen wir einen Application Job, den wir später als zweiten Schritt in der Einplanung definieren wollen. Dieser Job soll das Ergebnis des Prüflaufs über die Core Data Services extrahieren und nach bestimmten Kriterien aufbereiten.

 

Implementierung

Bei der Implementierung der Logik lesen wir die letzten Läufe aus den beiden Core Data Services, prüfen ob die entsprechenden Fehlerkategorien enthalten sind und bereiten die E-Mail für den Versand vor. Die Daten bereiten wir dann in der Mail als HTML auf. Den Code findest du im verlinkten GitHub Repository, wenn du dir die verschiedenen Objekte und Bestandteile anschauen möchtest. Zum einfachen Handling der Fehler und Nachrichten haben wir den ABAP Message Logger verwendet.

 

Template

Damit unser Benachrichtigungsjob direkt nach unserer Prüfung gestartet wird, erstellen wir ein neues Template im System. Dazu gehen wir in die App "Application Job Templates" und erstellen über "Create" ein neues Template. Hier geben wir einen Namen und können die Sichtbarkeit einstellen.

 

Über den Button "Maintain Steps" im unteren Bereich, können wir nun unsere Schritte hinzufügen. Mit "Save Job Template" werden die beiden Schritt hinzugefügt. Im Template können wir Standardwerte setzen, das können wir aber auch später bei der Einplanung des Jobs machen.

 

Mit "Save" speichern wir das Template und können die App wieder verlassen.

 

Ausführung

Um nun den Job zu einzuplanen, wechseln wir wieder in die App "Application Jobs" und legen über "Create" einen neuen Job an. Hier wählen wir für den Start das gewählte Template aus. Möchtest du den Job regelmäßig einplanen, dann kannst du hier noch die Optionen im zweiten Schritt befüllen. Im dritten Schritt befüllen wir die Parameter und wählen den Prüflauf aus.

 

Für unsere Benachrichtigungen wollen wir den letzten ATC Lauf verwenden, daher stellen wir die Anzahl auf 1. Wir möchten gern eine Mail erhalten, wenn die Priorität auf Fehler oder Warnung steht. Dann tragen wir noch Absender und Empfänger für den E-Mail Versand ein.

 

Mit "Schedule" wird der Job ausgeführt, je nach Einstellung wird dieser sofort gestartet. Sind alle Kriterien erfüllt, sollten wir dann auch eine Mail erhalten.

 

Fazit

Damit wurde die ABAP Test Cockpit im System automatisiert und wir erhalten zum Abschluss eine E-Mail. Zusätzlich können wir noch steuern, dass wir nur eine E-Mail erhalten, wenn Fehler in der Prüfung sind. Damit können wir mit einer kleinen Eigenentwicklung den Prozess automatisieren.


Enthaltene Themen:
BTPABAP EnvironmentATCAutomatisierung
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Dienstag und Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


BTP - Testen mit Swagger

Kategorie - ABAP

Du hast gerade dein Service Binding in ABAP vom Typ Web API erstellt und willst nicht mit dem Postman testen? Hast du dir schon Swagger angeschaut, was nun Out-of-the-Box funktioniert?

30.09.2025

RAP - EML Varianten

Kategorie - ABAP

Wenn du EML verwendest, um mit dem ABAP RESTful Application Programming Model zu interagieren, stehen dir aktuell mehrere Varianten zur Verfürgung. Schauen wir sie uns einmal im Detail an.

16.09.2025

BTP - ATC Genehmigung in Steampunk

Kategorie - ABAP

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.

09.09.2025

BTP - Pages und Spaces (ADT)

Kategorie - ABAP

Kannst du eigentlich auch das Launchpad mit den Pages und Spaces über die ABAP Development Tools konfigurieren? In diesem Artikel schauen wir uns die aktuellen Möglichkeiten an.

08.08.2025

RAP - Generator (from Scratch)

Kategorie - ABAP

Deine Entwicklung mit RAP fühlt sich manchmal sehr langsam an? Generatoren nehmen dir die Arbeit ab, um den eigentlich Stack aufzubauen und wiederkehrende Arbeit abzunehmen.

05.08.2025