ABAP RAP Advanced

Numbering Concepts

Numbering Methods in RAP

Overview of Number Assignment in RAP

  • Number assignment: setting key values for entities during Create
  • Essential for identification and data consistency
  • Various methods for key generation available

Early Numbering

  • Key is generated early, before Save
  • Variants:
    • External: Consumer sets the primary key itself
    • Internal Managed: RAP automatically generates GUID (raw16)
    • Internal Unmanaged: Developer implements custom logic
  • Advantages: Key known early, easy validation

Late Numbering

  • Key is assigned only during Save
  • Suitable for number ranges or sequential numbering
  • Supports gap-free and controlled assignment
  • Implemented via adjust_numbers method in the Behavior Handler

Managed vs Unmanaged Numbering

Type Early Numbering Late Numbering
External Yes No
Managed Yes (GUID) From ABAP 2111
Unmanaged Yes Yes

Behavior Definition Configuration

  • Early internal numbering (Managed):
field ( readonly )
field ( numbering : managed ) <KeyField>;  
  • Unmanaged early/late numbering:
early numbering // for early numbering
late numbering  // for late numbering
field ( readonly ) <KeyField>;  
  • Implementation of methods FOR NUMBERING and adjust_numbers required

Implementation Details

  • FOR NUMBERING method for unmanaged early numbering
  • adjust_numbers method for late numbering just before Save
  • Key values must be returned in the mapped export parameter
  • Consider validation, uniqueness, and performance

Recommendations

  • For GUID keys: use Managed early numbering
  • For sequential numbers with gap-free sequence: use Late numbering
  • Use Unmanaged numbering when custom logic is needed
  • Configure Behavior Definition properly and implement methods

Sources and Further Reading

  • SAP Help Portal: Numbering in ABAP RESTful Application Programming Model
  • Practical examples on Software-Heroes.com and Cadaxo GmbH Blog
  • Sketch and test ABAP behavior in Behavior Implementation