WorksheetsYeahYeah
Total questions: 162
Worksheet time: 4hrs 26mins
A form has a Save button with the Built-in Validations property set to Yes. Which validations are automatically performed when a user clicks the button?
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.
A Screen contains a Form to collect Customer data. The Form has a Save Button with the On Click property set to a SaveOnClick Action, which sends the data to the server to store it in the database. The developer must ensure that the Action will not send the data to the server when the mandatory Customer data fields have not been filled in. What is the best way to do that?
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
After opening the OSMDb module, the following appears on the Manage Dependencies dialog. Considering this scenario select the correct option.
The OSMDb Core module has been deleted from the Server.
The OSMDb Core module has one or more references to elements in the OSMDb module.
Clicking the Apply button is enough to refresh all dependencies.
A referenced element has been changed in the OSMDb Core module.
By default, how is data fetched on a Screen?
The Aggregates and Data Actions run only when they are explicitly called.
The Aggregates and Data Actions do not run in any particular order.
The Aggregates run first, then the Data Actions.
The Aggregates and Data Actions run following their order on the Screen (from top to bottom).
Complete the following sentece:" By setting the Valid property of the Name input field to False"
... it is mandatory to set a message in the ValidationMessage property of the Input."
the Valid properties of the other input fields will also be set to False."
... the Valid properties of the Employee Form will automatically be set to False."
it is mandatory to programmatically set the Valid property of the EmployeeForm to False."
Consider that the following Pagination widget will be used to implement the pagination functionality in a List of Employees. What should be the value of its MaxRecords property?
The number of pages available to navigate to.
The total number of Employees.
The number of elements to be displayed per page.
The total number of attributes used in the List.
Consider that you have a Web Block, named CardBlock, whose content is a Container with the... style class applied to it. This Block is instantiated inside the Dashboard Screen that is based on the Dashboard. Considering the following CSS definition, which of the following options is correct?
In the Dashboard Screen, the Container inside the Web Block will have a blue background and 16px font size
In the Dashboard Screen, the Container inside the Web Block will have a red background and 16px font size.
In the Dashboard Screen, the Container inside the Web Block will have a blue background and 14px font size.
In the Dashboard Screen, the Container inside the Web Block will have a red background and 14px font size.
Consider the following Action, that calculates the square root (sqrt) of a positive decimal number (N). Knowing the function was called with N=-1, 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 debugger will stop at the N < 0 if node.
The debugger will stop at the InvalidNumber Exception Handler flow.
The Action will end with sort=-1.
The Action will end, with sqrt = 0 and an error message will appear on the Screen.
Consider the following Action. What happens if the GetEmployeeByld 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.
Question 10: Consider the following Action where the Result Output Parameter and the Counter Local Variable have integer date type. Both default values are 0. Which of the following options is the correct value for the Result Output Parameter, after the Action being computed?
The value of the Result OutputParams.5
The value of the Result Output Parameter is 3.
The value of the Result Output Parameter 6
The value of the Result Output Paris 4
Consider the following Countdown Block with an OnClickAction Action that triggers the Start Event. Which of the following options is correct?
The Event handler for the Start Event must be defined in the scope of the Countdown Block.
An Event handler for the Start Event must be defined on the parent when instantiating the Countdown Block.
It is not necessary to create an Event handler for the Start Event, as the OnClickAction will handle the Event.
If no Event handler is defined for the Start Event, the trigger Event statement will throw an error at runtime.
Consider the following data model containing the Status Static Entity, and the Customer, Order. Shipping Detail, Order Product and Product Entities. Why is this data model wrong?
The Quantity attribute cannot be in the Order Product Entity, since it is an Entity supporting the relationship between Order and Product.
The Orderld attribute cannot be in the Status Entity since a Static Entity can only have a reference attribute of other Static Entities.
The Statusid attribute cannot be in the Order Entity, since the Order Entity already has another reference attribute (Customerld).
The Id attribute of the Shipping Detail cannot reference the Order Entity, since Id attributes cannot be of type Identifier.
Consider the following data model containing the Status Static Entity, and the Customer, Order, Shipping Detail, Order Product and Product Entities. Why is this data model wrong?
Contains an unnecessary one-to-one relationship.
Contains an attribute in the Order Entity that should not be there.
Contains an unnecessary many-to-many relationship.
Contains an attribute in the Status Entity that should not be there.
Consider the following Entity and the following Excel file. What will happen when we create an action to Bootstrap data from this Excel file to the Member Entity?
The Name. Email and Phone columns in the Excel file will match with the Name. Email and PhoneNumber attributes in the Member Entity. The Address attribute will be created by the platform.
The Name. Email and Phone columns in the Excel file will match with the Name. Email and PhoneNumber attributes in the Member Entity. The Address column will be ignored.
The Name and Email columns in the Excel file will match with the Name and Email attributes in the Member Entity. The Phone and the Address columns will be ignored.
No data will be bootstrapped, because all the Entity attributes must match all the columns in the Excel file
Consider the following Roles selection of the CinemaDetail Screen. Which users can access this Screen?
All users, as long as they have an application specific Role.
All users, regardless of authentication.
Only authenticated users.
Only users with both OSMDbAdmin and OSMDbUser Roles.
Consider the following scenario where the developer is debugging a Client Action, defined in the scope of a Screen action, the execution is stopped at the Start node. Which of the following statements is False
It is possible to inspect and see the value of the Screen's Local Variables.
It is possible to inspect and see the values of the Input Parameters on this Action.
It is possible to inspect and see the values of the Screen widgets.
It is possible to inspect and see the value of the GetAge Action output.
Consider the following scenario, where there is a List of Employees that should be searchable by Name. What is on the OnChange Search Action to implement the search?
Explicitly refresh the List widget.
Refresh the GetEmployees Aggregate.
Assign the SearchKeyword with the user inserted value.
Create a new query to filter Employees.
Consider the following Server Action containing a Switch, where its conditions are detailed on the connectors. The assignments are also detailed on the respective Assign labels. Which of the following options is correct?
If the value of Integer Input Parameter is 2000, the Text Output Parameter will be "<1K".
At runtime, the Otherwise path will never be executed.
If the value of Integer Input Parameter is higher than 1000, the Text Output Parameter will always be ">1K".
If the value of Integer Input Parameter is exactly 1000, the Text Output Parameter will be">1K".
Consider the following Server Action. In which scenario will the execution move from the main logic flow to the DatabaseException flow?
Never, since the AllExceptions handler takes precedence over the DatabaseException handler.
Whenever the CreateOrUpdateRecord Action triggers a DatabaseException.
Whenever the CheckPermissions If condition is evaluated to False.
Never, since the DatabaseException is not being triggered in the main logic flow.
Consider the following two Entities Member and Team Members are grouped together in tears using these two Entities, and each member only belongs to a single team at a time. What to do to create the missing one-to-many relationship between these two Entities?
Create a new attribute in Member of data type Team Identifier.
Create a new attribute in Member of data type Team
Create a new Entity with two attributes, one with data type Member Identifier and the other with data type Team Identifier
Create a new attribute in Team of data type Member Identifier.
Consider the following two implementations (A and B) below, where the Assign statement is detailed on the right. The goal is to repeat the RunActionWithNumber statement multiple times based on the value of the Number Input Parameter (eg. 10). Based on this scenario, select correct option.
Both alternatives are possible, as long as the If and For Each condition are set to Number >= 0.
Alternative A is possible, as long as the If condition is set to Number>= 0.
Alternative B is not possible, since the For Each always requires a List to iterate.
Alternative B is possible, since the For Each statement is the only statement that allows to create generic loops.
Considering a Button in a Screen, which of the following options cannot be set as its On Click property?
Screen.
Client Action.
Block.
External Site.
Considering the ChangeStatus Client Action in the screenshot, which of the following options is correct?
The ChangeStatus Action can be called from a Server Action.
The ChangeStatus Action can be called from a Screen Action.
The ChangeStatus Action can be called from another module.
The ChangeStatus Action can be used in an Expression on a Screen.
Considering the CheckRegisterd Role Action, which of the following options is true?
I can use the Action on a Screen Expression.
I can use the Action on a Screen Data Action flow.
I can use the Action to hide a widget on a Screen.
I can use the Action in an If condition inside a Client Action.
Considering the following Aggregate, what will happen if a developer selects the Add Sort option and then chooses the Orderltem. Discount attribute?
A second sorting criteria will be added to the Aggregate and the records with the same Product.Name will be sorted by Orderltem.Discount.
A second sorting criteria will be added to the Aggregate and the records with the same Orderltem.Discount will be sorted by Product.Name.
The change will lead to an error in the application, because there is a sorting criteria defined that is based on an attribute of a different Entity.
The sorting criteria by Product.Name will be replaced by the new Orderltem.Discount sorting criteria.
Considering the following scenario, what should be the data type of the option selected in the Variable property of the dropdown?
Text
Long Integer
User
User Identifier
Considering the following Server Action, which of the following options is correct?
If the Integerinput has value 2 then the Output value will be equal to 3.
The Output value will always be equal to 2.
The Output value will always be equal to the Integerinput value.
If the IntegerInput has value 2 then the Output value will be equal to 2.
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 the On Click Destination of Links and Buttons, what is the main difference between these widgets?
Links can have the On Click Destination set to a Screen, while Buttons cannot.
Links can have the On Click Destination set to an Event inside Blocks, while Buttons cannot.
Buttons can have the On Click Destination set to an Action, while Links cannot.
There is no difference between the two widgets in terms of their On Click Destination.
Considering the On Parameters Changed lifecycle event, which of the following options is true?
The On Parameters Changed event is available for both Blocks and Screen.
The On Parameters Changed events are bound to Screen Widgets and are triggered when new data come from Screen Aggregates / Data Actions.
The On Parameters Changed event is triggered when a variable used in a filter of an Aggregate, or an input parameter of a Data Action, changes.
The On Parameters Changed event is triggered anytime the parent of a Block changes one of the Block's Input Parameters.
Considering the On Render lifecycle event, which of the following options is true?
The On Render event is triggered before the Screen or Block are ready.
The On Render event is triggered every time the underlying data of a Screen or Block changes.
The On Render event is the first event triggered when accessing a Screen for the first time.
The On Render event is only triggered when the application is transitioning from one Screen to another.
Considering the scenario in the picture, which of the following options is an important step to guarantee that the City only be fetched when a user selects a region?
Call the GetCitites Aggregate when the On Render event is triggered.
Set the Fetch property of the GetCities Aggregate to Only On Demand.
Call the GetRegions followed by the GetCities Aggregate in a Data Action.
Call the GetCities Aggregate in the OnAfterFetch event of the GetRegions Aggregate.
Entities and Attributes created in OutSystems are mapped to...
Database Tables and Columns.
Lists and Records.
Structures and Enumerates.
Classes and Attributes.
Given a reusable Block that allows the user to set a rating between 1 and 5 stars, how can the rating selected be sent to the parent of the Block?
Create a Local Variable in the Block for the selected rating, that can be read from the outside if you make it public
Create an event in the parent to receive the selected rating as Input Parameter, that is triggered by the Block when the rating is selected.
Create a Local Variable in the parent for the selected rating, that can be updated by the Block.
Create an event in the Block, containing the selected rating as Input Parameter, that is triggered by the Block when the rating is selected.
How would you change the following Aggregate to return the number of orders per priority?
Create a Group By over the Priority.Id attribute and a Count over the Order.ld attribute.
Create a GroupBy over the Order.ld attribute and a Count over the Priority.ld attribute.
Change the Join between the Order and the Priority to Only With and create 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.
In Service Studio, how can you avoid duplicate records in a Database Entity?
Using a Database View.
Using a Database Trigger.
Using Database Constraints.
Using Unique Indexes.
In the Aggregate below 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.
In the following Aggregate, we want to filter the results to only return products that have 'audio' anywhere in the Name. What is the correct expression to put in the Filter of the Aggregate to achieve the desired
Product.Name = "audio"
Product Name "%audio%"
Product Name like "audio"
Product Name like "%audio%"
In the Image below, the Orderltem Entity is being dragged into an Aggregate that already has a Product Entity. Considering this scenario, which of the following statements is correct?
A With or Without type of Join will be created between the Product and Orderltem Entities, if the Orderltem.Productld attribute is non mandatory.
A With type of Join will be created between the Product and Orderitem Entities, if the Orderitem.Productid attribute is non mandatory.
An Only With type of Join will be created between the Product and Orderltem Entities, if the Orderltem.Productld attribute is non mandatory.
A With type of Join will be created between the Product and Orderltem Entities, if the Orderltem.Productld attribute is mandatory.
Just considering Built-in validations, which of the following scenarios would keep a Form valid?
The user inserts a date on a field that expects an Integer.
The user inserts a text on a field that expects an Integer.
The user does not fill a non mandatory field that is used in the logic.
The user does not fill in a mandatory field.
Michael is a user of the Orders application and only has 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 only has access to Screens that have the OrdersAdmin Role checked.
Modifying the content of a Block...
applies the changes to all the existing instances of that Blocks.
requires every instance of the Block to throw an Event to the parent, to apply the changes.
only applies the changes to new instances of the Block. The existing instances remain unchanged.
is not possible after it has been instantiated in another Block or Screen.
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.
Regarding Blocks, which of the following options is correct?
A Block can have Client Actions defined in its scope.
A Block can be nested inside itself.
A Block can have its own Output Parameters.
A Block can only be instantiated inside Screens.
Regarding Site Properties, which of the following statements is true?
Site Properties values cannot be changed outside Service Studio.
Site Properties cannot be changed inside a Server Action.
Site Properties cannot have a Record Data Type.
Site Properties cannot be assigned programatically.
Regarding Static Entities and its attributes, which of the following options is correct?
It is possible to change the value of a Static Entity's attribute in runtime, by using the Update<StaticEntityName> Action.
It is not possible to use the Static Entity Identifier (ID attribute) in another Entity, to create a relationship.
It is possible to add new mandatory attributes to the Static Entity, but their values need to be specified at time a record is added.
It is not possible to change the Entity's automatically created attributes.
Regarding the output of an Aggregate, which of the following options is correct?
The Count property value is -1 if the Aggregate does not return records.
The List.Length property cannot be used to assess if the Aggregate does not return records.
The List.Length property value is always less than or equal to the Count property value.
The Count and List.Length properties always return the same value.
Setting the Expose Read Only property of an Entity to Yes will ...
only expose the Get<Entity> Entity Action.
prevent other modules from using the Entity Actions, but data can still be modified using SQL Queries.
only allows other modules to query data using Aggregate.
prevent other modules from modifying the Entity's data, but only if you also set the Public property to No.
Setting the Public property of a Client Action to No restrict it ...
to just being used in Screen Expressions.
to just being used in the context of the module where it is defined.
to just being used in the context of the application where it is defined.
to just being used in other Client Actions.
The Absolute Action returns an absolute value (abs) of a number N passed as Input Parameter. When does the Action return 0?
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.
Never.
The Action in the image calculates the square root (sqrt) of a positive decimal
number (N). Knowing that the function was called with N = 0, and that 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.
The CreateOrUpdate<Entity> Entity Action ...
will update an existing record if the Id of the input record is Nullldentifier().
returns the Id of the created or updated Record.
returns the Record that was created or updated.
. will fail with an exception if the record already exists.
The two aggregation attributes: ShippingState and Count.
The two aggregation attributes (ShippingState and Count) plus all the attributes of the Source Entities.
Six attributes corresponding to the six visible columns in the Aggregate:
ShippingState, Count, Description, Created On, ShippedOn and Priority.
The image shows a Pagination widget that is associated with a Table on a Screen that was already implemented. There are no error m 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 MaxRecords property of the Pagination should be set to GetMovies.Count
and the TotalCount to RecordsPerPage.
The Screen below has two Dropdowns: one to select a Country and the other to
select a City. The GetCountries and GetCities Aggregates fetch the data displayed in the dropdowns and both have the Fetch property set to At Sta
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
What is required to create a many-to-many (N-N) relationship between the Entities in the picture?
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.
What is the expected output of the following Aggregate, after selecting the Average option?
Only the list of products.
Only the Average of the attribute Price.
The Average of the attribute price and the list of products.
The list of products, with the average of the attribute Price in each record.
What is the main advantage of using the Form Widget?
Save in the database all the attributes of a record at once.
Easily validate the input widgets that are inside the Form.
Apply a common style to all the input widgets inside the Form.
It's the only way to edit a record from an Entity.
When transitioning from the Employees Screen to the Employee Detail Screen, when does the application request the server?
For querying the database.
For destroying the Employees Screen.
For triggering Screen Events.
For fetching the EmployeeDetail Screen.
Which attributes are returned in the output of the following Aggregate?
Only the PriceWithoutVAT attribute.
Only the Product and Orderltem Entity attributes.
Not yet defined. You need to add an Output Structure/Entity to the Aggregate.
The Product, Orderltem Entity attributes and PriceWithoutVAT attribute.
Which of the following data types can be used in Client Variables?
Binary Data.
Structure
List of Text.
Entity Identifier.
Which of the following options 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.
Which of the following options is not possible to use to fetch data while the screen is initializing?
Advanced SQL Queries defined at the Screen level.
Aggregates within a Data Action flow.
Aggregates defined at the Screen level.
REST API methods within a Data Action flow.
Which of the following options should not be a use case of Client Variables?
Username
Password
Search filter keyword.
ID of a user session.
Which of the following sentences about the On Initialize lifecycle event 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.
Which of the following statements is true?
An Entity Identifier must have its Data Type set to Long Integer.
An Entity Identifier must be set to Auto Number.
An Entity Identifier can only be a single attribute.
An Entity Identifier is created automatically and cannot be modified.
Which of the following steps would remove the error in the List widget represented in the picture?
Specify a Structure in the Source property.
Specify a list in the Source property.
Specify a record in the Source property.
Specify an Entity in the Source property.
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.
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 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 Value property.
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.
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
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 would be a good use case for a Client Variable?
Credit Card Number
Profile Picture
User Identifier
User Name
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
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.
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 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.
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.
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.
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 [red border] and displays the validation error message.
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 events is not available in Screens or Blocks?
Initialize
Ready
After Fetch
Render
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.
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.
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.
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.
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 it is possible to inspect the values of variables while debugging
True
False
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.
Regarding the Delete Rule property which of the following options does not guarantee referential integrity?
Protect
Delete
Ignore
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 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.
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. Screen Aggregates can only fetch data from the database.
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.
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 flow
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.
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.
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.
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 Parame
C. Input and Output Parameters as well as Local Variables.
D. Output Parameters and Local Variables but no Input Parameters.
Which of the following options is correct?
A. Screen Actions can call other Screen Actions from a different screen.
A. Screen Actions can call other Screen Actions from a different screen.
C. Server Actions can call Client Actions.
D. Client Actions can call Server Actions.
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.
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.
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 options is false?
A. Input Parameters allow passing data between Screens when navigating between them.
B. Local Variables from a Screen may be directly accessed from another Screen.
C. Local Variables allow temporarily storing relevant information inside a Screen.
D. When the value of a Local Variable changes the user interface reacts immediately.
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.
Screens can be composed of a combination of several elements called Widgets.
A. True
B. False
Static Entities are most similar to which other programming concept?
A. Linked lists.
B. Enumeration.
C. Hash Maps.
D. Static variables.
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.
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.
Which of the following is not an Entity Action of the Customer Entity?
A. CreateCustomer.
B. RetrieveCustomer.
C. UpdateCustomer
D. DeleteCustomer.
If an Entity Attribute named HouseNumber is created what needs to be done about 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 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 mappings between OutSystems and the Database is NOT correct?
A. Entities - Tables.
B. Attributes - Column.
C. Reference attribute - Primary Key.
D. Index - Index.
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 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.
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.
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.
Regarding Reactive Web Apps in OutSystems which of the following options is false?
A. 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.
In which Service Studio layer can Entities be found?
A. Processes
B. Interface
C. Logic
D. Data
In which Service Studio layer can Screens and Blocks be found?
A. Processes
B. Interface
C. Logic
D. Data
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
Which of the following is not a Development Environment?
A. Service Studio
B. Integration Studio
C. Service Center
Considering the Function property in Client Actions which of the following options is correct?
A. Setting the Function property to Yes restricts the Action to have only one Output Parameter.
B. Setting the Function property to No ensures the Action can only be used in the module where it is defined.
C. Setting the Function property to Yes is not possible if the Action is exposed to other modules as Public.
D. Setting the Function property to No ensures the Action can only be used in Screen Expressions.
Which of the following options is a valid usage of the Trigger Event node?
A. The Trigger Event allows a Screen to notify its children (Blocks) that something relevant occurred in the scope of the Screen.
B. The Trigger Event allows a Block to notify its children (other Blocks) that something relevant occurred in the scope of the Block
C. The Trigger Event allows a Block to notify its parent (Screen or Block) that something relevant occurred in the scope of the Block.
D. The Trigger Event allows a Screen to notify its parent (Screen or Block) that something relevant occurred in the scope of the Screen
The Id attribute in the Resource Entity has the Delete Rule property set to Delete. Which of the following statements is true?https://drive.google.com/file/d/1OVQNljMVDXWnDJEo9AxhHrpvZekrs1SZ/view?usp=sharing
A. Deleting a record from the Resource Entity is only possible after deleting the corresponding record from the ToDo Entity.
B. Deleting a record from the ToDo Entity will leave the corresponding record in the Resource Entity
C. Deleting a record from the ToDo Entity automatically deletes the corresponding record from the Resource Entity.
D. Deleting a record from the ToDo Entity is not possible if there is a Resource with the same Id in the Database.
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.
https://drive.google.com/file/d/1wywMD4xjI9tD28jUImEQyGqQES6e8OJN/view?usp=sharing
A. If the value of the GenderLetter is F the Gender output value will be Female.
B. If the value of GenderLetter is Female the Gender output value will be Female.
C. The Gender output value will be either Female or Male.
D. The Gender output value is always Unknown
Regarding the Entity Customer and its CRUD actions which of the following options is true?
A. They correspond to CreateCustomer RetrieveCustomer UpdateCustomer and DeleteCustomer.
B. We need to create them according to the business logic.
C. CRUD actions can be manipulated according to the business logic.
D. Can be used directly in the business logic.
In OutSystems the For Each statement
A. allows defining an Integer with value n and repeat the same Cycle path flow n times ...
B. allows iterating through all the elements in a List.
C. cannot iterate over the List result of an Aggregate.
D. requires a Condition to stop the loop
The For Each statement iterates a List by
A. changing the For Each's Current property.
B. None of the above
C. changing the For Each's Record property.
D. changing the List's Current property.
When the Delete entity action is invoked....
A. The attributes to be deleted are passed to this action
B. The record is passed to this action
C. The ID of the record is passed to this action
Regarding entity identifiers in outsystems which one of the following options is false?
A. By default it is of data type Long Integer.
B. Composite Keys are not allowed only one attribute can be the Entity Identifier.
C. It is not mandatory
D. It can be set to any Basic Data Type.
As the devolper draggs and drops the Flip Content widget which of the following options is true?
A. The widget will contain only CardFront and CardBack but will accept as many Cards as the developer wants.
B. It is mandatory to create a Handler to host the Flip Logic prior to publish.
C. By default boolean variable IsFlipped is set to False but boolean variable FlipSelf is set to True.
D. It will only behave as a Flip if you have content in all Cards created in the Widget Tree.
Regarding Links and Buttons which of the following options is false?
A. A link can enclose other widgets.
B. A Link and Button can have an external URL as an On Click Destination.
C. The only difference between Links and Buttons is in the UI.
D. None of the above.
Regarding Site Properties which of the following is true?
A. Site properties can't be set programmatically
B. Site properties can't be changed outside Service Studio
C. Site properties can't be of data type Record
D. Site properties can be accessed in Screen actions
In OutSystems how do we restrict access to a Screen?
A. Go to the Users application and associate the Screen to a specific role.
B. In the Screen Properties untick roles to restrict their access.
C. Use the CheckRole Action.
D. We don't. Only users with a username and password can access.
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.
Consider an Aggregate with the Fetch property set to Only On Demand. When does that Aggregate run?
A. Automatically when the Screen is initializing.
B. Programmatically using a Refresh Data node in a Screen Action.
C. Automatically when the Aggregates set to run At Start finish.
D. Programmatically using a Server Action.
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.
Which of the following options is correct regarding Client Variables?
A. The value of a Client Variable is shared among all logged-in users.
B. Lists or Binary Data can also be stored on Client Variables.
C. Client Variables should be used to store confidential information.
D. Client Variables are useful to cache frequently accessed information.
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.
Consider an Aggregate with the Fetch property set to Only On Demand. When does that Aggregate run?
A. Automatically when the Screen is initializing.
B. Programmatically using a Refresh Data node in a Screen Action.
C. Automatically when the Aggregates set to run At Start finish.
D. Programmatically using a Server Action.
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 Users and Roles in OutSystems which of the following options is correct?
A. By default end-users are managed in the built-in Users application.
B. End-users can only be created programmatically using Actions from the Users application.
C. There are three built-in roles in OutSystems: Anonymous AppUser and Registered
D. All users with or without a login have automatically the Registered Role.
Regarding the entity Customer and its CRUD operations which of the following options is true?
A. DeleteCustomer requires as input parameter a Customer Record.
B. DeleteCustomer requires as input parameter a Customer Identifier.
C. DeleteCustomer returns as output a Customer Record.
D. CreateOrUpdateCustomer returns as output a Customer Record.
Regarding a Screen with an input parameter which of the following options is true?
A. The input parameter must always be defined.
B. The input is the output variable of another screen.
C. If not defined the input parameter will hold its default value.
D. If not defined it will cause a navigation error.
Regarding Advanced Aggregates which of the following options is true?
A. Users can't have access to the hidden values of an aggregate.
B. Using aggregation functions will not affect the output of the aggregate.
C. When calculating Attributes those become the only output of the aggregate.
D. None of the above.
Regarding the List widget select the correct statement.
A. Setting its Animate items property to Yes will allow left and right swipe of the items.
B. The Source property of the List has to be of type List and it must come from an aggregate.
C. To implement infinite scrolling I have to use the InfiniteScroll pattern from Mobile Patterns.
D. All the above are false.
Considering Aggregates and the SQL Tool which of the following is the correct option?
A. 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.
