You are on page 1of 313

System Architect

Essentials I
EXERCISE GUIDE (v. 7.1)

PEGA
STUDY
MATERIAL

Table of Contents
BPM and Case Management Overview....................................................................1
Use Designer Studio to Create and Process a Case.....................................................................2

Start Building an Application......................................................................................5
Create the HR Services Application..............................................................................................6
Add Stages to a Case.................................................................................................................. 11

Defining the Process................................................................................................17
Add Steps to a Case Stage......................................................................................................... 18
Configure Assignments with the Process Outline........................................................................ 22
Model Processes with the Process Outline.................................................................................. 27
Add Specifications to a Process.................................................................................................. 33

Defining the Data Elements.....................................................................................37
Create Single-Value Properties................................................................................................... 38
Add Allowed Values to a Property Definition................................................................................ 41
Create and Use Property Pages.................................................................................................. 46
Set a Property Value with a Data Transform................................................................................ 54
Review Case Data with the Clipboard......................................................................................... 60

Enhancing the User Interface..................................................................................64
Adding Layouts............................................................................................................................ 65
Adding a Repeating Layout......................................................................................................... 72
Adding a New Control on an Existing Field.................................................................................. 76
Adding List-Based Controls......................................................................................................... 83
Identifying Mandatory Fields........................................................................................................ 87
Validating User Entries................................................................................................................ 89

Accessing Data in the Application...........................................................................91
Create a New Data Table............................................................................................................. 92
Populate Dropdown From a Data Page....................................................................................... 96
Populate a Data Page in an Embedded Section.......................................................................... 99
Auto Populate a Page Property................................................................................................. 105
Creating a Dynamic User Interface............................................................................................108
Reusing Data Transform for Background Check.......................................................................117

Automating Business Policies...............................................................................130
Determine Offered Salary.......................................................................................................... 131
Skip Screening Process............................................................................................................ 138
Optional - Request Technical Sample for Engineering Positions...............................................141
Direct Flow Processing with a Decision Table...........................................................................145
Direct Flow Processing with a Decision Tree.............................................................................150

Advanced Case Processing..................................................................................154
Routing to Get Approval for Offer.............................................................................................. 155
Identifying the Resolution Stages..............................................................................................157
Schedule Company Tour........................................................................................................... 160
Add and Configure Smart Shapes............................................................................................. 163
Set Goal and Deadline Intervals for a Case..............................................................................172

Documenting the Application.................................................................................175
Document an Application........................................................................................................... 176

BPM and Case Management Overview

This lesson group includes the following lessons:
Introduction to BPM and Case Management (No Exercise)
Accessing a PRPC Application (No Exercise)
Tour of the Designer Studio

www.svpegatraining.com

1

Exercise: Use Designer Studio to Create and Process a Case
Scenario
Before we can begin to implement a solution, we need to understand how users create, process, and
resolve cases using Pega 7. Understanding how users perform their assignments helps us to
determine how to implement an application and create, modify, and test its elements.
In this exercise, you will perform three different roles, as listed in the table below.
Role

Username

Password

Employee

User@MainCo

rules

Manager

Manager@MainCo

rules

System Architect

Admin@MainCo

rules

Approach
The login credentials provided in the scenario will open an Employee Reimbursements demo application
with an Expense Voucher case type. In the Expense Voucher case, an employee fills out a voucher listing
expenses. If the total is over $100, the expense voucher case is routed to a manager. The manager
determines if the expense will be approved or rejected and then notifies the employee of the final voucher
status.
To view the case type from each role, you will:
5888

Log in as an employee and use the Create menu to create a new expense voucher

5889

Log in as a manager, select open cases from the workbasket and approve or

reject the expense voucher.
5890

Log in as a system architect to test the Expense Voucher case type

Hints
0

The portal can be launched using the Launch menu located in the header.

1

The case can be created using the Create menu located in the header.

www.svpegatraining.com

2

Procedure
Launch the exercise system, if it is not already running. Then, follow the steps below to practice
using Pega 7 from three different roles.

Employee: Create Expense Voucher
0

On the Login screen, enter the employee username (User@MainCo) and password shown in
the Scenario section to log into the Employee Reimbursements application.

1

Use the Create menu to create an Expense Voucher case.

2

Complete and submit an expense voucher. Do this several times so that you can view the flow
that occurs with vouchers over and under $100.

Note: Ensure that you create at least two expense voucher cases so that you can approve and
reject from the finance staff member role.

Manager: Approve/Reject Voucher
0

On the Login screen, enter the manager username (Manager@MainCo) and password shown in
the Scenario section to log into the Employee Reimbursements application.

1

View work items listed in the work basket, under the heading My Worklist. Click a blue
highlighted ID link to open an expense voucher case.

2

Review a voucher and click Submit to approve it. Open another voucher and select Reject from
the Other actions menu in the top-right of the screen. Notice that once you’ve opened the
Reject screen, you can use the Other actions menu to return to the Approve screen.

3

To view the remaining open cases, select Dashboard or My WorkList from choices on the
left. To update the list, click Refresh list on the My WorkList screen.

System Architect: Review Expense Voucher Case Type
23 On the Login screen, enter the system architect username (Admin@MainCo) and password
shown in the Scenario section to log into the Case Designer.

www.svpegatraining.com

3

23 Click Cases in the left column to select the Cases Explorer. Click Expense Voucher under
Case Types to view the Expense Voucher Case Designer landing page.
24 Select Create Expense Voucher Case from the Create menu. Fill out all required forms and
click Submit to advance the case to the Review Expenses stage.
25 When the case enters the Review Expenses case stage, notice that the Case Contents show the
steps that have been completed. The current step is highlighted in blue and you can see that the
approval step has been assigned to a Manager. From the Other actions menu, you can select to
approve or reject this step
26 Since our system is not set up to deliver email, the administrator will receive an notice when mail
delivery is attempted.
27 Create a new case two additional ways:
23 Return to the Case Designer landing page for the Expense Voucher case and use the Run
button to run the process (which will create a new case).
24 Select Case Manager 7 from the Launch menu to open a Case Manager portal and then
use the Create menu to create a new Expense Voucher case.

www.svpegatraining.com

4

Start Building an Application

This lesson group includes the following lessons:
23 Introduction to HR Services (No Exercise)
24 Creating a New Application
25 Identifying Case Stages

www.svpegatraining.com

5

Exercise: Create the HR Services Application
Scenario
Before we can begin to model processes, develop UIs, and implement a data model – all necessary
parts of our solution – we must create the application itself. This basic structure will accommodate all of
our work to implement the Candidate case.
To create our starting point, a Lead System Architect would run the New Application wizard. After
collecting basic information about the application we need to implement, the wizard creates the base
elements and structure of our application, upon which we can implement the processes, policies, user
interfaces and data needed to manage Candidate cases from start to finish.
Note: The New Application wizard is normally run by Senior or Lead System Architects (SSAs/LSAs),
and not system architects. For this exercise, we ignore some of the functionality of the wizard and focus
solely on the steps that are necessary to create our application.
22

Role: Senior/Lead System Architect

22

User Name: LeadArchitect

22

Password: password

Approach
Run the New Application wizard and provide the following information to create an application:
23 Basic application information, such as the name and description of the application.
24 Business objectives that the application must satisfy.
25 The name and description of the case(s) to implement.
26 Any data objects needed to manage information collected during case processing.
Note: Failure to enter certain information as specified will cause the wizard to create items whose names
and behaviors differ from the names and behaviors assumed in later lessons. To avoid confusion and
potential errors, use the following table to enter values in the appropriate field of the wizard, and verify all
entries before completing the wizard and creating your application.

www.svpegatraining.com

6

Field

Value

Application

HR Services

Description

The HR Services application manages Human Resources (HR)
services for SAE Corporation. Employees can use this
application to manage candidate applications for open
positions within the company.

Built on Application

PegaRULES

Application Structure

Implementation only

Organization

SAE

Business objective

Improve response time throughout the candidate selection
process

(Case) Name

Candidate

(Case) Description

Case for managing applications for open positions at SAE

(Data Object) Name

Candidate

(Data Object) Description

Information about candidates for open positions at SAE

Reuse Layer

Implementation

Procedure
Follow the steps below to create a new application:
23 Log in as a System Architect using the login credentials in the Scenario section.
Note: If you do not see the New Application option in the application menu, see the
Switch Application / Access Group section at the end of this exercise.
24 From the Application menu, select New Application.

23 Click Create New Application to start the wizard.
24 In the Application Settings step, enter information from the table in the Approach section.
22

Application: HR Services

22

Built on Application: PegaRULES

22

Application Structure: Implementation only

www.svpegatraining.com

7

22

Organization: SAE

IMPORTANT: The organization name must match the one shown above. As
the new application is created, operator IDs, based on this organization name,
will be created. For example, the new administrator operator ID for this
application will be Admin@SAE

23 Click Next to advance to the Business Objectives step, and enter the following business
objective: Improve response time throughout the candidate selection process.
24 Click Next to advance to the Case Types step, and enter the following information.
22

Name: Candidate

22

Description: Case for managing applications for open positions at SAE

25 Click Next to advance to the Data Objects step, and enter the following information.
22

Name: Candidate

22

Description: Information about candidates for open positions at SAE

www.svpegatraining.com

8

Reuse layer:Implementation
5888 Click Application Settings to return to the first step of the wizard, and review the
information provided at each step. Errors in this information may cause your application to
behave in an unexpected manner, so be sure to confirm that the information you have entered
is correct and matches the table in the Approach section of this lab exercise

5889

Return to the Data Objects step and click Create.

As part of the creation process, the system generates the following operators for your
organization. Note that the organization will match the organization name you entered in Step
1 of the Application Creation Wizard.
Admin@SAE
Manager@SAE
User@SAE

Each operator is assigned the default password: rules.
0

Log off and log back in using the administrator account created with the new application.
View the Application Overview by selecting Open Overview from the Application menu.

www.svpegatraining.com

9

Switch Application / Access Group
As a reminder, roles are assigned to an access group, and the privileges an operator can perform depend
upon the access group roles. After creating a new application, the operator’s default access group
changes to that of the administrator for the new organization. This access group may not have the role
necessary to create another application.
To run the Application Creation Wizard (App Express) again, ensure that your operator is in an access
group that has the application creation role. Do this by selecting Switch Application from the
application menu.

Note: Your list of application may differ from the image displayed above.

Reference Information
0

PRPC Help: Application Overview landing page

1

PRPC Help: About the New Application Wizard (Application Express)

www.svpegatraining.com

10

Exercise: Add Stages to a Case
Scenario
Once a Lead System Architect runs the New Application wizard to create a starting point for our
application, we can begin creating and configuring the elements that will comprise our eventual
solution. The first step in this process is to create stages for our case.
When working with a case, both end users and developers find it helpful to identify the stages that make
up the workflow of the case. These stages provide valuable context for application designers, who can
use them to organize the tasks and processes that comprise their case. They also provide valuable
context for end users, who can use stages to measure the progress of a case as they process it.

22

Role: System Architect

22

User Name: LeadArchitect

22

Password: password

Approach
Use the Stage Designer to add the following six (6) primary stages to your case: Collect Information;
Qualify; Interview; Decision; Offer; and Wrap Up.

Hints
ᜀĀᜀĀᜀĀᜀĀᜀĀᜀĀᜀĀᜀȀĀȀ⸀ĀᜀĀᜀĀᜀĀᜀĀᜀĀᜀĀᜀĀᜀ0 To edit case stages, use the Stage Designer,
which can be found on the Stages & Processes tab of the Case Designer.

www.svpegatraining.com

11

2. Use the Stage Configuration dialog to change the name of a stage.

3. Use the Edit Primary Stages dialog to reorder stages if necessary.

www.svpegatraining.com

12

Procedure
1. Open the Case Explorer and select the Candidate case.
Note: If you don’t see the explorer menus, click the icon to the left of the
Pega 7 logo to open the explorer panel in the Designer Studio portal.

2. Click the Options menu for Stage 1 and select Configure stage behaviors.

3. In the Stage Name field, enter Collect Information. Click OK.

Change the name of Stage 2 to Interview and Stage 3 to Offer.

Click the

icon to add a fourth stage, and name the stage Wrap Up.

Select Edit Stages from the Actions menu to open the Edit Primary Stages dialog.

www.svpegatraining.com

13

7. Click + Add Stages to add a stage. Name the stage Qualify.

Add another stage named Decision.
Drag the Qualify stage above Interview, and the Decision Stage above Offer.
Note: To drag a stage, hover over the stage number until the cursor
changes to a four-arrow icon and then click-and-drag.

Stages should now be in the order: Collect Information, Qualify, Interview, Decision, Offer and
Wrap Up.

www.svpegatraining.com

14

10. Click OK to close the dialog.

11. Click Save to save changes to the case type.

www.svpegatraining.com

15

Optional Exercise
Select Configure alternate stages from the Actions menu
Name the alternate stage Post Rejection.
Click Save to save changes to the case type.

www.svpegatraining.com

16

Defining the Process

This lesson group includes the following lessons:
Adding Processes to Stages
Modeling the Processes
Adding Business Use Cases to Process
Review of Defining the Process (No Exercise)

www.svpegatraining.com

17

Exercise: Add Steps to a Case Stage
Scenario
Once we divide a case into stages, the next step is to add steps to each stage. Each step represents a
specific action or item to complete in order to process – and ultimately resolve – a case.
Our business analyst has divided the Candidate Case into the following steps, which we need to
implement using the Stage Designer:
COLLECT INFORMATION

QUALIFY

INTERVIEW

* Personal Info

* Screen Candidate

* Schedule Interview

Professional Info

+ Determine Target Position

Conduct Interview

Educational Info

Request Technical Sample

DECISION

OFFER

WRAP UP

+ * Assess Candidate

* Determine Compensation

* Notify Candidate

* Background Check

Extend Offer

Kick Off Onboarding
Resolve - Approve

* Step starts upon stage entry +
Step is a multi step process
Note: The Kick Off Onboarding step is not implemented in this course. It serves to illustrate where
students could extend this application with the functionality implemented in System Architect Essentials
II.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Configure the Candidate case to include the steps listed in the Scenario.
Any step marked with an asterisk (*) should be configured to start upon stage entry.
Any step marked with a plus sign (+) should be configured as a Multi Step Process.

Hints
By default, each step represents a single-step assignment. To change a step to a multi-step
process, hover your mouse pointer over the step name, click the down arrow icon, and select
Configure step behaviors to open the Step Configuration dialog. Then, select Multi Step
Process from the Step Type drop-down list.

www.svpegatraining.com

18

To configure a step to be available when the case enters a stage, open the Step
Configuration dialog for that step and select upon stage entry.

Procedure
Follow the steps below:
If necessary, return to the Case Designer and click the Stages & Processes tab.
Under the Collect Information stage, click Default Step. In the resulting text field, enter
Personal Info.
Under Personal Info, click + Add Step to create a new step named Professional Info and then
click + Add Step again to add a new step named Educational Info.

Rename the remaining Default Steps and continue to use the + Add step link to add the rest of the
steps listed in the Scenario for this case.

www.svpegatraining.com

19

Hover your mouse pointer over the Determine Target Position step, click the down arrow icon,
and select Configure step behaviors to open the Step Configuration dialog.

Configure the Determine Target Position step as a Multi Step Process. Note the warning that the
step type change is not reversible and then click OK to close the dialog.

Open the Step Configuration dialog for the Assess Candidate step. Set the Step type to Multi Step
Process, and configure the step to start upon stage entry. Click OK to save the change.

www.svpegatraining.com

20

Review the contents of the Stage Designer and then click Save to save changes to the case type.

Reference Information
PDN: Design Your Application with Case Lifecycle Management

www.svpegatraining.com

21

Exercise: Configure Assignments with the Process Outline
Scenario
During case elaboration, system architects work with business analysts and subject matter experts to
decompose cases into processes, and processes into steps. This allows business analysts and subject
matter experts to decide on an application design that satisfies the needs of the business, and provides
application designers with an approved design and set of specifications that they can use to implement
solution functionality.
To properly decompose a case, we begin by dividing the case into stages, which we can then
populate with steps. Once we establish the steps needed to process and resolve a case, we can
model the processes that each step represents.
Modeling our processes allows us to establish the correct order for the actions that we know need to
be performed, and results in a set of assignments and process flows that we can test and verify against
business expectations. In addition, we can use our process model to help develop a set of draft user
interfaces (UIs) and establish a data model.
Role: System Architect
User Name: LeadArchitect
Password: password
Note: This exercise is divided into two parts. This is the first part of the exercise.

Approach
Create flow actions for the following steps in the Candidate case.

Assignment

Flow Action

Instructions

Personal Info

Collect Personal Info

Enter personal information

Professional Info

Collect Professional Info

Enter work history information

Educational Info

Collect Educational Info

Enter educational background

Screen Candidate

Screen Candidate

Conduct telephone interview

Request Technical Sample

Request Technical Sample

Obtain sample of prior work

Schedule Interview

Schedule Interview

Schedule hiring manager interview

Conduct Interview

Conduct Interview

Conduct interview with candidate

www.svpegatraining.com

22

Hints
The Process Outline displays either a process diagram (for multi-step processes) or a properties
panel (for single-step assignments), depending upon the configuration of the corresponding
step.

Procedure
Follow the steps below:
If necessary, return to the Stage Designer.
Hover over the first primary stage (Collect Information) and click Configure Process Detail when it
appears.

The Process Outline appears, and displays the properties panel for the Personal Info
assignment.

www.svpegatraining.com

23

The action is given a default name that is based on the step name. Change the action name to
Collect Personal Info and then scroll down to the Advanced section. Expand Assignment
Details and enter the text Enter personal information. Click Save.

www.svpegatraining.com

24

4. Repeat step 3 for the remaining assignments in the Collect Information stage. Update the
flow action name and add instructions from the following table. Remember to Save after
each update.
Assignment

Flow Action

Instructions

Professional Info

Collect Professional Info

Enter work history information

Educational Info

Collect Educational Info

Enter educational background

5. Configure the assignments in the Qualify stage, using information from the following table.
Assignment

Flow Action

Instructions

Screen Candidate

Screen Candidate

Conduct telephone interview

Request Technical
Sample

Request Technical Sample Obtain sample of prior work

6. Configure the assignments in the Interview stage, using information from the following
table.
Assignment

Flow Action

Instructions

Schedule Interview

Schedule Interview

Schedule hiring manager interview

Conduct Interview

Conduct Interview

Conduct interview with candidate

7. Click Run to start a Candidate Case process, and verify that a message appears to inform
you when an input form for an assignment step has not yet been created. Click No thanks,
maybe later to continue testing process flow.

Further down on the form, verify that the instruction you entered appears in the worklist, then click
Submit.

www.svpegatraining.com

25

Continue clicking No thanks, maybe later to verify the flow action message and instructions for
each step. When you reach a stage that has two steps that begin at stage entry, you may
need to click the blue highlighted step to continue. Continue testing your case for all stages
and then close the case form.

www.svpegatraining.com

26

Exercise: Model Processes with the Process Outline
Scenario
During case elaboration, system architects work with business analysts and subject matter experts to
decompose cases into processes, and processes into steps. This allows business analysts and subject
matter experts to decide on an application design that satisfies the needs of the business, and provides
application designers with an approved design and set of specifications that they can use to implement
solution functionality.
To properly decompose a case, we begin by dividing the case into stages, which we can then
populate with steps. Once we establish the steps needed to process and resolve a case, we can
model the processes that each step represents.
Modeling our processes allows us to establish the correct order for the actions that we know need to
be performed, and results in a set of assignments and process flows that we can test and verify against
business expectations. In addition, we can use our process model to help develop a set of draft user
interfaces (UIs) and establish a data model.
Role: System Architect
User Name: LeadArchitect
Password: password
Note: This exercise is divided into two parts. This is the second part of the exercise.

Approach
Create process diagrams for the Determine Target Position, Assess Candidate and Resolve-Approve
steps in the Candidate case.

www.svpegatraining.com

27

Configure the flow shapes according to the following information.
Decision
Is candidate
qualified?
Candidate meets
standards?

Type
Decision Table

Rule
CandidateQualification

Decision Tree

CandidateScoring

Assignment
Select New Position

Action
SelectNewPosition

Audit Note
Determine if the candidate is
qualified for the selected position
Determine if the candidate meets
company hiring standards

Instructions
Select a new position for the candidate

Connector
Different Position

Type
Result

Likelihood
30

Reject
Selected Position
Select New
Position
Yes
No

Result
Result
Result

25
45
100

Audit Note
Candidate does not fit selected position, but still
warrants consideration for other positions
Candidate does not warrant further consideration
Candidate fits selected position
Select a new position for the candidate

Result
Result

70
30

Candidate meets corporate standards
Candidate does not meet corporate standards

Also, configure the Resolve – Approve step to remove the assignment and automatically finish the
process by setting the work status to Resolved – Completed.

Hints
The Process Outline displays either a process diagram (for multi-step processes) or a properties
panel (for single-step assignments), depending upon the configuration of the corresponding
step.
To remove the assignment from a single-step assignment, first change the step type to Multi Step
Process, then open the step in the Process Outline.

www.svpegatraining.com

28

Procedure
Follow the steps below:
From the Case Designer for the Candidate case, click Configure process detail under the
Decision stage and then select the Assess Candidate step. When the process diagram
opens, delete the two assignments and the connector between them by right-clicking the
shape and selecting Delete from the pop-up menu.
Add a decision shape to the process by selecting it from the Flow shapes menu.

3. Right-click the decision shape and select View Properties. Configure the decision shape,
using information in the following table and then click OK to close the form.
Decision
Candidate meets
standards?

Type
Decision
Tree

Rule
CandidateScoring

Audit Note
Determine if the candidate
meets company hiring standards

4. Add a second End shape to the flow. Add a connector from the decision shape to each of the two
End shapes. For each connector, right-click, select View Properties and then set properties
using information in the following table.
Connector
name

Condition
Type

Likelihood

Audit note

Yes

Result

70

Candidate meets corporate standards

No

Result

30

Candidate does not meet corporate standards

Important: To ensure that the connectors are meeting up with
the decision shape, click and drag the decision shape and
make sure the connectors follow.

www.svpegatraining.com

29

Click the Display Likelihoods icon

to verify that the likelihood values you entered match the

table in the previous step and then Save changes to the case type.
Open the Determine Target Position process in the Qualify stage. Delete the two
assignments in the flow and the connector between them.
Add a decision shape to the process. Configure the decision shape, using information in the
following table and then click OK to close the form.

Decision
Is candidate
qualified?

Type
Decision
Table

Rule
CandidateQualification

Audit Note
Determine if the candidate is
qualified for the selected position

8. Add a new Assignment shape below the Decision shape and name it Select New Position.
9. Add an End shape below the new assignment shape. Drag a connector from the Select New
Position assignment shape to the End shape. Configure the connector using information in the
following table and then click OK to close the form.
Connector
name

Flow Action

Audit note

Select New
Position

SelectNewPosition

Select a new position for the candidate

10. Add an additional (third) End shape. Configure three connectors from the decision shape,
using information in the following table. Connect the Different Position result to the Select New
Position assignment, and the remaining two results to End shapes.
Connector
name

Condition
Type

Likelihood

Audit note

Selected
Position

Result

45

Candidate fits selected position

www.svpegatraining.com

30

Reject

Result

25

Candidate does not warrant further
consideration

Different
Position

Result

30

Candidate does not fit selected position, but
still warrants consideration for other positions

