What characterizes the Node.js environment? There are 2 correct answers to this question.
It uses a synchronous programming model.
It is a client-side design-time environment for JavaScript.
It is single-threaded.
It is built on Google's V8 JavaScript engine.
According to the SAP Web IDE for SAP HANA Developer Guide, the Node.js environment is characterized by the following features:
The other options are incorrect, because:
References: SAP Web IDE for SAP HANA Developer Guide, Chapter 6, Section 6.4.2, page 2111.
To perform a specific task of an XS advanced application, what does a user need? Please choose the correct answer.
To have directly assigned a Role Collection
To have directly assigned a Scope
To be assigned to an Organization
To be assigned to a Space
According to the SAP HANA Developer Guide, to perform a specific task of an XS advanced application, a user needs to have directly assigned a role collection. A role collection is a set of roles that grant the user the necessary privileges and authorizations to access and use the application. A role collection can be assigned to a user either directly by an administrator, or indirectly by a workflow or a self-service. The other options are incorrect, because:
References: SAP HANA Developer Guide, Chapter 6, Section 6.4.2, page 2111.
Which of the following SQL Script elements do you use to transform a set of arrays into an intermediate table variable? Please choose the correct answer.
OSET
ARRAY
UNNEST
UNSET
The UNNEST operator is an SQL Script element that transforms a set of arrays into an intermediate table variable. The UNNEST operator takes one or more array expressions as input and returns a table variable with one or more columns, each corresponding to an array expression. The table variable has as many rows as the maximum length of the input arrays, and the values in each column are taken from the corresponding array elements. If an input array has fewer elements than the maximum length, the missing values are padded with NULLs. The UNNEST operator can be used in the FROM clause of a SELECT statement, or in the INTO clause of a SET statement.
For example, suppose you have two arrays A and B, where A = [1, 2, 3] and B = [4, 5]. You can use the UNNEST operator to transform them into a table variable T as follows:
SET T = UNNEST (A, B);
The result is:
Table
A
B
1
4
2
5
3
NULL
You can also use the UNNEST operator to transform an array of complex types, such as structs or tables, into a table variable with multiple columns. For example, suppose you have an array C of struct type, where C = [{x: 1, y: 2}, {x: 3, y: 4}]. You can use the UNNEST operator to transform it into a table variable U as follows:
SET U = UNNEST (C.x, C.y);
The result is:
Table
C.x
C.y
1
2
3
4
The following SQL Script elements are not used to transform a set of arrays into an intermediate table variable, but for other purposes:
References:
Which of the following are characteristics of database procedures?
Database procedures can have both input and output parameters; however, a parameter CANNOT be both input and output.
Database procedures can have several output parameters, and a mix of both scalar and table types is possible.
If, in the database procedure header, you use the READS SQL DATA option, then INSERT statements are prohibited; however, dynamic SQL is allowed.
If, in the database procedure header, you use the SQL SECURITY INVOKER option, then only the owner of the procedure can start it.
According to the SAP HANA SQLScript Reference1, database procedures are subroutines that can be called from SQL statements or other database procedures. Database procedures can have the following characteristics:
References: 1: SAP HANA SQLScript Reference 2: Parameters of Database Procedures 3: Output Parameters of Database Procedures 4: Procedure Header Options
You developed a multi-target application that contains only a database module. Which environment are the runtime objects created in? Please choose the correct answer.
Java Runtime Environment (JRE)
SAP HANA Runtime Tools (HRTT)
SAP Web IDE for SAP HANA
HANA Deployment Infrastructure Container
A multi-target application (MTA) is a single application that consists of multiple modules that are developed using different technologies and designed to run on different target runtime environments. A database module is a module that contains database artifacts, such as tables, views, procedures, or functions, that are deployed to a SAP HANA database. A HANA Deployment Infrastructure (HDI) container is a logical grouping of database objects that are isolated from other containers and schemas in the same database. An HDI container has its own technical user, roles, and privileges, and can be accessed only through a service binding. When a database module is built, the SAP Web IDE for SAP HANA or the SAP Business Application Studio automatically creates an HDI container and binds it as a resource to the database module. It also creates the runtime objects, such as physical tables or views, in the schema associated with the HDI container. Therefore, the runtime objects of a database module are created in the HDI container, which is the correct answer. The other options are incorrect because they are not the environments where the runtime objects of a database module are created. The Java Runtime Environment (JRE) is a software environment that provides the minimum requirements for executing a Java application. The SAP HANA Runtime Tools (HRTT) are a set of tools that enable developers to create, run, and debug SAP HANA native applications in Eclipse. The SAP Web IDE for SAP HANA is a web-based development environment that supports the development of MTA projects and modules. References:
Why do you use associations in your persistence model for SAP HANA extended application services, advanced model (XS advanced)? Please choose the correct answer.
To enforce database-level constraints
To define the relationships between contexts and views
To define multiplicity and key of an entity relation
To set relationships between multiple contexts
Associations are used in the persistence model for SAP HANA extended application services, advanced model (XS advanced) to define the multiplicity and key of an entity relation. An entity relation is a logical connection between two entities, such as one-to-one, one-to-many, or many-to-many. Multiplicity specifies how many instances of one entity can be related to one instance of another entity. Key specifies which attributes of the related entities are used to identify and join the instances. Associations are defined using the Core Data Services (CDS) language, which is a declarative language for modeling data structures and services. Associations are part of the CDS entity definition, and they can be used to navigate from one entity to another, and to filter, aggregate, or project data from the target entity12.
The other options are not correct because they are not the purposes of using associations in the persistence model for XS advanced. Associations do not enforce database-level constraints, such as primary keys, foreign keys, or check constraints. These constraints are defined separately using the CDS annotations or the SQL DDL statements. Associations do not define the relationships between contexts and views, which are different types of CDS artifacts. A context is a namespace for grouping related CDS artifacts, such as entities, views, types, or associations. A view is a CDS artifact that defines a data model based on one or more entities or other views, and applies filters, joins, aggregations, or other operations on the data. Associations do not set relationships between multiple contexts, which are independent from each other and do not have any logical connection. References:
You need to edit a database procedure. You are concerned that the version of the database procedure file you have in your local Git repository may not be synchronized with the latest version in the remote Git repository, but at this time, you do NOT want to sync the file. You only want to see the commits applied to the file in the remote repository. Which command must you use?
Git stash
Git fetch
Git merge
Git pull
To see the commits applied to the file in the remote Git repository without syncing the file, you need to use the git fetch command. This command downloads the latest changes from the remote repository to your local repository, but does not merge them with your local branches. This way, you can inspect the differences between your local and remote files, and decide whether to merge them later or not. You can use the SAP Web IDE for SAP HANA or the command line to execute the git fetch command. The other options are incorrect because they either sync the file or do not download the changes from the remote repository. The git stash command saves your local changes to a temporary stash and reverts your working directory to the last commit. This command is useful when you want to switch branches or pull changes without committing your local changes, but it does not download the changes from the remote repository. The git merge command combines the changes from one branch into another branch. This command is useful when you want to sync your local branch with the remote branch, but it does not allow you to see the commits applied to the file before merging. The git pull command fetches and merges the changes from the remote repository into your local branch. This command is useful when you want to update your local branch with the latest changes from the remote branch, but it does not allow you to see the commits applied to the file before merging. References:
Which OData capacity do you use when you need to restrict the number or selection of exposed columns? Please choose the correct answer.
Parameter entity sets
Aggregation
Key specification
Property projection
Property projection is an OData capability that allows you to restrict the number or selection of exposed columns in an OData service. Property projection is achieved by using the $select query option, which specifies a subset of properties to be included in the response. The $select query option can be applied to a single entity, a collection of entities, or a complex type. Property projection can be used to reduce the payload size and improve the performance of the OData service.
For example, suppose you have an OData service that exposes a Products entity set with the following properties: ID, Name, Category, Price, and Description. If you want to restrict the number or selection of exposed columns to only ID and Name, you can use the $select query option as follows:
GET /Products?$select=ID,Name
The result is:
{ “@odata.context”: “$metadata#Products(ID,Name)”, “value”: [ { “ID”: 1, “Name”: “Laptop” }, { “ID”: 2, “Name”: “Mouse” }, { “ID”: 3, “Name”: “Keyboard” } ] }
The following OData capabilities are not used to restrict the number or selection of exposed columns, but for other purposes:
References:
A user is dropped with the "cascade" option. The user schema also contains objects owned by other users, or on which other users have privileges. What happens to the objects? There are 2 correct answers to this question.
The objects on which other users have privileges are NOT dropped.
The objects on which other users have privileges are dropped.
The objects owned by other users are NOT dropped.
The objects owned by other users are dropped.
When a user is dropped with the “cascade” option, the user and all the objects owned by the user are deleted from the database. However, the objects that are owned by other users, or on which other users have privileges, are not affected by the drop command. The privileges granted to or by the dropped user are also revoked automatically. Therefore, the objects on which other users have privileges are not dropped, and the objects owned by other users are not dropped12.
The other options are not correct because they are not the consequences of dropping a user with the “cascade” option. The objects on which other users have privileges are not dropped, because they are not owned by the dropped user, and they may still be needed by the other users. The objects owned by other users are not dropped, because they are not related to the dropped user, and they may have dependencies or references to other objects. References:
What are the key characteristics of the calculation view's Input Parameter? There are 3 correct answers to this question.
It is passed using a WHERE clause.
It can NOT be used to filter measure values.
It can be used in a conditional expression.
It is passed via reserved word PLACEHOLDER.
It can be used to pass values to table functions.
A calculation view is a view that combines data from multiple sources, such as tables, views, or functions, using graphical or SQLScript logic. A calculation view can define input parameters, which are variables that allow the user to influence the query execution with values that are entered at runtime. Input parameters can be used for various purposes, such as filtering, currency conversion, or dynamic calculations.
Some of the key characteristics of the calculation view’s input parameter are:
inputparametername
” => ‘value’. For example, if the calculation view has an input parameter named CURRENCY, then the SQL statement to call the view with the value ‘USD’ would be SELECT * FROM “CALC_VIEW” (PLACEHOLDER.“
CURRENCY
” => ‘USD’).
The other options are incorrect because they are not characteristics of the calculation view’s input parameter. It is not passed using a WHERE clause, as the WHERE clause is used to filter data based on a condition, not to pass values to a view. It can be used to filter measure values, as measure values are numeric values that can be aggregated, such as sales amount or quantity. An input parameter can be used to filter measure values based on a range, a comparison, or a calculation. References:
Which SAP HANA extended application services, advanced model (XS advanced) tools can you use to retrieve the URL for the SAP
WeblDE for SAP HANA?
There are 2 correct answers to this question.
Runtime tool
XS advanced Controller Start Screen
XS Advanced command-line client tool
Organization and Space Management tool
The SAP Web IDE for SAP HANA is a web-based development tool that allows you to create and manage multi-target applications (MTAs) that use the SAP HANA Deployment Infrastructure (HDI). The SAP Web IDE for SAP HANA is itself an XS advanced application that runs on the XS advanced runtime and can be accessed via a URL. To retrieve the URL for the SAP Web IDE for SAP HANA, you can use the following XS advanced tools:
The following tools are not used to retrieve the URL for the SAP Web IDE for SAP HANA, but for other purposes:
References:
Which metadata declarations can you specify in a SQL Script procedure when you use the SAP HANA Deployment Infrastructure? There are 2 correct answers to this question.
Security
Language
Default schema
Authorization
You can specify the language and the default schema as metadata declarations in a SQL Script procedure when you use the SAP HANA Deployment Infrastructure (HDI). The language declaration defines the language mode of the procedure, which can be SQLSCRIPT or SQL. The default schema declaration defines the schema that is used to resolve unqualified object names in the procedure body. These declarations are optional and can be specified after the procedure name and before the parameter list. For example:
CREATE PROCEDURE MY_PROCEDURE LANGUAGE SQLSCRIPT DEFAULT SCHEMA MY_SCHEMA ( … )
The other options are incorrect because security and authorization are not valid metadata declarations for SQL Script procedures. Security and authorization are handled by the HDI framework, which automatically grants the necessary privileges to the technical users and roles that access the HDI container objects. You do not need to specify any security or authorization clauses in the SQL Script procedure definition. References:
Which rules apply to declarative logic in SQL Script? There are 2 correct answers to this question.
It supports the full set of SQL Script.
It defines how data is processed.
It is free of side effects.
lt declares the flow of data.
According to the SAP HANA Developer Guide, declarative logic in SQL Script is a way of expressing complex data transformations by means of classical relational operators, such as selection, projection, join, aggregation, etc. Declarative logic does not specify how data is processed, but rather what the desired result is. The SAP HANA database has the freedom to optimize the data flow and execution plan, which may result in better performance. Declarative logic is free of side effects, meaning that it does not modify any data or state outside the scope of the statement. Declarative logic declares the flow of data, meaning that it binds new variables that are referenced elsewhere in the body of the procedure or function. The other options are incorrect, because:
References: SAP HANA Developer Guide, Chapter 6, Section 6.4.2, page 2111.
Which new components can you use to develop native SAP HANA applications in SAP HANA extended application services, advanced model (XS advanced)?
There are 2 correct answers to this question.
SAP HANA repository
SAP HANA studio
Git repository
SAP Web IDE for SAP HANA
SAP HANA extended application services, advanced model (XS advanced) provides a comprehensive platform for the development and execution of micro-service oriented applications, taking advantage of SAP HANA’s in-memory architecture and parallel execution capabilities1. XS advanced supports several programming languages and execution environments, such as Java and Node.js, and also provides compatibility with XS classic model2. To develop native SAP HANA applications in XS advanced, you can use the following new components:
The other options are not correct because:
References: 2: SAP HANA Extended Application Services, Advanced Model 4: SAP HANA Extended Application Services 1: SAP HANA extended application services, advanced model 3: SAP HANA Developer Guide for SAP HANA XS Advanced Model (SAP Web IDE)
What happens if you define a database object in the persistence model and deploying using the SAP HANA Deployment Infrastructure
(HDI)?
Please choose the correct answer.
A descriptive representation of the object is created in Hot during runtime.
The corresponding runtime object is created in the database module of the multi-target application during runtime.
The HDI container is created when the design-time object is saved.
The corresponding runtime object is created in the HDI container on deployment
According to the SAP HANA Developer Guide, the SAP HANA Deployment Infrastructure (HDI) uses so-called containers to store design-time artifacts and the corresponding deployed run-time (catalog) objects. The HDI makes a strict separation between design-time and run-time objects by introducing the following, distinct container types:
When you define a database object in the persistence model, you create a design-time artifact in the DTC. When you deploy the database module of the MTA, the HDI creates an RTC and a BTC, and builds the corresponding run-time object in the RTC based on the design-time artifact. The BTC is then dropped, and the RTC remains as the HDI container for the database module. References: SAP HANA Developer Guide, Chapter 6, Section 6.4.2, page 2111.
After reviewing the SQL Analyzer results, which of the following would you consider for optimizing the performance? There are 2 correct answers to this question.
Re-prioritize with Workload Management.
Use CE functions.
Modify SQL hints.
Change the data model.
According to the SAP HANA Performance Guide for Developers1, the SQL Analyzer tool can help you understand and analyze the execution plan of a SQL statement, and identify potential bottlenecks and optimizations. Some of the possible optimizations are:
References: 1: SAP HANA Performance Guide for Developers : SAP HANA SQL and System Views Reference : SAP HANA Modeling Guide
What types of user-defined functions are supported by SAP HANA? Note: There are 2 correct answers to this question.
Table
Scalar
Aggregate
Hierarchy
SAP HANA supports two types of user-defined functions: table and scalar. User-defined functions are functions that are created by users to perform specific tasks or calculations on data. User-defined functions can be used in SQL expressions, such as in the SELECT, WHERE, or GROUP BY clauses of SQL statements. User-defined functions can also be used in SQLScript, which is a scripting language for SAP HANA that extends SQL with procedural and analytical features.
Table functions are user-defined functions that return a table as the output. Table functions can be used to implement complex logic or transformations on data, such as pivoting, unpivoting, aggregation, or ranking. Table functions can also be used to create calculation views, which are virtual data models that expose data from SAP HANA tables or views. Table functions are created by using the CREATE FUNCTION statement with the RETURNS
Scalar functions are user-defined functions that return a scalar value as the output. Scalar functions can be used to perform simple calculations or validations on data, such as converting units, checking conditions, or generating IDs. Scalar functions are created by using the CREATE FUNCTION statement with the RETURNS
The following types of functions are not supported by SAP HANA as user-defined functions, but as built-in functions or features:
References:
In an SQL Script procedure, which feature do you use to initialize IN/OUT table parameters? Please choose the correct answer.
IS_EMPTY
DEFAULT EMPTY
DEFAULT
SET
According to the SAP HANA Developer Guide, you can use the DEFAULT EMPTY clause to initialize IN/OUT table parameters in an SQL Script procedure. This clause specifies that the table parameter is initially empty when the procedure is called, and that the caller can pass an empty table or no table at all. This is useful when you want to use the table parameter as a temporary table inside the procedure, and return the result to the caller. For example, PROCEDURE proc1 (IN/OUT tab1 TABLE(col1 INT, col2 VARCHAR(10)) DEFAULT EMPTY) ... The other options are incorrect, because:
References: SAP HANA Developer Guide, Chapter 6, Section 6.4.2, page 2111.
You created several database tables in a multi-target application and need to keep their names as short as possible. Which parameter of the .hdinamespace file do you set to ignore? Please choose the correct answer.
name
hdbtable
mixinTypes
subfolder
According to the SAP HANA Performance Guide for Developers1, the .hdinamespace file is a JSON resource that defines the naming rules for the run-time objects in a multi-target application. The name parameter specifies the common name-space prefix for the objects, while the subfolder parameter determines whether the name of the sub-folder is added or ignored in the run-time name space. If you want to keep the names of the objects as short as possible, you should set the subfolder parameter to ignore, so that the name of the sub-folder is not appended to the name-space prefix and the object name. For example, if you have a table named CUSTOMERS in a sub-folder named SALES, and you set the subfolder parameter to ignore, the run-time name of the table will be com.sap.hana.example::CUSTOMERS, where com.sap.hana.example is the name-space prefix defined by the name parameter. If you set the subfolder parameter to append, the run-time name of the table will be com.sap.hana.example.SALES::CUSTOMERS, which is longer and more complex. For more information on the .hdinamespace file and the naming rules, see [The HDI Name-Space Configuration File]2 and [Run-Time Name Spaces in SAP HDI]3.
References: 2: The HDI Name-Space Configuration File 3: Run-Time Name Spaces in SAP HDI 1: SAP HANA Performance Guide for Developers
You create a multi-target application in SAP Web IDE for SAP HANA. Which source code management option do you use? Please choose the correct answer.
SVC-based repository
Git-based repository
SAP HANA repository workspace
SAP HANA repository
When you create a multi-target application in SAP Web IDE for SAP HANA, you use a Git-based repository as the source code management option. A Git-based repository allows you to store, manage, and synchronize your code across multiple branches and versions. You can also collaborate with other developers and integrate your changes with the SAP HANA Deployment Infrastructure (HDI). A Git-based repository is the recommended option for developing multi-target applications in SAP Web IDE for SAP HANA. References: Developing Multi-Target Applications, Git Integration, SAP HANA Deployment Infrastructure.
How do you specify the target currency for currency conversion in calculation views? There are 3 correct answers to this question.
In a column
In a table function
With an input parameter
With a fixed value
In a procedure
To specify the target currency for currency conversion in calculation views, you can use one of the following methods:
Which parameters does the APPLY_FILTER function support? There are 2 correct answers to this question.
Filter condition
Join condition
Entity set
Table variable
The APPLY_FILTER function is a SQLScript function that applies a filter condition to a table variable and returns a new table variable with the filtered rows. The APPLY_FILTER function supports the following parameters12:
The other options are not correct because they are not parameters of the APPLY_FILTER function. A join condition is a parameter of the APPLY_FILTER_JOIN function, which applies a filter condition to two table variables and returns a new table variable with the joined and filtered rows. An entity set is a parameter of the APPLY_FILTER_ENTITY function, which applies a filter condition to an entity set and returns a new entity set with the filtered rows. These functions are part of the SAP HANA Predictive Analysis Library (PAL), and they are not part of the SQLScript language3. References:
In which of the following objects can you use Commit and Rollback statements? Please choose the correct answer.
Scalar user-defined function
SQL Script procedure
Table user-defined function
Scripted calculation view
You can use Commit and Rollback statements in SQL Script procedures to control the transactional behavior of your code. Commit and Rollback statements allow you to commit or undo the changes made by the SQL statements within the procedure. You can also use them in exception handlers to handle errors and ensure data consistency. You cannot use Commit and Rollback statements in scalar user-defined functions, table user-defined functions, or scripted calculation views, as they are not allowed to have any side effects on the database. References: COMMIT and ROLLBACK, SQLScript Procedures, [SQLScript Functions].
You need to synchronize all unsynchronized changes of the remote Git branch with a local Git branch. Which operation do you use? Please choose the correct answer.
Push
Rebase
Pull
Reset
According to the SAP HANA Developer Guide, you use the pull operation to synchronize all unsynchronized changes of the remote Git branch with a local Git branch. The pull operation fetches the changes from the remote branch and merges them with the local branch. This way, you can update your local branch with the latest changes from the remote branch. The other options are incorrect, because:
References: SAP HANA Developer Guide, Chapter 6, Section 6.4.2, page 2111.
Which services can you use in SAP HANA, express edition? There are 3 correct answers to this question.
Dynamic tiering
Text analytics
Multi-core and parallelization
System replication
Columnar OLTP and OLAP
SAP HANA, express edition is a streamlined version of SAP HANA that can run on laptops and other resource-constrained hosts, such as a cloud-hosted virtual machine. SAP HANA, express edition is free to use for in-memory databases up to 32 GB of RAM. SAP HANA, express edition supports the following services:
The other options are not correct because:
References:
TESTED 22 Mar 2025