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:
What are the nodes where filter expressions can be used in a calculation view? There are 2 correct answers to this question.
Aggregation
Star join
Union
Rank
 Filter expressions can be used in a calculation view to restrict or modify the data that is displayed or processed by the view. Filter expressions can be used in the following nodes of a calculation view12:
The other options are not correct because filter expressions cannot be used in these nodes of a calculation view. A star join node is a node that joins a fact table with one or more dimension tables, based on the common key attributes. A star join node does not support filter expressions, but it supports input parameters, which are variables that can be used to filter the data at runtime. A rank node is a node that ranks the data according to a specified order and criteria. A rank node does not support filter expressions, but it supports rank filters, which are conditions that can be used to limit the number or percentage of rows in the rank result. References:
You create a simple data model to store user information. The model contains two tables: one for the user information, and the other for user address details.
The user can only have one address. You also need a view to show the complete information of the user including the address.
Which actions do you perform if you use CDS artifacts only? Please choose the correct answer.
Create two entities for the user and address.
Create an association in the user entity to the address entity.
Define a User Details view using select on the address entity and using the association to read the user information.
Create two entities for the user and address.
Create an association in the user entity to the address entity.
Define a User Details view using select on the user entity and using the association to read the address information.
Create two entities for the user and address.
Extend the user entity with address columns.
Create a view named User Details using select on the user entity.
x-s Create two entities for the user and address.
Create a User Details calculation view and join the user and address information.
The correct action is to define a User Details view using select on the user entity and using the association to read the address information. This way, you can leverage the power of CDS associations to create a join between the user and address entities without explicitly specifying the join condition. You can also use the association path to access the address fields in the view definition. This approach simplifies the data model and avoids redundancy. Option A is incorrect because it selects from the address entity instead of the user entity, which is not the desired output. Option B is incorrect because it extends the user entity with address columns, which is unnecessary and violates the normalization principle. Option D is incorrect because it creates a calculation view instead of a CDS view, which is not the requirement. Calculation views are graphical or scripted views that can be used for complex calculations and data transformations, but they are not CDS artifacts. References:
What are the disadvantages when deploying Dynamic SQL? There are 2 correct answers to this question.
Limited opportunities for optimization
No possibility to bind the result to a SQL Script variable
No possibility to use SQL Script variables
Additional SQL execution privileges are required
Dynamic SQL allows you to construct and execute SQL statements at run time, using variables and expressions that may not be supported in SQLScript. However, it also has some drawbacks, such as:
The other options are incorrect, because:
References:Â SAP HANA Developer Guide, Chapter 6, Section 6.4.2, page 2111.
Which OData service do you use to prevent changes to existing line items of the sap.test :myTable table? Please choose the correct answer.
A)
B)
C)
D)
Option A
Option B
Option C
Option D
To prevent changes to existing line items of the sap.test::myTable table, you can use the OData service that specifies the update authorization as no-authorization for the table. This means that the OData service does not allow any update operations on the table, such as PUT, PATCH, or MERGE. The option A shows the code snippet that defines the OData service with this restriction. The other options do not have the update no-authorization clause for the table, and therefore, they do not prevent changes to the existing line items. References: OData Service Authorization, OData Security Considerations.
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 Node.js module do you use to run an SQL statement against the SAP HANA database? Please choose the correct answer.
@sap/hdi
@sap/xsenv
@sap/xssec
@sap/hdbext
To run an SQL statement against the SAP HANA database from a Node.js application, you need to use the @sap/hdbext module. This module provides a wrapper for the SAP HANA client for Node.js, which enables you to connect to the SAP HANA database and execute SQL statements. You can use this module to create a database connection pool, execute queries, fetch results, and handle errors. The other options are not correct because:
References:
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
You need to create a native SAP HANA application that fully leverages the SAP HANA platform. How do you implement data-intensive
calculations?
Please choose the correct answer.
Push the calculations onto the application layer.
Push the calculations onto the database layer
Push the calculations onto the presentation layer.
Distribute calculations between application layer and presentation layer.
To create a native SAP HANA application that fully leverages the SAP HANA platform, you should implement data-intensive calculations on the database layer, using SQLScript or calculation views. SQLScript is a scripting language that allows you to write stored procedures, functions, and triggers that perform complex calculations and data transformations on the SAP HANA database. Calculation views are graphical or scripted views that define data models based on tables, views, or other calculation views, and apply filters, joins, aggregations, and other operations on the data. By pushing the calculations onto the database layer, you can take advantage of the in-memory processing, parallelization, and optimization capabilities of SAP HANA, and reduce the data transfer and network latency between the application layer and the database layer123.
The other options are not correct because they do not fully leverage the SAP HANA platform, and they may result in poor performance, high resource consumption, and increased complexity. Pushing the calculations onto the application layer means that you use a programming language, such as Java or Node.js, to perform the calculations on the application server, which may not be as efficient or scalable as the database server. Pushing the calculations onto the presentation layer means that you use a UI framework, such as SAPUI5 or SAP Fiori, to perform the calculations on the client device, such as a browser or a mobile device, which may not have enough processing power or memory to handle large or complex data sets. Distributing the calculations between the application layer and the presentation layer means that you split the calculations into different parts and execute them on different layers, which may introduce inconsistency, redundancy, and dependency issues. References:
You need to access a remote database table object within your HDB module in a Multi-target application project.
In SAP HANA extended application services, advanced model (XS advanced) a user-provided service was created to access the external schema. The service is already declared in the Multi-target application project YAML file.
Which activities do you perform?
There are 3 correct answers to this question.
Create a view that refers to a synonym. n Create a synonym that refers to the view.
Create/update the .hdbgrants file providing authorizations for the remote schema.
Create a synonym for the remote table object.
Create a view that refers to the table.
To access a remote database table object within your HDB module in a Multi-target application project, you need to perform the following activities:
The other options are incorrect because you do not need to create a view that refers to a synonym, nor create a synonym that refers to a view. These are redundant steps that do not add any value to the access of the remote table object. References:
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 parameter do you adapt to change the file that is initially delivered by an HTML5 module? Please choose the correct answer.
Service_url parameter of the mta.xml file
Welcome file parameter of the xs-app.json file
Start parameter of the package.json file
Runners parameter of the projectjson file
An HTML5 module is a module that contains static web content, such as HTML, CSS, JavaScript, or images, that are delivered by a web server. An HTML5 module can be part of a multi-target application (MTA) project, which is a single application that consists of multiple modules that are developed using different technologies and designed to run on different target runtime environments. An HTML5 module can be deployed to the XS Advanced runtime environment, which is a platform that supports the development and execution of cloud-native applications on SAP HANA.
To change the file that is initially delivered by an HTML5 module, you need to adapt the welcome file parameter of the xs-app.json file. The xs-app.json file is a configuration file that defines the routing rules and authentication settings for the HTML5 module. The welcome file parameter specifies the name of the file that is served as the default document when the root path of the HTML5 module is requested. For example, if the welcome file parameter is set to “index.htmlâ€, then the file index.html in the HTML5 module will be delivered when the user accesses the URL of the HTML5 module without any additional path. The welcome file parameter can be changed to any valid file name that exists in the HTML5 module.
The other options are incorrect because they are not parameters that can be used to change the file that is initially delivered by an HTML5 module. The service_url parameter of the mta.xml file is a parameter that defines the URL of a service that is required by a module or provided by a resource in an MTA project. The start parameter of the package.json file is a parameter that defines the script that is executed when the npm start command is run in a Node.js module. The runners parameter of the project.json file is a parameter that defines the configuration of the runners that are used to execute the code in a Cloud Foundry module. References:
To which SAP HANA authorization entities can you grant a role? There are 2 correct answers to this question.
Object
Role
Privilege
User
You can grant a role to another role or to a user in SAP HANA. A role is a collection of privileges that can be assigned to users or other roles to authorize them to perform certain tasks or access certain objects in the database. A user is an individual account that can log on to the database and execute SQL statements. By granting a role to another role, you can create a hierarchy of roles that inherit the privileges of their parent roles. By granting a role to a user, you can assign the user the privileges of that role. You can use the GRANT statement or the SAP HANA cockpit to grant roles to roles or users. The other options are incorrect because you cannot grant a role to an object or a privilege. An object is a database entity, such as a table, view, procedure, etc., that can be accessed or manipulated by users or roles with the appropriate privileges. A privilege is a permission to perform a specific action or access a specific object in the database. You can grant privileges to users or roles, but not to roles or objects. References:
What are the steps to debug a Node.js application using SAP Web IDE for SAP HANA? There are 3 correct answers to this question.
Attach the debugger to the node module.
Set a breakpoint in the application.
Specify the proper Git repository in the debug properties.
Build the application with the debug option.
Open the debugger.
To debug a Node.js application using SAP Web IDE for SAP HANA, you need to perform the following steps:
The other option is incorrect because you do not need to specify the proper Git repository in the debug properties. The Git repository is used to manage the source code of the application, but it is not relevant for the debugging process. You also do not need to build the application with the debug option, because the debugger can attach to any running Node.js module without any special build settings. References:
Which of the following joins can be defined only with multi-column join in calculation views? Please choose the correct answer.
Dynamic join
Text join
Temporal join
Multi join
According to the SAP HANA Developer Guide, a multi join is a join that can be defined only with multi-column join in calculation views. A multi join allows you to join multiple data sources using multiple join conditions. You can specify the join type, the join cardinality, and the join columns for each pair of data sources. A multi join is useful when you need to join data sources that have complex relationships or different granularities. The other options are incorrect, because:
References:Â SAP HANA Developer Guide, Chapter 6, Section 6.4.2, page 2111.
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].
In application development with XS advanced, which of the following entities belong to a specific SPACE? There are 2 correct answers to this question.
Organizations
Users
Applications
Processes
 In application development with XS advanced, the following entities belong to a specific SPACE: Applications and Processes. A SPACE is a logical grouping of applications and processes that share a common purpose and resources. A SPACE can have one or more applications and processes deployed to it, and each application and process can have one or more instances running in the SPACE. A SPACE can also have its own quota, services, routes, and security settings12.
