HC450SHC Application Development Flashcards

1
Q

SAP BTP account types are

A

enterprise and trial.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is entitlement

A

is the right to provision and consume resources such as the amount of memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is Quotas

A

this is the numeric quantity defining the maximum allowed consumption of a resource.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the components of an environment

A
  1. Runtime
  2. Services
  3. tools
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Sub account environment provides the atmosphere for creating CAPM applications such as

A
  1. Services
  2. Applications
  3. Tools
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the visual overview representation of SAP BTP

A
  1. Persistency
  2. Domain model
  3. Access
  4. Application development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the visual process followed for the application development for SAP Hana Cloud

A
  1. SAP BTP
  2. SAP Hana Cloud
  3. SAP BAS
  4. CAP project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the scenario overview – visual representation

A
  1. Application Development – SAP FIORI.
  2. Access – Odata Services + custom Handlers.
  3. Domain model – CDS Models.
  4. Persistency – SAP Hana Cloud – Tables.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the personas for SAP Hana Cloud Application Development:

A
  1. DB developer
  2. Application developer
  3. Client UI developer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Within DB development, what are the main areas:

A
  1. Data Persistency
  2. Analytical modelling
  3. Data Processing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is SAP Cloud Foundry?

A

is an open Platform-as-a-Service (PaaS) targeted at microservice development and orchestration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Can the Cloud Foundry reduce cost, and complexity associated with configuring, managing, and securing infrastructure for your applications?

A

True.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the Cloud Foundry significant benefits to developers and organizations:

A
  • Language independent
    choose any language runtime, and add new languages as needed.
  • Admin separation
    administrators and developers can work in parallel.
  • Standard Command Line Interface
    the same CLI is used by all CF providers, not just SAP.
  • Open Source
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Can the Cloud Foundry be accessed via URL?

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

The application can provide various types of content via the URL, such as the following:

A
  1. A set of HTML5 pages that you can access from a web browser
  2. A REST service to be read by a client application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Applications are deployed to the target platform by using the push operation of the platform API. Is it true these applications are pushed to the platform?

A

True.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Pushing an application works as follows:

A
  1. The application files are uploaded to the platform.
  2. Programs called buildpacks are executed to create archives that create the self-contained and ready-to-run executable applications.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are buildpacks:

A

programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

The following functions are accessible as services:

A
  1. The SAP HANA database
  2. The XSUAA identity provider
  3. The SAPUI5 core library
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Which of the following is the correct sequence when using Business Technology Platform and its components for Application development?

A

Create SAP BTP Trial Account,
Create SAP HANA Cloud Trial Account,
Subscribe to Business Application Studio Trial,
Create CAP Project using SAP Business Application Studio

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Which of the Personas are involved in Application development in SAP HANA Cloud?

A

DB developer and application programmer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is SAP Cloud Application Programming Model” (CAPM)

A

It is an open and opinionated, framework of languages, libraries, and tools for building enterprise-grade services and applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are the environments in SAP BTP

A
  1. Cloud foundry
  2. Kubernetes
  3. XSA
  4. Local
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What are the datasources feeding CAPM

A
  1. SAP Hana
  2. PostgreSQL
  3. Sqlite
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What are the front ends used for CAPM:

A
  1. SAP Fiori
  2. Angular
  3. React
  4. Vue
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Can CAPM be used partially or totally?

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Can CAP supports both open-source and SAP tools and technologies?

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What are the cloud technologies provided by CAPM to complement native cloud technologies

A
  • CDS also known as Core data Services.
    Is the data modelling infrastructure also known as Backbone of the Programming Model that provides means to capture service definitions and data models.
  • Service SDKs
    SAP Cloud Application Programming Model has libraries available for both Java and Node.js, which you can use to provide and consume services through synchronous and asynchronous APIs.
    The SDKs include out-of-the-box integration to lower-level platform services, such as authentication and credential-flows or on and off-boarding of SaaS tenants.
  • (Generic) Service Providers
    Interpret CDS models to automatically serve metadata and CRUD requests out of the box.
  • Data Access Layers
    Use the CDS models to support higher-level data access options. For example, from data models in CDS we generate corresponding sets of JPA classes.
  • SAP Business Application Studio
    is our IDE of choice as well as other tools tailored for the new programming model such as CDS Editors, Code Assists, Outline Views, new Project Explorer, etc. can also be used.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

What is the Purpose of SAP Cloud Application Programming Model

A

to focus on the domain problems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What are the domain problems to be resolve by experts in each area

A
  1. Declaratively capture domain knowledge in CDS models
  2. Fuels generic runtimes to serve recurring tasks automatically.
  3. Minimizing boilerplate code to real custom logic
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

What is the golden path to create CAPM applications

A
  1. Define your Data Model using CDS
  2. Define your Services using CDS
  3. Add Custom Logic using Java or Node.js
  4. Add Fiori UIs using CDS Annotations
  5. Reuse existing Services using CDS Service SDKs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Which of the two libraries are available for the Service SDKs?

A

Java, and Node.JS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Which is the IDE of choice when using CAP on SAP Business technology Platform?

A

SAP BAS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

You are programming using the . You need to define an OData service. What is the extension of the file that you create?

A

BAS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Once a Development Space is created, its name and kind of application cannot be changed

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What is the cli to include mta.yml file to a project

A

cds add mta for creating the mta.yaml.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What are the business artefacts used in SAP BAS – CAPM project

A
  1. db :
    For the database level schema model.
  2. srv :
    For the service definition layer
  3. app :
    For UI artifacts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

What are the folders within a CAPM project

A

App => Web browser a@ runtime
SERV: => application runtime in cloud foundry
DB => stored in SAP Hana.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

When deployed, every module of the project will have

A
  1. Builpack
  2. Development language
  3. Runtime environment.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

In BAS there are two ways to create a project type

A

basic MTA and CAPM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

MTA contains the following

A
  1. Global Elements
  2. Modules
  3. Resources
  4. Properties
  5. Parameters
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

What does the MTA – Global Elements have:

A

These include the application identifier and version,
a description (optional),
copyrights,
author, and so on.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What does the MTA – Modules contain

A

Modules created in the application, such as the SAP HANA database and the Node.js module,
including name,
type,
path, and requirements on other modules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

What does the MTA – Resources contain

A

Dependent services which are not provided by the application, such as XS (XSUAA),
(XSHDI) container, and
XSJob-Scheduler.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

What does the MTA – Parameters contain:

A

Reserved variables of a module, which can be accessed by other modules, for example, user, app-name, default-host, or default-url using the placeholder notation.
Parameters can be read-only or read/write enabled.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

