In der Vergangenheit wurde sowohl Business Logik als auch 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 entkoppelten Infotyp-Framework eingeschaltet werden.
Nach dem Einschalten kann man pro Infotyp entscheiden, welcher entkoppelt wird bzw. wo weiterhin die klassische Implementierung genutzt wird. Hierzu stellt SAP den Pflegedialog V_T582ITVCLAS (bzw. V_T582ITVCHCK für länderspezifische Business Logik) bereit.
Um das Prinzip zu demonstrieren, werden wir ein Kunde eigenen Infotypen erzeugen, indem wir Mentoren von Mitarbeiter anlegen.
Anlage des Infotypen
Zunächst öffnen wir hierzu die Transaktion PM01 und legen den Infotypen 9000 und legen zunächst 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, indem 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, welche wir bestätigen. Eine Meldung sticht hierbei heraus. Nämlich, die Meldung zur erfolgreich angelegten Checkklasse.
Als Nächstes drücken 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 in Ä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 Sie 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