The other two options, Organizations and Users, are not entities that belong to a specific SPACE. An Organization is a logical grouping of SPACES that share a common owner and billing account. An Organization can have one or more SPACES, but a SPACE can only belong to one Organization. An Organization can also have its own quota, roles, and users12. A User is an entity that represents a person or a system that can access the XS advanced platform and perform actions based on the assigned roles and privileges. A User can belong to one or more Organizations and SPACES, and can have different roles and permissions in each of them34. References: 1: SAP HANA XS Advanced Development (New and Changed) | SAP Help Portal 2: SAP HANA XS Advanced, explore the basic tools | SAP 3: XS Advanced User Management | SAP Help Portal 4: Maintaining Platform Users in XS Advanced | SAP Help Portal
What key words are contained in the application descriptor file (xs-app.json)? There are 2 correct answers to this question.
routes
role-templates
tenant-mode
authentication Method
 The application descriptor file (xs-app.json) is a JSON file that defines the routing and authentication configuration for an HTML5 module in a multi-target application (MTA) project. It is located in the root folder of the HTML5 module and is used by the managed application router to dispatch requests to the appropriate destinations and to authenticate users. Some of the key words that are contained in the xs-app.json file are:
The following key words are not contained in the xs-app.json file, but in other files related to the MTA project:
References:
Which trace do you use to create a graphical representation of an individual SQL Statement? Please choose the correct answer.
Expensive statements trace
Performance trace
Plan trace
SQL trace
 To create a graphical representation of an individual SQL statement, you can use the Plan trace. The Plan trace is a tool that allows you to generate and visualize the execution plan of an SQL statement, with estimated or actual performance information for each operator. The Plan trace can help you understand and analyze the query optimization and execution process, and identify potential performance bottlenecks or improvement opportunities12.