Verify that the likelihood values you entered match the expected values and that the
connectors are all attached correctly. Save changes to the case type.
Click Back to stages to return to the Case Designer landing page. Configure step
behaviors for the Resolve-Approve step in the Wrap Up stage to make it a Multi Step
Process.
Open the Wrap Up stage in the Process Outline. Select the Resolve-Approve step to view its
Process Diagram. Delete the two assignments and their associated connectors and then connect
the start shape to the end shape.
Right-click the End shape and select View Properties. Set Work Status by beginning to type
Resolved-Completed in the smart prompt field and then using the down-arrow key to select it
from the menu. Click OK to close the Edit Properties form and then Save the process and return
to the stage view.

www.svpegatraining.com

31

15. Run the process to create a new test case.
Note: After you have added a decision to a step, you will need to select
a connector to take when running the process for a new case.

Reference Information
PDN Article: Manage Flows with Process Outline (node/45356)
http://pdn.pega.com/node/45356

www.svpegatraining.com

32

Exercise: Add Specifications to a Process
Scenario
When we begin developing a solution, one of our first tasks is to model our processes and user
interfaces. By modeling the processes and UI of our solution, we can verify our understanding of
these elements with the subject matter experts from the business. Once we establish a common
understanding of the process and UI, we can begin implementing specific rules to capture and
present data and enforce business policies.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Open the Collect Information stage in the Process Outline and add descriptions for the Personal Info step
using the following specifications.
Personal Info assignment:
The first step in the Candidate case. Prompt the candidate to enter personal information. Upon
submission, the case advances to the Professional Info assignment. No other actions are
available.
CollectPersonalInfo flow action:
Collect the following information from the candidate:
First Name: text; required
Last Name: text, required
Date of Birth: date
Email: text
Phone Number: text
Gender: radio button (Male/Female)
Position Applied For: Drop-down list populated from data table
Use the Application Overview to verify that the specifications have been added to the application, and
that each specification properly links back to its implementation.

www.svpegatraining.com

33

Hints
To create or review a specification for a flow action from an assignment properties panel, click
View Action Specification.

To open the Application Overview, select Open Overview from the Application menu in the Designer
Studio header.
To verify the link between a specification and its implementation, click the View Related
Implementations icon
implementations.

. The number next to the icon indicates the number of

Procedure
Follow the steps below:
Open the Candidate case in the Case Designer, open the Collect Information stage in the
Process Outline and then select the Personal Info step.
Scroll down to the Specification region and enter the following information.
The first step in the Candidate case. Prompt the candidate to enter
personal information. Upon submission, the case advances to the
Professional Info assignment. No other actions are available.

www.svpegatraining.com

34

Scroll back up to the top and Save changes. Click View Action Specification to open the Add
Specification dialog for the flow action.

In the empty field at the top of the dialog, enter the following text to describe the flow action.
Collect the following information from the candidate:
First Name: text; required
Last Name: text; required
Date of Birth: date
Email: text
Phone Number: text
Gender: radio button (Male/Female)

Position Applied For: Drop-down list populated from data table

www.svpegatraining.com

35

Click OK to close the Add Specification dialog and then Save your changes to the case type.
Open the Application Overview using the Application menu, then click Specifications to verify
that the specifications you entered have been saved as part of the application.

Click the View Related Implementations icon
to verify that each specification links to the
appropriate implementation (assignment or flow action).

www.svpegatraining.com

36

Defining the Data Elements

This lesson group includes the following lessons:
Introduction to Data Elements
Introduction to Data Modeling
Setting Values of Data Elements
Inspecting Data Elements
Review of Defining the Data Elements (No Exercise)

www.svpegatraining.com

37

Exercise: Create Single-Value Properties
Scenario
Once a recruiter qualifies a candidate for a position at SAE, they schedule the candidate for an
interview with the respective hiring manager.
After the hiring manager completes the interview with the candidate, they must assess the candidate in
three areas: the candidate’s overall strengths, their technical competency, and their fit with the
department and corporate culture.
To support the interview and decision-making processes, HR has asked you to add fields to collect this
information.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Use the properties panel for the Schedule Interview and Conduct Interview assignments to add the
following properties to the data model.
Step
Schedule Interview
Conduct Interview
Conduct Interview
Conduct Interview

Property
Interview Date
Interviewer Rating
Technical Skill Rating
Interpersonal Skill Rating

Property Type
Date
Decimal
Decimal
Decimal

Hints
In the Process Outline, you can create a property by configuring a form. To do so, select the
corresponding assignment in the left pane of the Process Outline and then click Configure form
below the correct Flow Action.

www.svpegatraining.com

38

Procedure
From the Case Designer for the Candidate case, open the process outline for the Interview Stage
and then follow the steps below:
Open the Schedule Interview step in the Interview stage and then click Configure form in the
properties panel.

Enter Interview Date in the open field.
Set the property type to Date.

www.svpegatraining.com

39

4. Click Save to save changes to the form and then Save updates to your case type.

5. Open the Conduct Interview step and configure a form to include properties in the
following table. Click Save to close the Form Configuration dialog and then Save your
changes to the Candidate case type.

Property Name
Interviewer Rating
Technical Skill Rating
Interpersonal Skill
Rating

Property Type
Decimal number
Decimal number
Decimal number

6. Click Run to create a Candidate case. For those steps that do not yet have a form, click No
thanks, maybe later in response to the question “Would you like to work on this now?” If you
reach a decision step, select a connector and then click Submit. Continue until you reach the
Interview stage. Verify that the fields now appear for each property on the Schedule Interview
and Conduct Interview forms.
IMPORTANT: Do not close the case after you review the Conduct Interview form. This open case
will be used in the next exercise.

www.svpegatraining.com

40

Exercise: Add Allowed Values to a Property Definition
Scenario
Upon reviewing the interview assessment form, HR is concerned that the current configuration of the
form does not provide enough guidance to interviewers about assessing candidates. HR is concerned
that interviewers may grade candidates inconsistently, and that this would negatively affect the hiring
process.
To ensure that interviewers grade candidates consistently, HR has asked you to provide interviewers with
guidelines for each rating. Hiring managers should provide a rating for each candidate in each category,
on a scale of 0 to 100%. All ratings should provide a descriptive label for each value, so that hiring
managers can apply the ratings consistently from candidate to candidate.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Configure the property form for each of the Interviewer Rating, Technical Skill Rating, and Interpersonal
Rating properties so that they include a prompt list, using the values in the following table. Also,
configure the property to display as a set of radio buttons by using the pxRadioButtons control.
Interviewer Rating

Standard Value
0
0.2
0.4
0.6
0.8
1

Prompt Value
Unqualified
Poor
Below Average
Average
Above Average
Excellent

Technical Skill Rating and Interpersonal Skill Rating
Standard Value
0
0.333
0.667
1

www.svpegatraining.com

Prompt Value
Poor
Below Average
Above Average
Excellent

41

Hints
Use the UI Inspector to identify the property rule that corresponds to each field.
To display a property as a set of one or more radio buttons, select the pxRadioButtons control
on the rule form for the property.

To create a list of choices that displays a descriptive label, rather than a number with no context,
select Prompt List from the Table Type drop-down list.

Procedure
Follow the steps below:
Return to the case used in the last exercise, or create a new case and proceed to the
Conduct Interview form.

Use the UI Inspector to open the property rule for the Interviewer Rating field as described below.

www.svpegatraining.com

42

While the Conduct Interview form is displayed, click the UI Inspector icon

in the

Developer toolbar.
Hover over the Interviewer Rating field until the Information Panel displays and then click the
blue InterviewRating property link.

Expand the Display and Validation section.
Change the UI Control by clicking in the field and using the down-arrow to select pxRadioButtons
from the list that appears. Select Prompt List from the Table Type drop-down list.

Enter prompt values from the following table. After each value, click the Add a Row icon
to
create an empty row for the next value. This prompt list table will allow operators to select a
prompt value, and the associated standard value will be saved.
Standard Value
0
0.2
0.4
0.6
0.8
1

www.svpegatraining.com

Prompt Value
Unqualified
Poor
Below Average
Average
Above Average
Excellent

43

Save the rule, close the rule form tab and return to the open case.
Repeat steps 2 - 6 to add the list of default choices to both the Technical Skill Rating and the
Interpersonal Skill Rating fields, using the values in the following table.

Standard Value
0
0.333
0.667
1

Prompt Value
Poor
Below Average
Above Average
Excellent

www.svpegatraining.com

44

Save the rule and then return to the open case. From the Other Actions menu, select
Refresh. Verify that each of the three fields now displays as a set of radio buttons.

Reference Information
PRPC Help: Property form (Completing the General tab — Value modes)

www.svpegatraining.com

45

Exercise: Create and Use Property Pages
Scenario
As part of the application process, candidates for open positions at SAE Corp must provide basic
information about themselves. HR needs this information – name, email address, and phone number –
to identify the candidate’s application. HR also wants the candidate to indicate the position for which
they are applying, and if they have been referred to SAE by a current employee.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
In the Personal Information step of the Collect Information stage, create a page property named
Candidate, which contains the following single-value properties.
Property Name
First Name
Last Name
Email
Phone Number

Property Type
Text
Text
Text
Text

Also, create two top-level (not on the Candidate page) single-value properties: a Text property
named Position Applied For and a TrueFalse property named Referred By Employee. These
properties will be configured in future lessons.

Hints
You can access the Form Configuration dialog in one of three ways:
From the Case Designer landing page – Select Configure form from the Step options menu.

www.svpegatraining.com

46

b. From the Properties panel – Select the step and then click the Configure form link.

While running the process – click Yes, I’ll add a form now while executing a step that
currently has no form.

To define a page property, enter the property name and use the drop-down selector to select
Object from the Complex types at the bottom of the list.

www.svpegatraining.com

47

3. To add properties to a data object (page), enter the properties in the indented section.

To define a top-level property, click Add field and enter the property name in the resulting field.

www.svpegatraining.com

48

Procedure
In this exercise, we will use the Form Configuration dialog to add fields. The Form Configuration dialog
can be opened from the step options menu on the Case Designer landing page, using the Configure
form link on the properties panel or by selecting to add a form while running the process and testing a
step that currently has no form.
Open the Candidate case in the Case Designer, if necessary.
Click Configure process details under the Collect Information stage to open the stage in the
Process Outline. The properties panel for the Collect Personal Info assignment appears.

Click Configure form for the Collect Personal Info flow action to open the Edit Fields dialog.
In the empty field, enter Candidate, and use the drop-down list to the right of the field to select
Object to generate a property of type Page.

www.svpegatraining.com

49

5. In the empty field under FIELDS FOR CANDIDATE, enter First Name.

Click Add field to object three times and in the resulting cells add the Last Name, Email, and
Phone Number properties to the page. Select the Required option for the Last Name
property.
Click Add field twice to create two top-level properties. Enter Position Applied For in one field,
and make the field Required. In the other field, enter Referred By Employee, and select the
Checkbox property type.

8. Click Save to close the Form Configuration dialog and then save updates to the case type.

www.svpegatraining.com

50

Run the process to create a new case, and verify that properties now appear on the Collect
Personal Information form. Asterisks should appear next to the labels Last Name and Position
Applied For to indicate that a value is required for these fields.

www.svpegatraining.com

51

Optional Exercise
When you add fields to a process, properties are created in a work class that contains rules for the
current work item. The work class is unique for each case that is created. View properties in the work
class using the steps below.
Open the Application Explorer

, type SAE-HRServices- in the auto complete field and then use

the down-arrow to select SAE-HRServices-Work from the list that appears.

Expand Candidate → Data Model → Property to see the properties that have been created for the
fields that were added to the Candidate case type.

www.svpegatraining.com

52

When you define a page in the Edit Fields dialog, a data object type is created in the application's
data class. Additional data pages can be created using this object type. View rules in the application’s
data class using the steps below.
Open the Application Explorer

, type SAE-HRServices- in the auto complete field and then use

the down-arrow to select SAE-HRServices-Data from the list that appears.

Expand Candidate → Data Model → Property to see the properties that are part of the
Candidate data object type.

www.svpegatraining.com

53

Exercise: Set a Property Value with a Data Transform
Scenario
When applicants for an open position at SAE express interest in a position they complete several
forms by providing basic information about themselves, including their first and last names.
To facilitate the process of reviewing applications, recruiters have asked that the candidate case include
the full name of the applicant, which would consist of their first name, followed by their last name,
separated by a space. This full name would appear on the case when a recruiter, manager, or HR partner
opens it for processing.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Add a read-only field for the property Full Name to the Schedule Interview step.
Create a data transform, named SetFullName, to set the value of the property .FullName according to
the formula .FirstName + “ “ + .LastName. All properties are defined on the Candidate page.
Add the data transform to the flow action CollectPersonalInfo as a post-processing action.

Hints
By default, when you add an existing page to a flow action, PRPC attempts to add fields to display
all of the properties currently defined on that page. Delete the entry for each field that you do
not want to display on the flow action. Doing so does not delete the property itself, just the
field for the property on the current flow action.
A post-processing action for a flow action is specified on the Actions tab.

Remember that the First Name, Last Name, and Full Name properties are all on the
Candidate page.

www.svpegatraining.com

54

Procedure
Follow the steps below:
Open the Candidate case in the Stage Designer, if necessary.
Hover over the Interview stage and click Configure process detail to open the process
outline.
Locate the Schedule Interview flow action and click Configure form.
In the Form Configuration dialog, click Add field, begin to type Candidate into the new field cell,
and then use the down-arrow to select the existing Candidate page property.

Remove all of the fields on the Candidate page from the form by clicking the X icon on the right.
Click Add field to object, enter Full Name and enable the Read Only option for the field.

www.svpegatraining.com

55

Click Save. After returning to the Properties Panel, Save updates to the case type and then return
Back to stages.
Hover over the Collect Information stage and click Configure process detail to open the
Process Outline.
Open the Collect Personal Info flow action by clicking the Open icon

.

Create a data transform to activate after personal information is entered, to concatenate first and
last names. To do this, click the Action tab of the Collect Personal Info flow action form. In the
Post-Processing area of the form, click in the Data Transform field and enter SetFullName.
Click the Open icon
next to the Data Transform field to open the Create Data Transform
Record form.

www.svpegatraining.com

56

In the Label field of the Create Data Transform form, enter the text Concatenate the first and last
name. Leave the Identifier as SetFullName and then click Create and open.

When the Edit Data Transform form opens, click in the Target field and use the down-arrow to select
Candidate. Add a period (“.”) to the end of .Candidate and then use the down-arrow again to
select FullName. In the Source field, enter .Candidate.FirstName + “ “ +
.Candidate.LastName.
Note: You can use down-arrows to select .Candidate.FirstName and
.Candidate.Last name using the same procedure used to select the
.Candidate.FullName property.

Save the data transform and close the tab. Return to the CollectPersonalInfo flow action tab and
Save the flow action. Return to the Candidate Process Outline view in the Stage Designer. Click
Save to update the case design.
Create a new Candidate case, and enter your first name and last name on the Personal Info form.
Continue through the process to the Schedule Interview step and verify that the correct full
name appears on the form.

www.svpegatraining.com

57

Optional Exercise
After a new field is added to the Candidate case, the property associated with that field can be found in
the Application Explorer work class. View the property and its associated data transform using the steps
below.
Open the Application Explorer

, type SAE-HRServices- in the auto complete field and then use

the down-arrow to select SAE-HRServices-Work from the list that appears.

Expand Candidate → Data Model → Data Transform to see the SetFullName Data Transform
and then expand Candidate → Data Model → Property to see that the new FullName
property has been added to the Candidate property page.

www.svpegatraining.com

58

Reference Information
PRPC Help: About Data Transforms

www.svpegatraining.com

59

Exercise: Review Case Data with the Clipboard
Scenario
As we build out our solution, we occasionally need to review application data. While some data is
presented on the forms that make up our UI, other data is hidden from view. To access this hidden data
we use a tool named the Clipboard.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Use the Clipboard to review data on both pyWorkPage and the Candidate page. Update the
telephone number for the applicant from the Clipboard.

Hints
You can access the Clipboard from the Developer tool bar.

The Candidate page is embedded within pyWorkPage.

To edit a property value on a page, click Edit.

www.svpegatraining.com

60

Procedure
Follow the steps below:
1. Create a new Candidate case and note the case ID.

On the Developer tool bar, click the Clipboard icon

.

In the left pane, locate and open pyWorkPage, and review the data written to the page. This data
was written automatically when the case was created.

4. In the left pane, expand pyWorkPage and click the embedded page named Candidate.

www.svpegatraining.com

61

Keep the Clipboard open and return to the Candidate case. Complete the Personal Info form
and Submit it.

Return to the Clipboard page and click Refresh. The Candidate page updates with the data entered
on the Personal Info form. Note that the FullName property has been added to the page.

www.svpegatraining.com

62

7. Click Edit and provide a new value for the PhoneNumber property.

8. Click Save to update the case with the new telephone number.

Reference Information
PRPC Help: Using the Clipboard tool

www.svpegatraining.com

63

Enhancing the User Interface

This lesson group includes the following lessons:
Introduction to UI (No Exercise)
Designing Layouts
Creating Repeating Layouts
Formatting Data Elements
Validating Data Elements
Review of Enhancing the User Interface (No Exercise)

www.svpegatraining.com

64

Exercise: Adding Layouts
Scenario
When the recruiter screens the candidate they need to enter if the candidate has relevant experience,
the expected salary of the candidate, their feedback about the candidate in terms of if they fit the role
or not, and any additional comments.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Use Stage Designer to define the properties:

Property Name
Expected Salary
Screener Feedback
Screener Comments
Relevant Experience

Property Type
Decimal
Text
Text
TrueFalse

Open the newly created section and change the format of the layout to use Inline grid double.

Hints
Properties can be added in the outline view.
Outline view can be accessed using the configure process detail link that appears in that stage.
Need to go back and save the stage designer view before opening the section.
The layout type can be changed in the format field.

www.svpegatraining.com

65

Procedure
We have seen how you can add fields and configure a form for an assignment step by going to the
process outline. In this exercise, we will configure the form while testing a case.
Open the Candidate case in the Case Designer and then click Run to create a case.
Step through process flow until you reach the Screen Candidate step in the Qualify stage. At the
prompt Would you like to work on this now? click Yes, I’ll add a form now.

3. In the Form configuration Welcome screen, click Create a new form.

www.svpegatraining.com

66

In Form configuration, add Expected Salary, Screener Feedback, Screener Comments and
Relevant Experience fields using types listed in the Approach section of this exercise.

Click Save to close the Form configuration dialog and then Save changes in the process
outline.
Return to the running process and click the
UI Inspector icon in the developer toolbar to toggle
the UI Inspector on. Pause your mouse over the new Screen Candidate section. When the
information panel displays, click ScreenCandidate to open the section rule form.

www.svpegatraining.com

67

7. Click in the layout and then click the View Properties icon

.

8. Change the format to use Inline grid double by selecting it from the drop-down list.

9. Click OK to close the Dynamic layout properties form.

www.svpegatraining.com

68

10. Save updates and then Close the Screen Candidate section.

Return to the running process and select Refresh from the Other Actions menu to view your
updates.

Close the candidate case.

Return to the process outline. To see that the form has been created, select Refresh from the
Actions menu. Save changes to the case.

www.svpegatraining.com

69

Optional Exercise
Use this optional exercise to look in the Application Explorer for the data
properties and user interface sections that have been created for the Candidate
case.
Open the Application Explorer , type SAE-HRServices- in the auto complete field and then use
the down-arrow to select SAE-HRServices-Work from the list of classes that appears below.

2. Expand Candidate to find the Data Model and User Interface branches.

www.svpegatraining.com

70

Expand Candidate → Data Model → Property to view all of the data properties created for the
current work item and then expand Candidate → User Interface → Section to view the User
Interface sections that have been created so far.

www.svpegatraining.com

71

Exercise: Adding a Repeating Layout
Scenario
When the candidate applies for the job they must include any professional work experience that would
help the recruiters to consider them for the open position. This information should include the
company name, job title, and both starting and ending date.
Similarly, the candidates should indicate their educational background in terms of institution name,
highest grade achieved, and year of graduation.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Use the stage designer approach that we learned in the lesson to create new repeating layouts in the
Collect professional info and Collect educational info steps.
For the Collect Professional Information action, create a page list named Work History with
properties from the table below.
Property Name
Company Name
Job Title
Start Date
End Date

Property Type
Text
Text
Date
Date

For the Collect Educational Information action, create a page list named Educational Background
with properties from the table below.
Property Name
Institution Name
Highest Grade Achieved
Year of Graduation

Property Type
Text
Text
Integer

Hints
1. Reminder that there are three ways to open Form Configuration.

www.svpegatraining.com

72

From the Case Designer landing page – Select Configure form from the Step options menu.
From the Properties panel – Select the step and then click the Configure form link.
While running the process – click Yes, I’ll add a form now while executing a step that
currently has no form.
Click the Configure process detail link in the Case Designer to open the outline view.
New fields default to Text in the Configure form dialog. Select Object to generate a property of type
Page. Select List of objects to generate a Page List.

Procedure
We have seen how you can configure a form for an assignment step by going to the process outline and
while testing a case. In this exercise, we will select Configure form from the step menu in the case
designer.
Open the Candidate case in the Case Designer, if necessary.
Open the step menu for the Professional Info step and select Configure form.

www.svpegatraining.com

73

In Form configuration, enter Work History and select List of objects to generator a page list type
property.

In the first field for Work History, enter Company Name.
Click Add field to list three times and then enter the remaining field names (Job Title, Start Date
and End Date) and property modes from the table in the Approach section of this exercise

Important: Ensure that all of your fields have been entered correctly and
that Work History is a List of objects before saving your new page list.
Click Save to close the Form configuration dialog. Save the updates to the case type.
Verify that the rules have been created by looking for the new data properties in the
Application Explorer SAE-HRServices-Work class.

www.svpegatraining.com

74

Note: You may need to Refresh the Application Explorer to see the new page list.
Test the new UI by running the process to create a new case.
Return to the Candidate case and create a form for the Educational Info step in the Collect
Information stage. Open the Form configuration dialog using any of the ways listed in the Hints
section.
Using instructions supplied in steps 3-5, create a page list named Educational Background with
fields (Institution Name, Highest Grade Achieved and Year of Graduation) listed in the
Educational Background table in the Approach section of this exercise.

After checking to be sure that your data types are correct, click Save to close the Form configuration
dialog and Save updates to the case type. Run the process to create a case so you can view the
updated UI section.

www.svpegatraining.com

75

Exercise: Adding a New Control on an Existing Field
Scenario
The business architect reviewed the screens that we have created so far and gave us a few additional
requirements. The first request is that we add a new field which permits the capturing of candidate skills
information. The second request is to increase the size of the current Screener Comment field. It is
currently too small and does not allow for the capture of a significant amount of feedback from the
recruiters. They would like to have this fixed by providing the operator with an option to enter a few lines
of feedback that can be easily read.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
In the professional information step of the collect information stage, add a new property named Skills
using the Stage Designer. This property can be defined as text (which will use pxTextinput). Modify the
control to use the Rich Text Editor (RTE). Make sure all relevant options in the toolbar are selected.
In the Screen Candidate step of the Qualify stage, modify the control in Screener Comments to use a
Text Area.

Hints
The section can be accessed by opening the process in outline view.
Add the property for Skills in the step before accessing the section.
The product creates the property with a text input field, open the properties panel and change
control to use RichTextEditor (RTE).
Configure the parameters for RTE in the properties panel of the field.