MTA - Global Elements have mandatory fields which are:

A

ID and version.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

MTA - Modules has mandatories fields such as:

A

Name, Path and Type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

MTA - Resources has mandatories fields such as:

A

Name and Type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

We have two options to create the CAPM project:

A
  1. Using Terminal window command cds init <project></project>
  2. Alternatively we can use the wizard to create projects using the Project template either from Welcome page or via the View: Find Command option in the menu bar.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

The Wizard (MTA) consists of the following user Inputs:

A
  1. Name :
    Name of the Project is mandatory and unique and is valid across platforms.
  2. Runtime :
    Two runtimes are available from the dropdowns, Node.js and Java. Once a runtime is selected and confirmed, this cannot be changed. In case a change is required a new project need to be created.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

After a project is created, some capabilities can be added to MTA via the following CLI:

A

cds add mta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What are the list of capabilities currently available:

A
  1. CI/CD Pipeline Integration
  2. Configuration of SAP HANA deployment
  3. MTA based SAP Business Technology Platform deployment.
  4. Multitenancy
  5. Cloud
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

What are the two runtime environments:

A

Node.js and Java.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

What is YAML:

A

it is human friendly data serialization language for all programming languages.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

What are the purposes of MTA model:

A
  1. Define an application composed of multiple (heterogeneous) sub-components (benefit: tools can establish a unique lifecycle of these sub-components)
  2. Declare resources the application depends upon at runtime and/or deployment time (benefit: tools can allocate and bind such resources)
  3. Define configuration variables (and their relation), whose values distinguish different deployments of the application (benefit: tools can bind sub-components, can automate deployment based on default settings, or request missing mandatory values interactively
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

An administrator optionally augments the MTA model in the deployment descriptor with an extension descriptor(mtaext.yaml),and uses the MTA deployer to orchestrate the actual deployment.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

What is MTAD.YML

A

Deployment descriptor for mta. The info provided contains instruction to the deploy service.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

MTAEXT.YML

A

Deployment extension descriptor, this is used to provide system specific details not known until deployment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

What are the MTA development descriptor:

A

o Global elements
o Modules
o Resources
o Properties
o Parameters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

The MTA development descriptor contains the following parts:

A
  • Global elements
    These include the application identifier and version, a description (optional), copyrights, author, and so on.
  • Modules
    Modules created in the application, such as the SAP HANA database module and the Node.js module, including name, type, path, and requirements on other modules.
  • Resources
    Dependent services that are not provided by the application, such as XS Advanced User Account and Authentication (XSUAA), XS Advanced HANA Deployment Infrastructure (XSHDI) container, and XSJob-Scheduler.
  • Properties
    These can be specified when the value has to be determined during the deployment, for example, for generated URLs of other services or API keys.
  • Parameters
    Reserved variables of a module, which can be accessed by other modules, for example, user, app-name, default-host, or default-uri using the placeholder notation. Parameters can be read-only or read/write enabled.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

What are the global elements contained in the MTA.YML file:

A
  1. _schema_version
  2. ID **
  3. Description
  4. Version *****
  5. Provider
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

What is the content of _schema-version:

A

Specifies the version of the MTA descriptor in the following schema: <major>.<minor>.<patch> Indicating a major version is enough</patch></minor></major>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

What does the ID contain:

A

Mandatory string to identify the application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

What does the description contain in MTA?

A

Optional description text

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

Is the Version compulsory - MTA:

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

What does version of MTA.YML contain:

A

Mandatory version of the application: <major>.<minor>.<patch></patch></minor></major>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

What is the Provider of the MTA.YMLS file:

A

Optional string to specify the organization providing the application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

What is the Copyright of the MTA.YMLS file:

A

is an Optional copyright information

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q

What are the components of modules of the MTA project – file

A
  1. Name **
  2. Type **
  3. Path **
  4. Description
  5. Requires
  6. Provides
  7. Properties
  8. parameters
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

What are the mandatory elements of the Modules component of the MTA.yml file

A

Name, type, and path.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q

Within the MTA development descriptor, the modules element declares the source modules of the MTA project.

A
  1. Name
  2. Type
  3. Path
  4. Description
  5. Requires
  6. Provides
  7. Properties
  8. Parameters
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q

What does MTA development descriptor Name include:

A

Mandatory name of the module. Unique in the descriptor file

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

What does MTA development descriptor type include:

A

Mandatory content of the module, for example, HDB, Node.js, JAVA, HTML5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q

What does MTA development descriptor Path include:

A

Mandatory file system path starting from the applications root director.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q

What does MTA development descriptor Requires include:

A

Optional section containing required sources of other modules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q

What does MTA development descriptor Provides:

A

Optional section containing configuration data used by other modules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

What does MTA development descriptor Parameters include:

A

Optional named variable to be used by the deployer, for example, the amount of memory for the module.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
78
Q

Within the MTA development descriptor, the Resources section of the MTA project, includes:

A
  1. Name
  2. Type
  3. Description
  4. Properties
  5. Parameters
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
79
Q

What is a resource: it is something that is required by a module of the MTA at runtime.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
80
Q

More precisely, an MTA descriptor declares a resource dependency, not the resource itself. Sometimes they are referred to as Backing Services.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
81
Q

What are the backing services:

A
  • Name
    Mandatory name of the module, unique in the descriptor file.
  • Type
    Mandatory content of the resource, for example, com.sap.xs.uaa or com.sap.xs.hdi-container
  • Description
    Optional description text
  • Properties
    Optional named variable containing application-specific configuration data.
  • Parameters
    Optional named variable to be used by the deployer, for example, the amount of memory for the module.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
82
Q

Within the MTA development descriptor, the Parameters section of the MTA project, includes:

A

Reserved variables – read only, read or write or write only values
Refer to parameters via the placeholder (4) notation ${<parameter>}
Default – URL, memory, disk – quota or service name</parameter>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
83
Q

What are Parameters

A

Parameters are reserved variables that influence the behavior during the deployment process and/or during runtime.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
84
Q

In addition, we refer to the service-name and default-url parameters that are filled by the system, using the placeholder notation ${<parameter_name>}. During the deployment, the parameter value is determined, and the placeholder is replaced with the actual value.</parameter_name>

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
85
Q

What are the sections of the MTA.yml file on the graphical editor:

A
  1. Modules
  2. Resources
  3. Basic information
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
86
Q

What is the origin of the name “Multi-Target Application”?

A

”? It is an application made of multiple modules running in different runtime environments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
87
Q

Which of the below parameters are mandatory in the Modules section of mta.yaml?

A
  1. Name
  2. Type
  3. Path
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
88
Q

Which of the below option is used to Move the staged files to the Local Repository:

A

commit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
89
Q

What is Git?

A

A tool for tracking changes in source code during software development.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
90
Q

What is the runtime structure:

A
  1. Browser
  2. Http
  3. Router
  4. Node.Js/Java->
  5. Hana Service
  6. HDI container
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
91
Q

What are the SAP Hana DB module containing the design-time definitions of all the objects to be created in the database:

A
  1. Domain Models (Persistence).cds
  2. Tables and Views(.hdbtable and .hdbview)
  3. Calculation Views(.hdbcalculationview)
  4. Procedures (.hdbprocedure)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
92
Q

What are the minimum components when creating a CAPM project:

A
  1. An src folder, made to store the design time definitions of the database objects.
  2. A package.json file for configuration for the MTA project is required for example, to set the version and the options of the deploy program. In case of CAP projects this file is shared by all three modules.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
93
Q

A service of type HANA (technical name com.sap.xs.hdi-container) needs to exist for the HDI container to be accessible from Cloud Foundry.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
94
Q

.hdiconfig file contains all plug ins name and version for every supported file suffix.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
95
Q

.hdinamespace contains namespace configuration for the HDB module, including:

A
  1. Name
  2. Subfolder
  3. Append
  4. ígnore
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
96
Q

What is domain model:

A

static and data related aspect of a problem domain in terms of entity relationship model. It is the base for persistence models.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
97
Q

What is persistence model:

A

a set of entities mapped from a domain model and deploy to the database.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
98
Q

What are Services:

A

They are exposed interfaces based on domain model.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
99
Q

What are consumers:

A

Other services or UIs which call services via an API.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
100
Q

The goal is to keep domain models clean, concise, and comprehensible by factoring out technical aspects separating concerns according to:

A
  1. Fiori markup
  2. Authorization
  3. Persistence
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
101
Q

A GIT repository has at least one branch known as:

A

master

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
102
Q

What are the names and type of the Remote GIT repository:

A

private and corporate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
103
Q

SAP Cloud Application Programming Model follows two major paradigms:

A

A declarative paradigm using CDS to capture knowledge about problem domains, and
A service-centric paradigm, with widespread usage of Services, Events and Queries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
104
Q

What is our universal modeling language to capture static, as well as behavioral aspects of problem domains in conceptual, concise, and comprehensible ways:

A

CDS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
105
Q

Use namespaces if reusing models:

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
106
Q

Use namespaces over top level context.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
107
Q

Using enterprise features for:

A

localized data, authentication and authorization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
108
Q

Reusability has several benefits - Repeat of @SAP/CDS/COMMOM

A
  1. Concise and comprehensible models
  2. Foster interoperability between all applications
  3. Proven best practices captured from real applications
  4. Streamlined data models with minimal entry barriers.
  5. Optimized implementations and runtime performance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
109
Q

What is another name for reusable objects:

A

aspects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
110
Q

Who provides the common types and aspects for applications:

A

@SAP/CDS/COMMON

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
111
Q

What are the benefits of using @sap/cds/common:

A
  1. Concise and comprehensible models
  2. Foster interoperability between applications
  3. Proven best practices captured from real applications.
  4. Streamlined data models with minimal entry barriers.
  5. Optimized implementations and runtime performance.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
112
Q

What are the benefits of reusability:

A

models are concise and comprehensible by applied classic conceptual modeling methods.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
113
Q

@sap/cds/common defines the following aspects for use in your entity definitions:

A
  1. CUID: Use cuid as a convenient shortcut to add canonical, universally unique primary keys to your entity definitions.
  2. Managed: used managed to add four elements to capture created by/created at and latest changed by/changed at management information for records.
  3. Temporal: use temporal to take advantage of the built-in support that handles date-effective records and time slices, including time travel.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
114
Q

The common aspects are declared by:

A

“using” statement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
115
Q

What is Aspect cuid :

A

it is a shortcut to add a universally unique primary key to your definitions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
116
Q

What is Aspect managed:

A

it is used to add the four audit dimensions created by, created at data, latest changed by and changed at

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
117
Q

What is Aspect temporal:

A

It enables temporal data, which allows maintaining information relating to past, present, and future application time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
118
Q

@sap/cds/common provides predefines easy to use types for:

A
  1. Countries
  2. Currency
  3. language
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
119
Q

What is Localization:

A

it refers to adapting your business application to different languages to cater to specific regional markets.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
120
Q

Localization is split into two categories:

A
  1. localization for static content
  2. localization for dynamic content
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
121
Q

How can the localization for static content be achieved:

A

This is achieved by externalizing all your text literals into separate text bundle files that we call the internationalization files, or in short, i18n files

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
122
Q

How can localization for dynamic content be achieved by:

A

marking the attributes that need to support multiple languages with a special keyword called “localized”, this then creates a text table for each entity which has attributes defined as “localized”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
123
Q

What are Domain models used for:

A

They are static and data related aspects of problem domain in terms of entity relationship models.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
124
Q

What are persistence models:

A

a set of entities mapped from a domain model and deployed to the database.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
125
Q

SAP Cloud Application Programming Model follows two major paradigms

A

A declarative paradigm using CDS to capture knowledge about problem domains, and
A service-centric paradigm, with widespread usage of Services, Events and Queries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
126
Q

What are aspects:

A

they are the reusable models that can be defined and then reused in other entities. They allow factoring out cross cutting or technical concerns into separate models or files.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
127
Q

What is the name of the pre build model delivered in CAPM:

A

common

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
128
Q

What are the benefits of using applications provided by @sap/cds/common:

A
  1. Concise and comprehensible models
  2. Foster interoperability between all applications
  3. Proven best practices captured from real applications
  4. Streamlined data models with minimal entry barriers
  5. Optimized implementations and runtime performance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
129
Q

What are the aspects defined by @sap/cds/common:

A
  1. Cuid
  2. Managed
  3. Temporal
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
130
Q

What is cuid:

A

It is a convenient shortcut to add canonical universally unique primary keys to your entity definitions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
131
Q

What is managed:

A

this is used for adding four elements to capture created by/created at and latest changed by/changed at management information for records.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
132
Q

What is temporal:

A

this is used to handles date effective records and time slices including time traveling.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
133
Q

What is localization for dynamic content:

A

This is achieved by marking the attributes that need to support multiple languages with a special keyword called “localized”, this then creates a text table for each entity which has attributes defined as “localized”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
134
Q

What are associations:

A

They define relationships between entities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
135
Q

CDS associations define:

A

Relationships between entities.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
136
Q

Which is the parent folder for the data folder?

A

DB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
137
Q

Which DB Artifact is generated when the CDS entity is deployed to database?

A

DB table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
138
Q

Which folder is required under the db folder as a minimal requirement?

A

SRC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
139
Q

Which category of localization is used to define static content?

A

I18N

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
140
Q

When using CAP in the SAP Business Application Studio, you want to use Core Data Services to define the persistence layer. Which extension do you use for the design-time file?

A

CDS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
141
Q

Which of the following are the categories for Localization?

A

Localized and localization.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
142
Q

What are services:

A

They exposed interfaces based on a domain model.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
143
Q

What are aspects:

A

reusable objects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
144
Q

What does CAPM provides:

A

the means to declaratively capture service definitions and data models, queries, and expressions in plain (JavaScript) object notations. CDS features to parse from a variety of source languages and to compile them into various target languages.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
145
Q

What are the source languages used in CAPM:

A
  1. CDS
  2. Json
  3. YML
  4. Code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
146
Q

Source languages are parse into CSN then those languages are compiled into the following language as:

A
  1. OData
  2. Open API
  3. Async API
  4. Json and YML
  5. SQL DDL
  6. Hana DDL
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
147
Q

Is CSN derived from Json schema:

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
148
Q

What is Definition Language (CDL):

A

Definition Language (CDL): A reference and overview of all CDS concepts and features with compact examples written in CDS’ definition language.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
149
Q

What is Schema Notation (CSN):

A

Specification of CSN, CDS’ canonical format for representing CDS models as plain JavaScript objects, similar to JSON Schema.

150
Q

What is Query Language (CQL)

A

Documents the CDS Query Language (aka CQL) which is an extension of the standard SQL SELECT statement.

151
Q

What is CQN

A

Specification of the Core Query Notation (CQN) format that is used to capture queries as plain JavaScript objects.

152
Q

What is CXN:

A

Specification of the Core Expression Notation (CXN) used to capture expressions as plain JavaScript objects.

153
Q

What is built in types:

A

Find here a brief overview of the predefined types shipped with CDS.

154
Q

What is common types and aspects:

A

Introduces @sap/cds/common, a prebuilt CDS model shipped with @sap/cds that provides common types and aspects.

155
Q

What is common annotations:

A

Find here a reference and glossary of common annotations intrinsically supported by the CDS compiler and runtimes.

156
Q

What is Upgrade to Compiler v2:

A

CDS compiler version 2 (cv2) brings numerous improvements, which allow us to significantly streamline model processing going forward. All projects are recommended to upgrade as soon as possible, as the former version will only receive critical fixes after cv2 is released.

157
Q

What is Nature of Models:

A

Introduces the fundamental principles of CDS models.

158
Q

What is the “Defining Entity”:

A

Entities are structured types with named and typed elements, representing sets of (persisted) data that can be read and manipulated using usual CRUD operations.

159
Q

They (defining entity) usually contain one or more designated primary key elements:

A

define entity Employees {
key ID : Integer;
name : String;
jobTitle : String;
}

160
Q

What is the CDS - define type:

A

You can declare custom types to reuse later on, for example, for elements in entity definitions. Custom-defined types can be simple, that is derived from one of the predefined types, structure types or Associations.

161
Q

How do you declare structure types:

A

type Amount {
value : Decimal(10,3);
currency : Currency;
}
entity Books {
price : Amount;
}

162
Q

Elements can also be specified with anonymous inline struct types. For example:

A

entity Books {
price : {
value : Decimal(10,3);
currency : Currency;
};
}

163
Q

What are array types:

A

Prefix a type specification with array of or many to signify array types.

164
Q

What is UUID:

A

They are auto generated ID’s.

165
Q

What is associations:

A

capture relationships between entities.

166
Q

What is composition:

A

They are used to model document structures through contained in relationships. This is like cardinality.

167
Q

During software development the data model is defined via a Data Definition Language within a file with extension

A

.cds

168
Q

SQLScript is defined as:

A

The language to write stored procedures and user defined functions in SAP Hana. It is an extension of ANSI-92.

169
Q

SQLScript has many advantages over SQL:

A
  1. Complex logic can be broken down into smaller chunks of code.
  2. Support local variables for intermediate results with implicitly defined types.
  3. SQLScript has flow control logic such as if-then-else clauses that are not available in SQL.
  4. Stored procedures can return multiple results, while a standard SQL query returns only one result set.
170
Q

What is imperative language:

A

This enables the developer to add very precise control flow logic.

171
Q

What is the cost of using SQLScript imperative language elements:

A

it can break the automatic optimization by SAP Hana.

172
Q

SQL is a descriptive language and sometimes it is called:

A

declarative language.

173
Q

Declarative logic is used to declare the data selection via SELECT statements like:

A
  1. The developer defines the what.
  2. The engine defines the how and execute accordingly.
174
Q

Imperative logic allows the control flow of the instructions written in SQLScript like:

A
  1. Scalar variable manipulation
  2. DDL/DML logic
  3. While loops
  4. If/else
  5. Logic is executed as commanded.
175
Q

What can a procedure return:

A

scalar and tabular outputs.

176
Q

At design time what is the extension to use for building a procedure:

A

.hdbprocedure artifact.

177
Q

What can be used as parameters:

A

simple data types, spatial, in line tables or global types defined by CDS.

178
Q

Default keyword is used for:

A

setting up the initial value of scalar and table parameters.

179
Q

What default empty values initialises:

A

IN/OUT parameter.

180
Q

What is the framework for creating a procedure:

A
  1. Procedure in/out
  2. Language SQLScript
  3. SQL Security Invoker
  4. Reads SQL Data As
  5. Begin
  6. End
181
Q

What is the process for debugging a procedure:

A
  1. Open debug panel
  2. Attache debugger
  3. Attach target.
  4. Open for debugging.
  5. Set breaks points.
  6. Generate the call statement.
  7. Execute
  8. Debug (step over)
182
Q

Compared to standard SQL, which of the following are the advantages of SQLScript?

A
  1. One can make use of table variables structure complex SQL statements.
  2. It enables complex logic to be broken up into smaller chunks of code that enables modular programming, reuse, and a better understanding by functional abstraction.
  3. It has control logic, such as if/else.
183
Q

In SAP HANA, you create a stored procedure. What can you set in the header properties?

A
  1. Security.
  2. Programming language.
  3. Read/write access.
184
Q

From a Deployment standpoint, SAP Cloud Application Programming Model allows two deployment options:

A
  1. Local
  2. Persistence
185
Q

Under persistence, there are two options:

A

SQLite and SAP Hana Cloud.

186
Q

Define Domain Model, models are store with extension:

A

CDS

187
Q

Where CSV files be stored under:

A

DB/Data folder.

188
Q

What does npm install do:

A

It reads the dependencies from your package.json and download all the specified modules into your project from the internet.

189
Q

Where are the tables stored during the Build phase:

A

Gen folder.

190
Q

Is the compile step optional:

A

True

191
Q

In the Deploy step of local deployment, what is the command used:

A

CDS DEPLOY –TO SQLITE

192
Q

What is the process for local deployment:

A
  1. Define cds model
  2. Npm install
  3. Build – CDS build/all
  4. Compile – cds compile db –to hana (or sqlite)
  5. deploy
193
Q

What is the process for deploying CDS file to HDI container(SAP Hana Cloud):

A
  1. Set CF Target
  2. Define – cds file under DB folder.
  3. Config
  4. Npm install.
  5. Build – cds build/all
  6. Check – Database connection – binding.
  7. Create service – optional.
  8. Deploy: cds deploy
194
Q

Which Database does SAP CAP automatically bootstraps by default when using Local deployment option?

A

SQLite in – memory.

195
Q

What is the syntax for declaring the general library:

A

using {}from@sap/cds/common.

196
Q

Which Database does SAP CAP automatically bootstraps by default when using Local deployment option?

A

SQLite in-memory.

197
Q

What is Odata:

A

it is an open Data protocol enabling the creation and consumption of REST APIs. Which allows resources, identified using URLs and defined in a data model, to be published and edited by Web clients using simple HTTP messages. Conceptually, OData is a way of performing database-style create, read, update, and delete operations on resources by using HTTP verbs.

198
Q

What are the OData components:

A
  1. OData model
  2. OData services
  3. OData protocol
  4. OData Client Library
199
Q

One of the main features of Odata is that it uses HTTP verbs such as:

A
  1. Get
  2. Put
  3. Post
  4. Delete
200
Q

What is get:

A

Get the resource (a collection of entities, a single entity, a structural property, etc.)

201
Q

What is Post:

A

Create a new resource.

202
Q

What is Put:

A

Update an existing resource by replacing it with a complete instance.

203
Q

What is Patch:

A

Update an existing resource by replacing part of its properties with a partial instance.

204
Q

The OData approach to data exchange involves the following elements:

A
  1. OData data model - OData uses the Entity 1 Data Model (EDM).
  2. OData protocol - Enables a client to query an OData service.
  3. OData client libraries - Enable access to data via the OData protocol.
  4. OData services - Exposes an end point that allows access to data in the SAP HANA database.
205
Q

The OData service sends data in either of the following ways:

A
  1. XML-based format defined by Atom/AtomPub
  2. JSON
206
Q

There are two types of documents associated with each OData service:

A
  1. the service document.
  2. the service metadata document.
207
Q

What does the service document contain:

A

The service document lists entity sets, functions, and singletons that can be retrieved. Clients can use the service document to navigate the model in a hypermedia-driven fashion. The service document is available at http://<host>:<port>/<service>/.</service></port></host>

208
Q

What does the metadata document describe:

A

The metadata document describes the types, sets, functions, and actions understood by the OData service. Clients can use the metadata document to understand how to query and interact with entities in the service. The service metadata document is available at http://<host>:<port>/<service>/$metadata. The URL will return XML metadata of the service (Entity data model). The response of a service metadata document only supports XML.</service></port></host>

209
Q

In the .cds file created for exposing database objects, what are those objects:

A
  1. Calculated Views
  2. Table
  3. Views
  4. DB objects
210
Q

In which folder the file .cds should be created:

A

SRV/folder.

211
Q

What does annotation indicate:

A

This is used to provide the capability to save a draft version of the record created using our Fiori application(later) before it is written to the database.

212
Q

Which file extension do you use for the definition file for an OData service?

A

CDS.

213
Q

What is Node.JS:

A
  • Node.js is a server-side runtime environment for JavaScript.
  • Node.js is built on Google’s V8 JavaScript engine.
  • Node.js uses an asynchronous, event-driven programming model.
  • Node.js is single threaded and highly scalable.
  • Node.js is best suited for web applications.
  • Node.js is open-source with a huge community
  • Node.js is has many available libraries (Node Modules) via NPM library.
214
Q

What is Machine code:

A

It is a low-level code that the computer can run without needing to first interpret it.

215
Q

What does the package.json file contain:

A

The build, deployment, and runtime dependencies of a JavaScript application.

216
Q

The package.json is made up of the following:

A
  • name
    The name of the JavaScript application whose package prerequisites and dependencies are defined in this package description.
  • description
    A short description of the JavaScript application, whose package prerequisites and dependencies are defined in this package description.
  • private
    Use the private property to indicate if access to the package specified in name is restricted. Private packages are not published by npm.
  • version
    The version of the JavaScript application, whose package prerequisites and dependencies are defined in this package description.
  • repository
    The absolute path to the repository used by the JavaScript application, whose package prerequisites and dependencies are defined in the package description.
  • dependencies
    A list of dependencies that apply to the JavaScript application, whose package prerequisites and dependencies are defined in the package description.
  • engines
    The runtime engines used by the application specified in the name property.
  • scripts
    The script containing the command used to start the JavaScript application, along with any additional (required) options and parameters.
217
Q

Which is the correct sequence for creating the Hello World OData service using the SAP CAP Model?

A

Define , Implement, Run, Consume.

218
Q

What is Node.js?

A

It is a server-side runtime environment for JavaScript.

219
Q

Node.JS version is composed of:

A

Major/Minor/Patch.

220
Q

What does ~1.2.3 indicates:

A

allows patch level changes >=1.2.3 < 1.3.0.

221
Q

What does ~1.2 indicates:

A

allows patch level changes equivalent to 1.2.X.

222
Q

What does ~1. indicates:

A

allows patch level changes equivalent to >=1.0.0 < 2.0.0 equivalent to 1.X.

223
Q

What does ~1.2.3 indicates:

A

allows version changes with the same most left non zero digit - >=1.2.3 < 2.0.0.

224
Q

What does Ctrl + c 0.0.3 indicates:

A

allows >=0.0.3 <0.0.4.

225
Q

Applications are deployed to the target platform by using:

A

the push operation of the platform API.

226
Q

Pushing an application works as follows:

A
  1. The application files are uploaded to the platform.
  2. Buildpacks are executed to create archives, that create the self-contained and ready-to-run executable applications (downloading any required libraries and other dependencies, configuring the application). Different buildpacks exist for the different target runtime environments, such as Java or JavaScript/ Node.js.
  3. Applications are started as separate processes. At runtime, the applications need the connection information for the service instances to which they are bound. The applications obtain this information from process-specific environment variables, which are resolved by the platform in a process known as service wiring. Bindings can only be created between applications and service instances in the same space.
227
Q

Below are the two methods to run a Node.js module using Business Application Studio:

A

CDS run and CDS watch.

228
Q

When configuring files, the start scrips will be available for execution and the config are stored in which file:

A

the launch.json file.

229
Q

In the Run Configurations view, you can see the available dependencies as defined in the package.json file.

A

True.

230
Q

The following Cloud Foundry service types are supported for binding:

A
  • hana ( managed-hana is not supported)
    o PSA-based SAP HANA
    o HaaS (if configured as “Available for all IPs”)
    o SAP HANA Cloud (if configured as “Available for all IPs”)
  • xsuaa
  • auditlog
  • application-logs
    You can also bind directly to a destination.
231
Q

Creation of a simple “hello world” OData service using SAP CAPM Model is performed in 4 simple stages:

A
  1. Define Service using CDS - /srv/say.cds.
  2. Implementing using Node.Js express.js handler style - /srv/say.js or using Node.Js es6 classes style /srv/say.js
  3. Run using CDS - cds run or cds watch or cds serve world.cds.
  4. Consume using local browser – http://localhost:4004/say/hello(to=’world’).
232
Q

Which is the correct sequence for creating the Hello World OData service using the SAP CAP Model?

A

Define, implement, run and consume.

233
Q

What is Node.js:

A

It is a server-side runtime environment for JavaScript.

234
Q

To access Sap hana DB content such as tables, procedures and views from Node.js, the module to be used is

A

@sap/dbtext.

235
Q

What are the general rules of thumb in CAPM?

A

Declarative and service approach.

236
Q

What is Custom Code logic:

A

It is the code you can add to the application to express things like input validations, additional calculations, call to other services, to the database and more.

237
Q

We have 4 types of API’s:

A
  1. Construct, Reflection API.
  2. Querying API.
  3. Messaging API.
  4. Event Handling.
238
Q

What is Construct, Reflection API:

A

This deals with constructing and looking things up in services or connecting to other required services. Not commonly used. Usually, you will not be confronted too much with these.

239
Q

What is Querying API:

A

This is a query API, through which you can send synchronous queries to services, including databases.

240
Q

What is Messaging API :

A

This is the asynchronous counterpart of the query API, with which services can send messages to one another.

241
Q

Event Handling :

A

These are used to register custom event handlers.

242
Q

In SAP Cloud Application Programming Model, everything that happens at runtime is an event that is sent to a service.

A

True.

243
Q

What is an event handler:

A

it is a method, that is executed when something happens in the application.

244
Q

An event is registered as:

A

srv. <phase> (event>)</phase>

245
Q

<phase> is of the type:
</phase>

A

on, before or after.

246
Q

<event>
</event>

A

It is any kind of named event as string (e.g. ‘READ’).

247
Q

How can we send arbitrary events:

A

Using srv.emit().

248
Q

There are many ways to register JavaScript implementation to the Framework, the most commonly used is :

A

Option 1: In this method the Javascript file is placed next to the CDS (.cds) file used to define the service, the Javascript file needs to have the same name as the .cds file, this way the framework hooks up the implementation to the service file.

Option 2: Here we set the link through the impl annotation in your CDS model file (.cds), where the respective service implementation can be found. This is useful if you have diverging file names or you want to make it very explicit that the two files belong together.

Option 3 & 4: These are advanced and used with the CDS serve API to bootstrap your services on your own.

Option 5: Is used when dealing with external services.

249
Q

What is CAPM:

A

it is a set of libraries, Tools, language and framework for building SAP cloud applications.

250
Q

What are the steps for registering the handlers for option 1:

A
  1. Define
  2. Build
  3. Test
  4. Run
  5. Send request.
251
Q

Develop try/catch only when it is necessary:

A

True.

252
Q

Which of the following applies to Custom Event handlers?

A
  1. Multiple Event Handlers can be registered for same event.
  2. Registered custom handlers can add Domain logic to application.
  3. Single handlers can be registered for multiple events.
253
Q

The UI5 core has the following features and capabilities:

A
  1. ● Includes standards like MVC and various data-binding types
  2. ● Choose between different view formats (XML, HTML, JavaScript, JSON)
  3. ● Binding with OData, JSON, XML and other data formats
  4. ● Built-in support tool for exploring the object tree and binding status
254
Q

UI5 has the following features and capabilities:

A
  1. ● Translation and internationalization support
  2. ● Extensibility concepts at code and application level
  3. ● High contrast theme to aid visually impaired users
255
Q

What is this annotation used for @odata.draft.enabled:

A

to enable draft for an entity exposed by a service.

256
Q

What is Annotation Placement:

A

Although Placement of Annotations can be added to the models with no constraints, it is recommended to place them in the app folder.

257
Q

The set up of Fiori process commence on creating the right file path such as:

A

/app/resources/index.html file.

258
Q

What is the starting point for creating Fiori applications:

A

index.html.

259
Q

What is the structure of index.html:

A

Application – initial construction.
Bootstrap – contains configuration including the libraries to be loaded, resource root location and theme.
UI- Area: contains primary UI anchor.

260
Q

You are creating the index.html file of an UI5 application. What does the bootstrap contain?

A

The libraries to be loaded.

261
Q

What is the SAP Fiori List Report Template?

A

A wizard that generates a UI5 List Report based on an existing OData service.

262
Q

What are the three main areas of application security:

A
  1. Identity management
  2. Governance, risk & compliance.
  3. Authentication & Single sign on.
263
Q

For accessing the application, authentication and & single sign on uses the following features:

A

SAP identity authentication and single sign on.

264
Q

Identity management embraces the following:

A

SAP BTP identity provisioning service and SAP Identity management.

265
Q

Governance, Risk & compliance embraces:

A

SAP Cloud Identity access governance and SAP access Control.

266
Q

The main reason for creating CAPM is to:

A
  1. Provide a Simple way to Create Cloud-Based Apps
  2. The Apps and code which developer created can be made more reusable as modules
  3. Advantage of Microservice can be utilized
  4. Apps in Cloud can be Easly integrated with Cloud Services(like DB service, message broker service or Auth Provider service)
  5. A developer can focus more on the functional side of problem-solving
267
Q

All npm packages are defined in files called package.json.

A

True

268
Q

The content of package.json must be written in JSON.

A

True

269
Q

CAP applications use Core Data Services (CDS) to describe:

A
  1. Data structures by using entity definitions
  2. How data structures are consumed by using service definitions
270
Q

All active artefacts are named:

A

services and they are declared in CDs and they provide uniform APIs.

271
Q

Services react on events covering:

A

synchronous and asynchronous APIs.

272
Q

All data is passive without own behaviour, adhering to:

A

REST.

273
Q

Services are declared in CDS models, used to:

A

serve requests automatically. They embody the behavioral aspects of a domain in terms of exposed entities, actions, and events.

274
Q

The default project structure of CAP projects is as follows:

A

bookshop/ # Your project’s root folder
├─ app / # UI-related content goes here
├─ srv/ # Service-related content goes here
├─ db/ # Domain models and database-related content goes here
├─ package.json # Contains configuration for cds-dk
└─ readme.md # A readme placeholder

275
Q

What is app for:

A

UI-related content goes here.

276
Q

What is srv for:

A

Service-related content goes here.

277
Q

What is db for:

A

Domain models and database-related content goes here.

278
Q

What is package.json for:

A

Contains configuration for cds-dk.

279
Q

How to deploy from VSC to SAP Hana:

A

cds deploy –to hana

280
Q

What do entities represent:

A

domain data.

281
Q

Are namespaces compulsory:

A

False

282
Q

Why UUIDs are important:

A

that means that they’re unique across every system in the world, while sequences are only unique in the source system’s boundaries.

283
Q

Why do we need to use associations:

A

It is important to capture relationships between entities.

284
Q

Why do we need services – definition file:

A

It declares the data entities and operations it serves.

285
Q

What is the other name to title exposed views:

A

projections.

286
Q

What is localized data:

A

it is used to display books titles and descriptions in the user’s preferred language. With CDS we simply use the localized qualifier to tag respective text fields

287
Q

Which folder is used for UI5 development:

A

App.

288
Q

What can be used in the service file for enabling drafts for an entity to exposed by a service:

A

@odata.draft.enabled.

289
Q

What is i18n used for:

A

this is used for translating static text.

290
Q

What does localization commit do:

A

pushed changes to files to git.

291
Q

Application:

A

contains the construction of application.

292
Q

What does Bootstrap contains:

A

configuration including the libraries to be loaded, resource root location, and theme.

293
Q

What does Ui contains:

A

primarily UI anchor.

294
Q

You are creating the index.html file of an UI5 application. What does the bootstrap contain?

A

The libraries to be loaded.

295
Q

What is OpenUI5?

A

An open-source project.

296
Q

What is the SAP Fiori List Report Template?

A

A wizard that generates a UI5 List Report based on an existing OData service.

297
Q

Authentication & Single Sign-on:

A
  1. SAP Identity Authentication
  2. SAP Single Sign-On
298
Q

Identity Management:

A
  1. SAP BTP Identity Provisioning service
  2. SAP Identity Management
299
Q

Governance, Risk & Compliance:

A
  1. SAP Cloud Identity Access Governance
  2. SAP Access Control
300
Q

IDP identity providers, is it out of the box for SAP BTP:

A

True.

301
Q

Where is SAML used for:

A

External authentication provider.

302
Q

What is use for identity in SAP BTP:

A

authenticated identity.

303
Q

SAML can be change in SAP BTP at:

A

subaccount level.

304
Q

What are the two users’ model in Sap BTP:

A

Platform and business users.

305
Q

For platform users, the default is provided by:

A

SAP ID service.

306
Q

What is approuter:

A

it is Node JS library that is available in Public NPM. It represents a single entry point to your application.

307
Q

Approuter tasks are:

A
  1. Is the central entry point for our application, it dispatches requests to our back end microservices.
  2. It can serve static content such as webpages, SAPUI5 or another client side code.
  3. It manages the authentication flows for our entire application.
308
Q

Is approuter a Node.js component:

A

True.

309
Q

What is the application router’s design time descriptor:

A

xs-app.json

310
Q

How do we manage authorizations:

A

via technical roles at the application levels.

311
Q

Main Properties on root level are:

A
  1. authenticationMethod
  2. logout
  3. destinations
  4. services
312
Q

What is JSON Web Token (JWT) A JSON Web Token (JWT)

A

It is an open standard (RFC 7519) that defines a compact and self\u0002contained way for securely transmitting information between parties as a JSON object.

313
Q

When should you use JSOn Web Tokens:

A
  1. Authorizations
  2. Information exchange
314
Q

Where is user assigned to:

A

Role collection.

315
Q

Role Collection has many Roles:

A

True.

316
Q

What does Role contain:

A

Scope.

317
Q

What is Scope

A

Scopes are arbitrary values that express authorizations / access rights in an application or service. Scopes need to be prefixed with an xsappname to make them uniquely identifiable.

318
Q

What is Roles:

A

Role-collections contain one or more roles. A role can be used in multiple role-collections. But it is totally fine to have for example a role-collection called Admin that only has an admin role.

319
Q

What is Role-collections:

A

they are stored as an assignment in the XSUAA and are THE entity that can be assigned to a certain business user.

320
Q

Does XSUAA store data:

A

False.

321
Q

In security terms, what is Scopes:

A

Scopes are arbitrary values that express authorizations / access rights in an application or service. Scopes need to be prefixed with an xsappname to make them uniquely identifiable.

322
Q

What is role:

A

Roles are entities that hold several scopes. Scopes can be put in multiple roles, so you are not limited to have scopes sitting in just one role.

323
Q

What are Role-Collections:

A

Role-collections contain one or more roles. A role can be used in multiple role-collections. But it is totally fine to have for example a role-collection called Admin that only has an admin role.

324
Q

What is a xs-security.json?

A

The “declaration of your app’s security”.

325
Q

What authorization means:

A

restricting access to data.

326
Q

What does user role do:

A

These reflects how the user interact with an application.

327
Q

SAP CAPM supports the following pseudo roles:

A
  1. authenticated-user refers to (named or unnamed) users who have presented a valid authentication claim such as a logon token.
  2. system-user denotes an unnamed user used for technical communication.
  3. any refers to all users including anonymous ones (that means, public access without authentication).
328
Q

Restrictions can be defined on different CDS resources:

A
  1. Services
  2. Entities
  3. (un)bound actions and functions
329
Q

The term restriction in CDS is referred:

A
  1. grant one or more events the privilege applies to
  2. to:one or more user roles the privilege applies to (optional)
  3. where: a filter condition that further restricts access on instance level (optional)
330
Q

To enable authentication support in CAP, a node.js module called passport needs to be installed via npm instruction

A

npm install –save passport

331
Q

At which SAP BTP level is the role administrator assigned:

A

Global Account.

332
Q

At which SAP BTP level is the security administrator role assigned:

A

sub account level.

333
Q

At which SAP BTP level is the organization role assigned:

A

subaccount level.

334
Q

What is scopes:

A

Scopes are arbitrary values that express authorizations / access rights in an application or service. Scopes need to be prefixed with an xsappname to make them uniquely identifiable.

335
Q

What is roles:

A

Roles are entities that hold several scopes. Scopes can be put in multiple roles, so you are not limited to have scopes sitting in just one role.

336
Q

What are role collections:

A

Role-collections contain one or more roles. A role can be used in multiple role-collections. But it is totally fine to have for example a role-collection called Admin that only has an admin role. Role-collections are stored as an assignment in the XSUAA and are THE entity that can be assigned to a certain business user.

337
Q

Event can be restricted on CDS views by us8ing:

A

@readonly and @insertonly.

338
Q

@requires is used for:

A

specifying one or more user roles (as a single string or an array of string) that the current user must be assigned.

339
Q

@restrict is used for:

A

It enables the user to have fine grained control through an array of privileges given as grant statements in the form of {grant:,operation>,to:<role>,…}</role>

340
Q

What are the properties used with @requires and @restrict:

A
  1. Grant - one or more events the privilege applies to.
  2. To - one or more user roles the privilege applies to (optional)
  3. Where - a filter condition that further restricts access on instance level (optional).
341
Q

Draft entities can only be edited by the creator user:

A

True.

342
Q

What does imply if a user has the privilege to update an entity:

A

the user can put it into draft mode and update, delete, and activate it.

343
Q

What does imply if a user has the privilege to create an entity:

A

the user has the privilege to create new draft entity and update, delete, and activate it.

344
Q

What is needed for supporting CAPM, and Node.Js:

A

install a passport – npm install –save passport.

345
Q

What is used for User Authentication?

A

Identity provider.

346
Q

The current domain model consists of:

A

Account, Subaccount(s), Spaces

347
Q

What are the service plans:

A

lite, standard, or service.

348
Q

What is REST point:

A

an API URL to an app to invoke actions through the job scheduling.

349
Q

What is an instance:

A

a job scheduling and XSUAA instance has to be bound to app9s).