The other options, Expensive statements trace, Performance trace, and SQL trace, are not tools that can create a graphical representation of an individual SQL statement. The Expensive statements trace is a tool that records the SQL statements that exceed a certain threshold of resource consumption, such as CPU time, memory, or disk reads. The Expensive statements trace can help you identify the most resource-intensive queries in the system, but it does not provide a graphical view of the execution plan3. The Performance trace is a tool that records the performance statistics of the database operations, such as SQL statements, transactions, procedures, or triggers. The Performance trace can help you measure and compare the performance of different database operations, but it does not provide a graphical view of the execution plan either. The SQL trace is a tool that captures every SQL statement that enters the database at the session layer. The SQL trace can help you monitor and troubleshoot the SQL statements that are executed in the database, but it does not provide a graphical view of the execution plan either. References: 1: Plan Trace | SAP Help Portal 2: Analyzing SQL Execution with the Plan Visualizer | SAP Help Portal 3: Expensive Statements Trace | SAP Help Portal : [Performance Trace | SAP Help Portal] : [SQL Trace | SAP Help Portal]
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:
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.
You create an SAP HANA extended application services, advanced model (XS advanced) multi-target application. What does the mta.xml file contain?
Please choose the correct answer.
The plugin name and version for every supported file suffix
The application router description with the authentication methods and access routes
The Node.js package definition with dependencies and initial run configurations
The application global elements, modules, resources, properties, and parameters
The mta.xml file is the main descriptor file for a multi-target application (MTA). It defines the application global elements, such as ID, version, provider, and schema version. It also defines the modules, which are the components of the application that provide specific functionality, such as a database module, a Node.js module, or an HTML5 module. Each module has a name, a type, a path, and a list of required dependencies. The mta.xml file also defines the resources, which are the shared services or configurations that the modules can consume, such as a user-provided service, an SAP HANA database, or an SAP HANA HDI container. Each resource has a name, a type, and optional parameters. The mta.xml file also defines the properties and parameters, which are the key-value pairs that can be used to configure the modules and resources, such as the host, port, or credentials. The properties and parameters can be defined globally, per module, or per resource12.
The other options are not correct because they are not part of the mta.xml file, but rather of other files or components of the MTA. The plugin name and version for every supported file suffix are defined in the .che file, which is the configuration file for the SAP Web IDE3. The application router description with the authentication methods and access routes are defined in the xs-app.json file, which is the configuration file for the application router, a Node.js module that provides a single entry point and routing mechanism for the MTA. The Node.js package definition with dependencies and initial run configurations are defined in the package.json file, which is the configuration file for the Node.js module that contains the application logic and business services. References:
Which keywords do you use to define an OData association? There are 3 correct answers to this question.
JOIN
DEPENDENT
UNION
MULTIPLICITY
PRINCIPAL
OData associations are used to define the relationships between two or more entity types in an OData service. Associations can be simple or complex, depending on whether the relationship information is stored in one of the participating entities or in a separate association table. Associations are composed of two ends, each of which has a role name, a multiplicity, and a set of properties that form the referential constraint. The keywords that are used to define an OData association are:
The following keywords are not used to define an OData association, but for other purposes:
You need to combine data from different database tables within your OData service. Which capability do you use for this relationship? Please choose the correct answer.
Aggregations
Projections
Associations
Entity sets
An OData service is a web service that exposes data from a data source, such as a SAP HANA database, in a standardized and interoperable format. An OData service consists of one or more entity sets, which are collections of entities of the same type. An entity is a data object that has properties and a unique key. An OData service can also define associations between entity sets, which are relationships that specify how entities are related to each other. For example, an association can define a one-to-many or a many-to-many relationship between two entity sets. Associations enable an OData service to combine data from different database tables within the same service. For example, an OData service can define an association between a Products entity set and a Categories entity set, where each product belongs to one category and each category can have multiple products. This association can be used to query or update data from both entity sets in a single request.
The other options are incorrect because they are not capabilities that can be used to combine data from different database tables within an OData service. Aggregations are operations that summarize or group data, such as count, sum, average, or min/max. Projections are operations that select or filter data, such as select, expand, or filter. Entity sets are collections of entities of the same type, but they do not define relationships between entities. References:
You need to view the data model exposed by an OData V2 service. What must you append to the service URL? Please choose the correct answer.
$schema
$service definition
$metadata
$format
An OData V2 service is a web service that exposes data from a data source, such as a SAP HANA database, in a standardized and interoperable format based on the OData protocol version 2.0. An OData V2 service consists of one or more entity sets, which are collections of entities of the same type. An entity is a data object that has properties and a unique key. An OData V2 service can also define associations between entity sets, which are relationships that specify how entities are related to each other. An OData V2 service can also define function imports, which are operations that can be invoked by the client to perform specific tasks.
An OData V2 service exposes a data model that describes the structure and semantics of the data and the operations that are supported by the service. The data model is represented in an XML document that conforms to the OData Metadata XML Schema. The data model contains information such as the entity types, the entity sets, the associations, the function imports, the namespaces, the annotations, and the service document.
To view the data model exposed by an OData V2 service, you need to append the $metadata system query option to the service URL. The $metadata system query option requests the metadata document of the service. For example, if the service URL is http://services.odata.org/V2/Northwind/Northwind.svc, then the metadata document URL is http://services.odata.org/V2/Northwind/Northwind.svc/$metadata. The metadata document URL can be accessed by any HTTP client, such as a web browser, and it returns the XML representation of the data model.
The other options are incorrect because they are not system query options that can be used to view the data model exposed by an OData V2 service. $schema is not a valid system query option in OData V2. $service definition is a system query option in OData V4, not OData V2, and it requests the service definition document, which is a JSON document that describes the capabilities and annotations of the service. $format is a system query option that can be used to specify the desired format of the response, such as XML or JSON, but it does not request the data model of the service. References: