SAP BDL STANDARD OPERATIONS



Get Example source ABAP code based on a different SAP table
  


• CREATE ABAP_BDL_BODY
• UPDATE ABAP_BDL_BODY
• DELETE ABAP_BDL_BODY

ABAP_RAP - Standard Operations


ABAP_SYNTAX
... $[internal$] create $[ ($[features:global$]
$[,precheck$]
$[ , authorization:none$])$];
$| $[internal$] update $[ (${features:instance $| features:global $}
$[,precheck$])$];
$| $[internal$] delete $[ (${ features:instance $| features:global$}
$[,precheck$]
$[, authorization:none$]
$[, authorization:update$])$];

What does it do?
Create, update, and delete are standard operations. They are also known as CRUD operations , which is an acronym for create, read, update, delete. The read operation is always implicitly enabled for each entity listed in a RAP behavior definition (BDEF) and it mustn't be declared explicitly.
In a managed scenario, the CRUD operations do not require an ABAP behavior pool (ABP) , since they are completely handled by the managed RAP BO provider. (However, some of the optional additions do require implementation. This is documented in the respective topics.)
In an unmanaged scenario, each standard operation must be implemented in the ABAP behavior pool in the RAP handler method FOR MODIFY.
In a projection BDEF, the standard operations can be reused from the base BDEF. This can be done using the keyword use. For further details, see topic RAP BDL - use, projection BDEF.
create
create is a modifying operation that creates new instances of a business object entity.
In a managed RAP BO, create can only be declared for root nodes. Child nodes are implicitly create-enabled for internal usage. That means, an external consumer can only create a new instance of a child entity via its parent, see create-by-association operation. A direct create can only take place from the BO's own implementation in the ABAP behavior pool .
In an unmanaged RAP BO, direct creates on child entities are possible but not recommended.
update
update is a modifying operation that changes instances of a business object entity.
delete
delete is a modifying operation that deletes instances of a business object entity.
create, update, and delete are optional components of a BDEF. If, for example, update is defined for an entity, then it is allowed to update this entity. If update is not defined, then a RAP BO consumer is not allowed to perform update calls.
The following RAP BDL operation additions are possible:
internal: create, update, and delete can be defined as internal operations.
(features:instance): Dynamic feature control can be specified for update or delete , not for create.
(features:global): Global feature control can be specified for create, update , or delete .
precheck: A precheck can be specified for create, update, or delete.
authorization:none - Excludes the operation in question from authorization checks. - Can be specified for create (only for global authorization) and delete and only for the authorization master entity.
authorization:update - Delegates the authorization control for the authorization in question to the authorization check that is implemented for the update operation. - Only available for delete.

ABAP_FURTHER_INFO
Development guide for the ABAP RESTful Application Programming Model, section about Standard Operations.

ABAP_EXAMPLE_VX5 - Managed
The following example shows a managed BDEF based on the CDS root view entity DEMO_SALES_CDS_BUPA_2. The transactional behavior of the root view entity is defined by the standard operations create, update, and delete. The read operation is implicitly available for both, parent and child entity. For the composition _BuPa that connects both entities, the create-by- association operation is defined in the entity behavior body.
ABAP_NOTE This example does not fully meet the requirements of the RAP BO contract. It is intentionally kept short and simple and serves demonstration purposes only. See more information on the RAP BO contract in the Development guide for the ABAP RESTful Application Programming Model.
BDEF DEMO_SALES_CDS_BUPA_2
The class CL_DEMO_SALES_CDS_BUPA_1 accesses the business object using EML and creates, deletes, and updates BO instances. These operations all work without implementation in the ABAP behavior pool.
ABAP_EXAMPLE_END

ABAP_EXAMPLE_VX5 - Unmanaged
The following example shows an unmanaged BDEF based on the CDS root view entity DEMO_RAP_UNMANAGED_AUTH. The transactional behavior of the root view entity is defined by the standard operations create, update, and delete. The read operation is implicitly available for both, parent and child entity. For the composition _child that connects both entities, the create-by- association operation is defined in the entity behavior body.
BDEF DEMO_RAP_UNMANAGED_AUTH
For the implementation in the ABAP behavior pool, see BP_DEMO_RAP_UNMANAGED_AUTH====CCIMP.
The class CL_DEMO_RAP_EML_UNMANAGED accesses the business object using EML and reads, creates, deletes, and updates BO instances.
ABAP_EXAMPLE_END

ABAP_EXAMPLE_ABEXA
ABAP EML - MODIFY, Standard Operations (Unmanaged)
ABAP_EXAMPLE_END