Procedure
We have created a form to enter candidate professional information, but need to add a field for Skills.
Begin by creating a Skills property and then add it to the Professional Information section.

www.svpegatraining.com

76

Open the Application Explorer

, type SAE-HRServices- in the auto complete field and then use

the down-arrow to select SAE-HRServices-Work from the list that appears.

Expand Candidate → Data Model → Property to see the properties defined for this case type.

Right-click Property and select +Create to create a new property for the Candidate case type.

www.svpegatraining.com

77

Name the property Skills, note the context (that it will apply to SAE-HRServices-WorkCandidate) and then click Create and open.

Use property defaults, including a property type of Text. Save and then Close the property rule form
for the new Skills property.

www.svpegatraining.com

78

6. Refresh the Application Explorer and look for your new property.

Open the Candidate case in the Case Designer and then click Configure process detail under
the Collect Information stage to open the stage in the Process Outline.
Select the Professional Info step in the stage steps. Click Open section to open the Edit Fields
dialog for the Collect Professional Info action.

www.svpegatraining.com

79

When the section opens, it contains only a Grid Repeat Layout. Since Skills is not a list object,
we need to add a new layout that can hold this property. Select Layout from the Layout
menu.

10. Set layout type to Dynamic Layout.

11. Click the handle of the new dynamic layout and drag it below the work history.

www.svpegatraining.com

80

12. Click handle of the Skills property and drag it into the new layout.

Click in the Skills cell and then click the View Properties icon
form.

Change the control from Text input to Rich text editor.

www.svpegatraining.com

81

to open the cell properties rule

15. After selecting the control, enable some of the options for the Rich text editor toolbar.

Click OK to close the layout cell properties form and then Save changes to the section. Close the
Section tab.
To allow more space in the screener comments, do the following:
Open the Qualify Stage in the process outline. Select the Screen Candidate step and then click
Open section.
Using the instruction beginning in step 13, view properties for the Screener Comments cell and set
the field to use a Text Area control.

www.svpegatraining.com

82

Exercise: Adding List-Based Controls
Scenario
In an effort to reduce data entry errors for candidate cases, the HR department would like to limit the
list of values for the Screener Feedback field to:
Fits the Role
Requires Additional Training
Is Not a Fit for the Role
Similarly, for the relevant experience field, they want the recruiter to only be able to select yes or no.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
In the Screen Candidate step of the Qualify stage, modify the control for the Screener Feedback field to
use a dropdown menu with the following selections:
Fits the Role
Requires Additional Training
Is Not a Fit for the Role
For relevant experience, use a radio button to show the values instead of the checkbox.

Hints
To edit cell or section properties using the UI Inspector, Run the process to create a new case
and then do the following:
While the applicable form is displayed, click the UI Inspector icon

in the

Developer toolbar.
Hover over the cell or section that you want to change until the Information Panel displays
and then click the blue rule property link for the cell or section.
The list of values is stored as local list in the property definition.
The dropdown exists in the basic palette.
The radio button also exists in the basic palette

www.svpegatraining.com

83

Procedure
Follow the steps below:
Create a new Candidate case using either the Run button or the Create menu. Submit user input
for each process step until you reach the Screen Candidate step.
Edit Cell Properties to use a Local List to create three choices for Screener Feedback
Use the UI Inspector to open the property rule for the Screener Feedback field as described below.
While the Screen Candidate form is displayed, click the UI Inspector icon

in the

Developer toolbar.
Hover over the Screener Feedback field until the Information Panel displays and then click
the blue ScreenerFeedback property link for the Cell.

In the property rule edit form, expand DISPLAY AND VALIDATION and set Table Type to
Local List.
When table value fields open up, enter values (Fits the Role, Requires Additional Training, Is Not
a Fit for the Role) from the Approach section of this exercise.

Save changes and then return to the open case.
Edit Section Properties to set Dropdown list and Radio button layouts
Use the UI Inspector to open the property rule for the Screen Candidate section as described below.

www.svpegatraining.com

84

While the Screen Candidate form is displayed, toggle on the UI Inspector icon

in the

Developer toolbar.
Hover over the group of fields that comprise the Screen Candidate section until the
Information Panel displays and then click the blue ScreenCandidate property link for the
Section.

7. Click inside the Screener Feedback cell and then click the View Properties icon

to view

layout cell properties.

Click the change link in the layout cell properties form and then select Dropdown from the basic
input group. Click OK to close the layout cell properties dialog.

After returning to the Screen Candidate layout section form, click inside the Relevant Experience
cell then click the View Properties icon to view Relevant Experience layout cell properties.

www.svpegatraining.com

85

Click the change link in the layout cell properties form and then select Radio buttons from the
basic input group. Click OK to close the layout cell properties dialog.

Save the Screen Candidate section changes and then Close the tab.
Save updates to the Candidate case type. Refresh the open case or create a new case to test
changes made to the Screen Candidate user interface.

www.svpegatraining.com

86

Exercise: Identifying Mandatory Fields
Scenario
When a candidate is entering an application, the company wants to ensure that something is
entered for each of the following fields:
Last Name
Email Address
Previous Job Details
o

Company Name

o Start Date

Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Use the Stage Designer view to make sure the fields are marked as required.
If you have already made changes in the section rule, the section cannot be opened in the stage
designer view. In that case, open the section rule and mark the field as required.

Procedure
Follow the steps below:
From the Case Designer landing page for the Candidate case, click Configure Process Detail under
the Collect Information stage to open the Process Outline.
To make Email a required field, click the Personal Info step in the stage steps area to view the
properties panel for Personal Info. Click Open Section.

Note: If you have opened and saved a section the Configure form link may no
longer be visible.

www.svpegatraining.com

87

An orange asterisk appears to the right of the required fields Last Name and Position
Applied For. Email address should also be a required field.

Click inside the Email cell then click the View Properties icon

to view Email Cell

Properties.
Select the Required option in the Cell Properties form and then click OK to close the Cell
Properties dialog.

Save changes to the section and then Close the section tab.
To make Company Name and Start Date required fields begin by selecting the Professional Info
step from the Case Designer stage steps. Click Open Section in the properties panel for
Professional Info and then follow the procedure listed above to set Company Name and
Start Date to Required.

Be sure to save any updates made to sections and then to the Candidate case type. Create a new
case to test changes made to the case type.

www.svpegatraining.com

88

Exercise: Validating User Entries
Scenario
When a candidate is entering an application, the company might want to contact them during case
processing to notify them of their hiring decision. The company prefers to send all communication
through email. When the candidate is entering their personal information, we need to make sure they
are entering a proper email address.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Use the standard edit validate rule, ValidEmailAddress that is shipped as part of the product.

Procedure
Follow the steps below:
Open the Application Explorer

, type SAE-HRServices- in the auto complete field and then use

the down-arrow to select SAE-HRServices-Work from the list that appears.
Expand Candidate → Data Model → Property → Candidate to see the properties for the
Candidate case type. Select Email.

www.svpegatraining.com

89

Open the Advanced tab. Notice that the form is referencing the SAE-HRServices-DataCandidate class, and provides a field to specify use validation.

Click inside the Use Validate field and then use the down-arrow to select
ValidEmailAddress from the available validation types.

5. Save the updated email properties and then Close the Edit Property tab.

Be sure to save any updates and then create a new case to test changes made to the case type. Try to
enter an invalid email address to ensure that email validation is working.

www.svpegatraining.com

90

Accessing Data in the Application

This lesson group includes the following lessons:
Introduction to Data Tables
Accessing Data in the User Interface
Creating a Dynamic User Interface
Accessing External Systems
Review of Accessing Data in the Application (No Exercise)

www.svpegatraining.com

91

Exercise: Create a New Data Table
Scenario
In the candidate application process, candidates need to select the position they are applying for. The
SAE HR team gets approvals for open positions and, once the approval is received, they create the
position. Position details will include the job details, experience required, salary information, hiring
manager and recruiter information. This is used in various steps of the candidate process.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Use the Data Table wizard, available from the Designer Studio Data Model menu, to create a data
table that will contain open positions.
Describe the Position table using the following information:
The rules created in the wizard will be stored in the SAE-HRServices-Data-Position class
The derived class will be SAE-HRServices-Data
Accept the defaults for RuleSet information
The results of the data table must be accessible in the application using the two data pagesD_Position and D_PositionList.
Add columns using fields in the following table.
Name
ReqID
Department
MinSalary
MaxSalary
ExperienceRequired
JobDescription
ReportingManager
DepartmentVP
Recruiter

Label
Text
Department
Minimum Salary
Maximum Salary
Experience Required
Job Description
Reporting Manager
Department VP
Recruiter

Type
Text
Text
Integer
Integer
Integer
Text
Text
Text
Text

Download the Excel spreadsheet DataTables.xlsx from the Related Lessons and Content section of
the Pega Academy page for this exercise or get it from your instructor. This data can be used to populate
the newly created data table.

www.svpegatraining.com

92

Hints
The Data Table Wizard can be accessed from the Designer Studio menu by selecting Data Model
> Data Tables. Click Add a new Data Table to begin the wizard.
Use the autocomplete feature to pick the class name.
Enable the data page creation so that the results of the data table can be accessed in the
application. For names use D_Position and D_PositionList.
To enter data, click the icon to edit instances and then add each row one at a time.

Procedure
Follow the steps below:
View the current Data Tables by selecting Data Model → Data Tables from the Designer Studio
menu.
Click Add a new Data Table to open the Data Table wizard.
Note: If a new window does not open up, try changing to a different
browser.
Create a table that will keep track of open positions, using the following information.
Class Name
Description
Derives From

SAE-HRServices-Data-Position
Open Position Details
SAE-HRServices-Data

Note: When entering Class Name and Derives From values into auto complete
fields, begin typing SAE-HRServices and then use the down-arrow to select
SAE-HRServices-Data. Append –Position to Class Name.
Enable Create Data Pages and then enter the following:
Lookup Data Page: D_Position
List Data Page: D_PositionList
Enable Create Dedicated Database Table.

www.svpegatraining.com

93

Leave Key enabled in the first row of properties. Enter the name ReqID and Label
RequirementID and then click the Add a row icon

to open up a new property row

under pyLabel.

7. Enter properties from the following table.
Name
ReqID
Department
MinSalary
MaxSalary
ExpRequired
JobDesc
ReportingMgr
DeptVP
Recruiter

www.svpegatraining.com

Label
Requirement ID
Department
Minimum Salary
Maximum Salary
Experience Required
Job Description
Reporting Manager
Department VP
Recruiter

94

Type
Text
Text
Integer
Integer
Integer
Text
Text
Text
Text

Accept defaults which use the current ruleset and ruleset version and then click Generate.
Add rows by clicking the List Editor link.

Click the Add a row link

and enter values for fields using the spreadsheet referred to in the

Approach section of this exercise.
Note that you can add additional rows later using the Edit data instances

Reference Information
PRPC Help: About the Data Table Wizard

www.svpegatraining.com

95

icon.

Exercise: Populate Dropdown From a Data Page
Scenario
When the candidate is entering personal information, they should also select the position they are
applying for. The Position Applied For field must be able to perform a lookup in the list of all positions
that are currently open in the company.
Role: System Architect
User Name: LeadArchitect
Password: password
This is exercise one of two related exercises.

Approach
Configure the PositionAppliedFor field in the Collect Personal Info section to use a drop down control.
Use the data page that is created by the Data Table wizard to display the list of all positions. The
available positions should have an ID stored internally but should display the label to help the candidate
to easily select the position.

Hints
Open the Data Explorer to see the name of the data page that contains the position list.
Open the data table landing page to see which property has id and value in the data table.

Procedure
Follow the steps below:
Open the process outline for the Personal Info step in the Collect Information stage and then
click Open Section for the Collect Personal Info action.
Click the View properties icon

for the PositionAppliedFor field to open the Cell Properties form.

Click the change link and change the control to Dropdown.

www.svpegatraining.com

96

In the List Source section, enter values from the following table. Note that lookup is done by ReqID
(the position number) but the operator will see pyLabel (the position title).
Type
Data page
Property for value
Property for display text

Data page
D_PositionList
.ReqID
.pyLabel

Click OK to close the Cell Properties form, Save changes to the section and then Close the Edit
Section tab.

www.svpegatraining.com

97

Optional Exercise
Open the Data explorer and then expand Open Position Details to view the data pages used to
manage open positions.
From the Designer Studio menu, select Data Model → Data Tables and then open the SAEHRServices-Data-Position class. At the bottom of the page, test the connection to the database
table.

Reference Information
PRPC Help: Dropdown control Properties — General tab

www.svpegatraining.com

98

Exercise: Populate a Data Page in an Embedded Section
Scenario
A candidate selects the position they are applying for in the Collect Information stage. When the
recruiter performs the screen candidate step, they should see details of the position for which the
candidate is applying. This screen should display details based on the position the candidate has
selected.
Role: System Architect
User Name: LeadArchitect
Password: password
This is exercise two of two related exercises.

Approach
Configure the ScreenCandidate section to use a new embedded section. This embedded section should
use the data page D_Position to provide page context. The parameter used for lookup should be the
property that the candidate has used for selecting the position.
Create a new section within the Screen Candidate section and add the following fields in a dynamic
layout – use Inline Grid Triple or Inline Grid Double as the format.
Field
ReqID
pyLabel
Department
MinSalary
MaxSalary
Experience Required
Job Description
Reporting Manager
Department VP
Recruiter

www.svpegatraining.com

99

Hints
The section can be added by using the layout palette.
The parameter for data page should use .PositionApplyingFor.
The section can be created by entering a name and clicking the icon next to the section field.
Add a Text Input control to add the field into the cell. Make sure the Use property label field is
enabled to see the label.
The fields added must be marked as read-only in the edit options fields on the presentation tab.
Save the section where you included the new section.

Procedure
Follow the steps below:
Open the process outline for the Screen Candidate step in the Qualify stage and then click Open
Section for the Screen Candidate action.
Open the Layout palette.

Click the new Section link and drag it to be located above the existing layout before
releasing the mouse button.

www.svpegatraining.com

100

4. In the Section Include dialog, use information from the following table to indicate that the
section will be populated by a data page and that the parameter used for lookup will come
from the PositionAppliedFor field.
Page context
Class
Data page
ReqID

Use data page
SAE-HRServices-Data-Position
D_Position
.PositionAppliedFor

5. To create the new section, give it a name (PositionDetails) and then click the Open icon .

In the Section Record rule form, enter PositionDetails in the Label field and then click
Create and open.

When the Section rule form appears for PositionDetails, click the View Properties icon

for the

Dynamic Layout. In the Dynamic layout properties dialog, select Inline grid triple from the Layout
format dropdown menu. Click OK to close the Dynamic layout properties dialog.
After returning to the Section rule form for Position Details, open the Basic pallet, click and hold
Text Input and drag it into the new section.
Click the View Properties icon for the new Text Input cell. In the Cell Properties dialog,
configure the Text Input control to use the .ReqID property and select to Use property default
for the display label.

Click the Presentation tab and select Read Only (always) in the Edit options field.

www.svpegatraining.com

101

Click OK to close the Cell Properties dialog.
After returning Section rule form for Position Details, repeat steps 8 through 10 above (add a new text
input cell and update properties) for the remaining fields in the table shown in the Approach
section for this exercise.
Note: In the Cell Properties dialog, use the down-arrow to select from available
properties. This will provide all properties (Department, MinSalary, etc.) except
.pyLabel, which you can enter manually or after selecting More.

www.svpegatraining.com

102

13. Move cells around to your preferred order.

Optional – Consider experimenting with your section. Some things you can try include adding a
label, such as Position Title to .pyLabel instead of using the default. You could also add a
separate layout for Job Description that uses the full screen width.

15. Save the section and then Close the Section details rule form.

www.svpegatraining.com

103

16. Return to the Section Include dialog and click OK to close the dialog box.

17. Return to the Screen Candidate Section rule form and Save changes.

Be sure to save any updates and then create a new case to test changes made to the case type.

Icon Key
View Properties icon
Open icon

www.svpegatraining.com

104

Exercise: Auto Populate a Page Property
Scenario
The candidate selects the position they are applying for in the Collect Info stage. If the recruiter
determines that the candidate is not a good fit for the selected position, he or she can select a different
position. After the position is selected, we need to update the position details to correctly determine the
appropriate offered salary.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Perform the tasks listed below.
Add a new page property to the Schedule Interview section and name it Position.
Configure the Position property to auto-populate position data from the existing data page
D_Position, using the property Position Applied For as the value used for lookup. Open the
Position property and select Refer to a data page in the Data Access Area.
Use the data page D_Position to source this property and set the Position Applied For
Property as the value of its parameter.
Note: Normally, a Senior System Architect would be responsible for configuring a page to automatically
populate values for the properties it contains. As a result, this feature is not taught in this course.
However, not automatically populating these property values causes other parts of our application –
specifically, the calculation for the salary offered to a candidate – to function incorrectly. To ensure that
your application functions as it should, we have included this exercise.

Hints
Select Refer to a data page for the Data Access field.

Use the data page named D_Position.
The parameter used as input to for the data page lookup should be .PositionAppliedFor.

www.svpegatraining.com

105

Procedure
Follow the steps below:
Open the Process Outline for the Interview stage and select the Schedule Interview step. Use
the Configure form link to add a Position property with mode type Page.
Notes:
If the Configure form link is not available, add the Position page manually,
using the App Explorer, as detailed in an earlier exercise.
Position fields should be Read only as they will not be modified.
Do not click Save yet.

www.svpegatraining.com

106

Click the Open Position Details edit icon

. When the Data Type details form appears, select to

Automatically source data at runtime. This will open additional fields. Use:
Select a source: Open Position Details
ReqID parameter value: .PositionAppliedFor

3. Click OK to close the Data Type details and then Save form configuration changes.

Be sure to save any updates and then create a new case to test changes made to the case type.
Changes made in this exercise will enable the auto-populate feature for this property.

www.svpegatraining.com

107

Exercise: Creating a Dynamic User Interface
Scenario
The candidate selects the position they are applying for in the Collect Info stage. The case moves to a
recruiter in the Qualify stage. The recruiter screens the candidate and enters their feedback in the
Screen Candidate step. The system then moves to Select Target Position where it uses a decision rule
to decide if the candidate is a good fit for the position. The decision rule comes up with three choices –
the candidate is a good match for the selected position, the candidate should be matched with a different
position, or the candidate should be rejected.
When the system decides that the candidate is a better fit for a different position, it displays a screen for
the recruiter to see the position the candidate has currently applied for, and allows the recruiter to
switch to a different position. In the select different position screen, the candidate should see a
dropdown field containing the list of available positions and a section that displays all the data elements
for a position. When a new position is selected the process should refresh the section that displays all
the position details.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Configure your solution to modify the Select Position screen to perform the functionality described in the
scenario.
From the process outline for the Qualify stage, expand the Determine Target Position step and then select
the Select New Position Assignment. Add fields for the PositionAppliedFor text mode property and
Position page property.
Open the section and change the control used for PositionAppliedFor to Dropdown. Configure the
listing source to use D_PositionList. Display the pyLabel as display field and ReqId for storing the value
for PositionAppliedFor field.
For the included section that displays position details, switch the page context to use a data page
instead of the embedded page. This allows values for the position details to be accessed from the data
page.
Apply the refresh condition so that the section refreshes when the value in the dropdown changes.

www.svpegatraining.com

108

Hints
In the form configuration, enter Position to display the currently selected position data page so that
the operator can view all the properties on the position page. Make all of the fields read-only.
Change the field control to Dropdown.
Configure the event and actions (to update the position page fields) in the action tab.
Post Value will submit changes without clicking the submit button.
You can force a refresh when the operator is in the included section, or add it as another action
for the dropdown control.
Select a different position to test these changes.

Procedure
Follow the steps below:
Open the process outline for the Qualify Step by clicking Configure process detail from the Case
Designer stages view. Select the Determine Target Position multi-step process and then click
the Select New Position assignment.
Click Configure form for the Select New Position action.

www.svpegatraining.com

109

Add a PositionAppliedFor text mode property and a Position page property. All fields in the
Position data page should be Read Only

Click Save to close the Form Configuration dialog.
Save updates to the case and then click Open Section to open the Select New Position
section rule form.
Use the View properties icon

to open Cell Properties for the PositionAppliedFor field. Make

the following changes to the PositionAppliedFor cell property.
Control
List Source: Type
Data page
Property for value
Property for display text

Dropdown
Data page
D_PositionList
.ReqID
.pyLabel

Reminder: Enter dot (“.”) and then use the down‐arrow in
the auto‐complete field to select the .ReqID property. For
.pyLabel, select More.. first.

www.svpegatraining.com

110

Click OK to close the Cell Properties dialog and Save changes.

Click the view properties icon to view properties for the section that displays position details.

www.svpegatraining.com

111

Set the Page context to Use data page, select D_Position as the page and use
.PositionAppliedFor as the ReqID parameter.

Click OK to save updates and then Save changes to the section.
View properties for the PositionAppliedFor cell and then select the Actions tab. Click Create an
action set.

www.svpegatraining.com

112

On the Actions tab of the Cell Properties rule form for the PositionAppliedfor Field, create a new
action set to occur on a Change event and Post value as the action. Click OK to close the Cell
Properties dialog.

View properties for the section that displays position details. Use the Open icon to open the refresh
condition builder.

www.svpegatraining.com

113

14. Set a refresh to occur when the PositionAppliedFor changes. And then click Save Changes.

Click OK to close the Layout Properties dialog.
Optionally, move fields around or change the dynamic layout properties to an inline grid double
layout format. Leave the section open to try the optional section reuse exercise.
Save changes to the section and case type.
Create a new Candidate case process. When you reach the Candidate Qualification screen, select
Different Position.

Continue submitting forms until you reach the Select New Position screen. Change selected position
to see changes to this section.

Optional Exercise: Reuse a Section
Check to see if you have a section, created in an earlier exercise, which contains fields from the
Position page. If so, add it below the current Schedule Interview section using the following steps.
Open the Application Explorer and view the SAE-HRServices-Data class. Locate
the PositionDetails section in Position  User Interface  Section.

www.svpegatraining.com

114

Return to the Schedule Interview Section (if the tab is not currently available, open the section
from the process outline for the Schedule Interview step in the Interview stage).

Drag the existing Position Details section below the Schedule Interview section.

The Schedule Interview section is in the context of SAE-HRServices-Work-Candidate. Since the
section we just included is not, when you get prompted for the page that the properties in this
section are associated with, enter or select the SAE-HRServices-Data-Position class.

When all fields are entered, View properties for the dynamic layout and change the Layout format
from Default to Inline grid double.

www.svpegatraining.com

115

View properties for each field, select the Presentation tab of the Cell Properties dialog and change
the Edit options to Read only.

Save changes to the Schedule Interview section and then test the new included section by
running the process and creating a case.
Note: You will probably have the position details included in the Schedule
Interview section twice (in two different formats). After you test the case, you
can decide to remove one of the duplicate sections.
If you have duplicate fields, return to the Schedule Interview section to remove the section you do
not need. Right-click the wireframe around the section and select Cut from the menu.

Save changes to the Schedule Interview section and close the tab.

Reminder: Save changes made to the case type and test your changes before continuing.

www.svpegatraining.com

116

