Font size
WorksheetsReactive Dev
Total questions: 164
Worksheet time: 1hrs 22mins
Which of the following statements about Entities is false?
A. Entities have attributes.
B. Entities do not require an identifier.
C. Entities are only stored in memory.
D. Entities can be created, updated, and deleted.
Which of the following is not a Development Environment?
A. Service Studio
B. Integration Studio
C. Service Center
One of the following Tools allows you to manage the application's lifecycle across an infrastructure. Which one?
A. Service Center
B. LifeTime
C. Service Studio
D. Integration Studio
During the 1-Click Publish, your application data model, code, and interface is compiled and generates .NET code, HTML, JavaScript and CSS.
A. True
B. False
In which Service Studio layer can Screens and Blocks be found?
A. Processes
B. Interface
C. Logic
D. Data
In which Service Studio layer can Entities be found?
A. Processes
B. Interface
C. Logic
D. Data
Regarding Reactive Web Apps in OutSystems, which of the following options is false?
A. Reactive Web app is a cross-device app.
B. Data requests are executed synchronously.
C. The code generated by OutSystems results in a single-page application.
D. A developer builds the Reactive Web App in Service Studio.
Regarding Mobile (Phone or Tablet) Apps in OutSystems, which of the following options is false?
A. Mobile Apps can run natively on iOS and Android.
B. Mobile Apps can be distributed as a PWA.
C. Mobile Apps do not have offline capabilities.
D. The programming model of Mobile Apps is similar to Reactive Web Apps.
What happens when a developer publishes a module?
A. The OutSystems platform compiles it and generates the HTML, CSS, and JavaScript.
B. The browser opens.
C Nothing.
D. The code is uploaded but only compiled when a user accesses the application.
Which of the following options is false regarding Modules and Applications?
A. An application is composed of a set of modules.
B. Modules can be of different types such as Reactive Web App, Blank or Extension.
C. Elements can be exposed and reused, but only within the same application.
D. A module that reuses an element from another module is called a Consumer.
Business concepts that need to be stored and accessed in our applications should be modeled as...
A. Entities.
B. Entity diagrams.
C. Entity relationships.
D. Database tables
Which of the following mappings between OutSystems and the Database is NOT correct?
A. Entities - Tables.
B. Attributes - Column.
C. Reference attribute - Primary Key.
D. Index - Index.
If an Entity Attribute named HouseNumber is created, what needs to happen to its Data Type?
A. It should be set to Integer.
B. It should be set to Decimal.
C. Nothing, it will automatically be set to Identifier.
D. Nothing, it will automatically be set to Integer.
Which of the following is not an Entity Action of the Customer Entity?
A.CreateCustomer.
B.RetrieveCustomer.
C. UpdateCustomer.
D. DeleteCustomer.
Which of the following is a characteristic of a Static Entity?
A. It can't be changed after the first publish.
B. It contains a set of Records.
C. It has two Entity Actions.
D. It can't be extended with any new attributes.
Regarding the Records of a Static Entity, which of the following options is false?
A. The values for all 4 default attributes must be defined.
B. Records can only be added and removed during development.
C. The record identifier is the identifier of Static Entity.
D. The Identifier attribute is required for all Static Entities.
Static Entities are most similar to which other programming concept?
A. Linked lists
B. Enumeration
C. Hash Maps
D. Static variables
Screens can be composed of a combination of several elements called Widgets.
A. True
B. False
What type of variables can be created inside a Screen?
A. Local Variables only.
B. Input Parameters only.
C. Input Parameters and Local Variables.
D. Input Parameters, Output Parameters, and Local Variables.
The Expression widget...
A. ... displays only static text.
B. ... displays text calculated at runtime.
C. ... displays only the result of mathematical expressions.
Which of the following behaviors is true for Links and Buttons?
A. Links can only navigate to Screens.
B. Buttons can only have a Screen Action as an On Click Destination.
C. Links and Buttons can either Navigate to screens or trigger Screen Actions.
D. Only Links can navigate to external URLs.
Regarding the If Widget, which of the following options is false?
A. Functions can be used inside the Condition of an If.
B. More branches may be added to an If Widget.
C. Only one of the branches is shown at runtime.
D. Multiple widgets may be added inside each branch.
Regarding the Container widget, which of the following options is false?
A. Containers allow grouping several widgets.
B. By default, containers can span from 1 column up to 12 columns.
C. Containers can be placed inside other containers.
D. All containers must have at least one widget inside.
Which of the following options is correct?
A. Screen Actions can call other Screen Actions from a different screen.
B. Client Actions can call Screen Actions.
C. Server Actions can call Client Actions.
D. Client Actions can call Server Actions.
Client Actions and Server Actions can have the following variables:
A. Input and Output Parameters, but no Local variables.
B. Input Parameters and Local Variables, but no Output Parameters.
C. Input and Output Parameters, as well as Local Variables.
D. Output Parameters and Local Variables, but no Input Parameters.
The flow of an action can have...
A. ... multiple Start and End nodes.
B. ... one or more Start nodes but only one End node.
C. ... only one Start node but multiple End nodes.
D. ... only one Start node and one End node.
Regarding the If statement, which of the following options is false?
A. Both True and False branches are mandatory.
B. Only one of the branches is executed, depending on the If condition's outcome.
C. If statements can also be used to implement ad-hoc loops.
D. More branches may be added if needed.
Regarding the Switch statement, which of the following options is false?
A. The first branch that the condition evaluates to True is executed.
B. Every branch that evaluates to True is executed.
C. If no branch evaluates to True, the Otherwise branch is executed.
D. The Otherwise branch must exist.
Inside an Action flow...
A. ... only one Exception Handler may exist
B. ... it's mandatory to have at least one Exception Handler.
C. ... the Exception Handler flow can't intersect other flows.
If we have multiple Exception Handlers in an Action flow and an Exception is raised...
A. ... the execution is always moved to the Global Exception Handler.
B. ... the execution is moved to the Exception Handler that is most specific to the Exception.
C. ... the execution is moved to all Exception Handlers of the Action.
D. ... a Switch statement is needed to select which Exception Handler will continue the execution.
In an Aggregate, the Sources section is used for...
A. Defining values for testing the Aggregate's output records.
B. Defining the Entities we want to retrieve records from
C. Defining conditions to get specific subsets of records
D. Defining the order of the Aggregate's output records.
Considering that we can add several filters to an Aggregate, which of the following options is false?
A. A record is included in the output if it matches at least one of the filters.
B. Filters are concatenated with the AND operator.
C. All filters are translated to SQL and included in the WHERE clause.
D. Logical operators and some built-in functions can be used inside filters.
Regarding Sorting in Aggregates, which of the following options is correct?
A. Aggregates only support one sorting criterion.
B. If more than one sorting criterion is defined, all of them must have the same direction (ascending or descending).
C. It is mandatory to set the direction for all sorting criteria (ascending or descending).
D. It is only possible to set multiple sorting criteria if duplicate records exist in the entity.
In an Aggregate, the purpose of the Test Values section is...
A. To define values for testing the preview of the Aggregate's output.
B. To set the conditions to get specific records, not all the records.
C. To define the order of its output records.
D. To define the Entities we want to get records from.
Regarding Screen Aggregates, which of the following options is false?
A. Screen Aggregates run asynchronously and in parallel.
B. Screen Aggregates only exist within the scope of the Screen where they were defined.
C. Screen Aggregates can only be executed when explicitly called.
D. By default, Screen Aggregates run automatically.
Screen Aggregates can only fetch data from the database.
How is the data fetched by an Aggregate bound to a Table or a List widget?
A. By setting the Source property of the widget to the output of the Aggregate.
B. The binding is done automatically since the Aggregate is in the scope of the Screen.
C. By adding an Expression inside the widget that refers to an attribute of the data fetched by the Aggregate.
D. By creating a Screen Action that programmatically assigns the widget to the data fetched by the Aggregate.
Considering ListItem and List Actions, which of the following options is false?
A. List Actions can only be used inside List Items.
B. List Items can be used outside of Lists
C. When List Items have the full swiping option activated, the List Action is not necessary.
D. The List Action triggers a Screen Action that will have the logic to be executed on swipe.
Regarding data relationships, which of the following options is correct?
A. An Entity must have an identifier to allow relationships.
B. A reference attribute needs to be mandatory.
C. An Entity can only have one reference attribute.
D. The Entity identifier must be an integer.
Which of the following steps is necessary to create a 1-to-1 relationship between Entity A and Entity B?
A. Set the data type of the identifier attribute of Entity B to Entity A Identifier.
B. Add a new Entity C, with two reference attributes of type Entity A Identifier and Entity B Identifier.
C. Add a new reference attribute of type Entity B Identifier to Entity A.
D. Add a new Entity C, with the identifier attribute being a composition of types Entity A Identifier and Entity B Identifier.
Which of the following steps is necessary to create a 1-to-many relationship between a Master Entity A and a Detail Entity B?
A. Set the data type of the identifier attribute of Entity B to Entity A Identifier.
B. Add a new Entity C, with two reference attributes of type Entity A Identifier and Entity B Identifier.
C. Entity A must have a reference attribute of type Entity B Identifier.
D. Entity B must have a reference attribute of type Entity A Identifier.
Which of the following steps is necessary to create a many-to-many relationship between Entity A and Entity B?
A. Set the data type of the identifier attribute of Entity B to Entity A Identifier.
B. Add a new reference attribute of type Entity B Identifier to Entity A
C. Add a new Entity C, with two reference attributes of type Entity A Identifier and Entity B Identifier.
D. Add a new reference attribute of type Entity B Identifier to Entity A and a new reference attribute of type Entity A Identifier to Entity B.
Regarding Indexes, which of the following options is correct?
A. Custom indexes cannot be added to an Entity.
B. Indexes speed up data retrieval without any kind of impact.
C. Unique indexes help prevent data duplication.
D. Indexes over referenced attributes cannot be deleted.
Regarding the Delete Rule property, which of the following options does not guarantee referential integrity?
Ignore
Delete
Protect
Which of the following behaviors does not apply to Forms?
A Form groups input widgets and allows displaying and editing data.
A Form has a Source property that will hold the values submitted by the user.
Besides input widgets, a Form can hold other widgets such as Links and Buttons
The Checkbox or Switch Widgets are bound to a variable of which type?
Text
Integer
Boolean
Date
Considering Inputs and Labels, which of the following options is correct?
A. Every input must have a Label associated with.
B. An input widget can only be used for the Text data type.
C. To access the value submitted in an Input widget, we can simply use InputName.Value.
D. Labels associated with mandatory fields will display a visual cue on the Screen.
What is the Screen behavior when a widget is not valid (Valid property set to False)?
A. The Screen displays the widget greyed out, and displays the validation error message on the input.
B. The widget does not appear on the Screen and the validation message appears in its place.
C. Displays the regular widget and displays the validation error message when we hover the mouse.
D. Displays the regular widget, applies a specific styling (e.g. red border), and displays the validation error message.
Which of the following options is not a built-in validation in OutSystems?
Mandatory Fields
Maximum Length of text fields
Data types of input fields
Which of the following options is correct regarding the Valid property of the Form?
The Valid property of the Form should be checked after the last custom validation.
The Valid property of the Form is automatically changed to False when all the input fields of the Form are not valid.
The Valid property of the Form should be explicitly set to False (e.g. with an Assign) when an input field is not valid.
When built-in validations are enabled, the Valid property of the Form is automatically checked before executing the client action logic.
Which of the following options is correct regarding the Valid property of the Form?
The Valid property of the Form should be checked after the last custom validation.
The Valid property of the Form is automatically changed to False when all the input fields of the Form are not valid.
The Valid property of the Form should be explicitly set to False (e.g. with an Assign) when an input field is not valid.
When built-in validations are enabled, the Valid property of the Form is automatically checked before executing the client action logic.
In OutSystems, how do we restrict access to a Screen?
Go to the Users application and associate the Screen to a specific role.
In the Screen Properties, untick roles to restrict their access.
Use the CheckRole Action.
We don't. Only users with a username and password can access.
Considering the built-in Role Actions, which of the following options is false?
The CheckRole Action checks if a user has that particular Role.
The GrantRole Action allows to grant a Role to a user programmatically.
The RevokeRole Action allows to remove a Role from a user programmatically.
The CreateUserWithRole Action creates an end-user and assigns it the Role.
In OutSystems, where can we place breakpoints?
In Actions only (Client-side and Server-Side)
Server-side logic only
Client-side logic only
In Actions and Variables
In OutSystems, it is possible to inspect the values of variables while debugging.
A. True
B. False
Which of the following commands is not available in the OutSystems debugger?
Stop Debugging
Continue Request
Step Over
Restart Debugging
When debugging a consumer module, how do we guarantee that the execution stops on breakpoints defined in the producer module?
We just need to set breakpoints in the producer module. The execution will stop on its breakpoints automatically.
We need to also start the debugger on the producer module.
Nothing, just leave Service Studio open.
In the producer, set the Entry Module property to the consumer module.
In OutSystems, a Block is a reusable UI component. Which of the following is NOT correct?
A Block promotes reusability, i.e. develop once, reuse many times.
A Block encapsulates its own logic
A Block improves maintainability, i.e., change the design or functionality, affect all usages.
A Block can only be reused once.
A Block can be used...
Only inside other Screens.
Inside Screens and Blocks, including itself.
Inside Screens and Blocks, except on itself.
Only inside other Blocks.
Regarding Placeholders, which of the following options is correct?
A Placeholder reserves space in the interface to be allocated when the block is instantiated.
When a Block with Placeholders is instantiated, it is mandatory to place at least one widget inside the placeholders.
Placeholders can be added to Screens and Blocks.
Only one placeholder may be added per Block.
Regarding Block Events, which of the following options is false?
A. Events can be defined at the Block or Screen level.
B. Events allow to pass information from the Block's scope to the parent scope.
C. Events are triggered by a Block and handled by its parent.
D. Two instances of a Block may use the same handler for the same event.
In which of the following situations is it necessary to define a handler for a Block Event?
A. When the event has Input Parameters.
B. When the Block has Placeholders.
C. When the event Input Parameters are all mandatory.
D. When the Event is set to mandatory.
In which of the following situations is the On Parameters Changed Event triggered?
If the value of a Block Input Parameters changes inside a Client Action of the Block.
The On Parameters Changed must be explicitly triggered by the parent of the Block
When the parent of the Block changes the value of at least one of the Block Input Parameters.
Which of the following events is not available in Screens or Blocks?
Initialize
Ready
After Fetch
Render
Considering the Initialize event of a Screen, which of the following would be the best use case for that event?
Retrieve data from the server database.
Act on data returned by a Data Action.
Manipulate the DOM.
Set the Default Value of Local Variable
Which of the following is the correct order of occurrence of events in a Screen?
Initialize, Ready, Render, Destroy.
Initialize, Destroy, Ready, Render.
Ready, Initialize, Render, Destroy
Initialize, Render, Ready, Destroy.
Which of the following options is false regarding Screen Aggregates?
The Render Event on the Screen is triggered when an Aggregate with the Fetch property set to "only on demand" finishes its execution.
A Screen Aggregate can be triggered when a screen is initializing or only On Demand
All Aggregates, by default, have the Fetch property set to On Demand.
The On After Fetch Event is triggered for every Aggregate, regardless of its Fetch property.
Consider an Aggregate with the Fetch property set to Only On Demand. When does that Aggregate run?
Automatically, when the Screen is initializing.
Programmatically, using a Refresh Data node in a Screen Action.
Automatically, when the Aggregates set to run "At Start" finish.
Programmatically, using a Server Action.
Which of the following options is correct regarding Client Variables?
The value of a Client Variable is shared among all logged-in users.
Lists or Binary Data can also be stored on Client Variables.
Client Variables should be used to store confidential information
Client Variables are useful to cache frequently accessed information.
Which of the following would be a good use case for a Client Variable?
Credit Card Number
Profile Picture
User Identifier
UserName
The value of a Site Property can be modified in Service Center to change the application behavior at runtime.
True
False
Which of the following is a good use case for a Site Property?
Current User Id
Total Stock Quantity of Products
REST Web Service API key
Search Keyword
Which of the following options is correct, when implementing pagination with Tables or Lists?
The Start Index property of the Pagination holds the current page number.
The Max Records property of the Pagination holds the number of records to show per page.
The Total Count input of the Pagination pattern should be set to the number of records per page.
Regarding sorting in a Table, which of the following options is correct?
All header cells need to have the Sort Attribute property defined.
Only the Sort Attribute of the header cells needs to be defined. Data is refreshed automatically.
The On Sort event has an input parameter containing the clicked column.
Regarding sorting Lists, which of the following options is correct?
Lists have a built-in On Sort event.
Sort clauses cannot be changed dynamically at runtime when using Lists
Other Widgets should be used to allow the end-user to define the sort criteria.
Which of the following is the correct syntax for Entities and Attributes?
{Entity}.[Attribute]
(Entity).{Attribute}
[Entity].{Attribute}
Entity.Attribute
Considering Aggregates and the SQL Tool, which of the following is the correct option?
All queries that can be written in an SQL Tool can be defined in an Aggregate
B. Joins between entities can only be defined in Aggregates.
C. The SQL Tool allows to write queries that contain sub-queries.
D. Attribute grouping can only be done with the SQL Tool.
A developer should favor using a Structure instead of the Entity in the output of a SELECT SQL Query. Do you agree with this statement?
A. Yes, because queries become easier to maintain.
B. Yes, because queries will retrieve fewer Attributes and less data.
C. No, since it is exactly the same.
D. No, it is preferable to use the Entity instead of the Structure.
Regarding non-SELECT queries, which of the following options is correct?
It is not possible to execute DELETE queries with the SQL Tool.
It is not possible to use Query Parameters in Non-SELECT queries.
It is mandatory to specify all Attributes in an INSERT query.
It is mandatory to set the Output Entity or Structure.
Mobile Apps have access to local storage and can be developed to work offline, online, or in both scenarios
True
False
In a ReactiveWeb App, Data is requested asynchronously, thus allowing a more fluid experience.
True
False
LifeTime allows you to manage IT users and teams.
True
False
Attributes of static entities can be mandatory or not. A value is only required to be set if the attribute is mandatory.
True
False
Screens have Output Parameters.
True
False
The scope of Input Parameters and Local Variables is limited to the Screen where they are defined.
True
False
Screen Actions can also call Server Actions.
True
False
Considering Users and Roles in OutSystems, which of the following options is correct?
By default, end-users are managed in the built-in Users application.
End-users can only be created programmatically, using Actions from the Users application.
There are three built-in roles in OutSystems: Anonymous, AppUser and Registered.
All users, with or without a login, have automatically the Registered Role.
Consider an Aggregate with a "With or Without" join between two entities. What is the expected output of the Aggregate?
All records from both Entities (FULL OUTER JOIN).
Only records where there is a match between the two Entities (INNER JOIN).
All records from the left entity even if there is no match in the right entity (LEFT JOIN).
All records from the right entity even if there is no match in the left entity (RIGHT JOIN).
Considering that Aggregates can have hidden columns, which of the following options is correct?
Hiding columns in the Aggregate only affects the preview of the output.
Columns that are empty in the database are automatically hidden.
The hidden columns help optimizing the Aggregate.
The hidden columns are not part of the output.
Which of the following elements can't be used to create calculated attributes in an Aggregate?
Value of the attributes of the Source Entities.
Built-in Functions that can be translated to SQL (e.g. Length(), Power()).
Variables.
Server Actions using Entity Attributes.
Consider that we want to apply aggregation functions in an Aggregate. Which of the following options is false?
We can apply multiple aggregation functions inside an Aggregate.
The output of the Aggregate will contain all attributes from the Source Entities plus the aggregation columns.
We can apply the following functions on attributes of integer data type: sum, max, min, count and average.
The output of the Aggregate will not include the columns at grey.
The order of the Entities in the join does not matter.
True
False
Which event is only available in Screen Aggregates and Data Actions and acts upon data fetched from the database or server.
Ready
Render
Destroy
After Fetch
Which event is used to set focus on one particular widget?
Ready
Render
Destroy
After Fetch
Which event is best used for adding Javascript listeners to elements that are part of the DOM?
Ready
Render
Destroy
After Fetch
Which event is best used to react changes in data?
Ready
Render
Destroy
After Fetch
Which event is needed for very specific use cases such as removing Javascript listeners or to clean the DOM that was previously changed in the ready event?
Ready
Render
Destroy
After Fetch
Which event is useful when aggregates depend on each other?
Ready
Render
Destroy
After Fetch
Which event is needed if we do some logic over the result such as checking if it is empty?
Ready
Render
Destroy
After Fetch
Which event handler of the first aggregate can be used to refresh the query of the second aggregate?
On Ready
On Render
On Destroy
On After Fetch
For a record to be included in the output result it must be true for all filters defined.
True
False
Considering the following entities, what is required to create a many-to-many relationship between them?
Create a third Entity that contains two attributes of types Order Identifier and Product Identifier.
Create a third Entity with a primary key of type Order Identifier and an attribute of type Product Identifier.
Create an attribute of type Order Identifier in the Product Entity and an attribute of type Product Identifier in the Order Entity.
Create an attribute of type Product Identifier in the Order Entity.
OutSystems, an Entity Identifier ...
must have its Data Type set to Long Integer.
must be set to Auto Number.
can only be a single attribute.
is created automatically and cannot be modified.
Considering the ff. aggregate, what will be the attributes of the GetOrdersShippingState.List.Current record?
The two aggregation attributes: ShippingState and Count.
The two aggregation attributes (ShippingState and Count) plus all the attributes of the Source Entity.
Six attributes corresponding to the six visible columns in the Aggregate: ShippingState, Count, Description, DueDate, CreatedOn and Priority.
The two aggregation attributes (ShippingState and Count) plus the columns used to calculate these aggregations.
Considering the ff aggregate, where the Orders are fetched with their reviewers (Employees), which of the following options is correct?
The Aggregate only returns Orders with Priority, Status and Employee.
The Aggregate returns Orders without Employee and without Status.
The Aggregate returns Orders with Status and at least one Employee.
The Aggregate returns Orders with Priority and with zero or more Employees.
How would you change the following aggregate to return the number of orders per priority?
Change the Join between the Order and the Priority to Only With and create a Count over the Priority.Id attribute.
Create a Group By over the Priority.Id attribute and a Count over the Order.Id attribute.
Create a GroupBy over the Order.Id attribute and a Count over the Priority.Id attribute.
Remove the Join between the Order and the OrderStatus and create a Count over the Priority.Id attribute.
Considering the On Initialize lifecycle event, which of the following options is true?
The On Initialize event is triggered before the Screen or Block is rendered and before fetching any data.
The On Initialize event is triggered after the Screen or Block has been rendered, so you can use it to manipulate its structure.
The On Initialize event is triggered after an Aggregate finishes fetching data and can be used to act upon the retrieved data before it's used in the Screen.
The On Initialize event is triggered after the input parameter of a Block changes.
The following Screen (https://drive.google.com/file/d/1gm2xpbBQmE-KTAHtCdj4wT0jNLnpDzZX/view?usp=sharing) has two Dropdowns, one to select a Country and one to select a City. The GetCountries and GetCities Aggregates provide the countries and the cities to be displayed in the respective dropdowns and are both set to be fetched At Start. Which of the following options is not a valid step if we want to just fetch the cities for the country
selected in the respective dropdown?
Set the Fetch property of the GetCities Aggregate to Only On Demand.
Refresh the GetCities Aggregate in the OnChange Action of the Country Dropdown.
Filter the GetCities Aggregate by the selected country.
Call the GetCities Aggregate in the GetCountries' On After Fetch Event handler.
Regarding Blocks in OutSystems reactive apps, which of the following options is correct?
Blocks can only be instantiated on Screens.
Blocks can be instantiated on Screens and other Blocks.
Blocks can be instantiated on Client Actions on the Screen.
Blocks can be instantiated on Screens and external HTML pages, using a special HTML tag.
Which of the following options is a valid usage of the Trigger Event node (https://drive.google.com/file/d/1R2cEa-XAB6XyZSbdHVbD8tVY_4E_h4ge/view?usp=sharing)?
The Trigger Event allows a Block to notify its parent (Screen or Block) that something relevant occurred in the scope of the Block.
The Trigger Event allows a Screen to notify its children (Blocks) that something relevant occurred in the scope of the Screen.
The Trigger Event allows a Block to notify its children (other Blocks) that something relevant occurred in the scope of the Block.
The Trigger Event allows a Screen to notify its parent (Screen or Block) that something relevant occurred in the scope of the Screen.
Consider a Form with a Save button with the Built-in Validations property set to Yes. When a user clicks on the Save button, some validations over the data submitted to the Form are automatically performed by OutSystems by default. Which validations are those?
Check if the mandatory fields are filled in
Check if the mandatory fields are filled in and if the non-mandatory fields, that are later used in the logic, are also filled in.
Check if the mandatory fields are filled in and if the data submitted by the user matches the data type expected in the input fields.
Check if the mandatory fields are filled in and if the data submitted by the user matches the data type of the Form's data source.
which will allow a user to select a color. What should be set in the Options Text property to make sure that the names of the colors appear in the dropdown?
Color.id
GetColors.Color.label
Color
Color.label
Considering a Button in a Screen, which of the following options cannot be set as its On Click Destination?
Screen
Client Action
Block
External Site
which returns an absolute value (abs) of a number N passed as Input Parameter. When does the Action return 0 ?
Never
When the input parameter (N) is less than zero.
When the input parameter (N) is zero.
When the input parameter (N) is greater than zero.
Consider the following Server Action. What happens if the GetEmployeeById Aggregate does not return any record?
The DatabaseException flow is executed.
The RecordNotFound flow is executed.
No exception flow is executed.
The module's global exception handler is executed.
Considering the Function property in Client Actions, which of the following options is correct?
Setting the Function property to Yes restricts the Action to have only one Output Parameter.
Setting the Function property to No ensures the Action can only be used in the module where it is defined.
Setting the Function property to Yes is not possible, if the Action is exposed to other modules as Public.
Setting the Function property to No ensures the Action can only be used in Screen Expressions.
Considering that Michael is a user of the Orders application, with only the OrdersAdmin Role assigned to him, which of the following options is correct?
Michael has access to Screens with the Registered Role checked.
Michael does not have access to Screens with the Anonymous Role checked.
Michael has access to Screens that have the OrdersAdmin Role checked, but not to Screens with the Registered Role checked.
Michael has only access to Screens that have the OrdersAdmin Role checked.
Which of the following options should not be a use case of client variables?
Username
Password
Search Filter Keyword
Id of usersession
that calculates the square root (sqrt) of a positive decimal number (N). Knowing that the function was called with N = 0, and the debugger is stopped at the Start node, what will happen when the developer selects the Continue (F9) option highlighted in the picture?
The Action will end, with sqrt = 0.
The Action will throw an exception and sqrt will have no value.
The debugger will stop in the N < 0 If node.
The debugger will stop at the breakpoint in the End node.
that is associated with an already implemented Table on a Screen. There are no errors in Service Studio, but when the user selects a new page (in the pagination widget) the results do not change on the Table. What is the reason for that behavior?
The GetMovies Aggregate is not being refreshed in the OnNavigate Action.
The Max. Records of the Aggregate should be equal to the total number of movies in the database.
The Table is not being refreshed on the OnNavigate Action.
The Max Records property of the Pagination should be set to GetMovies.Count and the TotalCount
to RecordsPerPage.
Consider a Screen that contains a Form to collect Customer data. The Form has a Save Button with the On Click Destination set to a SaveOnClick Action, which sends the data to the server to store it in the database. What is the best way to make sure that we do not send the data to the server when the mandatory Customer data fields have not been filled in?
Just set the Built-in validations of the Save button to Yes.
Perform custom validations for all inputs. If one fails, set the Valid property of the Form to False.
Set the Built-in validations of the Save button to Yes and check if the Form's Valid property is True.
Set the Built-in validations of the Save button to Yes and add an Exception Handler flow to handle invalid inputs.
Given the system's User entity and a Photo entity as depicted in the image below, what is the best way to model that a User may have a unique profile photo?
Create a Profile Entity with attributes PhotoId and UserId of types Photo Identifier and User Identifier respectively.
Change the Photo Entity's Id attribute to be of type User Identifier.
Add to the User Entity a PhotoId attribute of type Photo Identifier.
Add to the Photo Entity a UserId attrbiture of type User Identifier.
Which of the following is a possible reason for this error to be displayed to the user?
The Developer defined the GenderId as a Mandatory field on the Geneder Dropdown widget, but the End-Use forgot to select one valid Gender when he save the Trainee Record on the database.
The Entity trainee has a GenderId attribute, which is a Foreign Key to the Entity Gender. The GenderId attribute is also marked as mandatory on the database. And the End-User is trying to save a Trainee without selecting a valid Gender on the Form.
The End-User is trying to add an existing Trainee on the Gender List, without selecting the Trainee name and before the Save button is clicked. Thus, the Trainee Identifier is sent to the Database as NULL.
The Entity trainee has a Unique Index with two of its attributes. Trainee Identifier and Gender identifier. If an End-User tries to Save a duplicate record of the Trainee with the same Gender, the error will be displayed
An End-User logged in to your Reactive application is trying to access a Screen, but the user doesn't have the required role permissions checked on that Screen. What will happen in this situation, taking into consideration the OnException flow image below?
If the user's Session didn't timeout, the user will be redirected to another screen
Thee application will close, and the user account will be blocked.
First, the user will see a generic Exception Message (from AllExceptions). Then, the user need to click on the button to try the communications between the app and the server, and only if the communication test runs with success, the Security Exceptions will be performed.
The user will be redirected to the Users Applications here she/he can assign the role to her/his account.
Based on the image below, if Value is 150 and Result is initialized with 0, what will be the Result?
1
2
3
4
Based on the image below, what should be the Data Type of the variable associated with the ButtonGroup Widget?
The variable must have a Long Integer data type as the default data type of the Id Attribute of a Static Entity is always Long Integer.
The variable can be of any data type. The Platform will convert the option value to the variable data type.
The variable shoud be of data type Text as client-side the values are always text.
The variable must be of the same data type of the same data type of the ButtonGroupItem values.
Based on the image below, if Count starts in 5, what will be the value returned by the action through the Result Output Parameter?
0
21
59
The application will timeout due to infinite looping.
Consider the two entities depicted in the image below, Desk and Room, that represent desks and rooms in a school. If you wanted to model that a Desk is placed inside a specific Room, what would be the best solution?
Add a new attribute RoomId, of type Room Identifier, to Desk.
Add a new attribute DeskId, of type Desk Identifier, to Room.
Create a new entity RoomDesks, with two attributes DesksId and RoomId, respectively of type Desk Identifier and Room Identifier.
Add a new attribute DeskIds, of type list of Desk Identifier, to Room.
Consider the following Screen Action flow, which includes custom validations on data submitted from the ContactForm. What should be the condition for the highlighted IF Statement?
ContactForm.Valid = True
EmailAddressValidate(ContactFrom.Record.Contact.Email) = False or ContactForm.Valid = False
ContactForm.Valid = False
EmailAddressValidate(ContactFrom.Record.Contact.Email) = True
What will happen if the developer chooses one of the debugger options below?
In case the Developer chooses the option of Continue, the flow will be executed, until the end, and the user will be redirected to the MyTickets screen.
All other answers are wrong.
If the Developer clocks on Break On All Exceptions, the code will jump to the BuyTicketException Handler, and after it finished that flow the InvalidCreditCard Handler will be executed.
If the Developer clicks on Step Out, the blue arrow will jump to and stop on the conditional if Valid Credit card.
Considering Aggregate below, what needs to be done to return the highest quantity purchased per product in single order and average price of the product?
Group By OrderID, apply the Max Function to Quantity and the Average Function to Price.
Create New Filter with Max Quantity = OrderItem.Qunatity and Group by ProductID and apply the Average Function to Price.
Group By ProductID, apply the Max Function to Quantity and the Average Function to Price.
Add new computed attribute called AveragePrice with its formulate set to Average (Price, GroupBy: ProductId). and sort the results by Quantity.
We need to make a search in the vehicles available in the database by the plate or model of the car. When searching, however, nothing on the screen changes. What should be done to correct this problem?
Include a filter in aggregate with Veiculo.Placa = Busca or Veiculo.Modelo = Busca
Call an Ajax Refresh in the table after refreshing the aggregate
Transform the variable search to input parameter, the onclick action of the Search button to navigate to the screen itself and ensure that the aggregate has the property fetch defined as At Start
Remove the Join with the User Entity
A module of a particular application refers to the service action illustrated in the image. Consider the changes from version 10 to 11 in the Math_cs module and also that the main
application module has only been republished without updating the references in Service Studio, what will happen when this action is invoked by the main application?
A runtime error will be triggered because the reference is incompatible.
It will not trigger an error. References are outdated. When calling the action passing 2 in the parameter the return will be 6
It will not trigger an error. References are outdated. When calling Action passing 2 in the parameter the return will be 4
There will be no error triggered. References are intact. When calling Action passing 2 in the parameter the return will be 4
Consider a screen that lists the result of an aggregate with the Fetch=At Start property. Which of the events will be triggered more than once?
On Initialize
On Ready
On Render
On After Fetch
When browsing from screen A to B, at which moment the OnDestroy event of the Screen A is triggered?
When the DOM of the screen B is fully loaded and before the transition from screen A to B
After the transition from screen A to B and after the DOM of the screen A is destroyed.
After the transition from screen A to B and before the DOM of the screen A is destroyed
Before the DOM of the screen B is fully loaded
Considering that the Action CreateNewProduto checks if the value of the product is negative before creating a product and throws an User Exception called Validation if the value is negative, what will happen if a positive value is informed and the connection with the Database is unavailable?
The product will be created in the database and success feedback will be displayed
The product will not be created and the Database Exception Handler will be executed, displaying a Warning feedback.
The product will not be created and the Validation Exception Handler will be executed, displaying a Warning feedback
The product will not be created and the AllExceptions Exception Handler will be executed, displaying an error feedback.
Which data type can not be assigned to a Site Property?
Integer
Record
Text
Date Time
Which of the events can't be triggered by a screen?
On Destroy
On Initialized
On Parameters Changed
On Render
A "car" entity refers to the "brand" entity through the BrandId column. Considering that this column has the property DeleteRule=Protect, what will happen if we try to delete a brand that is
being used by the "car" entity?
A Database Exception will be raised and the cars of this brand will be deleted
All cars of this brand will be deleted in cascade
A Database Exception will be raised and no car will be deleted
All cars of this brand will be orphans
Considering the aggregate of the image, what should be done to return the total value per order?
Create a new attribute with the expression Produto.Valor * PedidoProduto.Quantidade and group with the SUM function
Group Produto.Valor with the SUM function and PedidoProduto.Quantidade with the Average function and multiply on an Expression on the screen
Group by Produto.Valor and PedidoProduto.Quantidade and subsequently add the values using a foreach
Create a new attribute with the expression Produto.Valor * PedidoProduto.Quantidade and group with the Average function
About Client Actions defined on a screen, it is CORRECT to say that:
You can use it within another client Action defined on the same screen
You can use it within a Server Action.
You can use it within a Client Action defined in the Logic tab.
You can use within another client action defined on a different screen.
About Site Properties, select the CORRECT alternative
You can access it directly on a Client Action
We can't access it directly on a Server Action
You can change its value in the Service Center
It Assumes the default value after logout
At which point is the OnReady event triggered?
When the DOM is fully loaded
Immediately after On Render
Immediately after On Initialize
When all aggregates and Data Actions have just transferred all data
Customer wants to categorize their products into three different types: Toys, Utilities and Tools. Which is the most appropriate way to do this?
Creating a Text field named Produto.Tipo and informing the "toy", "utility" or "tool" types
Creating a new entity called TipoProduto, create a bootstrap from Excel with the three types, and then create the Produto.TipoProdutoId with type TipoProduto Identifier
Creating an Integer Field Produto.Tipo in which 1 represents Toy, 2 represents Utility, and 3 represents Tool
Creating a new static entity called TipoProduto with the respective records and create the TipoProduto Identifier field named Produto.TipoProdutoId
Which of the options CAN'T be used to terminate a flow in a client action defined on the screen?
End
Raise Exeception
Download
Java Script
When using a link to navigate to another screen, an event sequence are fired until the destination screen is displayed for the user. From which event the transition from a screen to another starts?
After the target screen on ready
After the source screen
After the first on render of the destination screen
After the on initialize of the destination screen
What needs to be done to resolve the error in Assign and still within logic?
Connect it with the new If Condition as pointed by the arrow.
Connect it with Form1.Valid? (If)
Connect it with End
None of the options
Which is not true about Built-In Validations?
Built-in validations for Input Widgets are performed automatically
Input values must comply with the data types of the Variables bound to the widgets
Mandatory fields must be filled
Buttons / Links inside a Form does not have a Built-in Validations Property
Considering the Current Date is 11/10/2021 and the inputs are as follows:
Due Date : 11/09/2021
Shipped Date : 11/09/2021
What will happen on the screen?
Corresponding validation messages will be seen on input field Due Date and Shipped Date. Order will be created on the database.
Corresponding validation messages will be seen on input field Due Date and Shipped Date. Order will not be created on the database.
Corresponding validation message will be seen on input field Due Date only. Order will not be created on the database.
Corresponding validation message will be seen on input field Shipped Date only. Order will not be created on the database.
Consider a screen with an aggregate with the property Fetch=AtStart. At what point does the request to this Aggregate be triggered?
Immediately after the On Initialize event
Immediately after the OnRender event
Immediately after On Ready event
Immediately after the OnDestroy of the previous screen
At which point does the OnParametersChanged event is triggered on a block?
When a Client Action in this Block uses TriggerEvent informing OnParametersChanged on the "Event" property
When the value of some Input Parameter of this Block is changed inside it
When the value of some Input Parameter of a block is changed in the Parent
When the Parent uses TriggerEvent informing OnParametersChanged on the "Event" property
At which point is the OnRender event triggered?
When the DOM is fully loaded.
Immediately after the On Initialize
Only when all Aggregates and Data Actions have just transfered all the data.
After the DOM is completely loaded and whenever some data on the screen (variable, aggregate, etc...) changes
About Server Actions, it is INCORRECT to say that:
You can use it within a Client Action defined in the Logic tab
You can use it in the onclick attribute of a link
You can use it inside another Server Action
You can use it within a Client Action defined on a screen
The best way to receive from the user a value restricted to a small list is through a ...
Input
Drop Down
Radio Button
Checkbox
When using a link to navigate to another screen, an event sequence is fired until the destination screen is displayed for the user. From which event the transition from a screen to another starts?
After the target screen onready
After the first onrender of the destination screen
After the source screen
After the oninitialize of the destination screen
Consider the Aggregate definition shown in the following screenshot. What will be the type of the output list?
A record with only Album Artist and NumberOfTracks
A record with only the eight attributes shown
A record with the Name AlbumArtist and Genre from entity Album and the Name and SongArtist from entity Song
A record with the attributes from all the source entities
Consider the following Action containing a Switch with multiple conditions and with 2 input values (a and b Integer type) which of the following options is correct?
If a = 2 and b = 1 both ActionA and ActionB will be executed.
If a = 2 and b = 1 only ActionA will be executed.
If a = -2 and b = -1 only ActionA will be executed.
If a = -1 and b =-1 ActionC will be executed.
If we want to change the default "Menu" block what should you do?
Insert CSS to customize the block in the block Style Sheet.
Insert the CSS on the OutSystems UI Style Sheet because it is the base Style Sheet
Go to every screen that uses the block in order to change it
Insert CSS to customize the block in the module Style Sheet.
Consider the following Block where the OnClickAction Action is set as the OnClick Event handler for a Button inside MyBlock. Taking into account this scenario select the correct option.
The Event handler for MyEvent must be defined when instantiating MyBlock
If no Event handler is defined for MyEvent the trigger Event statement will throw an error at runtime
The Event handler for MyEvent must be defined in MyBlock properties.
The Event handler for MyEvent does not need to be defined as the OnClick Event handler will handle MyEvent as well.
The Client Action ChangeStatus shown in the screenshot.....
can be used in an Expression in a Screen.
can be called from another module
can be called in a Screen Action and by a Client Action ...
can be called from a Server Action.
Consider the data model below containing the User Asset and Category Entities. What do you need to do to have Assets assigned to one specific Category?
Create a new attribute AssetId in the Category Entity with Data Type set to Asset Identifier.
Create a new attribute AssetId in the Category Entity with Data Type set to Long Integer.
Create a new attribute CategoryId in the Asset Entity with Data Type set to Category Identifier.
Create a new attribute CategoryId in the Asset Entity with Data Type set to Long Integer.
This data model:
Contains an attribute in the Status entity that shouldn't be there.
Contains an unnecessary many to many relationship.
Contains an attribute in the Order entity that shouldn't be there.
Contains an unnecessary one-to-one relationship.
David bought a bunch of products with a 10% discount. What would be the best way of calculating the price with the discount?
Create a calculated attribute ProductWithDiscount with the expression: OrderItem.TotalPrice - (OrderItem.TotalPrice * 0.1)
Create a calculated attribute ProductWithDiscount with the expression: Product.Price - (Product.Price * 0.1)
Use a For Each to cycle through each order item and calculate the price with the discount.
This is not possible to do with an Aggregate. Use an SQL instead
Consider the following Aggregate definition. What will be the type of the output?
It is not yet defined. It is necessary to define the output structure of the aggregate.
Only the attributes of Entity A and Entity B.
Only the Total attribute.
The attributes of Entity A Entity B and the Total attribute.
Consider the following Server Action containing a Switch where its conditions are detailed on the connectors. The assignments are also detailed on the Assign statements' labels. Select the correct option.
If the value of the GenderLetter is F the Gender output value will be Female.
If the value of GenderLetter is Female the Gender output value will be Female.
The Gender output value will be either Female or Male.
The Gender output value is always Unknown
