Skip to content

C-ABAPD-2309 C_abapd_2309 Practice Questions

Prepare for C-ABAPD-2309 with more than an answer.

182 questions in the full set20 sample questionsUpdated Aug 11, 2025
Exam fee
$1308 USD
Level
Associate
Valid for
12 months
Domains covered on the exam 6
  1. Core ABAP Programming35%
  2. ABAP Core Data Services and Data Modeling25%
  3. ABAP RESTful Application Programming Model (RAP)15%
  4. ABAP SQL and Code Pushdown8%
  5. Object-Oriented Design8%
  6. SAP Clean Core Extensibility and ABAP Cloud15%
  1. 1

    What is the primary purpose of defining a CDS Access Control List (DCL) on a CDS view?

    Show answer details

    Correct answer: D

    CDS Access Control Lists (DCLs) are used to implement Data Control Language. Their sole purpose is to define authorizations for the data exposed by a CDS view. The DCL automatically enriches the WHERE clause of any query to the CDS view, filtering the results to show only the rows the current user is authorized to see based on their assigned roles.

  2. 2

    A developer is writing an ABAP SQL query. The statement SELECT * FROM sflight INTO TABLE @DATA(lt_flights) is used. What is the key advantage of using the inline declaration @DATA(lt_flights) here?

    Show answer details

    Correct answer: C

    Inline declarations (@DATA(...)) allow the ABAP compiler to infer the data type of the variable from its context. In a SELECT statement, the compiler determines the structure of the result set and creates the internal table with a matching row type automatically. This reduces boilerplate code, improves readability, and avoids potential type mismatches from manual declarations.

  3. 3

    In a RAP Behavior Implementation class, what is the purpose of the FOR BEHAVIOR OF addition in the class definition?

    Show answer details

    Correct answer: A

    The FOR BEHAVIOR OF Z_I_MY_BO clause is essential syntax that formally links the ABAP class (the behavior pool) to a specific RAP Behavior Definition. This allows the class to act as the provider for the business logic defined in the BDEF, such as methods for validations, actions, and determinations. Without this link, the RAP framework would not know which class contains the implementation.

  4. 4

    A developer needs to convert a legacy ABAP report to run on SAP S/4HANA Cloud, following the ABAP Cloud development model. The original report uses the function module GUI_DOWNLOAD to save the results to the user's local file system. This function module is not released for ABAP Cloud. What is the correct, cloud-compliant approach to provide a file download feature?

    Show answer details

    Correct answer: C

    The ABAP Cloud model is fundamentally different from classic GUI-based development. Direct access to the presentation server (user's PC) is not possible. The modern approach is to expose the data via a web-based service (OData) and build a Fiori UI. Fiori UIs have built-in capabilities for exporting list data to formats like Excel, which is the cloud-compliant equivalent of GUI_DOWNLOAD.

  5. 5

    True or False: A single CDS Behavior Definition (BDEF) can be used to define the behavior for multiple root entities within the same business object.

    Show answer details

    Correct answer: B

    A RAP Business Object is defined by a single root entity. A Behavior Definition (BDEF) is created specifically for one root entity and its compositional hierarchy of child entities. It is not possible to define multiple root entities within a single BDEF.

  6. 6

    You need to select sales order data from the VBAK table but also require the customer's name, which is in the KNA1 table. What is the most efficient ABAP SQL syntax to retrieve this data in a single database query?

    Show answer details

    Correct answer: C

    Using an INNER JOIN in the ABAP SQL statement is the most efficient method. It pushes the data combination logic down to the database, which performs the join operation much faster than the application server can. This results in a single database roundtrip that returns the complete, pre-joined data set, minimizing network traffic and application server load compared to SELECT...ENDLOOP or FOR ALL ENTRIES.

  7. 7

    A developer is using the ABAP Test Cockpit (ATC) to check their code quality. ATC reports a Priority 1 error for using a non-released SAP object in their ABAP Cloud class. The developer believes this object is essential for their logic. What is the correct course of action in an S/4HANA Cloud, public edition environment?

    Show answer details

    Correct answer: C

    In the strict ABAP Cloud development model, especially in S/4HANA Cloud Public Edition, using non-released objects is not permitted and will block the transport of the code. The only correct action is to redesign the solution to work within the constraints of the available released APIs. This ensures the extension is upgrade-stable and compliant with Clean Core principles.

  8. 8

    A development team is building a side-by-side extension on SAP BTP for an SAP S/4HANA Cloud system. The extension needs to read product master data. To adhere to Clean Core principles, which of the following is the most appropriate method for accessing this data?

    Show answer details

    Correct answer: B

    The core principle of Clean Core extensibility is to avoid direct dependencies on internal implementation details of the core system. Consuming a stable, released API provided by SAP ensures that the extension is decoupled and upgrade-safe. Direct database access, using unreleased BAPIs, or replicating data without a clear strategy violate these principles.

  9. 9

    A developer is implementing a managed RAP Business Object with draft capabilities. They need to create a custom action that copies data from a related entity into the current draft instance. This action should be available on the UI for the user to trigger. What is the correct way to define this action in the Behavior Definition?

    Show answer details

    Correct answer: C

    For a custom operation that acts on a specific instance of a business object (like a draft record) and is triggered by the user, an instance-based action is required. The syntax 'action ( instance )' defines it as such. The 'result [1] $self' part indicates that the action modifies and returns the state of the current instance. A static action is not tied to an instance, and a determination is an internally triggered operation, not a user-initiated one.

  10. 10

    You are designing a CDS data model for sales orders. You have a CDS view entity for Sales Order Headers (Z_I_SalesOrderHeader) and another for Sales Order Items (Z_I_SalesOrderItem). Each header can have multiple items. What is the most performant and semantically correct way to model this one-to-many relationship in the Sales Order Header CDS view to enable path expressions for accessing the items?

    Show answer details

    Correct answer: A

    A composition is the correct choice for modeling a part-of relationship where the lifecycle of the child entity (item) is dependent on the parent (header). This is a strong association that enables deep create/update/delete operations in RAP business objects. An association is weaker and implies independent lifecycles. A LEFT OUTER JOIN is a query-specific operation, not a reusable data model relationship. TO ONE cardinality is incorrect for a one-to-many relationship.

Create an account to continue.