Exercise: Reusing Data Transform for Background Check
Scenario
As part of the decision process, the company wants to conduct a background check on the candidate.
This task has been performed before, by other applications, and the objects required to perform the
process already exist. To perform the background check, we will implement an existing data transform
and User Interface section.
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Complete the Background Check in the Decision stage by accessing existing data objects and a User
Interface Section.
Normally, you would import a file that contains rules that you want to use in your application. For this
training, the file has already been included in your exercise environment, and will appear in the list of
files available for import.
The Candidate’s Social Security Number (SSN) is used to perform a background check, so an SSN
field needs to be added to the Collect Personal Info step. We also need to add a flow name and fields
to the Background Check step. Fields that will be added to the flow are those returned from the
background check transform that is imported.
Once properties that will contain the return values from the background check have been added to the
flow, we can reuse the User Interface Section that was included in the import.

Hints
Select Application > Distribution > Import from the Designer Studio menu to import the rules
that will be used to perform a background check.
Add a SSN field to the Collect Personal Info flow action, to be used by the Perform
Background Check step.
View the data transform that is imported to see what fields are returned when a background check is
performed.
Add the fields returned from the data transform to the Background Check step, and then display
them using the User Interface section that was imported.

www.svpegatraining.com

117

Procedure
This procedure will consist of five parts:
Import rules to perform a background check.
Add an SSN property to the Collect Personal Information section
Add a Flow name to the Background Check step
Add fields to the Background Check step
Edit the Background Check section to include the imported section

Part 1 – Import rules to perform a background check
From the Designer Studio menu, select Application  Distribution  Import.
Select the file to import and then click Next.
Note: Leave this cell blank and click Next to continue. If the file is missing from the next
step, return back to this step. Look on the Pega Academy site for a link named
Instructions for Installing the Updates. Download to your local system and unpack the
zip archive. The download will contain both instructions and the import file:
Background_Check_Components_2014_0520.jar. Browse to this file.

www.svpegatraining.com

118

Scroll through the list of available files and select the Background Check file to import. To view
components that will be imported, select Enable advanced mode to provide more granular
control and then click Next.

www.svpegatraining.com

119

4. View components.

5. Click Next and then view results.

6. Click Done to close this window.

Part 2 – Add an SSN property to the Collect Personal Info section
A background check will be done on the candidate by submitting the candidate’s Social Security Number
(SSN). A data transform will return information on any previous bankruptcy, a recent credit report and
criminal record. The first thing we need to do is to add SSN to the Candidate properties.
Follow the steps below to add SSN to the Candidate data object type:

www.svpegatraining.com

120

Open the Application Explorer, begin to type SAE-HRServices-Data in the auto complete field and
then use the down-arrow to select the SAE-HRServices-Data-Candidate class from the list that
appears.
Expand SAE-HRServices-Data-Candidate → Data Model → Property to see properties in the
Candidate data object type.

Right-click Property and select +Create from the drop-down menu to add a new property to the
Candidate data object type.

Give the property the Label Social Security Number and the Record Identifier SSN and then click
Create and open.

www.svpegatraining.com

121

5. Leave the default property type Text and click Save.

Refresh the Application Explorer and then expand Data Model → Property again to see the new
SSN property.

Change the viewing class in the Application Explorer to SAE-HRServices-Work and expand
Candidate → Data Model → Property → Candidate to see that SSN is now part of the
Candidate property used by each work item.

www.svpegatraining.com

122

While still viewing the SAE-HRServices-Work class in the Application Explorer, expand
Candidate → User Interface → Section and select the CollectPersonalInfo section.

Select the SSN property and drag it into the Candidate section.

10. View properties ( ) for the Social Security Number cell and make it a Required field.

www.svpegatraining.com

123

Click OK to close the Cell Properties dialog and then click Save to save changes to the
section.

Part 3 – Add a Flow to Background Check Step
Open the Application Explorer SAE-HRServices-Data class to view the rules that were
included and will be re-used to check a candidate’s background.

2. Open the process outline for the Decision Stage and select the Background Check step.

www.svpegatraining.com

124

3. Rename the Flow Action to Perform Background Check and then Save the update

4. Return Back to stages.

Part 4 – Add Fields to the Background Check step
1. View the BackgroundSimulation Data Transform to see what fields it returns.

Note: Look for the Bankruptcy, CreditReport and CriminalRecord pages.

www.svpegatraining.com

125

Open the Background Check step of the Decision stage in the process outline. If the action hasn’t
already been added, name it Perform Background Check and then click the Configure form link.

Looking back at the BackgroundSimulation Data Transform viewed earlier in this exercise; add the
fields that were returned by the data transform. These will be:
Bankruptcy – Object
CreditReport – Object
CriminalRecord – Object
Note: After each page property is added, fields in the page should automatically appear. You
should change them all to Read Only.

www.svpegatraining.com

126

Click Save to close the Form Configuration rule form, click Save to save changes to the case type
and then click Back to stages.

Part 5 – Edit the Background Check Section to use the imported section
From the process outline for the Background Check step in the Decision stage, click Open
Section to view the default section that was created when fields were added.
Note: You may have to return back to stages and then re-open the process outline.

www.svpegatraining.com

127

Open the Layout menu and then drag a new Section above the default section that was created
when fields were added to this step.

Set the page context of the section to Use data page. To obtain the correct values to define the data
page:
Set the Application Explorer context to the SAE-HRServices-Data class to confirm the name
of the Class SAE-HRServices-Data-BackgroundCheck. (Note that it may not be
available using a down-arrow in the autocomplete fields, so be sure to spell correctly).
Expand BackgroundCheck  Data Model  Data Page to confirm that the name of the
Data page is D_BackgroundCheck.
The SSN will be used to perform the background check – Find it by first typing a dot (“.”) and
then use the down-arrow key to select Candidate. Append another dot (“.”) and then use
the down-arrow key to select SSN.

www.svpegatraining.com

128

In the Application Explorer, expand Background Check  User Interface  Section to
confirm the name of the UI section is BackgroundCheck.

Click OK to close the Section Include dialog and then click Save to save changes to the
section.
Scroll down below this BackgroundCheck UI Section to the sections that were created
automatically when fields were added. Select each of these sections, right-click and select
Delete from the menu. Do this for each of the three sections that were replaced when the
BackgroundCheck section was imported.

Save the section and then Close the section rule form tab.

Reminder: Always save updates to the case type and test the case before continuing. To active the
new background check data transform, enter 111-11-1111 as the new candidate’s SSN.

www.svpegatraining.com

129

Automating Business Policies

This lesson group includes the following lessons:
Introduction to Declarative Processing
Conditional Processing
Automating Business Processes Using Decision Rules
Review of Automating Business Policies (No Exercise)

www.svpegatraining.com

130

Exercise: Determine Offered Salary
Scenario
In the “Determine Compensation” step of the Offer stage, the system must show the salary that will be
offered to the candidate. This is automatically calculated as a two-step process. Two properties,
Assessment Rating and Offered Salary, must be created.
Assessment Rating is calculated as the average of Interpersonal Skill Rating, Technical Skill
Rating and Interviewer Rating (add all three ratings and divide by 3.0).
Offered Salary is calculated as Minimum Salary + (Maximum Salary – Minimum Salary) *
Assessment Rating.
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Part 1 – Configure your solution to use two Declare Expressions. For average calculation, use the
average function or compute the sum of all three factors and divide by three.
Part 2 – Create the flow action and section for Extend Offer the screen. Use Candidate, Position and
Offered Salary as fields to display. Mark all of them except OfferedSalary as read-only.

Hints
To create the necessary properties, declare expression rules, section and flow action rules, click
the Configure Process Details link under the associated stage name.

www.svpegatraining.com

131

In the Action field for the Determine Compensation flow, ensure there is an action name. To begin
adding fields, click Configure form.

In Form Configuration, make the fields decimal and select Calculated (read only) to create new
properties.

Click the gear icon

next to the calculated field to define the declare expression rule. This will

open a calculation dialog. Set the value as specified in the scenario and save the rule.

www.svpegatraining.com

132

Procedure
Part 1 – Determine Offer Salary
Follow the steps below:
1. Click on the Configure process detail link under the Offer stage.

Ensure there is a name in the Action field and then click Configure form to open Form
Configuration.

www.svpegatraining.com

133

Add Assessment Rating and OfferedSalary fields. Make both fields decimal and specify that
they will be calculated.

Click the gear icon next to the first calculated field to define the declare expression rule. This will
open a calculation dialog. Set the value of Assessment Rating to be equal to the Value of
(.InterpersonalSkillRating +.TechnicalSkillRating +.InterviewRating)/3.0 and then click OK
to close the form.

When you return to Form Configuration, click the gear icon
next to the second calculated field, In
the calculation dialog, set the value of Offered Salary to .Position.MinSalary +
(.Position.MaxSalary-.Position.MinSalary)*.AssessmentRating and then click OK.

www.svpegatraining.com

134

Save your Form Configuration and then save changes to the case type.

Open the flow action rule just created by clicking the Open icon next to the Action name.

When the Edit Flow Action rule form displays, open the section created for this flow action by clicking
the Open icon for the section.

The Determine Compensation section rule will display. It can be edited to add more existing fields
from the App Explorer work class, if needed.

Create a new case to test the flow and check the value of the offered salary in the Determine
Compensation user interface.
Save any changes to the case and run the process to test a case instance.

www.svpegatraining.com

135

Part 2
Create the flow action and section for Extend Offer screen. Use Candidate, Position and Offered
Salary as fields to display. Mark all of them except OfferedSalary as read-only.
Follow the steps below:
Open the process outline view for the Offer stage and select the Extend Offer step.
Name the Flow Action Extend Offer and then click the Configure form link.
Add fields for Candidate Full Name, Email and Phone Number and then add Offered Salary
and Position.
Mark all fields as Read Only.

www.svpegatraining.com

136

Optional Exercise
After a declare expression is added to the case, the declare expression rule can be found in the
Application Explorer work class. View the two new declare expressions using the steps below.
Open the Application Explorer, type SAE-HRServices- in the auto complete field and then use
the down-arrow to select the SAE-HRServices-Work class from the list that appears.

Expand Candidate → Decision → Declare Expression to find the AssessmentRating and
OfferedSalary declare expressions.

3. Open the AssessmentRating expression and view the rule form.

www.svpegatraining.com

137

Exercise: Skip Screening Process
Scenario
If the candidate to be interviewed is referred by an employee, the HR department wants to change the
process by skipping the initial qualification process and schedule the interview directly.
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Configure your solution to skip the “Qualify” stage when referred by an employee.

Hints
Skip Stage When can be configured configuring stage behaviors for the Qualify stage.
Create the When rule by clicking on the magnifying glass after naming it.

Procedure
Follow the steps below:
Open the Stage Configuration form for the Qualify stage. Specify to Skip the stage when the
candidate is referred by an employee by entering IsReferredByEmployee.

www.svpegatraining.com

138

Click the Open icon next to the When rule name to open the form used to create the When rule.

Give the When Record the label name Is Referred By Employee and then select to View
additional configuration options.

www.svpegatraining.com

139

Configure the When rule to check for the ReferredByEmployee property to be equal to true and
then click Create and close.

Click OK to close the Stage Configuration dialog and then Save the updates.
Test the When rule by creating a new Candidate case. The Qualify stage should be skipped when
the referred by employee property is set to true.

www.svpegatraining.com

140

Optional Exercise: Request Technical Sample for
Engineering Positions
This is an optional exercise. While it is not required we recommend that you try to complete this
exercise as it will help to reinforce the concepts taught in this course.

Scenario
If the candidate is applying for a position in the Engineering Department the company would like to
provide an option for the candidates to include a sample of their code.
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Add the following fields to the Request Technical Sample User Interface:
URL
Sample Code
Enter this step only if the position is in the Engineering department.

Hints
Use the Configure form link to add fields to the step
Run the process to create a new case and then use the UI inspector to open the new section.
Change the layout cell control to Rich Text Editor (RTE)
Use the Step Configuration dialog “… and when” cell to add a when condition to the Request
Technical Sample step.
The When rule can compare the .Position.Department field to see if the position is in the
Engineering department.

www.svpegatraining.com

141

Procedure
Part 1 of 2 – Add URL and Sample Code fields to Request Technical Sample
Follow the steps below:
Open the process outline for the Qualify stage. Select the Request Technical Sample step from
the stage steps and then click Configure form.
Add the fields listed in the table below.
URL
Sample Code

Text
Text

Click Save to close the Form Configuration screen and then Save updates to the case type.
Use the Run or Create buttons to create a new Candidate case. Do not select Referred by
Employee, so that you will not skip the Qualify stage. Stop when you read the Request
Technical Sample step.
Use the UI Inspector to open the RequestTechnicalSample section.

www.svpegatraining.com

142

Click the View properties icon to open the Cell Properties form for the SampleCode property. Change
the control to Rich text editor.

Click OK to close the cell properties form, Save the section changes and then Close the Edit
Section tab.

Part 2 of 2 – Make Request Technical Sample a Conditional Step
Follow the steps below:
Open the Step Configuration dialog for the Request Technical Sample step.
Click the Open icon

to the right of the empty … and when cell.

Give the When condition record the short description name Engineering Position and then click
Create and open.

In the Edit When rule form, double-click to add the condition.
To select the Department, enter a period (“.”) and then use the down-arrow to select Position.
Append a period and then use the down arrow again to select Department. Set the value to
Engineering and then click OK.

Save the new When condition.

www.svpegatraining.com

143

The condition should now be available when you click in the …and when cell and use the downarrow to view a list of When conditions in the Step Configuration dialog.

8. Click OK to close the Step Configuration dialog.
Save updates to the case type and Run the process to create a case so you can test the changes made
in this exercise. Note that due to the order of the steps in this stage, if the candidate does not match the
original Engineering position applied for, a technical sample may still be requested before a new position
is selected.

www.svpegatraining.com

144

Exercise: Direct Flow Processing with a Decision Table
Scenario
During the Qualify stage, the recruiter screens the candidate over the telephone to determine if the
candidate has accurately portrayed themselves with their resume and the information they provide in the
Collect Information stage. Once they complete the telephone call, the recruiter must assess the
candidate and determine whether their qualifications match the targeted position, match a different
position, or do not match any currently open position. The VP of HR has requested that the case be
directed through the process automatically, based upon the recruiter’s assessment.
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Update the allowed values for the Screener Feedback property to “Matches the position”, “Matches a
different position”, and “Does not match any position”.
Create a decision table to direct the Candidate case through the Determine Target Position process. This
table should evaluate the value of the Screener Feedback property, and direct the case according to the
following logic:
If the recruiter selects “Matches the position”, return the result “Selected Position”.
If the recruiter selects “Matches a different position”, return the result “Different Position”.
If the recruiter selects “Does not match any position”, return the result “Reject”.

Hints
In order to use the Property Screener Feedback – which is defined for the Candidate case – you
must create the decision in the same class as the property. To do so, select SAE-HRServicesWork-Candidate in the Applies To field when creating the decision table rule.
To use a decision table to direct flow processing, the decision table results must correspond to the
connectors on the corresponding decision shape.
To test a decision shape, select Run from the Actions menu and enter the condition you wish to test.
PRPC evaluates a decision table by starting with the top row and working down to the bottom row,
until it returns a true result. If your decision table does not return the expected result, click Show
Conflicts to identify any rows that are not being evaluated. If necessary, re-order the rows to
ensure that PRPC tests each row.

www.svpegatraining.com

145

5. When you associate the decision table with the Is Candidate Qualified? decision shape in the
Determine Target Position process, verify that the decision shape is configured for decision table
rules.

Procedure
Part 1 – Add the Decision Table
Follow the steps below to create a decision table.
Open the Qualify stage in the process outline.
Open the Screener Feedback property in one of the following ways:
Create a Candidate case, run the process until you reach the Screen Candidate step and then
use the UI Inspector to open the ScreenerFeedback property.
Open the Application Explorer SAE-HRServices-Work class, expand Candidate → Data
Model → Property and then open the ScreenerFeedback property.
In the Screener Feedback property form, expand Display and Validation and replace the
validation table values with the following values.
Matches the position
Matches a different position
Does not match any position
Save the updated Screener Feedback rule form.
From the Determine Target Position step in the process outline for the Qualify stage, View
Properties for the Is Candidate Qualified? decision shape. Click the Open icon to the right of
the Rule field on the Decision Properties rule form to create the decision table.

www.svpegatraining.com

146

In the Label field, enter “Is the candidate qualified for the position?” Verify that this decision table
record is applied to SAE-HRServices-Work-Candidate, and click Create and open.

Note: The entry in the Applies To field is a class reference, and represents the Candidate
case. Classes are covered in System Architect Essentials II. For now, verify that the class
reference in the field ends with “-Work-Candidate”.
Click the column header under Conditions and select the Screener Feedback property. Click Save
to return to the decision table form.

In the if row, click in the Screener Feedback column and use the down-arrow to select
Matches the position. Enter Selected Position in the Result column.

Click the Insert row after icon
to add an else if row to the table. In this row, select
Matches a different position as the condition, and enter Different Position as the result.
In the otherwise row, enter Reject as the result.

www.svpegatraining.com

147

Note: Ensure that the connectors from the "Is Candidate Qualified" decision shape match the
return values in this table.
Save the decision table. Don’t close the Edit Decision Table tab.
Unit test the decision table by selecting Run from the Actions menu. In the
.ScreenerFeedback field, enter each of the allowed choices – “Matches the position”, “Matches
a different position”, and “Does not match any position” and then click Run Again to verify that
the table returns the correct result.
Save and then close the Decision Table rule form.

Part 2 – Check Decision Shape Connectors
Follow the steps below to ensure that the connectors leaving your decision shape match the return
values in the decision table.
1. Open the Determine Target Position step in the process outline.

www.svpegatraining.com

148

Right-click and select View Properties for each of the connectors that exit the decision shape.
Ensure that the result matches one of the results in the decision table.

Save changes to the process diagram.
Create a new case, and advance to the Screen Candidate step. Select the Matches a
different position option. Verify that the case is directed to the Select New Position
assignment.

Note: You may be directed to the Request Technical Sample assignment
before a new position is selected. Consider changing the order of your steps
so that the technical sample is requested after the final target position is
determined.

Reference Information
PRPC Help: About Decision Tables

www.svpegatraining.com

149

Exercise: Direct Flow Processing with a Decision Tree
Scenario
As part of the process of assessing a candidate, the feedback provided by the interviewer is reviewed
and used to decide whether or not to hire the candidate for the position. The VP of HR would like to
automatically reject candidates who scored too low on the interview. Candidates with an overall score
of 40% or less should be rejected automatically, and candidates with an overall score of 60% or less
should be rejected if any of the component scores is less than “average”.
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password
Note: This exercise should be performed using the Internet Explorer (IE) browser. If you have
trouble getting the tools to work, ensure you are using IE for this exercise.

Approach
Create the Candidate Scoring decision tree to evaluate the interview for each candidate, and
automatically return No for a candidate who meets any of the following criteria:
The Assessment Rating is .4 or less.
The Assessment Rating is greater than .4 and less than or equal to .6, and the Interviewer Rating
is .4 or less.
The overall Assessment Rating is greater than .4 and less than or equal to .6, and either the
Technical Skill Rating or Interpersonal Skill Rating is .333 or less.

Hints
To create a decision tree from the decision shape, first set the Type on the properties panel to
Decision Tree.

www.svpegatraining.com

150

PRPC evaluates decision trees by starting with the top condition and working down to the otherwise
condition at the bottom, until it returns a true result. If your decision tree does not return the
expected result, click Show Conflicts to identify any conditions that may not be evaluated. If
necessary, re-order the rows to ensure that PRPC tests each row.

Procedure
Follow the steps below:
Open the Application Explorer, type SAE-HRServices- in the auto complete field and then use
the down-arrow to select the SAE-HRServices-Work class from the list that appears.
Expand Candidate → Process → Flow to see the flows used by the Candidate case type.

Open the AssessCandidate flow. View Properties for the Candidate meets standards
decision shape.

www.svpegatraining.com

151

When the Decision Properties dialog appears, click the Open icon
for the CandidateScoring
Rule. Give the rule the Label name Candidate Scoring and then click
Create and open.
Click [“first value” = “second value”]. In the left field type a period (.) and then use the down-arrow to
select the Assessment Rating property. In the right field, enter .40. Change the operator to <=
(less than or equal to). Click [result] and enter No in the resulting field.

Click the Insert After icon

to create a new row below the one you just completed.

In the new row, select the Assessment Rating property, and enter the condition that it be <= (less
than or equal to) to .6. Click return and select continue to create a subcondition.

Create three subconditions to test if either the Interviewer Rating is less than or equal to .4, or the
Technical Skill Rating is less than or equal to .333, or the Interpersonal Skill Rating is less than
or equal to .333. For each condition, return No.
In the otherwise row, click [return] and enter Yes in the resulting field.

www.svpegatraining.com

152

From the Actions menu of the Decision Tree rule form, select Run to test the decision tree. In the
dialog, enter a value for the first property field on the form. Click Run Again, and enter property
values in each new field until the decision tree returns a result.

Close the test window, Save the decision tree rule and then Close the Decision Tree rule form.
Click OK to close the Decision Properties dialog.
Right-click and View Properties for each of the connectors leaving the decision shape. If a result
value is not set, use the down arrow to select Yes or No.

Note: Ensure that the result connectors in the Assess Candidate flow match the return
values in the decision tree.
14. Save changes to the case type and then test by running the process to create a case.

Reference Information
PRPC Help: About Decision Trees

www.svpegatraining.com

153

Advanced Case Processing

This lesson group includes the following lessons:
Routing Cases
Case Stage Configuration
Creating an Optional Process
Introduction to Task Based Smart Shapes
Creating a Case Level SLA
Review of Advanced Case Processing (No Exercise)

www.svpegatraining.com

154

Exercise: Routing to get Approval for Offer
Scenario
After the candidate information is collected, the case moves to qualify stage. The Qualify Stage starts the
screening process, which must be assigned to a recruiter. The company has many recruiters and the
case must be routed appropriately so that any of them are able to select and work on it.
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Configure your solution to add routing to the Screen candidate step of the Qualify stage. The
assignment must be routed to a group-wide workbasket.
Note: The default@SAE workbasket was created by the Application Creation
Wizard when you ran App Express. Creation of a more task-specific workbasket
is typically the responsibility of a Senior System Architect.

Hints
Click on the stage name and then click configure process detail to open outline view.
Click the step name to access the assignment where we can change routing information to route
the case to a Workbasket.

www.svpegatraining.com

155

Procedure
Follow the steps below to update the routing field:
Open the Screen Candidate step in the process outline of the Qualify stage.
In the Routing frame:
Route to: Workbasket.
Select the default@SAE workbasket.

Save changes to the case type.
To test the change, create a new Candidate case and advance it to the Qualify stage. It should
be assigned to the default@SAE workbasket.

5. Click the Conduct telephone interview (Qualify) link to continue processing.

www.svpegatraining.com

156

Exercise: Identifying the Resolution Stages
Scenario
The business users have reviewed the stage based case design approach. They would like an easier
way to determine where the case gets resolved.
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Perform the following tasks:
Create a new alternate stage named Post-Rejection.
Configure your solution to make sure both Wrap-up and Post-Rejection stages are resolution stages.
Add a step in Post-Rejection stage and set the work status as “Resolved-Rejected”.

Hints
Stage behavior can be configured by clicking on the arrow which appears when hovering over
the stage name.
The alternate stages can be added by using configure alternate stages in the actions menu.

