ABAP RAP Advanced

Additional Save und Unmanaged Save

Sichern unter eigener Kontrolle

Additional Save im RAP

  • Ergänzt die Standard-Persistenz im Managed Scenario
  • Ermöglicht zusätzliche Logik während der Save-Phase
  • Eingebettet in den Transaktionsablauf des RAP-Frameworks
  • Definiert in Behavior Definition (BDEF) als Save-Erweiterung
managed implementation in class zbp_i_task unique;
strict ( 2 );
with draft;

define behavior for ZI_Task alias Task
implementation in class zbp_i_task unique
with additional save
...
  • Implementierung erfolgt in Saver-Klasse, Methode save_modified
  • Typischer Anwendungsfall: Audit-Logging, externe Services, Change-Documents

Unmanaged Save im RAP

  • RAP überlässt die gesamte Persistenz dem Entwickler
  • Interaction Phase sowie Save Sequence müssen komplett selbst gebaut werden
  • BDEF Definition mit unmanaged save Atttribut
define behavior for ZI_User alias User
with unmanaged save
...
{
  ...
  field ( readonly ) IsEditable;

  update ( features : instance );
  delete ( features : instance );
  ...
}
  • Ermöglicht Integration vorhandener Legacy-Datenpersistenz
  • Maximale Kontrolle, aber deutlich mehr Entwicklungsaufwand

Unterschiede Additional vs. Unmanaged Save

Merkmal Additional Save Unmanaged Save
Persistenzsteuerung Framework managed + Erweiterung Vollständig Entwickler gesteuert
Komplexität Moderat Hoch
Anwendungsfall Ergänzungen & Service-Reuse Legacy Integration & Full Control
BDEF Syntax additional save unmanaged save

Empfehlung

  • Verwende Additional Save, wenn nur Erweiterungen benötigt werden
  • Unmanaged Save bei Integration vorhandener Persistenz oder speziellen Szenarien
  • Beachte Auswirkungen auf Transaktionalität und Performance
  • Teste sorgfältig Save-Phasen in Draft- und Active-Szenarien