In der Vergangenheit wurde sowohl Business Logik als auch das Interface von Infotypen in den ABAP Dynpros aufbereitet.
Zur Entkopplung der Business Logik vom Interface bietet SAP daher eine Lösung an, die die Business Logik aus den Dynpros in eine sogenannten Checkklasse (engl. check class) entkoppelt.
Diese Entkopplungsmöglichkeit wird entkoppeltes Infotyp-Framework (engl. decoupled Infotype Framework) genannt.
Infotypen im entkoppelten Infotyp-Framework
Zunächst muss das entkoppelte Infotyp-Framework eingeschaltet werden.
Nach dem Einschalten kann man pro Infotyp entscheiden, welcher entkoppelt wird bzw. wo weiterhin die klassische Implementierung genutzt werden soll. Hierzu stellt SAP den Pflegedialog V_T582ITVCLAS (bzw. V_T582ITVCHCK für länderspezifische Business Logik) bereit.
Um das Prinzip zu demonstrieren, werden wir einen kundeneigenen Infotypen erzeugen, indem wir Mentoren von Mitarbeitern anlegen.
Anlage des Infotypen
Zunächst öffnen wir hierzu die Transaktion PM01, legen den Infotypen 9000 an und die Struktur des Infotypen fest.
In unserem Fall benötigen wir nur ein Feld für die Auswahl von Mentoren. Ich habe dazu ein Datenelement für die Tutoren erstellt, in dem wir die Personalnummer des Mentors speichern werden.
Nachdem wir sichergestellt haben, dass die Struktur P9000 und die Datenbanktabelle PA9000 auch korrekt aktiviert wurden, generieren wir nun die Objekte des Infotyps.
Nach Betätigen des Schalters erhalten wir mehrere Popupmeldungen, die wir bestätigen. Eine Meldung interessiert uns hierbei besonders. Und zwar die Meldung zur erfolgreich angelegten Checkklasse.
Als Nächstes klicken wir den Schalter Infotypeigenschaften.
Hier legen wir nun unseren neuen Infotypen an und wählen unsere Zeitbindungklasse, sowie Parameter zur Auswahl und Anlage des Infotyps nach unseren Anforderungen.
In unserem Beispiel wählen wir Zeitbindungsklasse 2, d.h. dass ein Mitarbeiter keine überschneidenden Sätze des Infotyps haben müssen, aber Lücken in der Historie entstehen können.
Es können also Momente existieren, in denen ein Mitarbeiter keinen Mentor hat.
Unter technische Daten hinterlegen wir die Standardauswahl Einzelbild 2000 und Listbild 3000.
Das Interface des Infotyps in der PA20 bzw. PA30 lässt sich mit dem Dynpro Screen Painter anhand der Einzelbildnummer umgestalten.
Wir sind aber mehr an Änderung anhand der Business Logik interessiert, weswegen wir nun die Checkklasse bearbeiten.
Implementierung der Checkklasse
In der generierten Checkklasse ZCL_HRPA_INFOTYPE_9000 sollten wir zur Implementierung der Business Logik vor allem die SPECIFIC-Methoden verwenden (vgl. SAP Dokumentation).
Methode | Beschreibung |
SPECIFIC_INITIAL_COMPUTATIONS | Infotypspezifische Prozessierung bei Satzerzeugung |
SPECIFIC_READ_COMPUTATIONS | Infotypspezifische Einzelsatzprozessierung nach dem Lesen |
SPECIFIC_MODIFY_COMPUTATIONS | Infotypspezifische Logik bei Modify |
SPECIFIC_INSERT_COMPUTATIONS | Infotypspezifische Logik bei Insert |
SPECIFIC_DELETE_COMPUTATIONS | Infotypspezifische Logik bei Delete |
SPECIFIC_ACTION_COMPUTATIONS | Infotypspezifische Logik bei Insert |
Zur Implementierung müssen wir die Methoden redefinieren.
Für unser Beispiel redefinieren wir die Methode SPECIFIC_INITIAL_COMPUTATIONS. Hier wird als Defaultwert für die Personalnummer des Mentors, die Personalnummer der Führungskraft gesetzt.
In den anderen SPECIFIC-Methoden können wir bei der Anlage, Änderung oder Löschung andere Operationen hinterlegen. Üblich sind hier:
- Felder validieren
- Informationskorrespondenzen verschicken
- Workflows anstoßen
Konkret in unserem Beispiel könnten wir in der Insert- und Modify-Methode prüfen, ob die Personalnummer gültig sowie im Beschäftigungsstatus aktiv ist.
Ergebnis im entkoppelten Infotyp-Framework:
Die Anlage des Mentoreninfotyps führt zur Vorbefüllung der Personalnummer des Mentors durch die Personalnummer der Führungskraft.
Keine Kommentare