3 Minuten Lesezeit (552 Worte)

Reporterstellung eines ERP-Systems

Hallo Zusammen, ich bin Jannik, einer der dualen Studenten der ORDIX AG. Momentan befinde ich mich in den letzten Monaten meiner zweiten Praxisphase bei ORDIX, in welcher ich an einem Projekt zur Reporterstellung unserer ERP-Anwendung gearbeitet habe. In diesem Blogartikel möchte ich euch einen Überblick über mein Projekt und die Entwicklungsumgebung sowie genutzte Tools geben.

Was habe ich in dem Projekt meiner Praxisphase gemacht?

Auch in dieser Praxisphase durfte ich wieder ein spannendes Projekt bearbeiten. Das Thema des Projekts war die Erstellung und der Versand der sogenannten „A-Team-Reports". Das A-Team bezeichnet eine Gruppe von Mitarbeitern der ORDIX AG, dessen Kernaufgabe die Organisation, Planung und Abstimmung aller vertrieblichen Anfragen ist. Bei den A-Team-Reports handelt es sich um Berichte in Form von Excel-Tabellen, welche einen Überblick über diese Anfragen geben sollen. Die Inhalte werden mitarbeiterbezogen, bzw. hinsichtlich der Rollen der Empfänger (Geschäftsstellen-, Abteilungs-, Bereichs- und Teamleiter), individuell erstellt.
In diesem Zusammenhang habe ich mein Wissen zu SQL ausgebaut und mich zudem mit Python, Docker, GitLab und SPL vertraut gemacht.
Entwickelt wurde ein Skript, welches mit verschiedenen Parametern aufgerufen werden kann. Eine Option ist es, entsprechende Reports für alle Leiter zu erstellen und diese per Mail zu versenden. Zudem gibt es die Option, einen dedizierten Bericht für einen bestimmten Leiter unter Angabe seines Mitarbeiter-Kürzels und der Stellung im Unternehmen (z.B. „BL" für Bereichsleiter) zu erstellen. Dieser wird dann an ausgewählte Personen unter Angabe des Kürzels versendet.
Das von mir erstellte Skript baut im ersten Schritt eine Verbindung zu einer internen Informix-Datenbank auf. Im zweiten Schritt selektiert die von mir entwickelte Prozedur "ateam_report" die benötigten Daten. Dazu wird im Hintergrund z.B. das Python-Paket "pandas" verwendet und Argumente des Skriptaufruf als Parameter der Prozedur mitgegeben. Die Datenbank wird durch das Skript lediglich einmal abgefragt, auch wenn Reports für alle Leiter erzeugt werden. In diesem Fall wird das „Dataframe", welches man durch die Abfrage erhält, im weiteren Verlauf des Skripts mit pandas gefiltert. Es werden sequentiell alle Organisationseinheiten durchlaufen und pro Leiter wird ein Report erstellt. Abschließend werden die Reports an die jeweiligen Leiter verschickt. Bei einem einzelnen Report erfolgt der Mailversand an eine ausgewählte Empfängerliste unter Angabe der Kürzel der Empfänger.

Entwicklungsumgebung und Tools meines Projekts

Entwickelt habe ich das Skript in einem Docker Devcontainer. Dies hat den Vorteil, dass das Projekt auf anderen Systemen schnell bereitgestellt werden kann und Pakete (z.B. pandas) nicht mehr lokal installiert werden.
GitLab wurde in diesem Projekt als Versionsverwaltung genutzt. Zudem durchläuft der Code bei Änderungen eine CI/CD-Pipeline, welche aus verschiedenen Jobs besteht und eine Qualitätskontrolle des Codes sicherstellt. Zunächst wird der Code auf flake8 Linting überprüft, dann werden implementierte Unit-Tests ausgeführt. Der sogenannte „SonarQube-Check" wird ausgeführt, mit dem überprüft wird, ob der Code einem definierten Qualitätsstandard gerecht wird. Abschließend wird der Docker Devcontainer gebaut und der Job zum Deploy des Codes kann manuell ausgeführt werden.

Was habe ich gelernt?

Ich habe während des Projekts in meiner Praxisphase vieles über die Programmiersprachen Python, SQL und SPL gelernt. Zudem konnte ich mein Verständnis bezüglich Datenbanken ausbauen und habe zum ersten Mal in einem Docker Devcontainer entwickelt. Des Weiteren habe ich GitLab und SonarQube als Tools zur Versionierung und Steigerung der Code Qualität kennengelernt.

{loadmoduleid 179}
 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Donnerstag, 25. April 2024

Sicherheitscode (Captcha)

×
Informiert bleiben!

Bei Updates im Blog, informieren wir per E-Mail.

Weitere Artikel in der Kategorie