ABAP RAP Advanced

Numbering Concepts

Numbering Methods in RAP

Überblick Nummernvergabe in RAP

  • Nummernvergabe: Schlüsselwerte für Entitäten beim Create setzen
  • Essentiell zur Identifikation und Datenkonsistenz
  • Verschiedene Verfahren zur Schlüsselgenerierung verfügbar

Frühe Nummernvergabe (Early Numbering)

  • Schlüssel wird früh, bereits vor Save generiert
  • Varianten:
    • Extern: Consumer setzt primären Schlüssel selbst
    • Intern Managed: RAP generiert automatisch GUID (raw16)
    • Intern Unmanaged: Entwickler implementiert eigene Vergabe
  • Vorteile: Schlüssel früh bekannt, einfache Validierung

Späte Nummernvergabe (Late Numbering)

  • Schlüssel wird erst beim Speichern zugewiesen
  • Geeignet für Nummernkreis oder sequenzielle Nummern
  • Unterstützt lückenlose und kontrollierte Vergabe
  • Implementierung über adjust_numbers Methode im Behavior Handler

Managed vs Unmanaged Numbering

Typ Early Numbering Late Numbering
Extern Ja Nein
Managed Ja (GUID) Ab ABAP 2111
Unmanaged Ja Ja

Behavior Definition Konfiguration

  • Frühe interne Nummernvergabe (Managed):
field ( readonly )
field ( numbering : managed ) <KeyField>;  
  • Unmanaged frühe/späte Nummernvergabe:
early numbering // für frühe Nummerierung
late numbering // für späte Nummerierung
field ( readonly ) <KeyField>;  
  • Implementierung der Methoden FOR NUMBERING, adjust_numbers erforderlich

Implementierungsdetails

  • FOR NUMBERING Methode für uns verwaltete frühe Nummernvergabe
  • adjust_numbers Methode für späte Nummernvergabe kurz vor Save
  • Schlüsselwerte müssen im Export-Parameter mapped zurückgemeldet werden
  • Validierung, Eindeutigkeit und Performance berücksichtigen

Empfehlung

  • Für GUID-Schlüssel: Managed early numbering verwenden
  • Für fortlaufende Nummern mit lückenloser Sequenz: Late numbering nutzen
  • Unmanaged Nummerierung nutzen, wenn individuelle Logik benötigt wird
  • Behavior Definition sauber konfigurieren und Methoden implementieren

Quellen und weiterführendes Material

  • SAP Help Portal: Numbering in ABAP RESTful Application Programming Model
  • Praxisbeispiele auf Software-Heroes.com und Cadaxo GmbH Blog
  • ABAP Verhalten in Behavior Implementierung skizzieren und testen