Procedure
Part 1 – Make Wrap Up a Resolution Stage
Open the Candidate case in the Stage Designer, if necessary.
Hover over the Wrap Up stage until the down-arrow appears. Click to open the drop-down menu
and select Configure stage behaviors to open the Stage Configuration dialog.

www.svpegatraining.com

157

Enable the Is this a resolution stage? flag.
Click OK to dismiss the dialog box

Part 2 – Create an Alternate Stage
Check to see if you have already created an alternate Post Rejection stage.

If you already have a Post Rejection alternate stage, skip to step 5.
If you don’t have a Post Rejection alternate stage, open the Actions menu in the Designer Studio
toolbar and select Configure Alternate stages.

Click the Alternate stage name and rename to Post Rejection.
Using instructions in the previous section configure stage behaviors to make Post Rejection a
resolution stage.

www.svpegatraining.com

158

Rename the default step in the Post Rejection stage to Resolve-Reject. Hover over the step name,
open the drop-down menu and select Open.

View properties for the End shape in the process diagram. In the End Properties dialog, click inside
the Work status cell and then use the down-arrow to select Resolved-Rejected from the list.

Click OK to close the End Properties dialog. Save updates to the flow image and then Close the
Resolve-Reject process diagram tab. Save updates to the case type.

www.svpegatraining.com

159

Exercise: Schedule Company Tour
Scenario
While working with candidates, the HR person would like to schedule a company tour for them. Not all
candidates would need to tour the company and it is up to the discretion of the HR person to start this
process.
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Configure your solution to reference an optional process named Schedule Company Tour in the
Interview stage.

Hints
Optional processes are configured at the stage level under Configure stage behaviors.
Optional processes are displayed as steps in the outline view of the stage.

Procedure
Follow the steps below:
Open the Candidate case in the Stage Designer, if necessary.
Hover over the Interview stage name until the down-arrow appears. Click to open the drop-down
menu and select Configure stage behaviors.
In the Optional Processes section of the Stage Configuration dialog, click the Add a row icon

to

add space for a new process name.
Name the new optional process ScheduleCompanyTour and then click the Open icon
the Create Flow Record rule form.

www.svpegatraining.com

160

to open

5. Ensure there is a descriptive label and then click Create and open.

Save the flow record without making any changes and then Close the Flow process diagram tab
(ignore any draft mode warning).
Click OK to close the Stage Configuration dialog and then Save changes to the case type.
Open the Interview stage in the process outline and select the ScheduleCompanyTour step.
If the flow action does not have a name, give it the name Schedule Company Tour and then click
Configure form.

Add a Tour Date property with a DateTime data type and then click Save to close the Form
Configuration dialog.

Save updates to the case type.

www.svpegatraining.com

161

Use the Run process button to create a new case. Advance the case to the Qualify stage and then
click the link to start the Conduct telephone interview step.

Advance to the Interview stage. Select Add Work from the Other actions menu to see the newly
created process.

www.svpegatraining.com

162

Exercise: Add and Configure Smart Shapes
Scenario
The VP of HR has requested two changes to the Candidate case, without which the case cannot be
considered complete. First, once a candidate has been selected for an open position, HR wants to
notify the candidate by email. Second, if a candidate is rejected by a recruiter during the Qualification
stage, the case should be redirected to the Post Rejection alternate stage.
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Convert the Notify Candidate step to a process that contains a Send Email smart shape configured to
send an email to the candidate with the following information.
Subject: Offer Letter
Message: SAE Corp is pleased to offer you a position, effective 1 December 2014.
Update the Determine Target Position flow with a Change Stage smart shape added to the Rejected
connector, to direct the case to the Post Rejection stage.

www.svpegatraining.com

163

Hints
The Send Email and Change Stage smart shapes can be found on the Shapes menu, under Smart
Shapes.
To send the email to the Candidate, reference the Email property on the Candidate page.

Test your changes by creating a new case and resolving it. Verify that the generated email is
attached to the case as an attachment. Open the attachment and verify the contents. Ignore the
error, which results from not configuring an email server.
In the Determine Target Position flow, add the Change Stage smart shape to the Rejected
connector.

www.svpegatraining.com

164

Procedure
Part 1 of 3 – Send email to candidate with job offer
Follow the steps below:
Open the Step Configuration dialog for the Notify Candidate step and change it to a multi-step
process.
Open the process diagram for the Notify Candidate step in the process outline, and delete all of the
assignments and resulting orphan connectors.
Add a Send Email smart shape to the process. Connect the Send Email Smart Shape to the Start
and End shapes.

www.svpegatraining.com

165

Open the properties panel for the Send Email smart shape. In the To field, reference the Email
property on the Candidate page. (Note that you can confirm the property name using the
Application Explorer.)

In the Subject field, enter “Offer Letter” and in the Message field, type “SAE Corp is pleased to
offer you a position effective 1 December 2014.” Click OK to close the form.

www.svpegatraining.com

166

Disable draft mode and Save updates to the flow. Test the flow by creating a new case and
advancing to completion. Once you complete the case, review the generated email, which is
added to the case as an attachment.

Open the attachment and verify its contents. Ignore the exception that you see in the email
attachment; this error indicates that the email cannot be sent to the person. This is expected
behavior since we have not configured an email server and account that can send outgoing
emails.

www.svpegatraining.com

167

Part 2 of 3 – Change Stage if Candidate does not qualify for a Position
Follow the steps below to enter the Post Rejection stage if the candidate does not qualify for a
position.
Open the Determine Target Position process diagram in the process outline.
Add a Change Stage smart shape to the process, between the Rejected connector and the end
shape.

Right-click and View properties for the Change Stage shape. When the Change Stage dialog
appears name the utility shape, click Select a stage, select the Post Rejection stage from the
drop-down list, and enter an audit note.

4. Click OK to close the Change Stage dialog

www.svpegatraining.com

168

Right-click and View Properties for the End shape that follows the Change Stage shape. Set Work
Status to Resolved-Rejected.

Click OK to close the End Properties dialog and view the resulting flow. Notice the new name in the
Change Stage shape and the icon indicating the Resolved status.

7. Save changes to the case type.

www.svpegatraining.com

169

Test the flow by creating a new case. Advance to the Screen Candidate step. In the Screener
Feedback field, select Does not match any position to reject the candidate. Verify that the case
advances to the Post Rejection stage and the status is set to “Resolved-Rejected.”

Part 3 of 3 – Change Stage if Candidate does not meet standards
Follow the steps below:
Open the Assess Candidate process diagram in the process outline.
Add a Change Stage smart shape to the process, between the not qualified result and the end
shape.

Right-click and View properties for the Change Stage shape. When the Change Stage dialog
appears click Select a stage, select the Post Rejection stage from the drop-down list, and
enter an audit note.

4. Click OK to close the Change Stage dialog

www.svpegatraining.com

170

Right-click and View Properties for the End shape that follows the Change Stage shape. Set Work
Status to Resolved-Rejected.

Click OK to close the End Properties dialog and view the resulting flow.

Save changes to the case type and then test the flow by creating a new case and advancing to
candidate scoring to determine a candidate is not qualified.

www.svpegatraining.com

171

Exercise: Set Goal and Deadline Intervals for a Case
Scenario
To ensure that SAE Corp does not acquire a negative perception with outside recruiters and
prospective employees, the VP of HR wants to ensure that all applications for employment are resolved
within a reasonable timeframe. Historically, SAE Corp has resolved applications for employment with
either a yes or no answer within 6 weeks (42 days). The VP wants to shorten the process by one week,
and has requested a deadline of 5 weeks (35 days). In addition, the VP would like establish a goal to
resolve applications within 3 weeks (21 days).
Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Establish a goal interval of 21 days and a deadline interval of 35 days for the Candidate case type,
using the Details tab of the Case Designer.

Hints
Goal and deadline intervals are set in the same dialog, accessed by clicking the (Edit) link to the
right of the Goals and Deadlines entry on the Details tab of the Case Designer.

Goal and Deadline information for a case are displayed below the form for the current
assignment.

www.svpegatraining.com

172

Procedure
Follow the steps below:
Open the Candidate case in the Stage Designer, if necessary.
Click the Details tab and then click the Edit link to the right of Goals and Deadlines.

In the Case Designer: Goals and Deadlines dialog, confirm that the goal and deadline interval are
calculated from the start of the current Candidate case. Under Goal Time from Start, enter 21 in
the Days field. Under Deadline Time from Start, enter 35 in the Days field.

www.svpegatraining.com

173

Click OK to close the Goals and Deadlines dialog.
Save changes to the case type.

Create a new Candidate case. Scroll down below the Personal Info form to view Case Details and
verify that the Goal and Deadline times are calculated correctly.

Reference Information
PRPC Help: About Goals and Deadlines
PRPC Help: Goals definition
PRPC Help: Deadline definition

www.svpegatraining.com

174

Documenting the Application

This lesson group includes the following lessons:
Documenting an Application

www.svpegatraining.com

175

Exercise: Document an Application
Scenario
During each phase of the development process, we need to document our application. This helps other
individuals to understand the changes in the application since documentation was last generated. Now
that we have completed this phase of the project, we should generate documentation for the application
for use as a reference when the next development team is ready to update the application.

Use the following login information
Role: System Architect
User Name: LeadArchitect
Password: password

Approach
Run the Document wizard to generate an application document in Microsoft Word format, using the
following options:
Detail Level: Full Application Documentation
Suppress Class and RuleSet references: enabled
Include entity relationship diagrams: disabled
RuleSet Name and RuleSet Version (for screenshot data): HRServices:01-01-01
Tip: The Document wizard generates documentation by importing content into Microsoft Word. Before
you start the wizard, close any open Word documents and disable the Word option Confirm file format
conversion on open, found by clicking File  Options  Advanced and scrolling down to the General
section. If you don’t perform this step, Word may prompt you to confirm the file format each time it
receives content from PRPC.
Tip: Documentation cannot be generated using Microsoft Office 64-bit version. Currently it works only
with 32-bit version only. IE should be 32-bit as the 32-bit ActiveX does not work with 64-bit IE.

www.svpegatraining.com

176

Hints
To start the Document wizard, open the Designer Studio menu and click Application > Tools >
Document.

After you change the level of detail for your document remember to refresh the contents
To generate sample data for screenshots you must provide an ID number for a case, which the
wizard can use as a data source. If you don’t know a valid case ID, create a new case, note the
case ID, and complete the case, then restart the Application Document wizard.

www.svpegatraining.com

177

Procedure
Follow the steps below:
Start and complete a Candidate case. Note the case ID for use when generating screenshot data.

From the DesignerStudio menu, click Application  Tools  Document to start the
Document wizard.

.

www.svpegatraining.com

178

Confirm that the wizard will use the Application Document template.

Set the Detail Level to Full Application Documentation, suppress RuleSet and class
references, and Refresh the table of contents. When you finish, click Next.

In Step 2, disable the inclusion of Entity Relationship Diagrams, and click Define Screenshot Data
to generate sample data for screenshots.

In the Screenshot Data window, enter the case ID you noted in step 1. From the RuleSet Name dropdown list, select HRServices, and from the RuleSet Version drop-down list, select 01-01-01.
Click Create to generate the data.

7. Click Close to return to the wizard, and then click Next.

www.svpegatraining.com

179

In Step 3, click Capture All to capture the screenshots. Wait until all screenshots are
captured, then click Next.

In Step 4, remove the Common, Security, Navigation, DataManagement, and SysAdmin chapters
from the document, then click Document Now to generate your documentation.

Note: If you get a message that the Silverlight installation is required, follow the steps on the
screen to perform the installation. Then, log out of your PRPC system and close your browser.
Open a new browser window, return to your PRPC system and repeat the exercise.

Reference Information
PRPC Help: Document wizard

www.svpegatraining.com

180

System Architect
Essentials II
EXERCISE GUIDE (v. 7.1)

Copyright 2015
Pegasystems Inc., Cambridge, MA
All rights reserved.
This document describes products and services of Pegasystems Inc. It may contain trade secrets and proprietary information. The
document and product are protected by copyright and distributed under licenses restricting their use, copying, distribution, or
transmittal in any form without prior written authorization of Pegasystems Inc.
This document is current as of the date of publication only. Changes in the document may be made from time to time at the
discretion of Pegasystems. This document remains the property of Pegasystems and must be returned to it upon request. This
document does not imply any commitment to offer or deliver the products or services provided.
This document may include references to Pegasystems product features that have not been licensed by your company. If you have
questions about whether a particular capability is included in your installation, please consult your Pegasystems service consultant.

PegaRULES, Process Commander, SmartBPM ® and the Pegasystems logo are trademarks or registered trademarks of
Pegasystems Inc. All other product names, logos and symbols may be registered trademarks of their respective owners.
Although Pegasystems Inc. strives for accuracy in its publications, any publication may contain inaccuracies or typographical
errors. This document or Help System could contain technical inaccuracies or typographical errors. Changes are periodically
added to the information herein. Pegasystems Inc. may make improvements and/or changes in the information described herein at
any time.
This document is the property of:
Pegasystems Inc.
1 Rogers Street
Cambridge, MA 02142
Phone: (617) 374-9600
Fax: (617) 374-9620

www.pega.com

Document Name: sae2_71ml6_ExerciseGuide_20141114
PVS: sae2_71ml6_pvs_20141112.exe
Date: 20141114

Table of Contents
Effective Application Development with PRPC............................................................................2
Understanding Guardrails...........................................................................................................................3

Designing Enterprise Applications Using Case Management ..............................................5
Define the Behavior of a Business Transaction......................................................................................6
Decompose a Case into Steps..................................................................................................................8
Effective Process Decomposition............................................................................................................10
Designing Enterprise Applications Using Case.....................................................................................14

Creating an Effective Data Model....................................................................................................16
Implementing a Data Model Using Data Classes.................................................................................17
Managing Reference Data in Data Tables.............................................................................................24
Propagating Data from a Case to a Subcase........................................................................................29
Adding Default Data Transforms.............................................................................................................32
Creating an Effective Data Model Exercise...........................................................................................35

Integrating with External Data Sources.........................................................................................38
Using the Database Table Class Mapping Tool.....................................................................................39
Integrating with External Data Sources Verification.............................................................................41

Creating Engaging User Experiences............................................................................................42
Creating Reusable User Interface Components...................................................................................43
Building Screens for Implementing the Assignment.............................................................................49
Working with Modal Dialogs.....................................................................................................................57
Managing Data for Selectable List Controls Exercise..........................................................................61
Creating Dynamic UIs...............................................................................................................................73
Validating Properties in a Repeating Layout..........................................................................................77
Creating an Engaging UX for Adding Dependents During Benefits Enrollment..............................80
Creating an Engaging UX for Creating the Employee Rec Ex Verification.......................................82
Creating an Engaging UX for Selecting Benefits Ex Verification........................................................84

Enforcing Business Policies................................................................................................................87
Configure a Service Level for a Case and an Assignment..................................................................88
Reevaluating Data Needs.........................................................................................................................92
Notifying Users From Within a Process..................................................................................................95

Enforcing Business Policies with Decision Rules.................................................................................97
Automatically Calculating Property Values..........................................................................................100

Process Visibility Through Business Reporting......................................................................102
Optimizing Properties for Reporting.....................................................................................................103
Create Reports.........................................................................................................................................105
Process Visibility with Reports Verification Exercise..........................................................................107

Best Practices for Preparing an Application for Testing Deployment ...........................109
Resolving Guardrail Warnings...............................................................................................................110

Module 02: Effective Application Development
with PRPC

This lesson group includes the following lessons:
HR Services Application Operational Walkthrough (no exercise)
The Building Blocks of a PRPC Application (no exercise)
Managing the Building Blocks of a PRPC Application (no exercise)
Guided Application Development Using Guardrails

www.svpegatraining.com

1

Exercise: Understanding Guardrails
Scenario
When developing applications with Pega 7 it is very important that you continually monitor your
application’s guardrail warnings. By continually monitoring the guardrail warnings you are able to solve
potential problems ahead of time that can save you development time and maintenance on future
releases. For this exercise, the goal is to get you familiar with how to find out detailed information
about the guardrail warnings in your application.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Observe the existing guardrail warnings in the HR Services Application.
Use the guardrail summary to determine the answers to the following questions:
How many Flow guardrail warnings are there?
How many List View caution level guardrail warnings are there?
Which rule type has the most Severe warnings?
Expand the warnings for the Flow category, select a rule and determine what the guardrail warning is.

Procedure
Follow the steps below:
Log in as the System Architect using the credentials provided in the scenario.
Select Application > Guardrails > All Warnings from the Designer Studio menu to go to the
guardrail warning page.
Use the summary chart to determine the answers to the questions (your numbers may vary than
what you see below).

www.svpegatraining.com

2

Expand the Flow category and examine the violations, then select one of the rules to
examine.

5. View the warning for the flow rule.

Reference Information
PRPC Help: Guardrails landing page

www.svpegatraining.com

3

Module 03: Designing Enterprise Applications

Using Case Management

This lesson group includes the following lessons:
Best Practices for Case Management Design (no exercise)
Managing Enterprise Apps Using Stage-Based Case Design
Best Practices for Effective Case Decomposition
Best Practices for Effective Process Decomposition
Guardrails for Case Management Design

www.svpegatraining.com

4

Exercise: Define the Behavior of a Business
Transaction Using Case Types and Stages
Scenario
You are part of a project team tasked with providing a solution for automating the onboarding of new
employees. The onboarding process begins with the acceptance of an offer and runs throughout the first
90 days of employment. In this first release, the plan is to manually create the new employee record prior
to their start date. Once the new employee record is created, a welcome kit should be sent within 48
hours of the new employee accepting the offer.
Prior to the new employee’s start date, the hiring manager needs to request assets for the new
employee and begin setting up the new employee’s enablement plan. HR should begin setting up the
orientation schedule as well. When the new employee starts, they begin orientation. During
orientation, they should enroll in the benefits program and setup their payroll account.
All new employees go through a “30-60-90” evaluation program. This program has an evaluation
period set at 30, 60 and 90-day intervals to review their performance measurements with their
mentor and manager.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
The first goal when defining a case type is to summarize the business transaction by defining the
stages for the case type.
Add a case type to the HR Services application to support the onboarding process. Focus on the toplevel case – that of onboarding a new employee - and identify the stages for the top-level case.
Remember, stages are a first level of organizing the different tasks required to complete work
associated with a case.

Hints
1. Add an Onboarding case type using the Cases Explorer menu.

www.svpegatraining.com

5

2. Edit the existing stages by clicking on the stage.

3. Limit stage names to no more than 2 words and use a noun or noun phrase.

Procedure
Follow the steps below:
From the Case Designer, add a new case type in the HR Services application. Name the case type
Onboarding.

Rename the three default stages with an appropriate name and add additional stages if
necessary.
Tip: A good set of stage names to being with would be: Pre-Arrival, Orientation, and 30-60-90
Evaluation.

Reference Information
PDN: Configure Stages for Your Application (Node ID: 46526).

www.svpegatraining.com

6

Exercise: Decompose a Case into Steps
Scenario
The onboarding process begins with the acceptance of an offer and runs throughout the first 90 days
of employment. In this first release, the plan is to manually create the new employee record prior to
their start date. Once the new employee record is created, a welcome kit should be sent within 48
hours of the new employee accepting the offer.
Prior to the new employee’s start date, the hiring manager needs to request assets for the new
employee and begin setting up the new employee’s enablement plan. HR should begin setting up the
orientation schedule as well.
When the new employee starts, they begin orientation. During orientation, they should enroll in the
benefits and setup their payroll account.
All new employees go through a “30-60-90” evaluation program. This program is an evaluation
period set at 30, 60, and 90-day intervals to review their performance measurements with their
mentor and manager.
The goal for this iteration is to identify the key steps. Do not worry about specifying whether a step
should be a single-step assignment, a multi-step process, or a subcase. If you identify a number of
related steps in the scenario that you believe should be in a single process, it’s OK to add a step in the
appropriate stage and configure it as a “Multi-Step Process.”
If you believe there are parts of the scenario that would best be served as a subcase, you still need to
add the step to the appropriate stage. However, do not configure it as a subcase yet. We will do that in
a later exercise.
Focus your attention on identifying the steps and leave the step configuration for the next iteration.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Our summarization of the Onboarding case type revealed three to four stages.
We identified a setup or “Intake” stage and a “Pre-Arrival” stage to define what happens before
the new employee starts. However, these two stages could be combined into a single stage.
We identified a stage — which we named “Orientation” — where we define what takes place
during the new employee’s orientation.
Finally, we identified a stage — which we named “30-60-90 Program” — where we define
what takes place during the new employee’s evaluation period.

www.svpegatraining.com

7

Finally, although not specifically stated in the scenario, we decided to add an alternate stage named
“Cancel Onboarding” to define what happens if the new employee does not complete the onboarding
program; just in case.
Turning our attention to the steps in each stage, in our solution, we have implemented the following:
Two steps in the setup stage where we will create the employee record and send the
welcome kit;
Four steps in the pre-arrival stage where we will set up the orientation schedule and the
enablement plan, request assets for the new employee, and pause the case until the new
employee’s start date;
Two steps in the orientation stage where the employee will enroll in the benefits program and
set up their payroll account;
And one step in the employee evaluation stage.
Remember, a step is a distinct action that produces a singular outcome. When naming steps, use a
“verb plus noun” naming convention - perform “this action” on “this object.”

Hints
We have determined that one approach to this case type would be to have four steps (Intake,
Pre-Arrival, Orientation and 30-60-90 Evaluation).
We should have a Cancel Onboarding stage in case a new employee does not complete the
onboarding process.
We have determined that we should create an employee record, send a welcome kit, setup an
orientation schedule, request employee assets, setup and enablement plan, wait for the new
employee to arrive, perform benefits enrollment, setup payroll and evaluate the employee. It's
also possible that we will need to cancel onboarding.

Procedure
Follow the steps below:
Following the best practices and guidelines you studied in this lesson, add the appropriate steps to
each stage.
Remember to account for the possible delay between when the pre-arrival work is
completed and when the new employee actually starts their orientation.

Reference Information
PDN: Design Your Application with Case Lifecycle Management

www.svpegatraining.com

8

Exercise: Effective Process Decomposition
Scenario
The onboarding process begins with the acceptance of an offer and runs throughout the first 90 days
of employment. In this first release, the plan is to manually create the new employee record prior to
their start date.
Once the new employee record is created, a welcome kit should be sent within 48 hours of the new
employee accepting the offer.
Prior to the new employee’s start date, the hiring manager needs to request assets for the new
employee and begin setting up the new employee’s enablement plan. HR should begin setting up the
orientation schedule as well.
When the new employee starts, they begin orientation. During orientation, they should enroll in the
benefits programs and setup their payroll account. When an employee begins the benefits enrollment
process, they can select healthcare coverage for medical, dental and vision options. They can also add
dependents to their healthcare plans. When all coverage options have been made, the benefits selection
is reviewed and finalized.
To setup payroll, the employee must provide information on how pay will be received. This can
include providing account information for automatic deposit of their pay into their bank account.
All new employees go through a “30-60-90” evaluation program. This program is an evaluation period
set at 30, 60, and 90-day intervals to review performance measurements with their mentor and
manager.
In this third iteration, we will configure each of the Onboarding steps as a Single Step Assignment,
Multi Step Process, or Case.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
In the second iteration of defining the onboarding case type, we identified the following steps:
Create Employee Record
Send Welcome Kit
Setup Orientation Schedule
Request Assets
Setup Enablement Plan
Wait for New Employee Start Date
Benefits Enrollment

www.svpegatraining.com

9

