WorksheetsAssoc Reactive Web
Total questions: 220
Worksheet time: 11hrs 0mins
The DoLogin Action...
Is a Server Action that will return a cached value if the applicaiton is offline.
Is a Server Action that will run only when the applicaiton is online.
Is a Client Action that will be called when the end-user provides a username and password.
Is called on every screen at the OnInitialize event.
A Data Actions is:
A Server Action that fetches and processes data from a Web Service.
A specific type of Action with an OnAfterFetch event, used to fetch data from different sources.
Any Server Action that fetches data from different sources, including Database, Local Storage and Web Services.
Any Action with an OnAfterFetch event, used to fetch data from the Database and Local Storage.
Using the Debugger, what is one of the possible solution if you want to analyze an exception flow in your code when it raises on browser?
Add a breakpoint on the Raise Exception node present in your code flow, before you start the Debugger process. Then on browser execture the procedure that will raise the exception. After the code stops, inspect the Exception flow on Service Studio.
Add a breakpoint on the Start Node of your Screen Action responsible for executing the code that will raise that specific exception before you start the Debugger. Then test your app on browser, once the code stops working go to the Service Studio and inspect your code flow until it reaches the Exception Flow.
Add a breakpint directly on Screen Action repsonsible for executing the code that will raise the specific exception before you start the Debugger. then test your app on browser once the code stops, go through your code flow inside Service Studio until you reach the Exception flow.
All options are valid.
If a screen is restricted to registered users..
The restriction is enforced client-side.
The restriction is enforced client-side but the application needs to be online.
You need custom logic to enforce it.
That restriction is enforced server-side.
If a user doesn't have the necessary Role to access a screen...
a Security Exception is raised and the On Exception action will redirect the user to another screen.
a Security Exception is raised and the On Exception action will show a pop-up with an error message.
a Security Exception is raised and the Application Server returns to the Browser and HTTP 400 error (not authorized).
a Security Exception is raised and the Application Server retruns to the Browser an HTTP 401 error (forbidden).
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.
Fetching data from the database to show on a screen list...
If done with an Aggregate on the screen is asynchronous.
If done in a Client Action is synchronous
Is always asynchronous and must be done with a Data Action.
Is always synchronous, and must be done in an Aggregate inside a Data Action.
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 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 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 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.
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.
Thee application will close, and the user account will be blocked.
The user will be redirected to the Users Applications here she/he can assign the role to her/his account.
After you create an action in one module to be consumed by other modules, what's required to guarantee that you will not have any issues finding the action, when managing the dependencies in the consumer modules?
Publish the Producer module with the new Action, before opening the Management Dependencies on the Consumer module.
If the output of the Action is a Structure that is defined within the same module that the Action, that Structure needs to be Public as well.
All the options are valid.
The new Action must be set as Public on the Producer module, beofre consumming it in other modules.
Consideing that a Movies List has an aggregate as its source, and the Cinemas List is bound to a Data Action instead, which of these lists will the Screen display to the End-User first?
By default, aggregates and data actions are both requested at the same time. However, it's not possible to know which of the queries will be returned first.
The one define with 'Fetch Data on Demand' will be the first to have the List rendered on the screen.
Data Actions are fetched and returned before Aggregates.
Aggregates are always fetched and returned first.
What is one of the reasons for the error "The connection to the browser was lost." appear during the debugging process?
The developer is debugging on his Personal and Public Area at the same time.
The browser used for debugging was closed.
The Developer didn't add any breakpoint to the code.
An application exception occurred during the debugging process.
What can be inserted in the SourceDataPointList property of a Chart widget?
Any List can be there, but if it comes from a Data action, the mapping must be done.
A List of any type, but if it's not of type DataPoint List then, the mapping must be done in the property box of the Chart widget.
Only a List that is the output of an Aggregate or a Data action.
Any List can be there, and the mapping must always be done.
Regarding updating a record of a Databse Entity, it is correct to say:
Can only be done from a Server Action.
It generates a Web Service Call to the Server, if done inside a Client Action flow.
Can be done from a Client Action, but not from a Screen Client Action.
When done from a Client Action, connects the Device directly to the Database Server.
Regarding Client Actions, select the correct answer:
A Client Action can define Aggregates using server database Entities.
A Client Action can execute Server Actions only if they are defined in the same Module.
A Client Action can execute other Client Actions only if the last ones are bound to a Screen,
A Client Action can execute Server Actions.
Regarding Events, select the correct answer:
On a Block Instance, an Event must always have is Handler configured.
On a Block Instance, you can configure, as an Event Handler, any Client Action.
Events can be triggered from Screen Client Actions.
Events can be triggered from Server Actions.
The Form's Valid property...
must be set explicitly using an Assign node in a Client Action.
is automatically set only if the user leaves all its fields blank.
is automatically set to False when a field within the Form fails its validation.
cannot be checked before all custom validations are performed.
Consider the following form where the Save button is bound to the Save action shown on the image. Knowing that the Save button does no have Built-in Validation, what happens when the end-user presses the Save button? Please consider that ISBN is of the input type Text, bounded to an entity attribue of data type Text.
The book is not created and the user will be redirected to an internal error Screen.
The book is created with an automatically generated ISBN, different from empty text, and the user is redirected to the BookList screen.
The books is not created and the ISBN field will have a validation message indicating that it is a required field.
The book is created and the user is redirected to the BookList screen, but the ISBN value stored in the record will be an empty text.
How can you create two Entities through one Excel file?
You can use Bootstrap to create both Entities at the same time, using the name of each Entity as the name of each sheet with their respective attributes.
It is not possible to use Excel fiels to import entities. It's only possible to create Entities manually in Service Studio or consume External Databases.
You can do that adding the Upload tool to a page of your app, then on the browser, you can import the Entities through the Upload tool wizard.
To use Bootstrap it's necessary to use different files, one for each Entity, were each file name corresponds to one Outsystems Entity name.
When, in an Aggregate, you hide some of its columns, what happens?
The hidden attribtues will be discarded from the output result of the Query.
The columns will be protected, so they will not be saved on the browser cache.
The other Team Developers stop having access to that attributes.
Nothing happens at runtime.
To ensure that anyone can access a certain screen, you need to...
modify the SecurityException handler in the Common Flow to allow Anonymous users.
select the Anonymous role on that screen.
add a new screen Role to the application and grant it to the Anonymous user.
have a condition on the screen's OnInitialize Event Handler that check the role for the current user.
What could be a possible sequence of events when requesting a screen:
Initialize, Destroy (of the old screen), Ready, Render
Initialize, Ready, Render, Destroy (of the old screen), After Fetch, Render
Initialize, Ready, Destroy (of the old screen), After Fetch, Render
Initialize, Ready, Render, After Fetch, Render, Destroy (of the old screen)
Consider an entity Project with an attribute Name. The attribute data type is Text, and the 'Is Mandatory' property is set to Yes. If you try to insert a record in this Entity, using the CreateProject Entity Action, without defining a value for this attribute, what happens?
An exception raises, as the 'Is Mandatory' property set to Yes creates a constraint in the Database.
You can insert records without specifying a value for that attribute but it will display a warning.
The Database ignores the 'Is Mandatory' property as it is only metadata. The record received the NULL value for the Name attribute.
The Database ignores the 'Is Mandatory' property as it is only metadata. The record received the default value for the Name attribute.
A Block can have...
any life cycle Event Jandler and Screen Actions but it can also use its Parent Screen's Actions.
any life cycle Event Handler (like Oninitialize and OnRender), but no Screen Actions, as its buttons and links are bound to its Parent Screen's Actions.
any lie cycle Event Handlers (like OnInitialize and OnReady) and Screen Actions.
only Screen Actions, as any initialization it requires must be done on its Parent Screen's Events (Like OnInitialize).
Consider the following Aggregate definition. If there are no Tracks on an Album, what will the output be?
A record list with a single item composed with the blue-colored attributes. NumberOfTracks will be 0.
A record list with a single itme composed by all the source entities: Album,Song and Track. Album information will be returned, song and Track will be empty.
A record list with a single item composed by the visible grey-colored attributes. The Song's Name and SongArtist will be empty, though.
An empty record list with the blue-colored attributes only.
In which of the following situations, do you need to refresh the dependency of a consume module:
When the element was deleted from the producer module.
When the lement is no longer set as Public on the producer module.
When the producer module does not exist in the Outsystems environment that you are connected to.
In all these situations you need to check the Management Dependencies.
The After Fetch event:
Always happen after a new screen is requested.
Is triggered after an Aggregate finishes data.
Happens after fetching new data through synchronization.
Only happens after a Data Action finsihes fetching data.
In a screen, you need to show some information that is stored in an Entity. But you only want to show it when the user request it explicitly by clicking a link on the screen. In this scenario, choose the right option.
Aggregates and Data Actions run asynchronously immediately after the Screen initialization happens, so use a Local Variable to store the information and use a Server Action to fetch the data when the user requests it.
Set the Fetch property of the Aggregate to 'Only on demand' to avoid executing the Aggregate after the page is initialized and use a Data Refresh node to execute the Aggregate when the information is required.
For this scenario, it is not possible to use an Aggregate. Use a Data Action with an Input Parameter of type Boolean, that will be used to identify when to return the data. Call the action passing true to it when the user requests the data.
Use the System.IsPageLoad() action on the Aggregate's On After Fetch event to identify if the page is loading and remove the data in case it returns True. Later, use a Server Action with a Data Refresh to fetch the data when the user requests it.
Regarding Blocks, select the correct answer.
Cannot be instantiated inside other blocks.
Can be refreshed explicitly.
Can react to changes in input parameters.
Can have the output parameters.
Regarding Event Handlers of Block's Instance Events, select the correct option.
If an Event is not Mandatory, it is not necessary to define an Event Handler for this Event on a Block's Instance.
You can set, as an Event Handler, both screen actions as well as General Client Actions not bound to a Screen.
An Event Handler may or may not be mandatory, but its Input Parameters are always mandatory if a Handler is set on the Block's Instance.
All other options are correct.
If there is an Areachart on a screen, when will the OnClick event be triggered?
When the end-user clicks on the chart.
When the end-user clicks on the chart, but the Clickable property of this widget must be set to True.
When the end-user clicks on the chart, but it requires an event handler.
When the end-user clicks on the chart, but in the widget's AdvancedFormat property, the UserInteraction attribute must be set to True.
Consider the Aggregate definition shown in the following image. What attributes will be part of the Output List of the Aggregate?
Only the eight Attributes visible in the image.
Name, AlbumArtist and Genre from the Entity Album, and Name and SongArtist from the Entity Song.
All the attributes from all the Aggregate Source Entities.
Only Album, Artist and NumberOfTracks.
When does a Client Variable reset to its default value?
Whenever the User signs out of the application.
Never, Client Variables are similar to Site Properties.
Immediately, when the Login Session times out.
Whenever the User signs in the application.
Of the following statements about Static Entities, select the correct one.
Static Entities are stored in the database. Its records are defined inside Service Studio and have a name.
Records of a Static entity can be inserted at runtime using the Create Entity Action.
By default, a Static Entity is create with four attributes and we cannot change them, we can only add/modift/delete records.
We must specify the Id value of each record of a Static Entity becuase the Identifier of a Static Entity cannot be Autonumber.
What are the limitations of Server Actions?
If you want them to return more than one value, you need to declare a structure with all the values
Cannot receive complex structure as input parameters
Cannot be executed recursively
None of other options
Based on the image below, if Value is 150 and Result is initialized with 0, what will be the Result?
1
2
3
4
Assume that we have an Order Entity with at least the following attributes: OrderId, Year of the order, Amount and Tax. How to set up the aggregate if I want to have the total amount of the Orders for each year, taking into account the tax?
GroupBy the Year, the Amount and the Tax. Create a computed attribute that multiplies the grouped Amount, by the groupded Tax, Order by the Computed attribute.
Create a computed attribtue that multiplies the Amount by the tax. Do a Sum on the Computed Attribtue. Do a GroupBy on the Year. Order by the Computed Attribute.
Do a GrouBy on the Year. Create a computed attribute that multiplies the Amount by the tax. Do a Sum on the Computed Attribtue. Order by the Sum of the Computed Attribute.
Do a GroupBy on the Year and do a Sum on the Amount. Create a computed attribute that multiplies the Sum of the Amount by the tax. Order by the Computed Attribute.
When you are debugging your Reactive application you can place breakpoints on...
Server and Client Actions
Only in Screen Actions and Client Actions
Screens elements, like widgets and Screens Actions.
Data Actions and Aggregates
How can you make that the end-user Sally, who is a StoreManager, can perform not only her management-specific functions but also everything a regular StoreClerk can do?
Make the StoreManager role extends form the StoreClerk role.
Add an IsStoreClerk boolean attribute to the StoreManager role, and make sure it is set to Yes when you assign the StoreManager role to Sally.
Create a compound role StoreManagerAndClerk that inherits from both the StoreManager role and the StoreClerk role and assign it to Sally.
Add the StoreClerk role to Sally.
Given the following Aggregate, how would you modify it to return, for each product, the highest quantity purchased in any single order, and the average price of the product?
Group the results by OrderId, apply the Max function to Quantity, and the Avg function to Price.
Create a new Filter with Max(Quantity) = OrderItem.Quantity, and then group by ProductId and apply the Avg function to Price.
Group the results by ProductId, and then apply the Max function to Qunatity and the Avg function to Price.
Add a new computed attribute called AveragePrice, with its Formulat set to Avg(Price, GroupBy: ProductId), and sorth the results by Quantity.
Which event always happen before data from an Aggregate is rendered?
After Fetch
Ready
Initialize
Render
Regarding Client Variables, what Data Types are available for them?
All, but should avoid complex Data Types.
All Data Types.
Only Basic Data Types.
Entity Identifiers and Basic Data Types except for Binary Data.
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 shoud be of data type Text as client-side the values are always text.
The variable can be of any data type. The Platform will convert the option value to the variable data type.
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 (Zero)
The application will timeout due to infinite looping.
21
59
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
ContactForm.Valid = False
EmailAddressValidate(ContactFrom.Record.Contact.Email) = False or ContactForm.Valid = False
EmailAddressValidate(ContactFrom.Record.Contact.Email) = True
Given the following model, how can you guarantee that an album does not have any repeated songs?
On entity Track, set the Is AutoNumber property of the SondId attribute to Yes.
On entity Track, create a new Unique Index for attributes AlbumID and SongId.
On entity Track, create a new Unique Index for attribute AlbumId.
Set the Allow Duplicates property of the Track entity to No.
Related with Automatic Exceptions, select the correct option:
All exceptions are automatcially thrown by the platform.
Not Is Manager, Is Manager and other User Exceptions are automatic exceptions.
Database, Communication and Security Exceptions are automatically thrown by the platform.
All exceptions need to be defined manually inside the Actions flow.
Consider that Kelly is a user with the Manager role. What will be the Server response when she navigates to the SecurityUsers screen via the browser.
The Server will raise a Coomunication Exception because it is expecting the Kelly Admin roles credentials to return the page.
The Screen will be sent by the server and the page will be renderd on the browser.
The Server will raise a Security Exception because Kelly doesn't have enough permissions.
The Server will raise a Database Exception because it can not find the Admin role associate with Kelly.
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.
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.
All other answers are wrong.
If the Developer clicks on Step Out, the blue arrow will jump to and stop on the conditional if Valid Credit card.
When is the Render event triggered?
Once, after all the structure of the screen is complete.
Every time an aggregate's data is ready to be used.
Once, after all the data is on screen.
Every time there's a change in an aggregate that affects the screen.
Assume that the album artist "The Artist", typed in the form below, is unknown and we have the debugger running with a breakpoint set on the CreateOrUpdateAlbum action. What happens when a user clicks on the Save button which is configured with Built-In Validations?
An exception will be thrown because Year is not a number.
The form will show validation messages for Name, Album Artist and Year.
The debugger will pause execution at the breakpoint.
The form will show validation messages for Name and Year.
Which of the following is not a step to define Pagination in a List widget?
In the properties of the Aggregate that fetches the data, set StartIndex to MyStartIndex, and the MaxRecords to MyMaxRecords
In the properties of the Pagination Widget, select New client Action to set the handler
Define the Aggregate that fetches the data to be requested only on demand.
Create MyStartIndex and MyMaxRecords Local Variables with integer data type on the Screen. Set the default variables of these variables.
In screen lifecycle once you transitioned to the employee data screen, when will it connect to the server?
Display widget
Trigger Events
Fetch to Detail Screen
Query to database
Which item triggers the loading of page?
Aggregate
Data Action
Server Action
SQL Query on the screen level
Which item could not be done directly on an expression?
Server Action Output Variable
Calculation
Static Text
Aggregated column in an aggregate
What is the ouput of CreateOrUpdate action?
Record
Id
Reference Attribute
Entity
When will the Onclick Event of an AreaChart in the Screen be triggered?
When the user clicks on the chart provided that the Clickable property must be set to True.
When the user clicks on the chart but it requires Event Handler.
When the user clicks on the chart.
When the user clicks on the chart provided that the Advanced Format property must be set to True.
Refer to the picture. If Value is 100 and Result is reset to 0, what will be the result?
1
2
3
4
When is the Render Event triggered?
Whenever an aggregate data is ready to be used.
After all the structure is complete.
Whenever there is a change in aggregate that impacts the screen.
After all the data is in the screen.
Form's Valid property ................
Still set to true if all the fields are blank.
Being set explicitly on the Assign node.
Cannot be checked before all the custom validation is done.
Automatically set to False if a field in the form failed on its validation.
Select the correct option on creating two Entities through One Excel File.
Not Possible
Create excel file with multiple tabs on which tab names will become the name of the Entities. Each sheet should have the attributes of each entity,
Use Different Excel Files during Bootstrap.
Use Upload Tool
If the screen being accessed has only the Manager role ticked in its properties............
Lily can access the screen as long as she has a username and password.
Lily can access the screen as long as she has Manager role and no other role.
Lily can access the screen as long as she has Manage role.
Anyone with Registered Role can access the screen.
Given that Mike is a user with Manager role. What will happen when she attempts to access the screen using the browser?
Mike will be able to access the screen.
The Server will raise a Database Exception because it does not have the enough permissions.
The Server will raise a Communication Exception because it does not have the enough permissions.
The Server will raise a Security Exception because it does not have the enough permissions.
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.
Group By ProductID, 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.
Add new computed attribute called AveragePrice with its formulate set to Average (Price, GroupBy: ProductId). and sort the results by Quantity.
What is the correct statement regarding Automatic Exceptions?
All exceptions are automatically thrown by the platform.
Security, Communication and Database are automatically thrown by the platform.
All exceptions need to be defined manually in the Action Flow.
None of the options.
Given that a List has an aggregate as its source and another list is bound to a Data Action which among the options most likely will happen?
Data Actiions are fetched first before Aggregates.
Depending on what is defined as Fetch Data on Demand will be the first to have its list.
Aggregates are fetched first before Data Actions.
Impossible to know
What statement is correct when a Server Action is called by a Client Action on a Screen?
Server execution will be asynchronous.
Not possible
It maybe Synchronous or Asynchronous based on Server Action type.
Server execution will be synchronous.
Which statement is true when you hide columns in an Aggregate?
The hidden columns or attributes will not be shown in the output of the query.
Developer would not be able to access the corresponding attributes that were hidden.
The hidden columns will still be shown in preview of the output.
No effect during runtime.
Given below Aggregate definition. What will be the result if there are no Tracks on an Album?
Single Item composed by all source entities with empty Song and Track.
Single Item composed of blue-colored attributes with NumberOfTracks as zero.
Single Item composed of gray-colored attributes with Song's name and artist.
Empty record
On a Web Reactive Application, where you can place the breakpoints?
Actions (Server and Client)
Screen elements such as widgets, expressions and etc.
Actions (Screen and Client)
Aggregates and Data Action
What will happen if a user attempted to access the screen without the required role based on Logic Flow below?
In the absence of timeout, the user will be redirected to another screen.
The user will be redirected to the user page to change assignment of role.
The application will terminate and the user will be locked.
The user sees an Exception Message.
Given two entities Book and Publisher wherein Book has a reference attribute to Publisher that is not mandatory. If you want the output to show all Books with any (including none) corresponding information about their Publisher, what type of join you should select?
Book With Publisher
Publisher Only With Book
Book With or Without Publisher
Publisher With Book
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.
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?
Yes, because queries become easier to maintain
Yes, because queries will retrieve fewer Attributes and less data.
No, since it is exactly the same
No, it is preferable to use the Entity instead of the Structure.
Which of the following is the correct syntax for Entities and Attributes?
{Entity}.[Attribute]
(Entity).{Attribute}
[Entity].{Attribute}
Entity.Attribute
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.
None of the options
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.
All of the Options
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
None of the options.
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 would be a good use case for a Client Variable?
Credit Card Number
Profile Picture
User Identifier
User Name
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.
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 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.
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.
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 a Local Variable
Which of the following events is not available in Screens or Blocks?
Initialize
Ready
After Fetch
Render
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.
When the parent of the Block updates the Output Paramaters
In which of the following situations is it necessary to define a handler for a Block Event?
When the event has Input Parameters.
When the Block has Placeholders.
When the event Input Parameters are all mandatory.
When the Event is set to mandatory.
Regarding Block Events, which of the following options is false?
Events can be defined at the Block or Screen level
Events allow to pass information from the Block’s scope to the parent scope.
Events are triggered by a Block and handled by its parent.
Two instances of a Block may use the same handler for the same event.
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.
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.
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
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
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.
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.
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).
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.
Which of the following commands is not available in the OutSystems debugger?
Stop Debugging
Continue Request
Step Over
Restart Debugging
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
Which is not true about the relationship of block into another element?
a block can be initialized by another screen
a block can be initialized by another block
a block can be initialized by itself
All of the options
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, how do we restrict access to a Screen?
Go to the Users application and associate the Screen to a specific role.
Tick the Roles with access in the Screen Properties.
Use the CheckRole Action.
We don’t. Only users with a username and password can access
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.
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 not a built-in validation in OutSystems?
Mandatory Fields
Maximum length of text fields
Data types of input fields
None of the choices.
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 not a built-in validation in OutSystems?
Mandatory Fields
Maximum length of text fields
Data types of input fields
None of the choices.
What is the Screen behavior when a widget is not valid (Valid property set to False)?
The Screen displays the widget greyed out, and displays the validation error message on the input.
The widget does not appear on the Screen and the validation message appears in its place.
Displays the regular widget and displays the validation error message when we hover the mouse.
Displays the regular widget, applies a specific styling (e.g. red border), and displays the validation error message
Considering Inputs and Labels, which of the following options is correct?
Every input must have a Label associated with.
An input widget can only be used for the Text data type.
To access the value submitted in an Input widget, we can simply use InputName.Value
Labels associated with mandatory fields will display a visual cue on the Screen.
The Checkbox or Switch Widgets are bound to a variable of which type?
Text
Integer
Boolean
Date
Considering the Dropdown and the Button Group, which of the following options is false?
A Button Group needs a Button Group Item to represent each option that the user will have available to choose from.
The List property of the Dropdown defines the data that will appear as options to a user on a Screen.
Each Button Group Item within a Button Group has a Variable property to save the option chosen by the user.
The Variable property of the Dropdown will hold the value selected by the user. That value is defined in the Options.
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.
A Form is useful to validate data submitted by the user.
Regarding the Delete Rule property, which of the following options does not guarantee referential integrity?
Protect
Delete
Ignore
Update
Regarding Indexes, which of the following options is correct?
Custom indexes cannot be added to an Entity.
Indexes speed up data retrieval without any kind of impact.
Unique indexes help prevent data duplication.
Indexes over referenced attributes cannot be deleted.
Which of the following steps is necessary to create a many-to-many relationship between Entity A and Entity B?
Set the data type of the identifier attribute of Entity B to Entity A Identifier
Add a new reference attribute of type Entity B Identifier to Entity A.
Add a new Entity C, with two reference attributes of type Entity A Identifier and Entity B Identifier
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
Which of the following steps is necessary to create a 1-to-many relationship between a Master Entity A and a Detail Entity B?
Set the data type of the identifier attribute of Entity B to Entity A Identifier
Add a new Entity C, with two reference attributes of type Entity A Identifier and Entity B Identifier.
Entity A must have a reference attribute of type Entity B Identifier.
Entity B must have a reference attribute of type Entity A Identifier.
Which of the following steps is necessary to create a 1-to-1 relationship between Entity A and Entity B?
Set the data type of the identifier attribute of Entity B to Entity A Identifier.
Add a new Entity C, with two reference attributes of type Entity A Identifier and Entity B Identifier.
Add a new reference attribute of type Entity B Identifier to Entity A.
Add a new Entity C, with the identifier attribute being a composition of types Entity A Identifier and Entity B Identifier.
Regarding data relationships, which of the following options is correct?
An Entity must have an identifier to allow relationships.
A reference attribute needs to be mandatory.
An Entity can only have one reference attribute
The Entity identifier must be an integer.
Considering ListItem and List Actions, which of the following options is false?
List Actions can only be used inside List Items.
List Items can be used outside of Lists
When List Items have the full swiping option activated, the List Action is not necessary.
The List Action triggers a Screen Action that will have the logic to be executed on swipe
How is the data fetched by an Aggregate bound to a Table or a List widget?
By setting the Source property of the widget to the output of the Aggregate.
The binding is done automatically since the Aggregate is in the scope of the Screen
By adding an Expression inside the widget that refers to an attribute of the data fetched by the Aggregate
By creating a Screen Action that programmatically assigns the widget to the data fetched by the Aggregate.
Regarding Screen Aggregates, which of the following options is false?
Screen Aggregates run asynchronously and in parallel.
Screen Aggregates only exist within the scope of the Screen where they were defined.
Screen Aggregates can only be executed when explicitly called.
Screen Aggregates can only fetch data from the database.
In an Aggregate, the purpose of the Test Values section is…
To define values for testing the preview of the Aggregate’s output.
To set the conditions to get specific records, not all the records.
To define the order of its output records.
To define the Entities we want to get records from.
Regarding Sorting in Aggregates, which of the following options is correct?
Aggregates only support one sorting criterion.
If more than one sorting criterion is defined, all of them must have the same direction (ascending or descending).
It is mandatory to set the direction for all sorting criteria (ascending or descending).
It is only possible to set multiple sorting criteria if duplicate records exist in the entity.
Considering that we can add several filters to an Aggregate, which of the following options is FALSE?
A record is included in the output if it matches at least one of the filters.
Filters are concatenated with the AND operator
All filters are translated to SQL and included in the WHERE clause
Logical operators and some built-in functions can be used inside filters
In an Aggregate, the Sources section is used for...
Defining values for testing the Aggregate’s output records
Defining the Entities we want to retrieve records from.
Defining conditions to get specific subsets of records.
Defining the order of the Aggregate’s output records
If we have multiple Exception Handlers in an Action flow and an Exception is raised...
… the execution is always moved to the Global Exception Handler
… the execution is moved to the Exception Handler that is most specific to the Exception.
… the execution is moved to all Exception Handlers of the Action.
… a Switch statement is needed to select which Exception Handler will continue the execution
Inside an Action flow…
… only one Exception Handler may exist.
… it’s mandatory to have at least one Exception Handler.
… the Exception Handler flow can’t intersect other flows.
,,, the Exception Handler flow can intersect other flows
Regarding the Switch statement, which of the following options is false?
The first branch that the condition evaluates to True is executed.
Every branch that evaluates to True is executed.
If no branch evaluates to True, the Otherwise branch is executed.
The Otherwise branch must exist.
Regarding the If statement, which of the following options is false?
Both True and False branches are mandatory.
Only one of the branches is executed, depending on the If condition’s outcome.
If statements can also be used to implement ad-hoc loops.
More branches may be added if needed.
The flow of an action can have...
… multiple Start and End nodes
… one or more Start nodes but only one End node
… only one Start node but multiple End nodes.
… only one Start node and one End node.
Client Actions and Server Actions can have the following variables:
Input and Output Parameters, but no Local variables
Input Parameters and Local Variables, but no Output Parameters
Input and Output Parameters, as well as Local Variables.
Output Parameters and Local Variables, but no Input Parameters.
Which of the following options is correct?
Screen Actions can call other Screen Actions from a different screen.
Client Actions can call Screen Actions.
Server Actions can call Client Actions.
Client Actions can call Server Actions.
Regarding the Container widget, which of the following options is false?
Containers allow grouping several widgets
By default, containers can span from 1 column up to 12 columns.
Containers can be placed inside other containers.
All containers must have at least one widget inside.
Regarding the If Widget, which of the following options is false?
Functions can be used inside the Condition of an If
More branches may be added to an If Widget.
Only one of the branches is shown.
Multiple widgets may be added inside each branch
Which of the following behaviors is true for Links and Buttons?
Links can only navigate to Screens
Buttons can only have a Screen Action as an On Click Destination
Links and Buttons can either Navigate to screens or trigger Screen Actions
Only Links can navigate to external URLs.
The Expression widget...
… displays only static text.
… displays text calculated at runtime
… displays only the result of mathematical expressions
,,, displays nothing.
Which of the following options is false?
Input Parameters allow passing data between Screens when navigating between them
Local Variables from a Screen may be directly accessed from another Screen.
Local Variables allow temporarily storing relevant information inside a Screen.
When the value of a Local Variable changes the user interface reacts immediately.
What type of variables can be created inside a Screen?
Local Variables only.
Input Parameters only.
Input Parameters and Local Variables.
Input Parameters, Output Parameters, and Local Variables
Static Entities are most similar to which other programming concept?
Linked lists
Enumeration
Hash Maps
Static variables.
Regarding the Records of a Static Entity, which of the following options is FALSE?
The values for all 4 default attributes must be defined
Records can only be added and removed during development.
The record identifier is the identifier of Static Entity.
The Identifier attribute is required for all Static Entities
Which of the following is a characteristic of a Static Entity?
It can’t be changed after the first publish.
It contains a set of Records
It has two Entity Actions.
It can’t be extended with any new attributes
Which of the following is not an Entity Action of the Customer Entity?
CreateCustomer
RetrieveCustomer
UpdateCustomer
DeleteCustomer
If an Entity Attribute named HouseNumber is created, what needs to happen to its Data Type?
It should be set to Integer.
It should be set to Decimal
Nothing, it will automatically be set to Identifier.
Nothing, it will automatically be set to Integer.
Which of the following statements about Entities is FALSE?
Entities have attributes.
Entities do not require an identifier
Entities are only stored in memory.
Entities can be created, updated and deleted.
Which of the following mappings between OutSystems and the Database is NOT correct?
Entities - Tables.
Attributes - Columns.
Reference attribute - Primary key.
Index - Index
Business concepts that need to be stored and accessed in our applications should be modeled as..
Entities.
Entity diagrams.
Entity relationships.
Database tables.
Which of the following options is FALSE regarding Modules and Applications?
An application is composed of a set of modules.
Modules can be of different types such as Reactive Web App, Blank or Extension.
Elements can be exposed and reused, but only within the same application
A module that reuses an element from another module is called a Consumer.
What happens when a developer publishes a module?
The OutSystems platform compiles it and generates the HTML, CSS, and JavaScript.
The browser opens
Nothing.
The code is uploaded but only compiled when a user accesses the application.
Regarding Reactive Web Apps in OutSystems, which of the following options is false?
A Reactive Web app is a cross-device app.
Data requests are executed synchronously.
The code generated by OutSystems results in a single-page application.
A developer builds the Reactive Web App in Service Studio.
At which point is the OnRender event triggered?
When the DOM is fully loaded.
Immediately after the OnInitialize
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
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 Action passing 2 in the parameter the return will be 4
It will not trigger an error. References are outdated. When calling the action passing 2 in the parameter the return will be 6
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?
OnInitialize
OnRender
OnReady
OnAfterFetch
The best way to receive from the user a value restricted to a small list is through a ...
Input
Dropdown
Radio Button
Checkbox
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 before the DOM of the screen A is destroyed
After the transition from screen A to B and after the DOM of the screen A is destroyed.
Before the DOM of the screen B is fully loaded
About Client Actions defined in Logic tab, it is INCORRECT to say that:
You can use it within another client Action defined in the Logic tab
You can create a recursion
You can use it within a Server Action
You can use it within a Client Action defined on a screen
A module "A" has the screens that a user interacts. It uses an Action of module B. How can you use the Debug feature in this action of module B?
Creating a Breaking Point in A and B
Creating a Breaking Point in B
You can not debug a module from another.
Creating a Breaking Point in the desired Action in B and setting the Entry Module in A
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 Validation Exception Handler will be executed, displaying a Warning feedback.
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 AllExceptions Exception Handler will be executed, displaying an error feedback.
Which data type can not be assigned to a Site Property?
Integer
Text
Record
DateTime
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
When analyzing the bootstrap process below, it is CORRECT to say that:
All records will have IsLuxo=False
No record will be imported because the IsLuxo field is required and has not been informed
All records will have IsLuxo=True
All records will be imported and the IsLuxo column will be NULL.
At Service Center, under the Monitoring tab, which screen is used to access the logs generated by the LogMessage Action?
Error
General
Integrations
Extensions
What kind of information should NEVER be stored in Client Variables?
Number of login attempts
Passwords
Usernames
User Preferences
About Block events, select the FALSE alternative
You can trigger the event within a Client Action defined in the Block.
You can shoot the event within a Client Action defined in the Logic tab
It is possible to give the Parent information through the Input Parameters of the event
You can trigger the event on the OnClick of a button
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.
Which of the events can't be triggered by a screen?
OnDestroy
OnParametersChanged
OnInitialize
OnRender
About Blocks, select the INCORRECT alternative
You can define custom events
It can be shared with other modules
It can only be used on screens
It may have input parameters
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
A Database Exception will be raised and no car will be deleted
All cars of this brand will be deleted in cascade
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 by Produto.Valor and PedidoProduto.Quantidade and subsequently add the values using a foreach
Group Produto.Valor with the SUM function and PedidoProduto.Quantidade with the Average function and multiply on an Expression on the screen
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 Client Action defined in the Logic tab.
You can use it within a Server Action.
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
You can change its value in the Service Center
We can't access it directly on a Server Action
It Assumes the default value after logout
At which point is the OnReady event triggered?
When the DOM is fully loaded
Immeditely after OnInitialize
Immediately after OnRender
When all aggregates and Data Actions have just transferred all data
Which is the data type of ProdutoImagem.Id?
Long Integer
PhotoImagem Identifier
Produto Identifier
Binary
About Blocks, select the CORRECT alternative
You can define custom events
It can't be shared with other modules
It can only be used on screens
It may have output parameters
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 an Integer Field Produto.Tipo in which 1 represents Toy, 2 represents Utility, and 3 represents Tool
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 a new static entity called TipoProduto with the respective records and create the TipoProduto Identifier field named Produto.TipoProdutoId
Complete the affirmative:
The usage of ___________ allows part of the interface to be reused, and any change in it reflects
everywhere it is used.
Blocks
CSS
Javascript
Variables
Which of the options CAN'T be used to terminate a flow in a client action defined on the screen?
End
Raise Exception
Download
Javascript
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 onready
After the first onrender of the destination screen
After the source screen
After the oninitialize of the destination screen
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.
In OutSystems, which statement is always true with Entity Identifier?
It must have its Data Type set to Long Integer.
It must be set to Auto Number.
It can only be a single attribute.
It is created automatically and cannot be modified
Considering Aggregate below, 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 below Aggregate, where the Orders are fetched with their reviewers (Employees), which of the statement 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.
What updates needed on the 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 event, which of the following statement is correct?
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.
Below Screen 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 statement below 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 choices is a valid usage of the Trigger Event node?
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
Given a Form with a Save button with the Built-in Validations property set to Yes. When a user clicks on the Save button, 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
In the following scenario, we are using the ColorsDropdown widget 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
Consider the Action named Absolute 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 below Server Action. What happens if the GetEmployeeById Aggregate has no 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 below statement 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 John is a user of the Orders application, with only the OrdersAdmin Role assigned to him, which of the following options is correct?
John has access to Screens with the Registered Role checked.
Johnl does not have access to Screens with the Anonymous Role checked.
John has access to Screens that have the OrdersAdmin Role checked, but not to Screens with the Registered Role checked.
John has only access to Screens that have the OrdersAdmin Role checked.
Consider below Action, 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.
Consider the following Pagination 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) nothing happens to 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 Max. Records of the Aggregate should be equal to the total number of movies in the database.
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
Which is true about Action Flows?
An Action Flow is where a SQL is executed
It can have multiple Start node.
Every Action Flow can end with multiple nodes.
None of the options.
Creates conditional branching with multiple branches.
If
For Each
Switch
Aggregates
Which statement is correct on Calling Other Actions?
A Server action can call Client Action and Server Action.
More than one Server Action is recommended.
A Client Action can only call other Client Actions.
A Client Action can call other Client Actions and Server Actions
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 End
Connect it with Form1.Valid? (If)
None of the options
Which is not true about Built-In Validations?
Built-in validations for Input Widgets are performed automatically
Mandatory fields must be filled
Input values must comply with the data types of the Variables bound to the widgets
Buttons / Links inside a Form does not have a Built-in Validations Property
What statement is correct for Custom Validation?
Inputs only need Built-In Validations
Form.Valid checking after the last custom validation is optional
If one Input is not Valid, the Form is automatically not Valid
The Form.Valid can be explicitly changed (e.g: Assign)
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 message will be seen on input field Due Date only. Order will not 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 Shipped Date only. Order will not be created on the database.
Which is not true about Validation Messages?
The Valid property of the Inputs are checked when rendering the Screen
If Valid property is set to True - Displays the regular widget
If Valid property is set to False - Displays the regular widget and applies no styling.
If Valid property is set to False - Displays the regular widget and applies the specific styling
On Debugging Application - where can you set the breakpoints?
None of the options
Aggregates and Client Actions
Server Actions and Aggregates
Server and Client Actions
Which option below indicates the Debugging Steps in correct Chronological Order?
Add Breakpoints, Start Debugger, Debug Code, Run Application
Add Breakpoints, Start Debugger, Run Application, Debug Code
Add Breakpoints, Debug Code, Start Debugger, Run Application
Debug Code, Start Debugger, Run Application, Add Breakpoints
Which is not a regular debugging operation?
Step Up
Step Over
Step Into
Step Out
Which option has the correct regular debugging operations as pointed by the arrows below?
Stop, Bypass, Suspend, Abort
Stop, Continue, Suspend, Abort
Stop, Skip, Suspend, Abort
Stop, Cancel, Suspend, Abort
The process of identifying who accesses the application and validating user credentials.
Authorization
Access Control
Application
Authentication
Each role has this correct actions
Validate, Grant and Revoke
Check, Issue and Revoke
Check, Grant and Revoke
Check, Grant and Review
Roles can be checked in
Aggregate and Entities
Screen and Entities
Screen and Actions
Aggregate and Actions
Which is not true about Exceptions?
An Exception is thrown when an operation fails unexpectedly at runtime
An Exception causes an interruption in the execution of the flow
Execution is moved to an Exception Handler flow
Execution returns to the original flow
These are the several exception handlers.
Database, Security, Communication and Custom User Exceptions
Database, Communication and Custom User Exceptions
Security, Communication and Custom User Exceptions
Database, Security, Communication Exceptions
Which is not true about Global Exception Handler?
Located in the Common UI Flow (default)
At most two per module
Highest possible level to bubble-up
Should handle All Exceptions
It is a configuration variable that allows to store long-lived and user-specific information.
Client Variable
Site Property
Local Variable
Input Parameter
It is a server-side configuration variable that allows to store application-wide information.
Client Variable
Site Properties
Local Variable
Input Parameter
Which client variable is cache frequently accessed values?
Username
Search Keyword
Items per page
Selected Layout (e.g. grid vs. table)
This is not included on Application Configuration where Site Properties is used.
Email Address
API Keys
Selected Layout
Enable/Disable app features
