The respective determine action must allow extensions as described in topic RAP BDL - Extensibility Enabling for Managed and Unmanaged BDEFs>.
The extended BDEF must be draft-enabled >. Determine actions can currently only be extended in draft-enabled RAP BOs. ABAP_PREREQ_END
What does it do? Extends an existing determine action > DetermineActionName> with extension determinations> and extension validations>. At least one extension determination or extension validation must be specified within curly brackets. If the optional addition always> is used, then all determinations and validations that are part of the determine action are executed regardless of their trigger conditions. After a determination with the flag always> has been executed, it can be triggered again by other determinations belonging to the same determine action. Determinations and validations of child entities> can be included using the syntax child~childDetermination> or child~childValidation >, as long as these validations and determinations do not include the trigger operation delete>. Execution order: Determinations are executed first, validations afterwards. The execution order among determinations or validations themselves is defined by the RAP framework > and is independent of the specified order within the determine action. RAP authorization control> from the extended BDEF is reused, if specified.
Latest notes: Internal> determine actions cannot be extended. NON_V5_HINTS ABAP_HINT_END
Related Information
RAP BDL - determine action>.
ABAP_EXAMPLE_VX5 The following source code shows BDEF extension DEMO_RAP_DET_ACT_EXT>>. It extends BDEF DEMO_RAP_EXTENSIBILITY_DET_ACT>> by adding one further determination setStatustoNew> to the determine action trigger_all>. The original BDEF explicitly allows extensions to the determine action trigger_all>: BDEF DEMO_RAP_EXTENSIBILITY_DET_ACT The extension adds one further determination setStatustoNew> to the determine action trigger_all>: BDEF DEMO_RAP_DET_ACT_EXT The ABAP class CL_DEMO_CDS_EXT_DET_ACT>> uses EML> to access to RAP business object>. It executes the determine action trigger_all>. The RAP framework executes the implementations in the original and extension ABAP behavior pools in the following order:
get_instance_authorizations>: check whether the operation on the root node is authorized.
setID>, a determination from the root node of the original BDEF.
setStatustoNew>, a determination from the root node extension.
get_instance_authorizations>: check whether the operation on the child node is authorized.
TotalPrice>, a determination from the child node of the original BDEF. ABAP_EXAMPLE_END
ABAP_EXAMPLE_ABEXA The example above is explained in detail in the executable example RAP BDL - extend determine action>. ABAP_EXAMPLE_END