Practice Free C_ABAPD_2507 Exam Online Questions
How can you control data access of a business user? (Select 3 correct answers)
- A . To control the general access implicitly via an Access Control object (define role).
- B . To control the "Create, Update, and Delete access" via explicit check using AUTHORITY-CHECK.
- C . To control the "Create, Update, and Delete access" implicitly via an Access Control object (define role).
- D . To control the "Read access" implicitly via an Access Control object (define role).
- E . To control the "Read access" via explicit check using AUTHORITY-CHECK.
B, C, D
Explanation:
In ABAP Cloud / RAP, authorization control follows a structured approach:
Read access → can be controlled implicitly via an Access Control object (D).
Create, Update, Delete access → can be controlled both:
Explicitly with AUTHORITY-CHECK (B),
Or implicitly through Access Control object definitions (C).
General implicit control via Access Control (A) or explicit checks for Read (E) are not correct because the system differentiates access levels precisely.
This ensures that business users can only access the data they are authorized for, following RAP’s security-by-default principle.
Verified Study Guide
Reference: RAP Security & Access Control Documentation C Authorization in RAP BOs.
Which models must you use to develop artifacts that expose ABAP-based backend services based on semantic data models? (Select 2)
- A . ABAP RESTful Application Programming Model
- B . ABAP Cloud Development Model
- C . Cloud Application Programming Model
- D . ABAP Programming Model for SAP Fiori
A, D
Explanation:
RAP defines the architecture for OData services based on CDS semantic data models and ABAP behavior―this is the current model.
The predecessor is the ABAP Programming Model for SAP Fiori (BOPF/CDS-based), which can be migrated into RAP; it also exposes ABAP backend logic via CDS semantics.
ABAP Cloud Development Model (B) is the rule set/contract (release contracts, checks), not the service-building model. CAP (C) targets Node.js/Java on BTP, not ABAP-based backend services.
Given this code,
INTERFACE if1.
METHODS m1.
ENDINTERFACE.
CLASS cl1 DEFINITION.
PUBLIC SECTION.
INTERFACES if1.
METHODS m2.
ENDCLASS.
" in a method of another class DATA go_if1 TYPE REF TO if1. DATA go_cl1 TYPE REF TO cl1.
go_cl1 = NEW #( … ).
go_if1 = go_cl1.
What are valid statements? (Select 3 correct answers)
- A . Instead of go_cl1 = NEW #( … ) you could use go_if1 = NEW cl1( … ).
- B . Instead of go_cl1 = NEW #( … ) you could use go_if1 = NEW #( … ).
- C . go_if1 may call method m2 with go_if1->m2( … ).
- D . go_if1 may call method m1 with go_if1->m1( … ).
- E . go_cl1 may call method m1 with go_cl1->if1~m1( … ).
A, D, E
Explanation:
An interface reference (go_if1) can point to any object of a class that implements that interface. Therefore, creating an instance with NEW cl1( … ) and directly assigning it to the interface-typed variable is valid (A).
Type inference with NEW #( … ) cannot infer a class from an interface-typed target (no unique implementing class), so (B) is invalid.
An interface reference exposes only the interface’s methods; it cannot call class-specific methods (so (C) is invalid).
Calling interface method m1 via the interface reference is valid (D).
From the class reference, the interface method can be called (implicitly or explicitly qualified) as go_cl1->if1~m1( … ) (E).
This reflects ABAP OO rules in ABAP Cloud (method visibility via static type, interface implementation, and explicit interface method calls).
Study Guide
Reference: ABAP Objects―Interfaces & Class Constructors; ABAP Cloud Back-End Developer―OO fundamentals.
Which of the following are reasons that SAP recommends developing Core Data Services view entities as opposed to classic Core Data Services DDIC-based views? Note: There are 2 correct answers to this question.
- A . Automated client handling
- B . Simplified syntax check
- C . Simpler and stricter syntax
- D . Elimination of the need for a database view
C, D
Explanation:
SAP recommends using CDS view entities over classic CDS DDIC-based views due to the following benefits:
Simpler and stricter syntax: CDS view entities enforce a clearer separation of concerns and reduce ambiguity, which helps ensure consistency across the stack. This makes Option C correct.
Elimination of the need for a database view: With CDS view entities, there’s no dependency on a separate DDIC SQL view object, reducing redundancy and improving activation performance. This makes Option D correct.
Incorrect options:
Automated client handling (Option A) is supported in both CDS view entities and classic CDS views via annotations like @ClientHandling.
Simplified syntax check (Option B) is not a distinct feature of CDS view entities. Syntax checking is part of ABAP Development Tools regardless of the CDS flavor used.
Reference: ABAP CDS Development User Guide, section 2.2 C Data Definitions and advantages of using CDS view entities over classic CDS views.
Which statements apply to the TRY-ENDTRY construct? (Select 3 correct answers)
- A . A CATCH clause can be used as a handler for several exception classes.
- B . A CLEANUP clause catches remaining exceptions.
- C . All matching CATCH clauses are always executed.
- D . A superclass in a CATCH clause catches exceptions of itself and of its subclasses.
- E . CATCH clauses should be organized ascending from most specific to most general.
A, D, E
Explanation:
What RESTful Application Programming feature is used to ensure the uniqueness of a semantic key?
- A . Action
- B . Validation
- C . Determination
- D . None of the above
B
Explanation:
In the ABAP RESTful Application Programming Model (RAP), validations are used to ensure that business rules and constraints are fulfilled, including the uniqueness of semantic keys.
A semantic key represents a natural identifier (e.g., employee number, product ID) and not a technical surrogate key. Validations can be:
Field-level validations C used to validate input for single fields.
Entity-level validations C used to validate logical conditions like uniqueness of a key combination.
The uniqueness check is typically enforced using a custom validation implementation in the behavior pool.
Action (Option A) is used for operations triggered by the user or system but not for enforcing uniqueness.
Determination (Option C) is used for automatically computing or adjusting field values, not for enforcing uniqueness.
Reference: SAP Help 1, page 7 C RAP Runtime and behavior definition section explains how validations are responsible for enforcing semantic consistency and uniqueness constraints.
Which statement can you use to change the contents of a row of data in an internal table?
- A . INSERT
- B . APPEND
- C . UPDATE
- D . MODIFY
D
Explanation:
The correct way to change the contents of a row in an internal table is by using the MODIFY statement.
MODIFY allows updating the existing entry in an internal table based on its key or position.
If the row exists, the statement replaces the data; if not, it inserts a new row depending on the internal table type and whether a key is specified.
INSERT adds new rows but does not modify.
APPEND adds entries at the end, and UPDATE is for database tables, not internal tables.
This behavior is consistent with the ABAP programming model used in both classical and RAP-based developments when manipulating internal collections or buffering data in memory during behavior pool execution.
Reference: ABAP CDS Development User Guide, section 3.2 C Editing DDL Source Code; also aligned with the core language behavior of ABAP for internal table operations.
Which language is used to add or change data of a business object in RAP?
- A . Data manipulation language
- B . Entity manipulation language
- C . Data modification language
- D . RAP editing language
B
Explanation:
In RAP, changes to business object data are performed using Entity Manipulation Language (EML).
It provides ABAP statements such as READ ENTITIES, MODIFY ENTITIES, CREATE, and DELETE for RAP BOs.
EML is the cloud-compliant equivalent of SQL DML (insert/update/delete) but tailored to RAP’s transactional consistency.
Verified Study Guide
Reference: RAP Programming Model C Entity Manipulation Language (EML).
Which statement creates a reference variable for class CL_VEHICLE?
- A . TYPES lo_vehicle TYPE cl_vehicle.
- B . DATA lo_vehicle TYPE REF OF cl_vehicle.
- C . DATA lo_vehicle LIKE REF cl_vehicle.
- D . DATA lo_vehicle TYPE REF TO cl_vehicle.
D
Explanation:
In ABAP, object references must be declared with TYPE REF TO <class>.
Option D is correct: DATA lo_vehicle TYPE REF TO cl_vehicle. creates a reference variable.
Option A → Incorrect, TYPES defines a type, not a variable.
Option B → Syntax error, correct keyword is REF TO, not REF OF.
Option C → Invalid, LIKE REF is not supported in ABAP.
Study Guide
Reference: ABAP Objects Programming Guide C Reference Variable Declarations.
Given the following code which defines an SAP HANA database table in SAP S/4HANA Cloud, public edition:
@EndUserText.label : ‘Draft table for entity /DMO/R_AGENCY’
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table /dmo/agency_d {
key mandt : mandt not null;
key agencyid : /dmo/agency_id not null;
key draftuuid : sdraft_uuid not null;
name : /dmo/agency_name;
street : /dmo/street;
postalcode : /dmo/postal_code;
city : /dmo/city;
}
You are a consultant and the client wants you to extend this SAP database table with a new field called zz_countrycode on line #14.
Which of the following is the correct response?
- A . The database table can be extended whether extensibility enabled or not if it is assigned to a software component of type “Standard ABAP”.
- B . The database table cannot be extended since it has not been extensibility enabled by SAP.
- C . The database table can be extended once it has extensibility been enabled by the customer.
- D . The database table can be extended whether extensibility enabled or not if it is assigned to a software component of type “ABAP Cloud”.
B
Explanation:
In SAP S/4HANA Cloud, public edition, database tables are only extendable if SAP has explicitly enabled extensibility for them via metadata. This is a strict limitation in the ABAP Cloud model to ensure upgrade-stability and isolation of extensions from SAP-owned objects.
Key facts:
The annotation @AbapCatalog.dataMaintenance : #RESTRICTED implies that this table is not editable or extensible by default.
The table resides in a delivered component and unless SAP marks it as extensible, customers cannot add fields like zz_countrycode.
Even if the table is in an ABAP Cloud-compliant software component, extensibility must be explicitly enabled by SAP.
Therefore, Option B is the only correct and valid answer.
Incorrect options:
Option A and D are wrong because extensibility is not determined by the software component type alone.
Option C is wrong because customers cannot enable extensibility for SAP-delivered tables; it must be pre-approved by SAP.
Reference: ABAP Extension Guidelines for SAP S/4HANA Cloud (ABAP Extension.pdf, section 2.3 C Extensibility Enablement and Restrictions in Tier 1)
