ABAP - Keyword Documentation → ABAP RAP Business Objects → RAP - Behavior Definitions → RAP BDL - Syntax → 

    RAP BDL - Feature Tables

    The following sections shows all available language elements of the RAP BDL and their release dates. For further information on the release dates, see ABAP Release News and ABAP Release Mapping.

    BDL

    RAP Behavior Definitions

    RAP Behavior Definition Header

    The following tables list the keywords that can be used in BDEFs of type managed, unmanaged, and projection. If the release dates differ per implementation type, the release dates are given per implementation type.

    Language ElementMeaningABAP Release, quarterlyABAP Release, on-premise SAP BTP ABAP EnvironmentSAP S/4HANA Cloud Public Edition 
    managed Defines a managed RAP BO. 7.77 7.5419051905
    unmanaged Defines an unmanaged RAP BO. 7.73 7.5318051805
    managed by BOPF Defines a BOPF-based RAP BO. - 7.58--
    projection Defines a projection RAP BO. 7.77 7.5419051905
    implementation in class [unique] Class for manual method implementation. 7.77 7.5419051905
    strict Enables BDEF strict mode. 7.84 7.5621052105
    strict(2) Enables BDEF strict mode, version 2. 7.89 7.5722082208
    auxiliary class Specifies one or more ABP auxiliary classes that allow the outsourcing of functionality from an ABAP behavior pool. 9.12 8.16 24082408
    extensible RAP extensibility enablement for managed and unmanaged RAP BOs and for projection BDEFs. 7.89 7.57 22082208
    with validations on save
    with determinations on save
    with determinations on modify
    with additional save
    (extensible)
     
    RAP extensibility enablement.
    Caution: Currently only available for managed RAP BOs.  
    7.89 7.5722082208
    with managed instance filter Optional addition for projection BDEFs and interface BDEFs. If specified, the  WHERE condition of the underlying CDS transactional query or CDS transactional interface is evaluated when the BDEF is accessed with ABAP EML or OData requests from Web clients. 7.93 7.5823082308
    with draft Enables RAP draft handling. 7.81 7.5520082008
    with BOPF draft Enables draft handling in a BOPF-based RAP BO. - 7.58--
    use draft Reuse of RAP draft handling in a CDS projection BDEF.7.77 7.541909 1909
    use side effects Reuse of RAP side effects in a CDS projection BDEF.7.91 7.582302 2302
    with privileged mode Enables BDEF privileged mode. 7.83.
    Obsolete as of 7.89
    7.56
    Obsolete as of 7.57
    2102. Obsolete as of 2208.2102. Obsolete as of 2208.
    with privileged mode disabling Enables BDEF privileged mode for managed and unmanaged RAP BOs. 7.89 7.5622082208
    with privileged mode disabling base context [and] Enables BDEF privileged mode in projection BDEFs.7.86 7.5721112111
    foreign entity Defines an entity which is not part of the BO structure as component for the response structures, thus enabling message mapping for other BOs.Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Service Projection: 7.77
    Unmanaged RAP BO: 7.53
    Managed RAP BO: 7.54
    Projection BDEF: 7.54
    Unmanaged: 1808
    Managed: 1908
    Projection: 1908
    Unmanaged: 1808
    Managed: 1908
    Projection: 1908

    Entity Behavior Definition

    Language ElementMeaningABAP Release, quarterly  ABAP Release, on-premise SAP BTP ABAP EnvironmentSAP S/4HANA Cloud Public Edition 
    define behavior for...alias Defines an entity behavior definition.Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Service Projection: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Projection: 7.54
    Unmanaged: 1808
    Managed: 1908
    Projection: 1908
    Unmanaged: 1808
    Managed: 1908
    Projection: 1908

    Authorization Context Definition

    Language ElementMeaningABAP Release, quarterly ABAP Release, on-premise SAP BTP ABAP EnvironmentSAP S/4HANA Cloud Public Edition 
    define authorization context ...
    [for disable {modify|read|modify,read}]
     
    Defines an authorization context that lists authorization objects that can be skipped when the respective authorization context is activated.7.85 7.5621082108
    save:early, save:late, authorization context for disable The options save:early and save:late can be specified after define authorization context ContextName for disable to skip authorization objects during certain RAP saver methods. 7.91 7.5823022302
    define own authorization context Defines an own authorization context that documents authorization objects used in the implementation of the RAP BO in question.7.86 7.5721112111
    define own authorization context by privileged mode [and]{...} Defines an own authorization context 7.89 7.5622082208

    Entity Behavior Characteristics

    Language ElementMeaningABAP Release, quarterly ABAP Release, on-premise SAP BTP ABAP EnvironmentSAP S/4HANA Cloud Public Edition 
    persistent table Defines a persistent database table in a managed RAP BO. 7.77 7.54 19081908
    draft table Defines the draft database table used to store draft data.7.81 7.5520082008
    query  Defines a draft query view for a draft database table.7.89 7.5722082208
    with additional save User-defined saving strategy for managed RAP BOs. 7.78 7.55 1911 1911
    with unmanaged save User-defined saving strategy for managed RAP BOs. 7.78 7.551911 1911
    and cleanup User-defined saving strategy for managed RAP BOs. 7.83 7.562102 2102
    with full data User-defined saving strategy for managed RAP BOs. 7.88 7.572205 2205
    etag master, etag dependent, total etag Defines an ETag field for optimistic concurrency control. Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Service Projection: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Projection:7.54
    Unmanaged: 1808
    Managed: 1908
    Projection: 1908
    Unmanaged: 1808
    Managed: 1908
    Projection: 1908
    use etag Reuse of ETag fields for optimistic concurrency control in a CDS projection BDEF.7.77 7.541908 1908
    lock master Defines pessimistic concurrency control in managed or unmanaged RAP BOs.Unmanaged RAP BO: 7.73  
    Managed RAP BO: 7.77
    Unmanaged RAP BO: 7.53  
    Managed RAP BO: 7.54
    Unmanaged: 1808
    Managed: 1908
    Unmanaged: 1808
    Managed: 1908
    unmanaged (lock master) Implementation exit for pessimistic concurrency control in managed RAP BOs. 7.80 7.5520052005
    lock dependent Defines pessimistic concurrency control in managed or unmanaged RAP BOs.Unmanaged RAP BO: 7.73  
    Managed RAP BO: 7.77
    Unmanaged RAP BO: 7.53  
    Managed RAP BO: 7.54
    Unmanaged: 1808
    Managed: 1908
    Unmanaged: 1808
    Managed: 1908
    lock:none RAP BO operation addition that prevents the locking mechanism for a certain RAP BO entity.7.82 7.5620112011
    authorization master( global ) Defines global RAP authorization control for managed and unmanaged RAP BOs.7.82 7.5620112011
    authorization master ( instance ) Defines instance RAP authorization control for managed and unmanaged RAP BOs.7.77 7.5419081908
    authorization dependent RAP authorization control for managed and unmanaged RAP BOs.7.77 7.5419081908
    authorization ( global )
                | ( instance )
                | ( global, instance )
     
    Defines RAP authorization control for projection BDEFs.7.84 7.5621052105
    authorization:update RAP BO operation addition to delegate RAP authorization control. 7.85 7.5621082108
    authorization:none RAP BO operation addition to exclude a RAP BO operation from  RAP authorization control. 7.77 7.5419081908
    authorization:global RAP BO operation addition that replaces the RAP authorization control that is specified in the authorization master entity and applies global authorization checks instead. 7.92 7.5823052308
    authorization:instance RAP BO operation addition that replaces the RAP authorization control that is specified in the authorization master entity and applies instance authorization checks instead. 7.92 7.5823052308
    early numbering Defines unmanaged early numbering for all primary key fields of a business object entity. 7.83 7.56 21022102
    late numbering Enables gapless assignment for unique keys when creating new entity instances in managed and unmanaged RAP BOs. Unmanaged RAP BO without draft: 7.73
    Unmanaged RAP BO with draft and Managed RAP BO: 7.86
    Unmanaged RAP BO without draft: 7.53
    Unmanaged RAP BO with draft and Managed RAP BO: 7.57
    Unmanaged RAP BO without draft: 1805
    Unmanaged RAP BO with draft and Managed RAP BO: 2111
    Unmanaged RAP BO without draft: 1805
    Unmanaged RAP BO with draft and Managed RAP BO: 2111

    Entity Behavior Body

    Language ElementMeaningABAP Release, quarterly ABAP Release, on-premiseSAP BTP ABAP EnvironmentSAP S/4HANA Cloud Public Edition 
    field(readonly) Defines a RAP field characteristic. Unmanaged RAP BO: 7.76
    Managed RAP BO: 7.77
    Unmanaged RAP BO: 7.54
    Managed RAP BO: 7.54
    Unmanaged: 1905
    Managed: 1908
    Unmanaged: 1905
    Managed: 1908
    field(mandatory) Defines a RAP field characteristic. Unmanaged RAP BO: 7.76
    Managed RAP BO: 7.77
    Unmanaged RAP BO: 7.54
    Managed RAP BO:  7.54
    Unmanaged: 1905
    Managed: 1908
    Unmanaged: 1905
    Managed: 1908
    field (features:instance) Defines a RAP field characteristic. 7.77 7.5419081908
    field (mandatory:create) Defines a RAP field characteristic. 7.81 7.5520082008
    field (readonly:update) Defines a RAP field characteristic. 7.81 7.5520082008
    field (numbering:managed) Defines managed internal numbering for a field in a managed RAP BO. 7.79 7.5520022002
    field (suppress) Defines a RAP field characteristic. Managed RAP BO: 7.88
    Unmanaged RAP BO: 7.87
    Service Projection: 7.84
    Managed: 7.57
    Unmanaged: 7.57
    Projection: 7.56
    Managed: 2205
    Unmanaged: 2202  
    Projection: 2105
    Managed: 2205
    Unmanaged: 2202  
    Projection: 2105
    field (notrigger:warn) Defines a RAP field characteristic. 7.90 7.5822112211
    field (modify) Augmentation of a CDS virtual element in a CDS projection BDEF. 7.82 7.5620112011
    group Splits the implementation-relevant parts of a business object's logic into multiple groups to allow simultaneous work.7.78 7.551911 1911
    create, update, delete Enables CRUD operations for a managed or unmanaged RAP business object. Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1805
    Managed: 1905
    Unmanaged: 1805
    Managed: 1905
    use Reuse of RAP BO operations in a CDS projection BDEF. 7.81 7.5520082008
    association ... abbreviation ... [without response] Enables read-by-association and create-by-association operations for associations. Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1805
    Managed: 1905
    Unmanaged: 1805
    Managed: 1905
    action ... [external] Defines a RAP action. Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1805
    Managed: 1905
    Unmanaged: 1805
    Managed: 1905
    static (action) Defines a static RAP action.Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1805
    Managed: 1905
    Unmanaged: 1805
    Managed: 1905
    repeatable (action or function) Defines a RAP repeatable operation. 7.89 7.5722082208
    factory (action) Defines a RAP factory action. Unmanaged RAP BO: 7.76
    Managed RAP BO: 7.86
    Unmanaged: 7.54
    Managed: 7.57
    Unmanaged RAP BO: 1905
    Managed RAP BO: 2111
    Unmanaged RAP BO: 1905
    Managed RAP BO: 2111
    default Defines a default static factory action. 7.90 7.5822112211
    save(finalize
       | adjustnumbers
       | finalize, adjustnumbers)
    (action)
     
    Defines a RAP save action. 7.89 7.5722082208
    function ... [external] Defines a RAP function. Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1805  
    Managed: 1905
    Unmanaged: 1805  
    Managed: 1905
    determine action Defines a determine action that allows a RAP BO consumer to execute determinations and validations on request. 7.81 7.55 20082008
    always (determine action) Ignores the trigger condition of a determine action. 7.82 7.56 20112011
       draft action Edit
    |  draft action Activate
    |  draft action Discard
    |  draft action Resume [with additional implementation]
    |  draft determine action Prepare
     
    Defines a draft action in a draft-enabled scenario. 7.81 7.55 20082008
    draft action AdditionalSave RAP BO draft action that allows users to define a custom saving strategy for draft instances. 7.93 7.5823082308
    with additional implementation  Implementation exit for draft actions that allows a user-defined implementation of the draft action in question. 7.81 7.552008 2008
    optimized Recommended addition to the draft action Activate that speeds up the activation of draft instances. 7.93 7.5823082308
    parameter ... [$self] Defines an input parameter for an action or function.Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1805  
    Managed: 1905
    Unmanaged: 1805  
    Managed: 1905
    deep [table] (parameter) Defines a deep input parameter or a deep table input parameter for an action or function.7.83 7.5621022102
    result[cardinality] { $self | entity } Defines an output parameter for an action or function. Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1805  
    Managed: 1905
    Unmanaged: 1805  
    Managed: 1905
    selective (result) Syntax addition for an output parameter for an action or function. 7.79 7.5520022002
    selective (deep result) Syntax addition for a deep output parameter for an action or function. 7.89 7.5722082208
    mapping for ... [control ... ] [corresponding] [except] Maps field names from database tables to field names from the current data model. 7.78 7.5519111911
    validation ... on save { ... } Defines a validation which is called during the save sequence. Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1808
    Managed: 1908
    Unmanaged: 1808
    Managed: 1908
    determination ... on save { ... } | on modify { ... } Defines a determination which is called during the save sequence or immediately after data has been changed. Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1808
    Managed: 1908
    Unmanaged: 1808
    Managed: 1908
    features: global RAP BO operation addition that defines global feature control for a RAP BO operation. 7.82 7.5620112011
    features: instance RAP BO operation addition that defines instance feature control for a RAP BO operation. 7.77 7.5419081908
    internal Defines a RAP BO operation as internal.Unmanaged RAP BO: 7.73
    Managed RAP BO: 7.77
    Unmanaged: 7.53
    Managed: 7.54
    Unmanaged: 1805
    Managed: 1905
    Unmanaged: 1805
    Managed: 1905
    precheck Prevents illegal changes from reaching the application buffer by prechecking modify operations. 7.81 7.5520082008
    default function Defines a RAP default values function for a RAP BO operation that defaults values for fields or input parameters on the user interface. 7.94 8.1623112402
    key ... function ... Defines a RAP key function for a BDEF alternative key. 7.96 8.1624052408
    augment Augments modify requests on the projection layer in a CDS projection BDEF. 7.827.562011 2011
    event ... [[deep] parameter]  Defines a RAP business event in a managed or unmanaged RAP BO. 7.897.572208 2208
    managed event ... on ... parameter  Defines a RAP derived event in a managed or unmanaged RAP BO. 7.937.582308 2308
    side effects { ... [executed on ... ] affects ...; }  Defines a RAP side effect in a managed, unmanaged, or projection BDEF. 7.917.582302 2302
    define secondary key | define pure key Defines an alternative key in a managed or unmanaged RAP behavior definition.9.12 8.162408 2408

    Interface Behavior Definitions

    Language ElementMeaningABAP Release, quarterly ABAP Release, on-premiseSAP BTP ABAP EnvironmentSAP S/4HANA Cloud Public Edition 
    interface Defines a RAP BO interface. 7.88 7.5722052205
    extensible Declares a RAP BO interface as extensible. 7.89 7.572208 2208
    with managed instance filter Optional addition for projection BDEFs and interface BDEFs. If specified, the  WHERE condition of the underlying CDS transactional query or CDS transactional interface is evaluated when the BDEF is accessed with ABAP EML or OData requests from Web clients. 7.93 7.5823082308
    define behavior for ... alias ... external. Entity behavior definition of an interface BDEF. 7.88 7.572205 2205
    use draft Reuses the draft-handling from the base BO. 7.88 7.572205 2205
    use side effects Reuse of RAP side effects from the base BO.7.91 7.5823022302
    use event Reuses a RAP business event from the base BO. 7.93 7.5823082308
    use etag. Reuses the ETag from the base BO. 7.88 7.5722052205
    with privileged mode. BDEF privileged mode. 7.88 7.5722052205
    foreign entity. Defines a RAP foreign entity for message mapping. 7.88 7.5722052205
    field(readonly) RAP field characteristic. 7.90 7.5822112211
    field(mandatory:create) RAP field characteristic. 7.90 7.5822112211
    field(readonly:update) RAP field characteristic. 7.90 7.5822112211
    field(suppress) RAP field characteristic. 7.90 7.5822112211

    Abstract Behavior Definitions

    Language ElementMeaningABAP Release, quarterly ABAP Release, on-premiseSAP BTP ABAP EnvironmentSAP S/4HANA Cloud Public Edition 
    abstract Defines an abstract BDEF. 7.83 7.5621022102
    with hierarchy Causes the construction of a new kind of BDEF derived type. Only available in abstract BDEFs.7.83 7.5621022102
    with hierarchy like entity Ensures that the BDEF derived type is equivalent to the structure type of the underlying CDS abstract entity, thereby ensuring compatibility.9.12 8.1624082408
    with control Optional addition of the define behavior statement that is only available in abstract BDEFs. Adds the %control structure to the corresponding derived type structure.7.85 7.5621082108
    scalar entity Alternative to an entity behavior definition that is only available in abstract BDEFs. Integrates a node of the CDS composition tree into the hierarchical derived type of the abstract BDEF as a scalar type.7.83 7.5621022102
    association ... [with hierarchy] In an abstract BDEF, an association can be defined with the optional addition with hierarchy. This addition is available for to-parent associations and cross-BO associations to include them multiple times in the type structure.7.837.5621022102
    deep mapping for ... [corresponding] [sub] Defines a deep mapping in an abstract BDEF.7.837.5621022102
    mandatory:execute as field attribute Field attribute that declares a field of an abstract BDEF as mandatory.7.88 7.5722052205
    mandatory:execute for associations Attribute that can be used for associations in abstract BDEFs to declare an association of an abstract BDEF as mandatory.7.94 7.58 23112402

    BDEF Extensions

    Keywords and Additions

    This list displays special language elements for BDEF extensions. You can also use statements from CDS behavior definitions.

    Language ElementMeaningABAP Release, quarterly ABAP Release, on-premiseSAP BTP ABAP EnvironmentSAP S/4HANA Cloud Public Edition 
    extension  Defines a BDEF extension. 7.89 7.5722082208
    extensible  RAP extensibility enablement for a BDEF extension. Prerequisite for extension layering. 7.91 7.58 23022302
    with friends Optional addition that can be used to declare one or more BDEF extensions as friends of the current behavior definition. BDEF friends have enhanced access rights to the BDEF in question.   7.95 8.16 2402 2402
    extend behavior for  Defines a RAP entity behavior extension.7.89 7.5722082208
    extend own authorization context. Extends an own authorization context. 7.89 7.5722082208
    extend determine action Extends an existing RAP BO determine action.7.89 7.5722082208
    extend draft determine action Prepare Extends an existing draft determine action Prepare.7.89 7.5722082208
    extend mapping for Extends an existing RAP type mapping.7.89 7.5722082208
    extension for projection Extends a RAP projection behavior definition.7.89 7.5722082208
    ancestor association Defines a CDS association as ancestor association. The association target must be an extension node.7.89 7.5722082208
    extension for abstract Extends an  abstract behavior definition. 7.91 7.5823022302