C-HAMOD-2404 Sample Questions & Answers
Building calculation views takes the single biggest share, next to input parameters, filters and hierarchies, tuning performance through partitioning, keeping models documented, bringing in data through smart access, writing SQLScript, and locking data down row by row.
Launch the full C-HAMOD-2404 simulator →Showing 10 of 20 free samples.
- Question 1Intermediate
Securing Models · Row-Level Security with Analytic Privileges
An administrator is setting up security for a human resources data model. A requirement states that managers can only see employee data for individuals within their own department. The user-to-department mapping is stored in a separate authorization table. Which security object in SAP HANA is designed to enforce this type of dynamic, attribute-based row-level security?
Show answer & explanation
Correct answer: B
Analytic Privileges are the standard mechanism in SAP HANA for implementing row-level security on calculation views. They allow you to define restrictions on attributes (like 'Department'). By using a SQL expression within the Analytic Privilege, you can create a dynamic filter that looks up the current user's authorized department(s) from an authorization table and applies it to every query they execute. Object Privileges grant access to the entire view, while Data Masking obscures column values rather than filtering rows.
- Question 2Intermediate
Managing and Administering Models · Model Lifecycle Management
A developer is building a project in the SAP Web IDE for SAP HANA. After completing the development of several calculation views, they need to make them available in the target HANA database schema. What is the standard process in the SAP Web IDE to deploy the design-time artifacts from the project to create runtime objects in the database?
Show answer & explanation
Correct answer: C
The standard lifecycle management process in the SAP Web IDE for HANA Development Infrastructure (HDI) based projects is to execute the 'Build' command on the HDB module. This process reads the design-time artifacts (like .hdbcalculationview files), resolves dependencies, and then deploys them into a container-specific schema in the HANA database, creating the corresponding runtime objects. 'Activate' is a term from the older, classic repository model. Exporting/importing is for system migration, not routine development deployment.
- Question 3Beginner
Building Calculation Views · Working with Calculation View Nodes
A developer needs to create a calculation view that combines sales data from two different regions, North America and Europe. The data for each region is stored in separate tables (
SALES_NA,SALES_EU) with identical structures. Which node should be used to combine these two tables into a single dataset?Show answer & explanation
Correct answer: D
A Union node is used to combine the result sets of two or more data sources that have similar structures. It appends the rows from one table to the rows of another, creating a single, consolidated dataset. A Join node is used to combine columns from different tables based on a related column, which is not the requirement here.
- Question 4AdvancedSelect 2
Working with SQL and SQLScript in Models · SQLScript and Table Functions
A data engineer is using a SQLScript table function as a data source in a calculation view. The table function contains complex, imperative logic with loops and conditional statements. During performance testing, this calculation view is identified as a major bottleneck. What are the likely reasons for the poor performance? (Select TWO)
Show answer & explanation
Correct answers: A, C
Imperative SQLScript acts as a 'black box' to the SAP HANA optimizer. The optimizer cannot analyze the loops and conditional logic inside the function to apply optimizations like filter pushdown or join reordering. This often means the function processes a much larger dataset than necessary. Furthermore, the step-by-step nature of imperative code prevents the optimizer from parallelizing and reordering the logic, which is a key strength of the declarative, graphical modeling approach.
- Question 5Advanced
Working with SQL and SQLScript in Models · Advanced SQL Features
A business analyst needs to see sales data for the current year-to-date (YTD) and the previous year-to-date (PYTD) side-by-side. A data engineer is tasked with creating this logic in a calculation view. Which SQL feature is best suited for fetching a value (like sales amount) from a previous row based on a specific ordering and partitioning?
Show answer & explanation
Correct answer: B
The
LAGwindow function is designed for this exact purpose. It allows you to access data from a previous row within the current row's result set without a costly self-join. To get the PYTD value, you would partition the data by month and day, order it by year, and useLAG(SalesAmount, 1)to fetch the sales amount from the previous year's row. A self-join can achieve this but is generally less efficient.RANKis for ordering, andCEILis a mathematical function. - Question 6Intermediate
Securing Models · Column-Level Security and Data Masking
A company wants to provide its data scientists with access to customer data but needs to prevent them from seeing sensitive Personally Identifiable Information (PII) like
Email_AddressandPhone_Number. The requirement is to show a constant masked value (e.g., 'XXX-XXX-XXXX') instead of the actual data for these columns, while allowing authorized HR users to see the real data. Which SAP HANA security feature should be used?Show answer & explanation
Correct answer: C
Dynamic Data Masking is the feature designed for this use case. It allows a DBA to define a mask rule on a column (e.g., replace the phone number with a static string). Users will see the masked data by default. Specific users or roles can then be granted the
UNMASKEDprivilege to bypass the mask and view the original data. Analytic Privileges control row-level access, not column content. Object Privileges grant all-or-nothing access to the column. - Question 7Intermediate
Provisioning Data to SAP HANA · Data Provisioning Fundamentals
What is the primary difference in how Smart Data Access (SDA) and Smart Data Integration (SDI) handle data from a remote source system?
Show answer & explanation
Correct answer: C
The core distinction is virtualization versus replication. Smart Data Access (SDA) creates virtual tables in HANA that point to remote source tables. When a query is run against a virtual table, HANA passes the query to the remote source for execution and receives the results, without storing the data. Smart Data Integration (SDI) is a more comprehensive ETL tool that can physically replicate data into HANA, perform transformations (via flowgraphs), and support real-time change data capture.
flowchart TD subgraph Legend direction LR A[SDA: Virtualization] -- "Queries source directly" --> B((Remote DB)) C[SDI: Replication] -- "Copies data to" --> D[(HANA DB)] end UserQuery([User Query]) --> HANA{SAP HANA} HANA --> |SDA Path| VirtualTable{Virtual Table} VirtualTable -- "Federated Query" --> RemoteSource((Remote Source)) RemoteSource -- "Results" --> VirtualTable VirtualTable --> HANA HANA --> |SDI Path| PhysicalTable[(Physical Table)] PhysicalTable --> HANA RemoteSource -- "SDI Replication Task" --> PhysicalTable - Question 8Advanced
Securing Models · Combining Security Features
Case Study: Global Retail Inc.
Global Retail Inc. is migrating its analytics platform to SAP HANA Cloud. Their central data model is a large calculation view (
CV_SALES_MASTER) that provides a unified view of sales transactions. This view is consumed by dozens of reports across different departments.A new data privacy regulation requires that any report viewer from the marketing department should not be able to see the
CUSTOMER_IDcolumn. However, viewers from the finance department must be able to see theCUSTOMER_IDfor auditing purposes. The solution must be centrally managed within the data model and should not require creating multiple versions of the calculation view.Furthermore, sales managers are only permitted to see transaction data originating from their own country. A
USER_AUTHORIZATIONStable exists, mapping each user's ID to a specific country code. This row-level filtering must be dynamic and based on the session user running the report.Which combination of security features should a data engineer implement to meet both requirements?
Show answer & explanation
Correct answer: C
This solution correctly addresses both distinct requirements using the appropriate specialized features. Dynamic Data Masking is the ideal tool for column-level security, allowing data to be hidden or replaced for specific roles (marketing) while remaining visible to others (finance) via the
UNMASKEDprivilege. A dynamic Analytic Privilege is the standard and most secure way to implement row-level security, as it can apply a user-specific filter based on the authorization table for every query against the view. This combination meets all requirements centrally without duplicating artifacts. - Question 9Intermediate
Building Calculation Views · Working with Calculation View Nodes
A calculation view uses a text join to fetch product descriptions in multiple languages. The join is configured between the sales fact table and a text table containing descriptions. A user reports that for products that do not have a description in their session language (e.g., French), the entire sales record disappears from the result. What is the most likely cause of this issue?
Show answer & explanation
Correct answer: B
A text join in SAP HANA is fundamentally a left outer join that also filters by the session language. However, if the join is placed in the model such that it behaves like an inner join (e.g., a filter is applied to a column from the text table after the join), it will cause this behavior. When a product has no description for the session language, the join condition fails, and because it's acting as an inner join, the entire record is discarded. The correct implementation is to ensure the text join behaves as a true left outer join, preserving all sales records regardless of whether a language-specific description exists.
- Question 10Beginner
Provisioning Data to SAP HANA · Smart Data Access (SDA)
True or False: When using Smart Data Access (SDA) to create a virtual table, the data from the source table is physically copied and stored within the SAP HANA database.
Show answer & explanation
Correct answer: B
This statement is false. The core principle of Smart Data Access (SDA) is data virtualization. The virtual table is only a pointer or metadata link to the remote table. No data is copied or stored in SAP HANA. Queries are passed through to the remote system for execution in real-time.
Ready for the real thing?
The full C-HAMOD-2404 simulator has every exam-style question, timed mode, and instant scoring.