SAP ABAP RAP-Laufzeit

Einführung

Im vorherigen Artikel haben wir gelernt, dass die RAP-Laufzeit aus zwei Phasen besteht: Interaktionsphase und Speicherphase. Jetzt werden wir verstehen, welche Schritte in diesen Phasen erforderlich sind und wie sie getrennt sind.

Die INTERACTION-Phase kann in Lock-, Read-, Modify-Methoden getrennt werden, während die SAVE-Phase einige vordefinierte Methoden beinhaltet finalise(), check_before_save(), adjust_numbers(), save(), cleanup(), cleanup_finalise(), die sequentiell aufgerufen werden.

Business-Objekt-Laufzeit

SAP ABAP RAP unterstützt drei Arten von Implementierungen UNMANAGED, MANAGED und MANAGED mit Sichern. Derzeit werden nur nicht verwaltete und verwaltete Szenarien unterstützt. Mit Speichern verwaltet wird in einer zukünftigen Version verfügbar sein.

Business-Objekt Runtime

Abbildung 1: Business-Objekt Runtime

Unmanaged, Managed und Managed with save

Abbildung 2: Unmanaged, Managed und Managed mit save

In der Interaktionsphase besteht die Methode modify aus den Methoden create, create_by_association, update, delete und action, mit denen die Daten in der Datenbank geändert werden. Die reads-Methoden bestehen aus read-Entitäten, read_by_association und execute_functions. Die Lesemethoden werden zum Abrufen von Daten verwendet, sie ändern das Verhalten der Daten nicht. Die Sperrmethode wird für Sperreigenschaften verwendet. Sobald die Interaktionsphase abgeschlossen ist und Änderungen im Transaktionspuffer gespeichert sind, kommt die Speicherphase ins Spiel.

 

Die Speicherphase besteht aus vordefinierten Methoden, die sequentiell ausgeführt werden.

  • finalisieren() : Die erste Methode, die in der Speicherphase ausgeführt wird, ist finalise(). Es schließt die abschließenden Berechnungen mit Business-Objekt-Ermittlungen ab, bevor die Daten auf der Datenbank persistiert werden.

 

  • check_before_save(): Die nächste Methode, die nach dem Finalize ausgeführt wird, ist check_before_save(). Vor dem Speichern der Daten in der Datenbank werden die Validierungen innerhalb dieser Methode aufgerufen. Für ein erfolgreiches Speichern muss die BO-Laufzeit die Rückmeldungen in Checks bereitstellen. Dies ist der Point of No Return, dh sobald die Steuerung diese Methode erreicht und kein Fehler festgestellt wird, geht die Ausführung zum nächsten Schritt und die Daten werden erfolgreich in der Datenbank gespeichert.

Falls in dieser Methode ein Fehler festgestellt wird, wird die weitere Ausführung abgebrochen und die Kontrolle geht an die Methode cleanup_finalise(). Und die Daten werden nicht gespeichert.

 

  • adjust_numbers(): Diese Methode ist erforderlich, wenn wir die späte Nummerierung in unserer Verhaltensdefinition für Geschäftsobjekte modelliert haben.

Späte Nummerierung: Die endgültige Nummer oder die Schlüsselnummer wird unmittelbar vor dem Speichern der Dateninstanz in der Datenbank generiert. Es ist ein Konzept, um lückenlose Zahlen zu generieren. Wenn Sie beispielsweise einen Infosatz anlegen, wird die Infosatznummer generiert, kurz bevor die Daten in der Datenbank gespeichert werden. (Nicht unterstützt für verwaltete Implementierung).

Frühe Nummerierung: Falls wir in einem Business-Objekt eine frühe Nummerierung verwenden, wird die Schlüsselnummer vorher, dh nach dem Aufruf der Methode modify, generiert. Die Schlüsselwerte sind im Transaktionspuffer verfügbar.

 

  • speichern(): Diese Methode speichert die Daten aus dem Transaktionspuffer in der Datenbank.

 

  • Aufräumen(): Die Methode cleanup wird aufgerufen, wenn die Methode save() erfolgreich ausgeführt wurde. Dadurch werden der Transaktionspuffer oder die Variablen gelöscht, um Inkonsistenzen zu vermeiden.

 

  • cleanup_finalise(): Diese Methode wird aufgerufen, wenn finalise() und check_before_save() einen fehlgeschlagenen Schlüssel zurückgegeben haben und die Daten nicht in der Datenbank gespeichert sind. cleanup_finalise() löscht die Transaktionspuffer oder Variablen, wenn die Ausführung in finalize oder check_before_save fehlschlägt.

Hinterlassen Sie eine Nachricht

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.