Payroll Setup
Evaluate Employee
Given the information provided in the scenario, in our next iteration we will configure each of the steps
as single step assignments, multi-step process, or subcases.
We will leave all the steps in the first two stages as single step assignments, except the Wait for New
Employee Start Date. At this step, we want to pend the case until the new employee’s start date. To do
this, we will need to use a Wait shape. Remember, a single step assignment can only ever contain a
single assignment. Adding any other shape – even if it is only one other type of shape – will require us to
use a Multi Step Process.
Tip: There should be two subcases in this scenario (enrolling for benefits and setting up payroll), which
we need to define as case types in our application before we can add them to the Onboarding case map.
Note: Since the process for adding a subcase is the same regardless of the number added, we will
detail only the requirements for enrolling for benefits. You can add requirements for payroll setup later.
Our approach to the benefits enrollment process is to create a case type that has the Onboarding
case type as a parent. The benefits enrollment case type would have the following configuration:
Benefits Enrollment
Stage
Personal Information
Benefit Election

Steps
Confirm Personal Information
Select Medical Coverage
Select Dental Coverage

Dependent Information
Review and Finish

Select Vision Coverage
Add Dependents
Confirm Benefit Elections
Confirm Dependent Coverage

Hints
Most of the initial steps are single step assignments.
There could be a delay between when the pre-arrival work is completed and the new hire’s start
date. This step would need to be a multi-step process to accommodate the Wait shape used to
pend the case.
The benefits enrollment work is best suited as a subcase.
Setting up payroll seems to be best suited as a subcase as well.
If all of the other steps in your case design are “Single-Step Assignments,” that is OK. Case
decomposition is an iterative effort. As we learn more of the details, some of the steps may
change.

www.svpegatraining.com

10

Procedure
Follow the steps below:
Configure each of the steps as either a Single-Step Assignment or Multi-Step Process according to
the information provided in the scenario.
Add two new case types to the HR Services application (one for Benefits Enrollment and one for
Setup Payroll) by selecting Add a case type from the Case Explorer menu. Set each to be a
subcase and select the Onboarding case type as the parent.
Decompose the Benefits Enrollment case type to include the appropriate stages and steps to allow
an employee to select healthcare benefit coverage. Use the table provided in the Approach for
guidance. You do not need to fill in any stages or steps for the Setup Payroll case type.

Reconfigure the appropriate steps in the Onboarding case type as “Case” and use the “Create a
subcase” option. Then, select the appropriate subcase from the case type list. Do this for both
the Benefit Enrollment and Setup Payroll steps.

Reference Information
PDN: Design Your Application with Case Lifecycle Management (Node ID: 46551)

www.svpegatraining.com

11

www.svpegatraining.com

12

Exercise: Designing Enterprise Applications Using Case
Management Exercise Verification
Scenario
Business people often discuss the way their case management application should function by describing
the stages that a case goes through as it is worked to completion. In this series of lessons we learned
how to design an application by describing these stages with a case type as the framework. We then
defined the steps, or processes, that happen in each stage.
The example case management application we used was that of a new hire onboarding process.
The onboarding process begins with the acceptance of an offer and runs throughout the first 90 days
of employment. In this first release, the plan is to manually create the new employee record prior to
their start date. Once the new employee record is created, a welcome kit should be sent within 48
hours of the new employee accepting the offer.
Prior to the new employee’s start date, the hiring manager needs to request assets for the new
employee and begin setting up the new employee’s enablement plan. HR should begin setting up the
orientation schedule as well.
When the new employee starts, they begin orientation. During orientation, they should enroll for
benefits and setup their payroll account.
All new employees go through a “30-60-90” evaluation program. This program is an evaluation
period set at 30, 60 and 90-day intervals to review their performance measurements with their
mentor and manager.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Onboarding Case
Our approach to designing the Onboarding case type was to add the following stages (in bold) and
steps:
Intake
Create Employee Record (Single Step Assignment)
Send Welcome Kit (Single Step Assignment)
Pre-Arrival
Setup Orientation Schedule (Single Step Assignment)
Request Assets (Single Step Assignment – Start step upon stage entry)
Setup Enablement Plan (Single Step Assignment – Start step upon stage entry)
Wait for New Employee Start (Multi Step Process)

www.svpegatraining.com

13

Orientation
Benefits Enrollment (Subcase)
Setup Payroll (Subcase – Start step upon stage entry)
30-60-90 Evaluation
Evaluate Employee (Single Step Assignment)
Cancel Onboarding (Alternate Stage)
Cancel Onboarding (Multi Step Process)

Benefits Enrollment Subcase
Our approach to designing the Benefits Enrollment case type was to add the following stages (in
bold) and steps:
Selection
Select Medical Coverage (Single Step Assignment)
Select Dental Coverage (Single Step Assignment)
Select Vision Coverage (Single Step Assignment)
Completion
Finalize Enrollment

Reference Information
PDN: Design Your Application with Case Lifecycle Management (Node ID: 46551)

www.svpegatraining.com

14

Module 04: Creating an Effective Data Model

This lesson group includes the following lessons:
Best Practices for Designing a Data Model (no exercise)
Best Practices for Managing Data
Best Practices for Managing Reference Data
Sharing Data Across Cases and Subcases
Guardrails for Data Models

www.svpegatraining.com

15

Exercise: Implementing a Data Model Using Data Classes
Scenario
It is time to start implementing the data model for the Onboarding application. Shown below is the
complete data model that we will use throughout the lab exercises. You will implement this data model
over a series of labs. The central data object you will work with is the Employee object.

You will start by implementing data classes for an employee and their dependents. The Employee and
Dependent data model is shown below:

www.svpegatraining.com

16

After you have created your data classes, add them as properties to the work class for the
Onboarding case type.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Create the Data Objects
Use the data explorer to create a new Employee data object type and a new Dependent data object
type.
Both data objects types should inherit from the following classes:
Inheritance Type

Value

Parent Class (Directed)

Data-Party

Parent Class (Pattern)

SAE-HRServices-Data

Use the Employee and Dependent data model (as described in the Scenario section) to add the
properties needed for the Employee and Dependent data object types.
The Data-Party class already contains several commonly used properties. For example it already has
properties for first name (pyFirstName), last name (pyLastName), and email address (pyEmail1).
Therefore you only need to implement the new properties.
After creating the Dependent data object type, add a page list property to the Employee data object
called Dependents to track it.
When completed. if you select these classes in the Data Explorer, you should see something similar to
the following:

www.svpegatraining.com

17

Add Employee to the work class
Now that you have created your data classes, using the Application Explorer add an Employee property
to the SAE-HRServices-Work class. After completion your SAE-HRServices-Work class should look
similar to the following:

Hints
Select Add/remove data object types from the Data Explorer menu to begin creating a new data
class.

www.svpegatraining.com

18

The Create Data Object Type dialog should include references to the Data-Party (Directed) and
SAE-HRServices-Data (Pattern) parent classes as shown below.

3. To add multiple properties to a data class, click the Add Item icon.

4. Right-click the SAE-HRServices-Work class to add a new property.

Procedure
Follow the steps below:
Go to the Data Explorer.

Use the Data Explorer menu to add each new data object type.

Create the Employee data object type using details in the Scenario section.

www.svpegatraining.com

19

Expand the ID, INHERITANCE AND RULESET SETTINGS option to change the directed and
pattern class inheritance as specified in the Approach section.

5. In the Define Properties dialog, ensure all property types match those listed in the scenario.

In the Define Display for Single Value Properties dialog, the Salary display format can be
changed to pxCurrency.

Important: Ensure all of the property types have been entered
correctly before confirming properties creation. Once a data object
type is created, the property types cannot be changed.

www.svpegatraining.com

20

Create a Dependent data object type using property details in the Scenario section. Remember to
change the directed and pattern inheritance as you did for the Employee data object type.
Consider setting the display as a DropDown list and entering table values during creation.

Add a Dependents page list property to the Employee data class by right-clicking Employee in the
Data Explorer and selecting Create Properties from the options menu.

9. Select the Dependents page type SAE-HRServices-Data-Dependent from the list.

Go to the Application Explorer and add a new Employee property (Right-click SAE-HRServicesWork and select +Create  Data Model  Property). Give the new property a label of
Employee, apply to SAE-HRServices-Work and then click Create and open. Change the
property type to Single Page and set the page definition to SAE-HRServices-Data-Employee.

www.svpegatraining.com

21

Save your changes and then open the application explorer. Try to find your new property in the SAEHRServices-Work property model.

Reference Information
Pega 7 Help: About the Data Explorer

www.svpegatraining.com

22

Exercise: Managing Reference Data in Data Tables
Scenario
In this exercise you will continue to build the data model for the Onboarding case type in the HR Services
application. An Onboarding case needs to access a list of courses available to new employees, and a list
of assets that a manager can allocate to a new employee. Since this information will not change very
often, we have determined that it can be stored in local data tables.
In this exercise, you will implement the Asset and Course data objects as data tables. When you run the
data table wizard you have the option to have the wizard create data pages for you. The wizard creates
two data pages — a list data page and a lookup data page. The list data page returns all the contents of
your data page using a report definition that the wizard creates. The lookup data page takes a parameter
and returns a row from your data table. The Course and Asset data objects can be seen below:

Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
You will use the data table wizard to create two data tables and the data pages that are associated with
them.
Build the Courses data table based on the table below:
Property

Value

Class Name
Description

SAE-HRServices-Data-Courses
Courses data table

Derives From
Create Data Pages

Datachecked

Lookup Data Page
List Data Page

D_CourseLookup
D_CoursesList

Properties

Use Course data object defined in Scenario

Use default for any values not listed.

www.svpegatraining.com

23

Build the Assets data table based table below:
Property

Value

Class Name
Description

SAE-HRServices-Data-Assets
Assets data table

Derives From
Create Data Pages

Datachecked

Lookup Data Page
List Data Page

D_AssetLookup
D_AssetsList

Properties

Use Asset data object defined in Scenario

Populate the courses data table with a list of courses that a new hire might be required to take. Use the
table below to add the course data to the Courses data table.
ID
001
002
003

Label
Product Introduction
Advanced Course
Business Analysis

Course Title
Introduction to Application Development
Advanced Application Development
Business Development

Course Length
2.5
2.5
1

004

Administration

Application Administration

3

Populate the Assets data table using data in the following table.
ID

Label

Asset Type

Selected

F1
F2
F3
H1

Cubicle
Office
Phone
Laptop

Facilities
Facilities
Facilities
Hardware

False
False
False
False

H2
H3
H4
H5

Desktop
Mouse
Monitor
Docking Station

Hardware
Hardware
Hardware
Hardware

False
False
False
False

I1
S1
S2
S4

Email Address
MS Office
Chrome
Virus Protection

IT
Software
Software
Software

False
False
False
False

Finally, to keep track of which assets and courses have been selected for an employee, create two
Page List properties as part of the SAE-HRServices-Work class:
AssetList with a page definition of SAE-HRServices-Data-Assets
SelectedCourses with a page definition of SAE-HRServices-Data-Courses

www.svpegatraining.com

24

Hints
Data tables can be found using the Designer Studio menu under Data Models.
After you’ve created a data table you can edit it to add data instances.

Procedure
Follow the steps below:
1. Access Data Tables from the Designer Studio menu under Data Model.
Note: If a new window doesn’t appear, allowing you to create a new data
table, trying using the Internet Explorer web browser.
Add a new Data Table named Courses using properties from the Course table described in the
Approach section.
IMPORTANT: Ensure that all properties have the correct Type before generating the
data table. Failure to do so will cause your results to vary from those seen in later
exercises.

Note: If you expect this table to contain more than 500 rows, select Create Dedicated
Database Table. This will cause the wizard to associate a new database table to hold the
rows of this data table, and not use the default pr_other table.

www.svpegatraining.com

25

To populate the Courses database table, use the List Editor link in the Data Table wizard results
dialog or the Edit icon in the Data Model – Data Tables list.
Add a new Data Table named Assets using properties from the Asset table described in the
Approach section. Remember to set the correct property types before generating the table.

Populate both the Courses and Assets data tables with the data described in the Approach section.
From the Application Explorer, create a new property in the context of SAE-HRServices-Work.

www.svpegatraining.com

26

Name the new property AssetList. Set the property mode to Page List and the page definition to
SAE-HRServices-Data-Assets.

Add a page list property named SelectedCourses with the same record context used for
AssetList. Set the page definition to SAE-HRServices-Data-Courses.
Note: You can also create the property using Create  Data Model  Property.
Refresh the Application Explorer SAE-HRServices-Work class and then expand Data Model 
Property to view the new page list properties.

Reference Information
Pega 7 Help: Data Model category — Data Tables page

www.svpegatraining.com

27

Exercise: Propagating Data from a Case to a Subcase
Scenario
When a case creates a subcase it is often times necessary for the case to propagate data to the
subcase. In the HRServices application, the Onboarding case creates a BenefitsEnrollment subcase.
When this occurs, the Employee data that has been collected needs to be propagated to the
BenefitsEnrollment subcase.

In this exercise you will configure the Onboarding case to propogate the Employee property to the
BenefitsEnrollment subcase.

Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
In the Case Explorer, configure data propagation for the Onboarding case.
Copy the Employee property from the Onboarding case to the Employee property of the Benefits
Enrollment subcase.
When completed your configuration should look similar to:

www.svpegatraining.com

28

Hints
1. Data Propagation can be found on the Details tab for a case.

Procedure
Follow the steps below:
Go to the Case Designer for the Onboarding case.
Data Propagation can be found on the details tab.
Select the Employee class from the SAE-HRServices-Work class for both the Set Value Of and To
Value Of fields.

Reference Information
Pega 7 Help: About Propagation

www.svpegatraining.com

29

www.svpegatraining.com

30

Exercise: Adding Default Data Transforms
Scenario
One of the most common tasks in any application development effort is initializing data objects. In Pega
7, we use data transforms to accomplish this tasks. No coding is required, and the simple interface
allows any level of developer to complete this task quickly and easily.
In some situations, such as when we create data objects using the Configure form option in the case
designer, a default pair of data transforms – pyDefault and pySetFieldDefaults - are created
automatically.
However, when we create data objects using the Data Explorer (as we have done in this course) or
directly in the Application Explorer, these two key data transforms may need to be created manually.
Role: System Architect
User Name: Admin@SAE
Password: rules

Procedure
Switch to the App Explorer
Expand SAE-HRServices-Work and then right-click on Data Model.
From the context menu, select Create > Data Transform.

Enter .pySetFieldDefaults in the Label field.
Tip: When creating data transforms to initialize data objects, use the default data
transform names – pySetFieldDefaults and pyDefault. This allows you to maintain a
consistent format with PRPC’s default configuration.

www.svpegatraining.com

31

5. Click Edit and change the Identifier to pySetFieldDefaults, and then click OK.

Important: Ensure the Identifier is pySetFieldDefaults, as shown in the image above.
Click Create and open.
Specify an action to Set the Target .Employee.pyLabel equal to “ “, and then click Save.

Tip: You can use any property defined in the .Employee data object. In our example, we
use .pyLabel because it is the same property used when PRPC creates this data
transform automatically. Using .pyLabel allows us to maintain a consistent format with
PRPC.
Refresh the App Explorer to see the new data transform.
Using the same procedure as in steps 2 & 3, create another data transform.
Enter pyDefault in the Label field, click Edit to change the Identifier to pyDefault and then click
Create and open.

www.svpegatraining.com

32

Change the Action to Apply Data Transform, set the Target to pySetFieldDefaults, and then
click Save.

12. Refresh the App Explorer to see the new data transform.

Testing the Data Transforms
Test the data transforms to ensure they execute correctly and produce the expected result.
Ensure the pyDefault data transform is open in the work area.
Click the Actions button in the upper right corner and select Run from the menu. A new (pop-up)
window will open.
Click Execute in the new window.
A second pop-up window will open with the results. Most of the elements are related to default
properties set by PRPC, however the Employee data object should appear at the bottom of the list.

www.svpegatraining.com

33

Exercise: Creating an Effective Data Model Exercise
Verification
Scenario
Data Management controls how the data in your application is labeled, accessed, and
grouped together for storage, retrieval, and display.
In this lesson group you built the Data architecture needed to support the Onboarding case type.
This was done with a combination of data objects, data pages, and data tables. You also needed
to pass data from the Onboarding case to the Benefits Enrollment subcase.

Approach
After completing the exercises in this lesson group you should have the data constructs
shown below.
- Data object types – Use the Data Explorer to confirm that your results match.
o SAE-HRServices-Data-Employee, which has the following properties:

SAE-HRServices-Data-Dependent, which has the following properties:

Data tables – Use the Designer Studio  Data Model  Data Tables menu option and then
the Open icon to confirm your results match.

www.svpegatraining.com

34

o

Assets Data Table

o

Courses Data Table

Each data table should have two data pages associated with it; one that does a lookup of a specific
object and one that returns a list of objects. You can see this from the Application Explorer by
opening the SAE-HRServices-Data class and expanding:
o

Assets  Data Model  Data Page

o

Courses Data Model Data Page

www.svpegatraining.com

35

Three page properties should be in the SAE-HRServices-Work class:
o

AssetList

o

Employee

o

SelectedCourses

You will also have data propagation configured from the Onboarding case to any subcases that will
need access to Employee properties. This can be accessed from the Details tab in the Case
Designer landing page for the Onboarding case type.

www.svpegatraining.com

36

Module 05: Integrating with External Data
Sources

This lesson group includes the following lessons:
Integrating with Databases
Guardrails for Integrating with External Data Sources

www.svpegatraining.com

37

Exercise: Using the Database Table Class Mapping Tool
Scenario
Part of the data model will often be in an external database. This is the case with the HR Plan data in our
Onboarding application. To map to the external database table, run the Database Table Class Mapping
Tool.
The HR Plan table can be seen below:

Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Run the Database Table Class Mapping tool to map properties in the external database using
information in the following table and database columns displayed in the Scenario. When you create
your property names, be careful not to rely on default values but to follow the best practices for naming
properties.

Property

Value

Database Name

PegaDATA

Table Name

sae2_hr_plan

Class Name

SAE-HRServices-Data-HRPlan

After completing the wizard find the data class that was created. Note how many rows are in the
SAE-HRServices-Data-HRPlan data class: there are _________ rows (records).

www.svpegatraining.com

38

Procedure
Follow the steps below:
View the application’s current data model class mappings by selecting Data Model  Classes
and Properties  Database Class Mappings from the Designer Studio menu. Look at
classes and properties in both the Work and the Data class categories.
Create a New External Database Table Class Mapping using information found in the
Approach section and a description of the database table found in the Scenario.
Remember to change the Class Name and restyle the property names so they follow the
standard camel case naming convention used in Pega applications.
IMPORTANT: Ensure that all values are correct before saving changes. Failure to do
so will cause your results to vary from those seen in later exercises.

Note: Class name and property names will be given default values, but can be changed to
match the example shown above.

Reference Information
PDN: How to create a data page

www.svpegatraining.com

39

Exercise: Integrating with External Data Sources Verification
Scenario
Pega 7's integration facilities provide a set of protocols, contained within a toolkit, that allow users to
quickly create connections to—and endpoints for—external systems. By integrating with other systems,
designers can leverage existing applications and services.
In this lesson group you were tasked to integrate with an external database table. To do that you used
the External Database Table Class Mapping wizard to create a data object to represent the table.

Approach
After completing the labs in this lesson group you should have:
An SAE-HRServices-Data-HRPlan data object (as seen in the Data Explorer)

An entry in the database class mappings for the SAE-HRServices-Data-HRPlan (as seen in the Data
Model landing page).

www.svpegatraining.com

40

Module 06: Creating Engaging User Experiences

This lesson group includes the following lessons:
Designing the User Interface for Reuse and Maintainability
Building Assignment Focused (Intent-Driven) User Interfaces
Best Practices for Designing the User Interface (no exercise)
Using Advanced User Interface Controls
Managing Data for Selectable List Controls
Building Dynamic User Interfaces
Validating User Input
Guardrails for Creating Engaging User Experiences

www.svpegatraining.com

41

Exercise: Creating Reusable User Interface Components
Scenario
During the initial elaboration phases of case type design, most likely “draft” UI screens will be
created while configuring process detail using the Case Designer. If this happens, sections are
typically created in the ORG-Application-Work-<CaseTypeName> class.
When organizing UI components for reusability, it is possible some of those sections would need to be
not only applied to a more appropriate class, but redrawn as well. In our development effort for the
Onboarding case type, we have purposefully chosen to take a more manual approach. The goal of this
exercise is to create the UI sections directly in the most appropriate classes, then work towards
exposing the completed UI (in a later exercise) through the process flows, where needed, using flow
actions.
It would be unrealistic, and possibly cause you to lose track of the exercise, to attempt to create all of the
necessary UIs for the Onboarding case at once. In this exercise, we will focus on creating the two
primary sequences of screens – the screen used to create the employee record and the screens used for
selecting healthcare plans, including adding dependents. Once you have mastered creating and
implementing these UI components, you can add additional screens to other parts of the case type as
desired.
When an Onboarding case is started, the HR representative should be able to create an employee
record with the following, minimum information:
First name (text, required)
Last name (text, required)
Full Time (yes or no)
Email address (text, required)
Hire Data (date)
Marital Status (yes or no)
During orientation, new employees should be able to sign up for medical, dental and vision healthcare
plans. HR provides a list of plans in each category, along with the cost of each plan and a description.
The information needed for enrolling in these plans includes:
Benefit type (text)
Benefit plan name (text)
Benefit plan description (text)
Employee cost (currency)
Employees can also add dependents to their plan if desired. Dependent information should include the
dependent’s name, date of birth and relationship to the employee.
Role: System Architect
User Name: Admin@SAE
Password: rules

www.svpegatraining.com

42

Approach
Our approach would be to create the employee information, benefits selection and dependents sections
in the data class of each associated data object type. This will allow for greater reusability and is in
keeping with the spirit of Build for Change. We will use these base sections to implement the associated
assignments in a later exercise.
The HR Benefit Plans database table, which we mapped to the HRPlan data object, contains plan
options for all plan types. In this early phase of development, we are only concerned with creating the
basic section layout. When we use the data, in a later exercise, the plans will be filtered by plan type
(Medical, Dental and Vision) by adding a parameter to the section.

Hints
Open the Application Explorer to view the SAE-HRServices-Data class tree. Create a new user
interface section by right-clicking the associated data object type (such as Employee) and
using the pull-down menu to select New > User Interface > Section within that class.
To add fields to a section:
Drag fields from the data model property to the section.
For fields inherited from the Data-Party class, create a Basic Text Input field. View cell
properties and select from the more options in the Property auto-complete field to find
the property name.
When adding a label to Dependents Cell Properties, remember to specify that fields are part of the
Dependents property within Employee.

www.svpegatraining.com

43

Procedure
Begin this exercise by opening the Application Explorer to view the SAE-RHServices-Data class tree.
Then, follow the steps below:
Section used for creating the employee record
Create a new UI section used to display the Employee information in the record context of SAEHRServices-Data-<class name of employee data object type>.
From Application Explorer, SAE-HRServices-Data class, right-click Employee and select
Create+ > User Interface > Section.
Enter Employee Information in the Label field and ensure the section applies to SAEHRServices-Data-Employee.
When the Section rule form appears:
0

Change the layout to an Inline grid double.

1

Add controls for the properties noted in the scenario.

2

Consider using a Dropdown control for selecting the marital status.You can use the
Property rule form, Display and Validation section to create a local list and fill in table
values to be used for dropdown choices.

