ABAP for Cloud Development
AS ABAP Release 914, ©Copyright 2024 SAP SE. All rights reserved.
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 Element | Meaning | ABAP Release, quarterly | ABAP Release, on-premise | SAP BTP ABAP Environment | SAP S/4HANA Cloud Public Edition |
managed | Defines a managed RAP BO. | 7.77 | 7.54 | 1905 | 1905 |
unmanaged | Defines an unmanaged RAP BO. | 7.73 | 7.53 | 1805 | 1805 |
managed by BOPF | Defines a BOPF-based RAP BO. | - | 7.58 | - | - |
projection | Defines a projection RAP BO. | 7.77 | 7.54 | 1905 | 1905 |
implementation in class unique | Class for manual method implementation. | 7.77 | 7.54 | 1905 | 1905 |
strict | Enables BDEF strict mode. | 7.84 | 7.56 | 2105 | 2105 |
strict(2) | Enables BDEF strict mode, version 2. | 7.89 | 7.57 | 2208 | 2208 |
auxiliary class | Specifies one or more ABP auxiliary classes that allow the outsourcing of functionality from an ABAP behavior pool. | 9.12 | 8.16 | 2408 | 2408 |
extensible | RAP extensibility enablement for managed and unmanaged RAP BOs and for projection BDEFs. | 7.89 | 7.57 | 2208 | 2208 |
with validations on save | RAP extensibility enablement. Caution: Currently only available for managed RAP BOs. | 7.89 | 7.57 | 2208 | 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.58 | 2308 | 2308 |
with draft | Enables RAP draft handling. | 7.81 | 7.55 | 2008 | 2008 |
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.54 | 1909 | 1909 |
use side effects | Reuse of RAP side effects in a CDS projection BDEF. | 7.91 | 7.58 | 2302 | 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.56 | 2208 | 2208 |
with privileged mode disabling base context and | Enables BDEF privileged mode in projection BDEFs. | 7.86 | 7.57 | 2111 | 2111 |
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 Element | Meaning | ABAP Release, quarterly | ABAP Release, on-premise | SAP BTP ABAP Environment | SAP 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 Element | Meaning | ABAP Release, quarterly | ABAP Release, on-premise | SAP BTP ABAP Environment | SAP S/4HANA Cloud Public Edition |
define authorization context ... | Defines an authorization context that lists authorization objects that can be skipped when the respective authorization context is activated. | 7.85 | 7.56 | 2108 | 2108 |
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.58 | 2302 | 2302 |
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.57 | 2111 | 2111 |
define own authorization context by privileged mode and {...} | Defines an own authorization context | 7.89 | 7.56 | 2208 | 2208 |
Entity Behavior Characteristics
Language Element | Meaning | ABAP Release, quarterly | ABAP Release, on-premise | SAP BTP ABAP Environment | SAP S/4HANA Cloud Public Edition |
persistent table | Defines a persistent database table in a managed RAP BO. | 7.77 | 7.54 | 1908 | 1908 |
draft table | Defines the draft database table used to store draft data. | 7.81 | 7.55 | 2008 | 2008 |
query | Defines a draft query view for a draft database table. | 7.89 | 7.57 | 2208 | 2208 |
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.55 | 1911 | 1911 |
and cleanup | User-defined saving strategy for managed RAP BOs. | 7.83 | 7.56 | 2102 | 2102 |
with full data | User-defined saving strategy for managed RAP BOs. | 7.88 | 7.57 | 2205 | 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.54 | 1908 | 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.55 | 2005 | 2005 |
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.56 | 2011 | 2011 |
authorization master( global ) | Defines global RAP authorization control for managed and unmanaged RAP BOs. | 7.82 | 7.56 | 2011 | 2011 |
authorization master ( instance ) | Defines instance RAP authorization control for managed and unmanaged RAP BOs. | 7.77 | 7.54 | 1908 | 1908 |
authorization dependent | RAP authorization control for managed and unmanaged RAP BOs. | 7.77 | 7.54 | 1908 | 1908 |
authorization ( global ) | Defines RAP authorization control for projection BDEFs. | 7.84 | 7.56 | 2105 | 2105 |
authorization:update | RAP BO operation addition to delegate RAP authorization control. | 7.85 | 7.56 | 2108 | 2108 |
authorization:none | RAP BO operation addition to exclude a RAP BO operation from RAP authorization control. | 7.77 | 7.54 | 1908 | 1908 |
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.58 | 2305 | 2308 |
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.58 | 2305 | 2308 |
early numbering | Defines unmanaged early numbering for all primary key fields of a business object entity. | 7.83 | 7.56 | 2102 | 2102 |
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 Element | Meaning | ABAP Release, quarterly | ABAP Release, on-premise | SAP BTP ABAP Environment | SAP 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.54 | 1908 | 1908 |
field (mandatory:create) | Defines a RAP field characteristic. | 7.81 | 7.55 | 2008 | 2008 |
field (readonly:update) | Defines a RAP field characteristic. | 7.81 | 7.55 | 2008 | 2008 |
field (numbering:managed) | Defines managed internal numbering for a field in a managed RAP BO. | 7.79 | 7.55 | 2002 | 2002 |
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.58 | 2211 | 2211 |
field (modify) | Augmentation of a CDS virtual element in a CDS projection BDEF. | 7.82 | 7.56 | 2011 | 2011 |
group | Splits the implementation-relevant parts of a business object's logic into multiple groups to allow simultaneous work. | 7.78 | 7.55 | 1911 | 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.55 | 2008 | 2008 |
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.57 | 2208 | 2208 |
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.58 | 2211 | 2211 |
save(finalize | Defines a RAP save action. | 7.89 | 7.57 | 2208 | 2208 |
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 | 2008 | 2008 |
always (determine action) | Ignores the trigger condition of a determine action. | 7.82 | 7.56 | 2011 | 2011 |
draft action Edit | Defines a draft action in a draft-enabled scenario. | 7.81 | 7.55 | 2008 | 2008 |
draft action AdditionalSave | RAP BO draft action that allows users to define a custom saving strategy for draft instances. | 7.93 | 7.58 | 2308 | 2308 |
with additional implementation | Implementation exit for draft actions that allows a user-defined implementation of the draft action in question. | 7.81 | 7.55 | 2008 | 2008 |
optimized | Recommended addition to the draft action Activate that speeds up the activation of draft instances. | 7.93 | 7.58 | 2308 | 2308 |
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.56 | 2102 | 2102 |
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.55 | 2002 | 2002 |
selective (deep result) | Syntax addition for a deep output parameter for an action or function. | 7.89 | 7.57 | 2208 | 2208 |
mapping for ... control ... corresponding except | Maps field names from database tables to field names from the current data model. | 7.78 | 7.55 | 1911 | 1911 |
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.56 | 2011 | 2011 |
features: instance | RAP BO operation addition that defines instance feature control for a RAP BO operation. | 7.77 | 7.54 | 1908 | 1908 |
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.55 | 2008 | 2008 |
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.16 | 2311 | 2402 |
key ... function ... | Defines a RAP key function for a BDEF alternative key. | 7.96 | 8.16 | 2405 | 2408 |
augment | Augments modify requests on the projection layer in a CDS projection BDEF. | 7.82 | 7.56 | 2011 | 2011 |
event ... deep parameter | Defines a RAP business event in a managed or unmanaged RAP BO. | 7.89 | 7.57 | 2208 | 2208 |
managed event ... on ... parameter | Defines a RAP derived event in a managed or unmanaged RAP BO. | 7.93 | 7.58 | 2308 | 2308 |
side effects { ... executed on ... affects ...; } | Defines a RAP side effect in a managed, unmanaged, or projection BDEF. | 7.91 | 7.58 | 2302 | 2302 |
define secondary key define pure key | Defines an alternative key in a managed or unmanaged RAP behavior definition. | 9.12 | 8.16 | 2408 | 2408 |
Interface Behavior Definitions
Language Element | Meaning | ABAP Release, quarterly | ABAP Release, on-premise | SAP BTP ABAP Environment | SAP S/4HANA Cloud Public Edition |
interface | Defines a RAP BO interface. | 7.88 | 7.57 | 2205 | 2205 |
extensible | Declares a RAP BO interface as extensible. | 7.89 | 7.57 | 2208 | 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.58 | 2308 | 2308 |
define behavior for ... alias ... external . | Entity behavior definition of an interface BDEF. | 7.88 | 7.57 | 2205 | 2205 |
use draft | Reuses the draft-handling from the base BO. | 7.88 | 7.57 | 2205 | 2205 |
use side effects | Reuse of RAP side effects from the base BO. | 7.91 | 7.58 | 2302 | 2302 |
use event | Reuses a RAP business event from the base BO. | 7.93 | 7.58 | 2308 | 2308 |
use etag . | Reuses the ETag from the base BO. | 7.88 | 7.57 | 2205 | 2205 |
with privileged mode . | BDEF privileged mode. | 7.88 | 7.57 | 2205 | 2205 |
foreign entity . | Defines a RAP foreign entity for message mapping. | 7.88 | 7.57 | 2205 | 2205 |
field(readonly) | RAP field characteristic. | 7.90 | 7.58 | 2211 | 2211 |
field(mandatory:create) | RAP field characteristic. | 7.90 | 7.58 | 2211 | 2211 |
field(readonly:update) | RAP field characteristic. | 7.90 | 7.58 | 2211 | 2211 |
field(suppress) | RAP field characteristic. | 7.90 | 7.58 | 2211 | 2211 |
Abstract Behavior Definitions
Language Element | Meaning | ABAP Release, quarterly | ABAP Release, on-premise | SAP BTP ABAP Environment | SAP S/4HANA Cloud Public Edition |
abstract | Defines an abstract BDEF. | 7.83 | 7.56 | 2102 | 2102 |
with hierarchy | Causes the construction of a new kind of BDEF derived type. Only available in abstract BDEFs. | 7.83 | 7.56 | 2102 | 2102 |
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.16 | 2408 | 2408 |
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.56 | 2108 | 2108 |
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.56 | 2102 | 2102 |
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.83 | 7.56 | 2102 | 2102 |
deep mapping for ... corresponding sub | Defines a deep mapping in an abstract BDEF. | 7.83 | 7.56 | 2102 | 2102 |
mandatory:execute as field attribute | Field attribute that declares a field of an abstract BDEF as mandatory. | 7.88 | 7.57 | 2205 | 2205 |
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 | 2311 | 2402 |
BDEF Extensions
Keywords and Additions
This list displays special language elements for BDEF extensions. You can also use statements from CDS behavior definitions.
Language Element | Meaning | ABAP Release, quarterly | ABAP Release, on-premise | SAP BTP ABAP Environment | SAP S/4HANA Cloud Public Edition |
extension | Defines a BDEF extension. | 7.89 | 7.57 | 2208 | 2208 |
extensible | RAP extensibility enablement for a BDEF extension. Prerequisite for extension layering. | 7.91 | 7.58 | 2302 | 2302 |
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.57 | 2208 | 2208 |
extend own authorization context . | Extends an own authorization context. | 7.89 | 7.57 | 2208 | 2208 |
extend determine action | Extends an existing RAP BO determine action. | 7.89 | 7.57 | 2208 | 2208 |
extend draft determine action Prepare | Extends an existing draft determine action Prepare. | 7.89 | 7.57 | 2208 | 2208 |
extend mapping for | Extends an existing RAP type mapping. | 7.89 | 7.57 | 2208 | 2208 |
extension for projection | Extends a RAP projection behavior definition. | 7.89 | 7.57 | 2208 | 2208 |
ancestor association | Defines a CDS association as ancestor association. The association target must be an extension node. | 7.89 | 7.57 | 2208 | 2208 |
extension for abstract | Extends an abstract behavior definition. | 7.91 | 7.58 | 2302 | 2302 |