350
Q

What are the prerequisites for job scheduling:

A
  1. BTP Account
  2. BTP access, global account- and subaccount has to be set up appropriately.
  3. Role
  4. For this kind of Service the Global Account Administrator role is necessary.
  5. Quota
  6. The contract with SAP has to allow the usage of this service.
  7. Space
  8. The location of the Job Scheduling Service with all applications is the level Space.
  9. Space Role
  10. For binding the service instance to your applications you need to have the Space Developer or alternatively-the Space Manager Role.
  11. Application
  12. The SAP Job Scheduling Service does not take care of applications. This has to be set up before it is possible to use this service.
  13. Endpoint
  14. Accordingly to applications also its endpoints have to be configured and tested positively before using the Scheduling Service.
  15. Location
  16. It is compulsory to have Applications and the Job Scheduling Service Instance in the same space.
  17. After the subscription to the SAP Job Scheduling Service, what is the next activity: a service instance must be created and bind it to the right to use the service.
351
Q

In CAPM the binding between services and applications can take place in two different places:

A
  1. SAP BTP Cockpit
  2. CLI - Cloud Foundry command line interface
    In this introduction we will use the SAP BTP Cockpit for setting up the SAP Job Scheduling Service.
352
Q

What is the process flow using job scheduling service:

A
  1. Create an instance of the SAP job Scheduling service
  2. Create an xsuaa service instance.
  3. Deploy the application.
  4. Bind the xsuaa service instance to your application.
353
Q

When the scheduler invokes the endpoint, it passes the request with the following asynchronous process:

A
  1. x-sap-job-id- Job ID
  2. x-sap-job-schedule-id - Job Schedule ID,
  3. x-sap-job-run-id- Job Run ID
  4. x-sap-scheduler-host- SAP Job Scheduling service Host URI
354
Q

Cloud Foundry tasks always run asynchronously:

A

True.

355
Q

Synchronous mode is used for:

A

sending an Email, checking for currencies. Process with a short span of time.

356
Q

Asynchronous mode is used for:

A

operations that take more than 15 seconds.

357
Q

Synchronous mode overview:

A
  1. When the scheduler invokes the endpoint, the application must return the response with an appropriate HTTP status code, indicating success or failure.
  2. To indicate success, the application must use a suitable standard status code between 200 and 399, except 202-ACCEPTED.
  3. To indicate an execution failure, the application must use one of the server error codes as outlined in the HTTP protocol specification.
358
Q

How to create a job:

A
  1. Navigate to the Jobs section.
  2. Click Create Job
  3. In the next window provide the details
    * Name- Name of the job. Name must not contain special characters or only numbers.
    * Description-Provides more details about a job.
    * Target application- The deployed application.
    * Action - The fully qualified URL endpoint to be called when the job runs.
    * HTTP Method- The HTTP method to be used to call the job action endpoint URL. Allowed values are “GET”, “POST” , “PUT”, and “DELETE”.
    * Start Time- Start time for the job. The scheduler checks if a start time for a schedule is available apart from the start time available for a job. The schedule start time is used for determining the start of the schedule run. If the schedule start time is not available, the start time of the job is used.
    * End Time- End time for the job. The scheduler checks if an end time for a schedule is available apart from the end time available for a job. The schedule end time is used for determining the end of the schedule run. If the schedule end time is not available, the end time of the job is used.
    * Active- Activation status of the job (default value is false).
359
Q

There are two types of schedules:

A

one time and recurring.

360
Q

What are the prerequisites for using the Job Scheduling Service?

A
  1. BTP Account
  2. Quota
  3. Role
361
Q

When the scheduler invokes the endpoint, the application which HTTP status code is returned to indicate success:

A

200-201.

362
Q

What is NODE.JS:

A

it is a runtime environment.

363
Q

What are the parts of a browser:

A

It takes JS processed by JS engine and produces machine code.

364
Q

Which engine is used in node.js:

A

V8.

365
Q

What node.js is mode of:

A

V8 engine inside a C++ environment.

366
Q

Are node.js asynchronous by default:

A

True.

367
Q

Every file is a module in node.js

A

True.

368
Q

Global variables must be explicitly made public:

A

True.

369
Q

Objects defined in a module cannot be accessed outside this module, the objects are called:

A

Private.

370
Q

Should variables and functions be defined globally:

A

False.

371
Q

Which parameters are mandatory in the Global Elements section of an mta.yaml file?

Note: There are 3 correct answers to this question.

A

_schema-version
ID
version