Note: Remember, we are inheriting the Pega provided properties for first and last name,
which can be found in Data-Party.

Section used for selecting healthcare benefits
3. Create a new UI section used to display the HR Plan information.

www.svpegatraining.com

44

Enter Healthcare Benefit in the Label field.
The Record Context should apply to the class for the healthcare plans (SAEHRServices-Data-HRPlan).
When the Section rule form appears, add benefit plan name, description and employee cost. Add
controls for the properties noted in the scenario.
For the benefit plan name, set control to Dropdown. Do not be concerned about
sourcing the dropdown list; we will do that in a later exercise.
For the description, on the properties presentation tab, set Edit options to Read only
(always).
For the employee cost, on the properties general tab, set control to Currency. On the
Presentation Tab, set Edit options to Read only (always) and Text alignment to
Left.

Note: This section will be used to allow an employee to select healthcare benefits within the sections
created for selecting Medical, Dental and Vision plans. To filter the list of plans that are offered to match
the plan type, a parameter will be added to the section during a later phase of the development process.

Section used for adding dependents
Create a new UI section used to display Dependent information
Enter Dependents Information in the Label field.
The Record Context should apply to the class for the employee data object (SAEHRServices-Data-Employee).
When the Section rule form appears, add a new layout under the default section and set the layout
type to Repeating Layout: Grid

www.svpegatraining.com

45

On the general tab of the layout properties for the section, use the page list property you created
for collecting dependent information as the source for the repeating grid.

Note: If you cannot select .Dependents from the auto-complete list, ensure you created this
section within the Employee class and not Dependent.
8. On the Operations tab of the layout properties for the section, set the inline edit mode.

9. Add the necessary properties to the grid as noted in the scenario.

www.svpegatraining.com

46

10. Use the Insert Column After tool

to add columns to the repeating grid.

11. When you are done creating the new layout, you can delete the default section.

www.svpegatraining.com

47

Exercise: Building Screens for Implementing the Assignment
Scenario
Our task now is to build the UI components necessary for implementing the assignments for creating a
new employee record, selecting healthcare benefit plans, and adding dependents in each of the
appropriate case types.
Remember, we are taking a very purposeful manual approach to creating and implementing the UIs so
you can see how the individual UI components fit together.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Our approach would be to add a section to the Onboarding case type for creating the employee
record. This section would include the section we created in the class that contains the employee
data object type.
Next, we would add three sections to the Benefits Enrollment case type: one for selecting a medical
plan, one for selecting a dental plan and one for selecting a vision plan. This section would include the
base section created earlier in the class used to define the HR plan’s data object type.
Finally, we would add a section to the Benefits Enrollment case type for adding dependents. This section
would include the section for dependents information we created in the class used to define the
employee data object type.
Then, we would create the necessary flow actions in the appropriate case types and reference these flow
actions on the appropriate steps in the two case types.
This exercise assumes the case type you created to manage the employee onboarding process is
called Onboarding and the case type you created to manage the benefits enrollment process is
called Benefits Enrollment.

www.svpegatraining.com

48

Hints
It is helpful, before performing this exercise, to review the names you gave to the UI sections created
previously. Open the Application Explorer to view the SAE-HRServices-Data class.
Expand Employee > User Interface > Section and note the section names. In our
example, the sections are EmployeeInformation and DependentsInformation.
Expand HRPlan > User Interface > Section and note the section name. In our example, it is
HealthcareBenefit.
After you have noted the previously created UI section, change context in the Application
Explorer to view your application’s work class. Right-click the case type name to begin
creating the associated section and flow action.
You can add a label to a section by selecting Text Label from the Basic menu. Change text and
formatting style using the Presentation tab in the Cell Properties dialog.

Procedure
Begin this exercise by opening the Application Explorer to view the SAE-HRServices-Work class tree.
Then, follow the steps below:
UI components for creating the employee record
Create a UI section in the Onboarding case type to enter information for a new employee.
From Application Explorer, SAE-HRServices-Work class, right-click Onboarding and
select +Create > User Interface > Section.
Enter Create Employee Record in the Label field and ensure SAE-HRServices-WorkOnboarding is selected in the record context Apply to field before creating the section.

www.svpegatraining.com

49

2. Add a new section below the default dynamic layout.

Use a clipboard page as the page context. Change the class to the name of the class you used
to define the employee data object type.
Set the clipboard page to the name of the page you used for the employee data object. This page
should appear in the smart prompt list.
Finally, select the section you created to display the employee information. This section should
be available in the smart prompt list.

www.svpegatraining.com

50

The following provides our view of steps 3 to 5:

6. Delete the default dynamic layout. Note that your section format may differ.

Save the new section and then refresh the Application Explorer Org-App-Work class and view the
Onboarding tree. Notice there are Process, SysAdmin and User Interface branches, and that the
UI branch has a Section branch that contains the CreateEmployeeRecord section we just
created.

We now have a UI section that will determine how employee information is displayed. Create
a flow action in the Onboarding case type that will use this section.
From Application Explorer, SAE-HRServices-Work class, right-click Onboarding and
select +Create > User Interface > Flow Action.

www.svpegatraining.com

51

Enter Create Employee Record in the Label field and ensure SAE-HRServices-WorkOnboarding is selected in the record context Appy to field before creating the flow
action.
Reference the section you created in the previous steps and then save your changes.

From the Case Designer, configure process details in the stage that contains the step to create
an employee record.
Select the assignment step and then select the flow action you created in step 8 from the autocomplete Action field menu. Save your changes.

Note: If you click the Run button to test your Create Employee Record step in the Onboarding case type,
but don’t see the UI section appear, ensure that you’ve done the Adding Default Data Transforms
exercise and that the Employee page properties have been correctly initialized for the Onboarding
process.
UI components for selecting healthcare benefits
Create a UI section in the Benefits Enrollment case type for selecting a medical plan.
From Application Explorer, SAE-HRServices-Work class, right-click
BenefitsEnrollment and select +Create > User Interface > Section.
Enter Select Medical Benefits in the Label field and ensure SAE-HRServices-WorkBenefitsEnrollment is selected in the record context Apply to field.
Create the record and when the section rule form appears, add a read-only label control in
the default dynamic layout with the text: “Please select or decline medical benefits.”
Select a presentation format that will make the text more prominent.

www.svpegatraining.com

52

Save the new section. Do not add any properties. We will complete the section includes
later in the development process, when the context of what we need to do will be more
clear.

Create a flow action in the Benefits Enrollment case type that will use the
SelectMedicalBenefits section
From Application Explorer, SAE-HRServices-Work class, right-click BenefitsEnrollment and
select +Create > User Interface > Flow Action.
0

Enter Select Medical Benefits in the Label field, ensure SAE-HRServices-WorkBenefitsEnrollment is selected in the record context Apply to field and then create the
record.

Reference the section you created in the previous step (if the section name doesn’t appear in
the auto-complete menu, ensure you saved it after creating in the previous step).

www.svpegatraining.com

53

In the Benefits Enrollment case type, configure the process details for the step you are using for
selecting medical benefits and add the (flow) action to the appropriate place.

Repeat this procedure two more times – once each for creating the case type level UI components
for selecting dental benefits and again for vision benefits. Note that you could also open the
Medical Benefits section; use the Save As button and then change label text.
UI components for adding dependents
Creating the necessary UI components (section and flow action) for adding dependents will be
similar to the steps you took to create UI components for creating the employee record.
Create a UI section in the Benefits Enrollment case type for adding dependents.
From Application Explorer, SAE-HRServices-Work class, right-click
BenefitsEnrollment and select +Create > User Interface > Section.
Enter Add Dependents in the Label field, ensure SAE-HRServices-BenefitsEnrollment is
selected in the record context Apply to field and then create the record.
In the section rule form, open the Pages & Classes tab and make the Dependents class
available to this section.

www.svpegatraining.com

54

3. Add a new section below the default dynamic layout and give it the following attributes.

Note: You can delete the default dynamic layout section after this section is included and
then save your updates.
Create a flow action in the Benefits Enrollment case type
From the Application Explorer, SAE-HRServices-Work class, right-click
BenefitsEnrollment and select +Create > User Interface > Flow Action.
Enter Add Dependents in the Label field, ensure SAE-HRServices-WorkBenefitsEnrollment is selected in the record context Apply to field and then create the
new flow action record.
Refer the new flow action to this new Add Dependents section and then save your
updates.

Configure the process details for the step you are using for adding dependents in the Benefits
Enrollment case type. Enter this new Add Dependents flow action name in the properties
panel of the process outline for the appropriate step in the Dependent Information stage.
Note: If you click the Run button to test your Add Dependents step in the Benefits Enrollment
case type, but don’t see the UI section appear, skip to the Adding Default Data Transforms
exercise to ensure that the Employee page properties have been correctly initialized for the
Benefits Enrollment process.

www.svpegatraining.com

55

Exercise: Working with Modal Dialogs
Scenario
As a new employee begins to select benefits, they need to be able to verify their employee
information.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Configure a section that contains the employee’s personal data such as their date of birth, email
address, and marital status. Then, create an associated flow action.
Configure the section used for selecting benefits with a dynamic layout. Add a button control and
configure it with a click event that calls a local action with a target of Modal Dialog. The local action
should be the flow action noted above.

Hints
The Button control is a basic control.
To add actions to the button, open the properties panel for the button control and select the Actions
tab.
Add a Click event to the Actions tab of the button control.

Procedure
Follow the steps below:
Create a UI section in the Benefits Enrollment case type to validate personal information for a new
employee.
Create the UI section in the SAE-HRServices-Work-BenefitsEnrollment context.
Enter Employee Personal Data in the Label field.

Reminder: To add a last name field, add a Text Input field from the Basic
menu. In the Cell Properties dialog, select .Employee.pyLastName.

www.svpegatraining.com

56

To keep this simple, we suggest adding only the first and last name; however, you can add other
properties as desired. Save the section after you have completed adding properties.

Create a flow action in the same record context as the section and then reference the section
created above in the flow action.

Open the process outline for the Personal Information stage of the Benefits Enrollment case type.
Add the Employee Personal Data flow action to the Confirm Personal Information step.

www.svpegatraining.com

57

Create a Modal Dialog Button
Add a separate dynamic layout to the section used for selecting medical coverage and add a
button to the layout.

2. Set the button caption to “Confirm Personal Information.”

Add a Click event to the button control that launches a local action.
Reference the flow action that contains the section with the employee’s personal data.
Change the Target to Modal Dialog.

www.svpegatraining.com

58

www.svpegatraining.com

59

Exercise: Managing Data for Selectable List Controls
Scenario
During the onboarding phase, an employee should be able to select their choice of medical, dental, and
vision healthcare plans. The lists of available plans should be sourced from the sae2_hr_plan database
table.
Note to participants: When you complete this exercise, it may seem as if nothing is happening – and
that’s OK. The goal of this lesson and exercise is to help you understand how to “manage data” for
selectable list controls. In a later phase of development, we will force changes to the UI based on events.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Our approach is to use a single list of benefit plans as the source, but filter this list based on the type of
plan for each selectable list control. This list of plans would be maintained in a data page that is sourced
from a report definition.
To present the list of available healthcare plans to the employee, we would use the single section we
created earlier in the HR Plans data class, and then include this base section in a section located in the
case type used for benefits enrollment. We would use this base section three times, one for each type of
available healthcare plan.
Finally, we would store each selected plan type in a separate page property in the SAE-HRServicesWork class: a DentalPlan, a MedicalPlan and a VisionPlan
This approach requires the use of parameters. Our approach would be to filter on the type of plan such
as “Medical,” “Dental,” and “Vision.” The type of plan is an available column in the HR Plans database
table.

www.svpegatraining.com

60

Hints
To create a change event that will refresh a section, click the Actions tab in the Cell
Properties dialog, add a Change Event to cause the action Refresh - This Section.

Procedure
Create a Report Definition to List Dental Plans
Practice filtering data by creating a report that will show only Dental plans.
Create a report definition in the data class used for the healthcare plans.
From the App Explorer, SAE-HRServices-Data class, right-click HRPlan and select
+Create  Reports  Report Definition.
Enter SAE Dental Plans in the Label field, ensure SAE-HRServices-Data-HRPlan is
selected in the record context Apply to field and then create the new report
definition.
The report definition should retrieve all columns (id, name, type, description and employee cost)
that are in the HR Plan data table.

www.svpegatraining.com

61

Click the gear icon to the right of the Employee Cost column and change the column format to
currency.

We want to display only dental plans, so add a filter to check that the plan .Type is “Dental”.

Save your changes to the report definition and then select Run from the Actions menu to test that
you see only dental plans.
Edit the Report to use a Parameter to Filter Data
Using the Dental Plan report as a starting point, add a parameter to filter by Plan Type
Save your dental plan report definition with a different name.
Select Save As from the Save menu.
Enter Get HR Plans List in the Label field, ensure SAE-HRServices-Data-HRPlan is
selected in the record context Apply to field and then create and open your copy.

www.svpegatraining.com

62

The report only needs columns that can be used to create a list of plans for the selected type (id and
name). Remove the other fields.

To see results for a single plan type, add a parameter to filter the list. On the parameters tab of the
report definition, add a parameter. Use Type as the name and Benefit Type as the description.
Save updates to the Report Definition.

Return to the Query tab and add a filter where the column source .Type is equal to the value of
Param.<paramName> ; where <paramName> is the name of the parameter you added on the
Parameters tab.

Save your changes to the report definition.
Setup the data page to store the list of plans
Create a list structure data page in the data class used for the healthcare plans that will contain
the results of the report definition that filters data plans by type.
From the App Explorer, SAE-HRServices-Data class, right-click HRPlan and select
+Create  Data Model  Data Page.
Enter HR Plan List in the Label field, ensure SAE-HRServices-Data-HRPlan is selected in
the record context Apply to field and then create the new data page.

www.svpegatraining.com

63

On the Data Page rule form Definition tab, set the page Structure to List and the Object type to the
name of the class used to define the HR plans data object type.
Set the Source for this data page to the report definition created earlier.
On the Parameter tab, add a parameter to this data page just as you did for the report
definition and then save your changes.

Return to the Definition tab, click the Parameters link (in the Data Sources frame) and set the
Parameter value to Param.<paramName> .

Note: The name of the parameter should be consistent between this data page and the
report definition.

www.svpegatraining.com

64

Check your progress using this sample

7. Save updates to the Data Page rule form.
Setup the reusable section to display the list of available plans
In an earlier exercise, we performed the initial steps to create a section that can be used to display
healthcare benefit plans. At that time it was noted that in a later phase of development, we would add a
parameter to the section that will allow us to filter healthcare benefit plans by type. We now have the
structure in place to add this parameter.
Find and open the section you created to display healthcare benefit plans. It should be in the data
class used for the healthcare plans.
From the App Explorer, SAE-HRServices-Data class, expand HRPlan  User
Interface  Section to view HRPlan UI sections.
Open the section created to display healthcare benefits.
On the Parameters tab of the Healthcare Benefit section, add a parameter of name “Type” with the
description “Benefit Type” to filter the type of plan (Medical, Vision, Dental) in the Benefit list.

www.svpegatraining.com

65

Return to the Design tab and configure the source of the Dropdown control.
The dropdown cell will display plan names for the selected benefit type (Medical, Dental or Vision).
It’s possible when the section was initially created, the “name” property was associated with
this cell. If that is the case, it should be changed to ID.
Since the cell will be populated from the HR Plan database table, which has a class key of
ID, the property for the cell should be ID and the display property should be
Name.
In a later phase of development, this key-value pair will be used to access description and
employee cost for a selected plan.
Add a default placeholder (to display before a plan is selected) of “Select a Plan”.

In the middle of the Section rule form, set the parameter value to the name of the
parameter you added to the data page.

www.svpegatraining.com

66

If not completed, at the bottom of the Section rule form, use .ID for the property value,
.Name as the property for the display text and .Description as the property for the tooltip.

While still in the dropdown cell properties dialog, use the Actions tab to add a change event that
refreshes the harness.

Note: The preferred action would be to refresh the current section when a plan is selected. However,
given the current PRPC design, a section refresh will result in loss of your plan-type parameter and
the dropdown list will no longer be filtered. Therefore, we recommend refreshing the entire Harness.

Also note: We will be unable to test the Healthcare Benefit section yet, as it is not configured for
stand-alone use. It will be included into the individual sections for selecting medical, dental and vision
plans, allowing us to test the plan filtering results at that time.

www.svpegatraining.com

67

Setup the data page used to retrieve a selected benefit plan
As noted in the Approach section, all benefit plans are contained within a single database table. The
parameter that we have added to our Healthcare Benefit section will allow us to display only plan options
for the selected plan type (i.e. all benefit plans for type “Medical”) for employees to choose from. Once an
employee selects a plan, we want to display the Description and Cost. To retrieve this information, we
need to create a lookup page that will use plan ID to retrieve the rest of the benefit plan properties.
Create a page structure data page in the data class used for the healthcare plans.
From the App Explorer, SAE-HRServices-Data class, right-click HRPlan and select
+Create  Data Model  Data Page. Enter HR Plan Lookup in the Label field and
then create the new data page.
Set the object type to the name of the class used to define the HR plans data object type.

Source this data page using a lookup and set the class name to the name of the class used to define
the HR plans data object type.

On the Parameters tab, add a parameter that will allow you to retrieve a record by the class key (the
primary key in the table). Description should be “Unique Plan ID” and required should be “Yes”.

www.svpegatraining.com

68

5. Return to the Definition tab and set the Parameters value to param.<paramName> .

Check your progress using this sample

8. Remember to save updates to the data page rule form.
Setup the properties to store the selected plans.
We now need to create page properties to store the results of each of the plan types (Medical,
Dental and Vision) that the employee selects.
Create page type properties for each of the available plans (medical, dental and vision) in the
application’s work class.
0

From the App Explorer, SAE-HRServices-Work class, right-click SAE-HRServices-Work
and select +Create  Data Model  Property.

1

Enter Medical Plan in the Label field and then create the new property (you will also do
this for Dental Plan and Vision Plan).

2

Use SAE-HRServices-Work as the record context for all three properties.

Set the property type to Single Page and the page definition to the data class you created for the
HR plans.

www.svpegatraining.com

69

Set the data access to Copy data from a data page. We want this page property to hold information
for the selected plan, so specify the data access source as the Data Page used as the lookup
created previously.
The selected value should be associated with the ID field, so set the value in the parameters field
to .<PagePropertyName>.ID (where the PagePropertyName is the name of the page you are
creating).

Save your changes and ensure you have performed steps 1-4 for all three plan types (Medical,
Dental, and Vision). This is a good opportunity to use the “Save As” option in the Save menu.

Setup the sections that will include the benefits enrollment section
We now have a reusable section that includes a dropdown menu that should only show plan options for
the plan type that is selected. We also have a plan lookup that will return a Description and Cost for a
selected plan. In this step, we’ll put all of the pieces together to create a section that includes a header
and plan selections for each of the benefit types. Begin by viewing the Benefits Enrollments UI sections
that have already been created.
From the Application Explorer SAE-HRServices-Work class, expand Benefits Enrollment > User
Interface > Section.
After viewing the current list of Benefits Enrollment UI sections, open one of the benefit UI sections
(SelectMedicalBenefits, SelectDentalBenefits or SelectVisionBenefits).

www.svpegatraining.com

70

Using the Layout menu, drag a new section below the default dynamic layout. To include the reusable
Healthcare Benefit section that was created in the data class that contains the HR plans, give this
section the properties:
Page context: Use clipboard page
Class: SAE-HRServices-Data-HRPlan
Clipboard page: .MedicalPlan (or .DentalPlan or .VisionPlan)
Section: HealthcareBenefit
Parameter: Type /Value: “Medical” (or “Dental” or “Vision” – Use quotes)
Save section changes and ensure you have performed these steps for all plan types.
Check the SAE-HRServices-Data-HRPlan HealthcareBenefit section to ensure that the Employee
Cost field uses a Currency control, and the presentation is Read Only, left-aligned.
Test that the correct plans are being displayed by creating an instance of the case type.
After saving all of your updates, test you work by running the process. When a new case is created,
confirm that each dropdown displays only those plans for the specific area of coverage.

www.svpegatraining.com

71

Exercise: Creating Dynamic UIs
Scenario
New employees have the option of waiving healthcare coverage plans. When the benefits selection
page first displays, the healthcare coverage options should be presented with an option to waive
coverage for each type plan. If the new employee elects to waive any specific healthcare coverage, the
options for selecting that particular plan should not display.
When a healthcare plan is selected in any given category, the rate and description for the selected
plan should display.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Identify Boolean-type properties used to register the new employee’s choice to waive each
healthcare plan (medical, dental, and vision).
Add a cell to the benefit selection that would allow the employee to decline a benefit type. For each
check box control, add an action to refresh the section on change. Then, for each section include, add
an expression to the visibility condition so the section is visible when the appropriate property for
waiving coverage is not equal to true.
Finally, add a change event to the dropdown control in the base section – the one we created in …Data<name of health plan class> - so that the section is refreshed when a plan option is selected.

Procedure
Begin this exercise by opening the Application Explorer to view the SAE-RHServices-Work class tree.
Configure the properties and layouts for waiving benefit options
Create three Boolean (true/false) properties to track an employee’s choice to decline a type of
benefit. Name these properties WaiveMedical, WaiveDental and WaiveVision. They should
apply to the class SAE-HRServices-Work-<benefits enrollment case type>
From the App Explorer, SAE-HRServices-Work class, right-click BenefitsEnrollment and
select +Create  Data Model  Property.
Enter Waive Medical in the Label field and then click View additional
configuration options.

www.svpegatraining.com

72

Set the Data Type to True / False and then create the new property record.

Repeat the steps above to create properties to waive dental and vision benefits.
From the Application Explorer, expand BenefitsEnrollment > User Interface > Section to view
the sections used for selecting benefits and then open the SelectMedicalBenefits section.
Add a new Dynamic Layout between the layout that contains the header and the
HealthcareBenefit section.

The new layout will contain the property used by an employee to decline a benefit, with an action to
refresh the section when this value changes.
Add a checkbox to the layout with the following properties:

www.svpegatraining.com

73

Property: .WaiveMedical
Checkbox caption: Waive medical benefits
Caption position: Left
Actions tab – Event: Change / Action: Refresh – This section
In the layout properties for the include of the HealthcareBenefit section, set visibility to occur only
when the employee has not waived benefits by adding a visibility condition expression to check if
the waive benefit property is not equal to true. Use the gear icon to the right of the Refresh
condition to open a dialog that will help create an expression to set refresh to occur every time
the waive flag for this benefit changes.

Perform the steps 3-6 above for each of the benefit types (Medical, Dental and Vision).
Notes:
Clicking the gear icon to the right of the expression will open a dialog to help form your
condition expression.

Checking for a waive value to be not equal to true ensures that we are waiting for the
employee to explicitly waive benefits by selecting the checkbox before the options will lose
visibility. If you choose to check for waive equal to false, you should use the property
initialization data transforms to ensure that the initial state of your True / False properties are
known.

www.svpegatraining.com

74

Test the Benefits Enrollment case type to ensure that the benefit selection doesn’t appear if an
employee waives benefits.

www.svpegatraining.com

75

Exercise: Validating Properties in a Repeating Layout
Scenario
In this scenario, we need to ensure when a new employee adds a dependent to their healthcare plan,
they enter the necessary data for the dependent information such as name, date of birth and
relationship.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Our approach would be to use a Validate rule that checks if a dependent was added and, if so,
verifies the required dependent information is provided.

Hints
Remember that you can set directed inheritance for the Dependents data class to Data-Party; so
you can take advantage of the default properties provided by Pega (such as first and last
name, and date of birth.)
Consider creating the page list in the SAE-HRServices-Work class. Collecting information about
dependents could be used for more than benefits enrollment.
The section used for adding dependents should be created in the data class used to define the
dependents object. Then use a section include in the benefits enrollment case type or the SAEHRServices-Work class. Regardless of which option you choose to use, be consistent.
The Validate rule used to verify the required values for the dependents page list could be created
in either the SAE-HRServices-Work class or the benefits enrollment case type. As noted in
the previous step, either option would work – your primary goal should be to remain
consistent in your implementation.
Validate rules are referenced on the Validation tab of the Flow Action form.

Procedure
Follow the steps below:
Setting up the data and UI elements
Use the Application Explorer to find the Dependent data object type and section that were created in the
Implementing a Data Model Using Data Classes exercise. If you see them, skip ahead to the
Configuring the Validate Rule part of this exercise.

www.svpegatraining.com

76

Identify (or create, if necessary) a data class for Dependents. The data elements should be first
and last name, date of birth and relationship. Use a local list to define the types of relationships
(spouse and child as a minimum). Remember to set directed inheritance to Data-Party so you
can take advantage of the default properties such as first and last name and date of birth.
Use a page list to implement the data class, if not already implemented.
Identify, or create if necessary, a section for adding dependents. Add a repeating grid to this section
for adding dependent information.
Identify, or create if necessary, a flow action used to implement the section. Reference this flow
action at the appropriate place in the process flow used for benefits enrollment.
Require field validation
From the Application Explorer data class, locate and open the Dependents Information section
and open it.
Set the Required flag for the First Name, Relationship and Date of Birth dependent fields.
Save the updated section and then run the Benefits Enrollment case type to test your
changes.
Return to the Dependents Information section and remove the required flags from these fields.
Configuring the Validate rule
From the Application Explorer work class, create a Validate rule for the Benefits Enrollment case
that will be used to confirm that entries in the dependent page list have values.
Use Create > Process > Validate.
Enter Require Dependent Values in the Label field, ensure that SAE-HRServices-WorkBenefitsEnrollment is selected in the record context Apply to field and then create the
validation rule.
Add a row for each element in the Dependents page list for which you want to verify an entry.

Add a condition to each row to require a value.

www.svpegatraining.com

77

Note: The message field is used when a validation function is specified. When a
property is marked required, and the field is blank at runtime when the form is
submitted, the system associates the message "This field may not be blank."
with the property. You cannot override this message.

Configuring the Flow Action to call the Validate rule
Add the validate rule to the appropriate flow action.
Open flow action rule used to add dependents.
Open the Validation tab and add the validation rule you just created.

Save changes and test the case type.

www.svpegatraining.com

78

Exercise: Creating an Engaging User Experience for
Adding Dependents During Benefits Enrollment
Scenario
The user interface is the most broadly visible aspect of your application. Its design affects users'
productivity, acceptance, accuracy, and satisfaction and so is a critical factor in implementation
success. Organizing UI sections for reusability is a standard application development best practice. In
the UI lesson series, we learned best practices for following this standard application development
practice using Pega 7.
This exercise verification is limited to that part of the onboarding case type concerning the new
employee being able to add dependents for healthcare benefits.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
The UI for adding dependents is made up of the following components:
A section named “Dependents Information” with a record context of SAE-HRServicesData-Employee.
We used a Grid Repeat Layout sourced from the Dependents page list property. Then, we
added some of the properties noted in the data model.

www.svpegatraining.com

79

A section named “Add Dependents” with a record context of SAE-HRServices-WorkBenefitsEnrollment. This section includes the Dependents Information section.

A flow action named “Add Dependents” with a record context of SAE-HRServices-WorkBenefitsEnrollment that references the Add Dependents section.
Finally, we referenced the flow action on the appropriate assignment in the Onboarding case
type.

www.svpegatraining.com

80

Exercise: Creating an Engaging User Experience for
Creating the Employee Record Exercise Verification
Scenario
The user interface is the most broadly visible aspect of your application. Its design affects users'
productivity, acceptance, accuracy, and satisfaction and so is a critical factor in implementation
success. Organizing UI sections for reusability is a standard application development best practice. In
the UI lesson series, we learned best practices for following this standard application development
practice using Pega 7.
This exercise verification is limited to that part of the onboarding case type concerning creating the
employee record.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
The UI for creating the employee record is made up of the following components:
A section named “Employee Information” with a record context of SAE-HRServices-DataEmployee. We added some of the properties noted in the data model.

www.svpegatraining.com

81

A section named “Create Employee Record” with a record context of SAE-HRServicesWork-Onboarding. This section includes the Employee Information section. We used a
clipboard page for .Employee as the page context.

A flow action named CreateEmployeeRecord with a record context of SAE-HRServicesWork-Onboarding that references the CreateEmployeeRecord section.
Finally, we referenced the flow action on the appropriate assignment in the Onboarding case
type.

www.svpegatraining.com

82

Exercise: Creating an Engaging User Experience for
Selecting Benefits Exercise Verification
Scenario
The user interface is the most broadly visible aspect of your application. Its design affects users'
productivity, acceptance, accuracy, and satisfaction and so is a critical factor in implementation success.
Organizing UI sections for reusability are a standard application development best practice. In the UI
lesson series, we learned best practices for following this standard application development practice
using Pega 7.
This exercise verification is limited to that part of the onboarding case type concerning the
implementation of the benefits enrollment use case.
A new employee should be able to enroll in healthcare benefits for medical, dental and vision
coverage – or waive coverage for any, or all of the plans.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
This exercise verification assumes you have completed the database class mapping from the
sae2_hr_plan database table.
Given that the information for selecting healthcare benefits was essentially the same – differing only by
the plan type – we chose to use a single base section in the same class we used for the HR plans data
object type, then include this section three times, as we created the sections for selecting Medical,
Dental and Vision plans in the record context of SAE-HRServices-Work-BenefitsEnrollment.
We used a parameter – named Type to match the column in the table – to filter the selection list in
each of the three healthcare benefit categories (Medical, Dental and Vision).

www.svpegatraining.com

83

The UI for creating the selecting healthcare benefits is made up of the following components:
A report definition named “Get HR Plans List” with a record context of SAE-HRServices-DataHRPlan. This report allows us to filter the plan selection dropdown list according to the type of
healthcare plan (medical, dental and vision). Filtering is done through the use of a parameter
named Type that has Benefit Plan Type as the description and Text as the data type.

This report definition is used as the source for:
A data page named “HR Plan List”. This data page has a structure of list and the object type is set to
the class we used to define the HR plans data object type (SAE-HRServices-Data-HRPlan). This
data page uses the report definition created above as the data source. It also includes a
parameter named Type with Benefit Plan Type as the description and String as the data type.
Finally, in the data source for the report definition, we associated the parameter from the report
definition to this parameter.

This data page is used as a list source for a dropdown control in:
A section named “Healthcare Benefit” with a record context of SAE-HRServices-Data-HRPlan. This
section uses a parameter named Type with a description of Benefit Plan Type and a data type of
String.
We added a dropdown control that is sourced using the data page created above. We
mapped the parameter in the details for the list source.

www.svpegatraining.com

84

This section is included in:
The individual sections for selecting benefit plans, with record context of SAE-HRServices-WorkBenefitsEnrollment. In the section include details, we set the page context to use a clipboard
page. Then, we set the class to the class we used to define the HR plans data object type. Next,
we selected one of the three pages we created earlier to store the details of the selected
medical, dental and vision plans. Then, we selected the section we created above as the section
to include. Finally, we provided a value for the type of plans we wanted to present in each of the
three dropdown lists. These values are taken directly from the HR plans database table column
named type.

The sections used to select benefits are referenced in the flow actions for each individual benefit
selection step in the Benefits Enrollment case type.

www.svpegatraining.com

85

Module 07: Enforcing Business Policies

This lesson group includes the following lessons:
Designing Business Rules for the Business User (no exercise)
Enforcing Business Policies Using Service Levels
Notifying Users from Within a Process
Enforcing Business Policies Using Decision Rules
Enforcing Data Relationships with Declarative Rules
Guardrails for Enforcing Business Policies (no exercise)

www.svpegatraining.com

86

Exercise: Configure a Service Level for a Case and
an Assignment
Scenario
Our business policies indicate the request for employee assets should be completed within two
business days, but preferably in one business day. The urgency of the assignment should be
incremented by five points when the goal is missed and by 10 points when the deadline is missed.
When either milestone is missed, an email is sent to remind the manager the task is due.
Also, a new hire is expected to complete the benefits enrollment no later than ten days after their start
date. If the enrollment is not complete within ten days, the urgency of the case should be increased by
15 points and an email is sent to the new hire reminding them to complete their benefits enrollment.
The new hire’s manager should also be notified.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Create and configure a service level record in the Onboarding case type, then associate it to the
“Request Assets” assignment.
Edit the “Goals and Deadlines” of the Benefits Enrollment case type. Then, edit the service level
record and add the appropriate settings.

Hints
Name Service Level records after the assignment they monitor.
A “goal” is used to indicate the preferred amount of time an assignment should take to
complete.
A “deadline” is used to indicate the maximum amount of time an assignment should take to
complete.
To add a service level to a case, start by configuring the “Goals and Deadlines” for the case.
Once you have configured the “Goals and Deadlines” for a case, the service level record created
– pyCaseTypeDefault - can be found in the Case Name -> Process -> Service Level
category

www.svpegatraining.com

87

Procedure
Follow the steps below:
Create a new Service Level record for the Request Assets step using the criteria specified in the
Scenario.
Use Create > Process > Service Level
Give the Service Level Record a name that associates it with the Request Assets
assignment, such as: Request Assets. The record context should apply to SAEHRServices-Work-Onboarding.
Set Goal and Deadline values as specified in the Exercise Scenario.

www.svpegatraining.com

88

2. Associate the Request Assets SLA with the “Request Assets” assignment.

Configure the Benefits Enrollment case with the appropriate “Goal and Deadlines” settings
specified in the Scenario.
Open the Details tab for the Benefits Enrollment case type and edit the Goals and
Deadlines to set a Goal of 8 days and Deadline of 10 days for a new employee to
complete benefits enrollment. Save this change.
0

Open the newly created pyCaseTypeDefault Service Level Record for the Onboarding
case type from the SAE-HRServices-Work class of the Application Explorer and add the
additional business policy information.

www.svpegatraining.com

89

www.svpegatraining.com

90

Exercise: Reevaluating Data Needs
Scenario
The HR Manager has evaluated information collected when the employee was a job candidate and
asked that information already available be reused.
Review the Employee data object type and add any properties from the following table that are not
already included.

Property Name
Mode
Type
Date of Birth
Single Value
Date
Department
Single Value
Text
Dependents
Page List
Dependent
Employee ID
Single Value
Text
Full Time
Single Value
True / False
Hire Date
Single Value
Date
Job Description
Single Value
Text
Job Title
Single Value
Text
Manager Email
Single Value
Text
Marital Status
Single Value
Text
Reporting
Manager
Single Value
Text
Salary
Single Value
Decimal
The directed parent class for the employee data object type is Data‐Party. So,
you can also use the following inherited properties without making any
changes to the data object type.
pyFirstNa
me
pyLastNa
me pySSN
pyEmai1
pyHomePhone
Use the following role and login information for this exercise.
Role: System Architect
User Name: Admin@SAE
Password: rules

www.svpegatraining.com

91

Approach
Our approach is to use look at the properties contained in the Candidate data object type and those in
the Employee data object type and determine which properties should be reused from already saved
data. We would then add properties to the Employee data object type.

Hints
To add properties to a data object type, start by opening the Application Explorer in the – Data
class for your application.

Procedure
Add properties to the Employee Data Object type
Begin by opening the Application Explorer SAE-HRServcies-Data class and locating the Employee
data object type.
Add properties to the Employee data object type.
From the App Explorer SAE-HRServices-Data > Employee > Data Model, right-click
Property and select Create properties.
Enter properties from the Scenario that are not already a part of the Employee data object
type.

www.svpegatraining.com

92

When you are done, your Employee Data object type should contain the following properties (as
viewed from the Data Explorer).

www.svpegatraining.com

93

Exercise: Notifying Users From Within a Process
Scenario
Our business policies indicate the hiring manager should be notified via email when a new employee
record is created and when the assignments for requesting the new employee’s assets and setting up
the new employee’s enablement plan are pending.
We also need to send a welcome letter, which will be mailed to all new employees once the
employee record is created. The content of the letter should read:
Dear [employee’s full name],
Welcome to SAE and the [department name] team! I am delighted you are joining us as a [new
employee’s job title]. Your role is critical in fulfilling the mission of our department and SAE.
The [department name] team is here to support your transition so, please know that you can call on any
of us to assist you. We are looking forward to you joining our team and your success at SAE.
Sincerely,
[manager’s name]
[manager’s title]

Finally, when a new employee starts, they should be sent an email notifying them of their pending
cases for enrolling in benefits and setting up their payroll account.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Our approach would be to use a Multi-Step Process. Create the employee record and then use a
Send Email smart shape to notify the hiring manager after the new employee record is created.
Assignment-pending notifications should, as much as possible, be accomplished using the
Notification tab on the assignment from which the notification needs to be sent.
Create the appropriate correspondence record for the welcome letter and use a Multi Step Process to
send the correspondence.

Hints
Correspondence records are contained in the Process category.
Configure multi step processes from either the Case Designer or the App Explorer.

www.svpegatraining.com

94

Configure the notifications for each assignment from either the Case Designer or the App
Explorer.

Procedure
Follow the steps below:
Notifying the hiring manager when a new employee record is created
From the Case Designer, change the step you are using to create the employee record from a
Single Step assignment to a Multi Step Process.
Add a Send Email smart shape and configure it to use the “Email address” option and use a
property reference for the hiring manager’s email address. Add a Subject and Message.
Notifying users of pending assignments
Create an email correspondence record in SAE-HRServices-Work that will be used to send task
notifications. We suggest using “Task Pending Notification” for the short description.
Write a simple notice to the assignee: A new task (______), for case (_____) is in your worklist.
Use .pyID to identify the task and .pyCaseID to identify the case number.
Configure each of the assignments with the appropriate notification parameters.
Sending the welcome letter to the new employee
Create a mail type correspondence record in the Onboarding case type.
Compose a letter using the text noted in the scenario.
From the Case Designer, change the step you are using to send the welcome kit to a Multi Step
Process.
Configure a Utility shape to use the default CorrNew rule. Reference the correspondence record
you created previously. For this scenario, consider the new employee to be the “Customer.”

www.svpegatraining.com

95

Exercise: Enforcing Business Policies with Decision Rules
Scenario
After the HR representative creates the new hire record, a welcome kit is sent to the new hire.
However, separate welcome kits are sent for full-time employees and contractors. We want to
automate the sending of the welcome kit so that full-time employees and contractors each get
separate welcome kits.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Our approach would be to use a When rule to check the status of the new hire. Then, in the process we
use to send the welcome kit, we would configure a decision shape to use the When rule to direct the flow
to the appropriate step.

Hints
When rules are in the Decision category.
Consider using SAE-HRServices-Work as the applies to class for the When rule.
Change the Send Welcome Kit step to Multi Process to add process flow shapes.
To configure a decision shape to use a When rule change the decision shape type to Fork.
When rules are referenced on the flow connector emanating from the decision shape when the
decision shape type is set to Fork.
The other connector should be set to Else.

www.svpegatraining.com

96

Procedure
Follow the steps below:
Identify the property used to define the employee’s status as full-time.
Create a When rule to check if the new hire is full-time. We suggest using “Employee Is Full Time”
as the short description.

Edit the process you are using for the Send Welcome Kit specification and configure a
decision shape to use the When rule you created in the previous step.

www.svpegatraining.com

97

Open the section used to create the employee record. Edit the FullTime cell to set the default value to
true.

www.svpegatraining.com

98

Exercise: Automatically Calculating Property Values
Scenario
As a new employee selects their options for healthcare coverage, they should be presented with a
total cost of coverage.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Our approach would be to create a new property for calculating the total cost of coverage based on the
different plans selected in each category (medical, dental and vision).
We would display this calculated value in the section used for selecting benefits.

Hints
The property should be applied to the SAE-HRServices-Work class as it could be used for more
than benefits enrollment.
The easiest way to define an expression on the property is to right click on the property and select
Define Expression.

Procedure
Follow the steps below:
Create a property for the total cost of coverage. We suggest using Total Benefit Cost as the short
description.
Define an expression on this property that calculates the sum of the selected medical, dental and
vision plan costs. We suggest using Calculate Total Coverage Cost as the short description.

www.svpegatraining.com

99

Edit the sections used for selecting healthcare benefits and add the Total Benefit Cost
property to each section.

Note: The calculation for total benefit cost may round to the nearest whole dollar
amount. This is due to the way Pega 7.1.6 converts a column type in the training
database.

www.svpegatraining.com

100

Module 08: Process Visibility through
Business Reporting

This lesson group includes the following lessons:
Preparing Your Data for Reporting
Building Business Reports
Guardrails for Business Reporting

www.svpegatraining.com

101

Exercise: Optimizing Properties for Reporting
Scenario
To create business reports it is oftentimes more efficient to have key properties optimized for reporting.
Remember that determining which properties should be optimized for reporting is an organizational
effort and not something done in a vacuum. For this exercise, assume that those conversations have
already taken place. As a result, the following Employee page properties, from the Onboarding work
class, have been determined to require optimization:
FullName
EmployeeID
FullTime
HireDate
Salary
Perform this exercise from the following view:
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Use the Application Explorer and navigate to the Onboarding work class. Optimize the following
properties:
FullTime
HireDate
Salary
EmployeeID
FullName
You will need to create the FullName property in your Employee data object. Create a declare
expression using the Data-Party inherited properties pyLastName and pyFirstName to populate the
FullName property.
After completing the optimization if you look at the Onboarding classes definition, you should see the
properties listed on the External Mapping tab.

www.svpegatraining.com

102

Procedure
Follow the steps below to create the Full Name property:
In the Employee data object (located in SAE-HR-Services-Data) add a new property called
FullName.
From the Application Explorer, in the context of SAE-HRServices-Work, click Create > Data Model
> Data Transform. Enter Full Name in the Label field, ensure the record is in the context of
SAE-HRServices-Work and then create the data transform.
Set the value of .Employee.FullName to .Employee.pyFirstName + " " +
.Employee.pyLastName.
Follow the steps below to optimize the property for reporting:
Set context for the Application Explorer to SAE-HRServices-Work.
Locate the properties in the Employee page.
To optimize a property, first right-click on the property name and then select Optimize for
reporting from the menu. Follow the instructions in the Property Optimization wizard.
Optimize all properties listed in the approach.
To view a definition for a class, right-click and choose Definition.

www.svpegatraining.com

103

Exercise: Create Reports
Scenario
The Human Resources department wants to be able to quickly get some information about employees
that are in the onboarding process. The first report they need is a list of all the part-time employees that
are currently onboarding. The second report HR needs is a chart that shows the percentage of new
employees that choose each health plan.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
Create a report definition that will list the following information for part-time employees:
FullName
EmployeeID
Salary
Hire Date
Create a second report definition that configures a chart to display the total number of each of the
different medical plan types chosen by new employees.
If you don’t have enough data for the reports, try completing some cases and make sure to match the
appropriate conditions so that you get some interesting results in your reports.

Hints
To determine if an employee is part time, use the FullTime property in the Employee class.
Use the count function to determine how many of each medical plan type is being used.

Procedure
Follow the steps below:
Create a new report definition as part of the SAE-HRServices-Work-Onboarding class. Give your
report the label Part-Time Employees. Use:
Create > Reports > Report Definition
Add columns to the report using the properties listed in the Approach.

www.svpegatraining.com

104

Filter the records based on whether the employee is part time or not.
Create a second report definition as part of the SAE-HRServices-Work-BenefitsEnrollment class.
Call your report Selected Medical Plans.
Add columns for selected medical plan types and group them by the plan IDs.
Note: Due to the space padding for the .MedicalPlan.Name, the column size
could be unpredictable. Use the function button to create a substring that will
return the first 20 characters of the plan name.

Add conditions to ensure that you only collect information from employees who have not waived
their medical plan option.
Note that since we have not optimized all of the properties used by this report, you will get
performance warnings when you save the report definition. Optimize the suggested properties
and try saving again.

Reference Information
Reporting

www.svpegatraining.com

105

Exercise: Process Visibility with Reports Verification Exercise
Scenario
The real purpose of reports is insight. You need ways of understanding how complex processes are
functioning — where the bottlenecks are, where there are opportunities to improve response time, and
what emerging trends need attention. A report that asks the correct questions, and therefore provides us
with relevant information rather than an unsorted heap of data, can show us what’s going on now, what
has been going on over a period of time, or how what is going on matches or differs from what was
planned.
Properties used for reporting can be added as database columns to the class table; these additional
columns are also known as exposed columns, as they expose the properties found in the BLOB into an
ordinary column in the table, so that normal SQL instructions can be performed on them.
We use report definitions to create reports on both business and process metrics. There are two
types of reports that are available list reports and summary reports.
In the HR Services application you optimized a set of properties in order to create a report that will list
which employees are full time employees. You also created a report to display a chart of the different
medical plan types that have been selected.
Perform this exercise from the following perspective.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
After completing this lesson group you should have
The following optimized properties in the SAE-HRServices application:
FullName
EmployeeID
FullTime
HireDate
Salary

www.svpegatraining.com

106

A Report definition in the SAE-HRServices-Work-Onboarding that lists which employees are part time.

A Report definition SAE-HRServices-Work-Onboarding that uses a chart to show the percentage of
medical plan types selected.

www.svpegatraining.com

107

Module 09: Best Practices for Preparing an
Application for Testing Deployment

This lesson group includes the following lessons:
Using Guardrail Reports to Ensure the Best Performance
Guidelines for Maintaining Requirements and Specifications (no exercise)

www.svpegatraining.com

108

Exercise: Resolving Guardrail Warnings
Scenario
You should be constantly looking at the guardrail warnings as you develop your application. The
Guardrail Landing page informs you of all guardrail warnings contained within your application. From
there you can drill down and resolve the warnings. Additionally before your application is deployed
any flows in your application should no longer be in Draft Mode.
Role: System Architect
User Name: Admin@SAE
Password: rules

Approach
For each of the flows you have created turn off Draft Mode.
Go to the Guardrails Landing page and look at the Summary tab to determine what warnings exist in your
application. Answer the following questions about your application.
Which rule type has the most warnings?
Which rule type has the most severe warnings?
Resolve each of the guardrail warnings in your application. Make a note of the guardrail warning you
violated the most. See if you can determine why you broke this guardrail warning so that you can try to
avoid it when building your next application.

Hints
To turn off Draft Mode go to a flow and toggle the Draft setting.

You can expand a rule type and click on a rule to navigate to it.

www.svpegatraining.com

109

Procedure
Follow the steps below:
Go to each flow you created in the Case Designer and toggle the Draft Mode option.

In Designer Studio navigate to the Guardrails Landing page by clicking Designer Studio >
Application > Guardrails > Summary.
Answer the questions in the Approach section.
Expand each rule type and resolve the guardrail warnings listed for your application.

www.svpegatraining.com

110