You are on page 1of 97

 

 
   

Senior System Architect


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: SSA_716_ExerciseGuide_20150116.pdf 
PVS:  ssa716_ss_pvs_20150116.exe 
Date: 20150116
 

 
Table of Contents
Application Design........................................................................................... 1
Application Express............................................................................................................. 2

Check in................................................................................................................................ 3

Create and Merge Branches.............................................................................................. 4

Circumstancing Benefits.................................................................................................... 5

Reusing Sections................................................................................................................. 6

Case Design...................................................................................................... 8
Case Lifecycle Management.............................................................................................. 9

Case Hierarchy..................................................................................................................... 12

Creating and Editing Flows Exercise................................................................................. 15

Advanced Flow Processing Exercise................................................................................. 18

Screen Flows Exercise......................................................................................................... 21

Work Status.......................................................................................................................... 23

Work Parties......................................................................................................................... 24

Data Model....................................................................................................... 25
Data Modeling..................................................................................................................... 26

Property Definition............................................................................................................. 27

Keyed Data Page................................................................................................................. 28

User Experience............................................................................................... 30
UI Architecture Exercise..................................................................................................... 31

Configuring Layouts............................................................................................................ 33

Styling an Application......................................................................................................... 39

Select a Location for Enablement Training...................................................................... 41

View the List of All Open Positions.................................................................................... 42

Automating Business Policies......................................................................... 44


Data Transforms Exercise.................................................................................................. 45

Activity Exercise................................................................................................................... 47

Pega Pulse Exercise............................................................................................................. 48

Case Attachements Exercise.............................................................................................. 52

Routing Exercise.................................................................................................................. 55
Get Next Work..................................................................................................................... 58

Correspondence.................................................................................................................. 59

Ticketing Exercise................................................................................................................ 61

Calculate the Total Experience for Candidate................................................................. 65

Adding Courses................................................................................................................... 67

Validation............................................................................................................................. 69

Reporting.......................................................................................................... 70
Create a Report to List Waiting Candidates..................................................................... 71

Create Reports to Display Rating...................................................................................... 73

Create Reports to Display Work History........................................................................... 75

Display Case Status Across All Users Exercise................................................................. 78

Integration........................................................................................................ 80
Call a SOAP Service............................................................................................................. 81

Create a SOAP Service........................................................................................................ 82

Process a CSV File................................................................................................................ 83

Use the Obj-Methods.......................................................................................................... 84

Architecture...................................................................................................... 85
Upload the Benefit Enrollments........................................................................................ 86

Configure Access Control................................................................................................... 87

Administration.................................................................................................. 88
Using the UI Inspector........................................................................................................ 89

Using PLA and Tracer to Debug the System.................................................................... 90

Debugging Performance Issues........................................................................................ 91

Establishing a Purge Cycle................................................................................................. 92

Package an Application...................................................................................................... 93
 

Module 02: Application Design

This lesson group includes the following lessons: 

 Starting a Pega 7 Application

 Introduction to RuleSets

 Working with Branches

 Rule Resolution (no exercise)

 Enterprise Class Structure (no exercise)

 Circumstancing

 Reusability and Specialization

 
© 2015 Pegasystems Inc 1
 

Exercise: Application Express


Scenario

You have been assigned the task to create the application structure for a claims application for a
company called AB Mutual. The application should support auto and home insurance claims and
there will be no need for reuse at the application level. AB Mutual hopes to reduce claims processing
time by 30% and reduce data errors by 20% with the new application. Customer and policy data
structures are defined on an enterprise level.

Approach

Use Application Express to generate the application structure for the claims application.

Note: The solution file contains the application SClaims, where the ‘S’ stands for solution. Import the
solution file ClaimsApp-S.zip and add the access group SClaims:Administrators to your operator
record. Use the application menu to switch to the SClaims application.

Note: Once you complete the exercise, return to the HRServices application for the remainder of the
course exercises.

Hints
1. Use the ‘Implementation Only’ application structure option
2. Specify a new organization for AB Mutual.
3. Add two case types: Auto and Home
4. Add Customer and Policy as enterprise data types

© 2015 Pegasystems Inc 2


 

Exercise: Check-in
Scenario
A small defect was found in the HR Services application. The label Full Time in section
EmployeeInformation in class SAE-HRServices-Data-Employee is spelled incorrectly.

Approach
Save the rule into the 01-01-05 ruleset version and fix the defect. The rule is automatically checked
out when it is copied into the 01-01-05 ruleset version. This is a setting on the operator preferences
(Operator Menu > Preferences). Verify that your fix works and check-in the rule.

© 2015 Pegasystems Inc 3


 

Exercise: Create and Merge Branches


Scenario
We have received a request from HR that they want to capture the job title in the employee
information screen. It is not known when this change needs to go into production.

Approach
Make the change in a branch.

1. Create a branch called EmployeeJobTitle


2. Copy the SAE-HRServices-Data-Employee.EmployeeInformation section into the branch
3. Add the job title to the section
4. Merge the branch into the 01-01-05 version of the HRServices ruleset.; don’t lock the 01-01-
05 ruleset version.

5. Verify that the section exists in 01-01-05 and that the job title field was added.

© 2015 Pegasystems Inc 4


 

Exercise: Circumstancing Benefits


Scenario

The federal government has mandated that all employees must receive medical coverage. An
employee can either receive coverage from their employer or be covered by their spouse.
Therefore, the HR Manager has requested that the onboarding application be updated so that
employees cannot waive the Medical Plan unless they are married or in a domestic partnership.
Dental Plans and Vision Plans can still be waived for all employees.

Approach

Note: There are several approaches that can meet this requirement. In this exercise we will use a
circumstance template to highlight the content of the lesson.

Since the married state of the employee is one of two separate values, we’ll need to use a
circumstance template to test for this scenario.

1. Create a Circumstance Template.

2. Create a Circumstance Definition.

3. Circumstance the SelectBenefits section.

Solution

The solution for this exercise can be found in the exercise solution ruleset.

Hints

1. Change both the base and the circumstanced version of the rule so that waiving of Medical
Plans is only available for employees with a spouse.
 

© 2015 Pegasystems Inc 5


 

Exercise: Reusing Sections


Scenario

The HR manager has noticed a discrepancy between the screens his users use to create an
employee record and subsequent displaying of the employee later on in the process when the user
is confirming the employee’s benefits.

He has requested that anywhere an employee’s information is shown it must reflect all the same
information as shown during the creation of that employee. The only restriction is that they cannot
change the employment status after the initial creation.

Approach

Update the system to replace the Confirm Personal Information screen shown below:

With the same screen used during employee creation, as shown below:

© 2015 Pegasystems Inc 6


Provide parameters to enable or disable the Full Time selection so that this selection can be disabled
when confirming the employee’s details.

Hints

1. Sections can accept parameters.

2. Local Actions can use an embedded page as its context.

Solution

The solution for this exercise can be found in the exercise solution ruleset.
 

© 2015 Pegasystems Inc 7


 

Module 03: Case Design

This lesson group includes the following lessons: 

 Case Management - Under the Hood (no exercise)

 Case Lifecycle Management (Stages)

 Case Hierarchy

 Creating and Editing Flows

 Advanced Flow Processing

 Screen Flows

 Work Status

 Work Parties

 
© 2015 Pegasystems Inc 8
 

Exercise: Case Lifecycle Management

Scenario
We want to design the “Payroll Setup” case. This subcase gets created in the onboarding process. It
can also be created as a stand-alone case if the employee joined the company without going
through the onboarding process.
Below are the requirements for this case.

1. An operator in the payroll department checks whether all the paper forms have been
received from HR and the hiring departments. The list of forms to be completed is shown in
the sample below. If any of the forms are not received, an email notification is sent to the
owner of the case instance (Owner work party) and the payroll setup case is rejected.

2. If the forms are confirmed to exist, approval is sent to the accounting department for them
to confirm that all the assets are in order and then payroll can be setup. Simultaneously
another approval is sent to the hiring manager to confirm the cost center, employee ID,
employee name, and salary. For this exercise, a simple notes field is sufficient for approval
or rejection. If rejected by either of them, email notification is sent to the owner of the case
instance (Owner work party) and the payroll setup case is rejected. Also, by default,
assignments are routed to the current operator for this exercise.
3. Once both approvals are received, payroll is setup. Here personal data is displayed along
with Position, Start Date, Office location, Hiring Manager name etc. For now, all these fields
need to be entered again even if they are gathered in the onboarding parent case. In a
stand-alone payroll setup case, they would all need to be entered anyway. Tax information
such as Tax Code, State information, etc., are entered in this form. Financial information
such as Bank Name, Bank Routing number, Bank account number is also entered in this
form. The form is submitted to resolve the case instance. In real life, there will be some
connectivity to external Financial ERP system to set up the payroll entry in that system as
well with all these data.

Note: The Bank Info and Tax Info sections are to be created. All the properties needed for
these sections are in the Payroll Setup class in the base application. For the personal info

 
© 2015 Pegasystems Inc 9
section, you can reuse the “EmployeeInformation” and “DependentsInformation” sections
from Employee Data class and “ManagerDetails” section from Manager Data class.

Approach
Configure the Payroll Setup Case in the stage designer to create stages and steps.

Since Rejection is a business exception, we can have it as an alternate stage.

Since both approvals, accounting department and hiring manager are to be processed
simultaneously, have those steps to start upon stage entry.

Hints
1. Here is one example of “Payroll Setup” case design, after the necessary stages and steps are
added.

2. Sending the case for approval to accounting department and to the hiring manager has
similar flows with approval and rejection flow actions. Here is a sample flow.

© 2015 Pegasystems Inc 10


© 2015 Pegasystems Inc 11
 

Exercise: Case Hierarchy

Scenario
We want to evaluate the employee 90 days after the employee joins the company. Create a subcase
“Employee Evaluation” under the onboarding parent case. Instantiate the evaluation case
automatically when the benefits subcase has started. Later, in another exercise, we will add a wait
shape to wait for 90 days. In this exercise, we are going to evaluate the employee as soon as the
benefits subcase has started. Right now the evaluation assignment is sent by default to the current
operator’s worklist. Show the employee data in the flow action and have a section for the evaluation
feedback.
For Employee Evaluation case, we want to carry over the employee data from the Onboarding
parent case.

Approach
Create a subcase “Employee Evaluation” under onboarding parent case. Create an instantiation
dependency on employee evaluation case. Then propagate the employee data from the onboarding
parent case to the employee evaluation case.

Hints
1. Create the subcase first.

 
© 2015 Pegasystems Inc 12
2. Employee Evaluation is a subcase in Onboarding parent case.

3. Configure instantiation dependency for Employee Evaluation subcase.

4. Propagate employee data to appropriate subcases from Onboarding parent case.

© 2015 Pegasystems Inc 13


5. A sample “Employee Evaluation” Flow action:

© 2015 Pegasystems Inc 14


 

Exercise: Creating and Editing Flows Exercise

Scenario
In the exercise for the “Case Hierarchy” lesson, the employee evaluation is instantiated immediately,
after benefits subcas has started. We want to evaluate the employee 90 days after the case is
instantiated. Also, we want to route the evaluation assignment to the Manager (Manager@SAE),
(Note: Before completing this exercise, you must complete the Case Hierarchy exercise.)

Approach
Create a new flow “Wait for 90 Days” before the evaluation step in the “Employee Evaluation” case.

Edit the flow to add a wait shape only and configure it to wait for 90 days. (For testing purposes,
change it to 3 minutes or any low number.)

In the evaluation assignment, route to “Manager@SAE.”

Hints
1. Add a step before the evaluation step and that will create the flow automatically. Once the
step is added, the stage designer will look like this:

2. Edit the “WaitFor90Days” flow to include a wait shape as shown below.

 
© 2015 Pegasystems Inc 15
3. Configure the wait shape as shown below. Ensure to change the default standard
workbasket deferred@pega.com to an appropriate workbasket that the operator has access
to, such as “default@SAE” in this application. For testing, change 90 days to 3 mins or so.
Also, “Permit End User to perform” can be enabled if we want the end users to process the
assignment before the waiting period.

4. Configure the evaluation assignment to route to “Manager@SAE” operator.

© 2015 Pegasystems Inc 16


© 2015 Pegasystems Inc 17
 

Exercise: Advanced Flow Processing Exercise

Scenario
When an employee evaluation case is created automatically from the onboarding parent case or
manually as a stand-alone case, we want to look for duplicate cases and prompt the users if a
duplicate(s) is found. End users can then decide if they want to continue or resolve current case as
the duplicate. We want to search for first name and last name to see if there is a match with any
existing case(s) that has not been resolved, the weightage to be given to the employee date of birth,
and the hiring manager last name.
Note: Before completing this exercise you must complete the Case Hierarchy exercise.

Approach
Configure the duplicate search in the case designer. First show the employee data for review or for
editing. When the review action is submitted, check for duplicates using the duplicate search shape
in the flow. If we reach the last actual evaluation step, this indicates that the current case is not a
duplicate for any existing unresolved cases. Create a property, say, EmployeeFullName, as a top
level property in Employee Evaluation class and populate it from the property FullName of the
embedded page Employee, with a declare expression. The property that we want to compare
should be at top level for “Must Match” conditions.

Hints
1. A sample set of steps for Employee Evaluation case.

2. Duplicate search configuration is shown as below.

 
© 2015 Pegasystems Inc 18
(Primary.Employee.DateOfBirth and Primary.Employee.Manager.pyLastName are compared
with .Employee.DateOfBirth and .Employee.Manager.pyLastName under the weighted
match conditions here. EmployeeFullName is top level property which is populated with a
declare expressions with the value of FullName from the embedded page, .Employee. This is
used for “Must Match conditions.”)

3. Check for duplicate flow uses the duplicate search smart shape. Here, we are not doing
anything special with the results – just the standard (OOTB) way of processing. If “duplicate
not found or duplicate not selected” the case will move on the next step. Both the results are
ending on the end shape. In real life, for each result, we can add more shapes and take
different processing steps, if needed.

© 2015 Pegasystems Inc 19


4. If “duplicate is found” the end user is prompted with the standard screen as shown below.

5. The end user can click continue to select the result “Duplicate Not Selected” or select an
existing case and click “Resolve as duplicate.” The current case will be resolved with the
status “resolved-duplicate.”

© 2015 Pegasystems Inc 20


 

Exercise: Screen Flows Exercise

Scenario
In the exercise for Case Lifecycle Management, we had one screen in the payroll setup for the
personal data, tax data and banking data. Create a screen flow that replaces this screen, with
screens to separate the personal, tax and banking data. We want the tree navigation for the screen
flow so users can jump to any screen in the flow and we want to capture the errors (such as the
required fields) at the last screen submission. (Note: Before you complete this exercise, complete
the Case Lifecycle Management exercise first.)

Approach
Convert the payroll setup step to a screen flow. Create the screen flow first and add the step back in
the stage designer. Create flow actions for each of the screens and use them in the assignment
shape in the screen flow. Configure the start shape for the navigation and other configurations.

Hints
1. A sample set of steps for Payroll Setup case. “Setup Payroll Screen” is a screen flow.

 
© 2015 Pegasystems Inc 21
2. The screen flow looks like this.

3. The start shape is configured like this to meet the requirements of tree navigation and to
jump around the screens even if there are any errors. Errors are captured only at the last
screen submission.

© 2015 Pegasystems Inc 22


 

Exercise: Work Status

Scenario
Once an Onboarding case is ready to exit the Intake stage, we want to change the status of the case
to “Pending-Scheduling”. Also, if the Onboarding case is withdrawn, we want to change the status to
“Resolved-Withdrawn”.
 Role: Senior System Architect
 User Name: admin@SAE
 Password: rules

Approach
Define a new work status named “Pending-Scheduling” for the Onboarding case.

In the Send Welcome Kit flow, set the status value at the end shape to “Pending-Scheduling”.

In the Cancel Onboarding flow, set the status value at the end shape to “Resolved-Withdrawn”.

Hints
1. To define a new work status value, create a field value rule for the pyStatusWork property.

 
© 2015 Pegasystems Inc 23
 

Exercise: Work Parties

Scenario
As part of the onboarding process, we want to email each new full-time employee to notify them
that their orientation date has been scheduled. To send this notification, we first need to identify the
employee’s email address. We can then create the content of this notification, and test our
application to verify that the email address was properly captured.
 Role: Senior System Architect
 User Name: admin@SAE
 Password: rules

Approach
Define a work party named “Employee” for the Onboarding case type.

Create a data transform to copy the email address from the employee record to the Employee work
party. Run this transform after creating the employee record.

Update the Send Welcome Kit flow to send an email to the employee, using the email address
defined for the Employee work party.

Note that your application cannot send email until you configure an email account record, which is
covered in another lesson. For this exercise, you can review the email attached to the case, using the
Attachments tab, to confirm that you have completed the exercise correctly.

Hints
1. A work party for a person should be defined using the Data-Party-Person class or Data-Party-
Operator class. Data-Party-Operator is reserved for individuals who process assignments
within PRPC and have a valid operator ID, while Data-Party-Person can be used for
individuals who do not have a PRPC operator ID.

 
© 2015 Pegasystems Inc 24
 

Module 04: Data Model

This lesson group includes the following lessons: 

 Building a Solid Foundation

 Controlling Data with Properties

 Source Your Data with Data Pages

 
© 2015 Pegasystems Inc 25
 

Exercise: Data Modeling


Scenario

The data model needs to be extended with an enablement plan.

Approach

Enablement plan has the following attributes:


 Courses (the list should be stored and listed in given order)
 Employee Feedback Comment
 Employee Feedback Rating (1-10)

Hints
1. Use the Add/remove data object wizard in the Data Explorer

© 2015 Pegasystems Inc 26


 

Exercise: Property Definition


Scenario

The marital status options on the employee information screen can currently not be localized.

Approach

Configure the marital status property to support localization.

Hints
1. Use a different table type
 

© 2015 Pegasystems Inc 27


 

Exercise: Keyed Data Page


Scenario

In this exercise we want to utilize the keyed access feature in the data page. The idea is to replace
the use of the D_Position data page with a keyed version of the D_PositionList data page for the
Position property in the Candidate case.

Approach

In the Candidate case type there is a property called Position. The Position property points to the
D_Position data page, which takes the selected position as an input parameter and returns the
position data.
1. Use the Position property to add the position description below the position dropdown of
the first screen in the candidate case to make it look like the screenshot below. Make sure
the description is updated when the position is changed.

job-description.png

2. Use the Clipboard tool to view the D_Position and D_PositionList data pages as the position
is changed.

data-pages-1.png

3. Change the Position property to instead get the data from the D_ProductList data page by
configuring keyed access for the D_PositionList data page.

position-property.png

© 2015 Pegasystems Inc 28


Creating a new candidate case and verify that the position description is populated correctly. Also,
verify that the D_Position page was not created on the clipboard.

Hints
1. Use the ReqID as the key for the D_PositionList data page.
 

© 2015 Pegasystems Inc 29


 

Module 05: User Experience

This lesson group includes the following lessons: 

 Introduction to User Experience (no exercise)

 Introduction to UI Architecture

 Building the UI

 Introduction to Responsive UI (no exercise)

 Introduction to Styling an Application

 Understanding Available Controls

 Building Dynamic UI

 
© 2015 Pegasystems Inc 30
 

Exercise: UI Architecture

Scenario
All employees must go through orientation and in the “Setup orientation schedule” step, we want to
capture the orientation schedule start date and whether the employee will attend the orientation
onsite or not.

Approach
Create two properties, in Onboarding class, to capture orientation schedule start date (as Date
property type) and attending orientation on site or not (as TrueFalse property type).

Use these properties in a section rule and refer the section rule in a flow action rule.

Modify the flow rule for the “Setup orientation schedule” step to use this flow action.

Hints
1. Modify the flow rule for the Setup orientation schedule” step to use a flow action.

2. A sample section rule, that can be referenced in the flow action rule:

 
© 2015 Pegasystems Inc 31
© 2015 Pegasystems Inc 32
 

Exercise: Configuring Layouts

Scenario
When using the default layouts, it is recommended to make some changes to make the UI Screens in
candidate case looks cleaner. The business team has given us some mockups to help us do this.
Refer the attached screenshots and build the user interfaces to match them.
The business team also gave another mockup to create a new confirm benefit selections screen,
confirming the selections made earlier.

 Role: Senior System Architect


 User Name: admin@SAE
 Password: rules

SCREENSHOTS:

Collect Personal Information

 
© 2015 Pegasystems Inc 33
Screen Candidate

Move position information below and collapse it by default:

© 2015 Pegasystems Inc 34


And when expanded:

Confirm Benefits

© 2015 Pegasystems Inc 35


BONUS

Determine Compensation

Schedule Interview

© 2015 Pegasystems Inc 36


Approach
Collect Personal Information:

 Apply appropriate layout formats to present the elements to match the screen size.

 To adjust the textbox size, modify the width and use 50%, by default it uses a set pixel width,
modify the control to use Text Input to see the width setting ( use hint for screenshots)

Screen Candidate:

 Drag and drop the layout above or below to switch which one comes first.

 Use a header for displaying position in collapsed mode.

 Apply a format for container, the solution uses Section Divider, try other formats and use the
ones you like.

 Modify the radio button orientation to display the choices one below another.

 Confirm Benefits Selection:Refer the section used in Confirm Personal information on the
first screen to display the employee information. The employee information should be
rendered read only.

 The mockup displays that we should be able to add a new dependent or delete an existing
dependent. Use the same page list that is used in the Add Dependents screen.

 Add all the benefit selection screens used in the first screen in a tabbed layout.

 Modify the delete and add icons used in column layouts, the solution uses and apply
header and container formats to match the screenshot.

© 2015 Pegasystems Inc 37


Hints
1. The format can be changed by using the properties panel of the layout. To see all layouts in
action, open the skin rule pyEndUser71 which is the application skin.
2. The change link helps you in selecting a specific format. The width shows up when you select
Custom in Presentation tab.

3. To select a different format that does not show up in the default use Other.
4. The section can be included directly on a cell inside a layout. When included this way,
marking the cell as read only will render the whole section as read only.
5. Dependent information in the screenshot can be created by using Column Repeating
layouts.
6. To add a section into a tab, do the following:
a. Copy the section from the Select Benefits section ( copy is ideal because the section
has lot of configurations prefilled)
b. In the new section paste it above an existing layout
c. Add a tab layout and then drag the section and drop it next to the tab.

d. To delete the blank tab, use the delete icon in the canvas.

© 2015 Pegasystems Inc 38


 

Exercise: Styling an Application


Scenario

The HR manager has noticed a large number of data entry errors. After meeting with his staff he’s
decided that he would like some updates to the system to address the mistakes his team is making.

1. His first request is to make the Confirm Personal Information button more prominent while
the user is selecting benefits.

2. His second request is to make all the labels in the system more prominent. He feels that
their current light color causes his team to skip over and not read them.
For both of these changes, he would like the colors changed to Dark Red.

Approach

Copy the skin rule into our ruleset and make the necessary changes to support these requests. The
color requested has a Hex Code of #A9071E, so use this color for all the updates.

© 2015 Pegasystems Inc 39


Hints
1. Components can have multiple formats. All components have a Standard or Default format,
but you can also create your own format when you need to update a single component like a
button.

2. You specify which format you want a button to use when you place it on a section.

Solution

The solution for this exercise can be found in the exercise solution ruleset.

© 2015 Pegasystems Inc 40


 

Exercise: Select a Location for Enablement Training

Scenario
When the candidate receives their onboarding packet, they also need to select the closest location
they can go for their enablement training. The company has multiple offices across the globe and
the candidate should be able to pick one after selecting a country.

 Role: Senior System Architect


 User Name: admin@SAE
 Password: rules

Approach
The company has locations across 19 countries. Provide an option to the user so they can select a
country close to them from the list of countries. The customer should be able to search based on
entering the first few characters of the country name or the actual location name.

Configure the SetupEnablementPlan step to display the control for the user to select an office.

BONUS:

Make changes so that the autocomplete control does not show up for the whole screen.

Hints
1. Use an autocomplete control to select the location. Configure the autocomplete control to
read from a data page to display the location.
2. Use the Add additional fields feature to display the country and include it in the search.

 
© 2015 Pegasystems Inc 41
 

Exercise: View the List of All Open Positions

Scenario
When a candidate is applying for a job, they select the position they are applying for as part of the
collect personal information step. However, the position name does not provide enough information
so candidates might be sure what the job is and if they are qualified for the job. SAE wants the
candidates to be able to view the list of all open positions and their job descriptions so that they can
apply for the right job.

Screenshot:
The Personal information screen should include a link next to the position applied for field to display
the details once clicked.

 Role: Senior System Architect


 User Name: admin@sae
 Password: rules

Approach
The solution displays the position details in an overlay dialog. Users should be able to dismiss the
overlay by clicking anywhere outside the overlay dialog.

Configure to use a grid to list all positions, the position information is stored in D_PositionList..

BONUS:
Provide options to expand each row in the grid to display additional details for the position. Only
one position can be expanded at one time. The details screen can be reused from another existing
section, however requires creating a flow action to access that section.

 
© 2015 Pegasystems Inc 42
Hints
1. The link control can be configured to open a local action in an overlay window.
2. Enable the Hide the default action section buttons field in the flow action so it does not
display the OK and Cancel buttons.
3. The solution uses the FormattedText control to display the fields in read only.
4. The solution styles the grid to use spreadsheet format. The header and footer for grid can be
disabled in the General tab and the sorting can be disabled in the Operations tab.
5. For the bonus, you can use the show details option in the grid. Use the position details
section for displaying the content.

© 2015 Pegasystems Inc 43


 

Module 06: Automating Business Policies

This lesson group includes the following lessons: 

 Data Transforms

 Activities

 PegaPulse

 Case Attachments

 Routing

 Get Next Work

 Correspondence

 Ticketing

 Declarative Processing (no exercise)

 Declaratives Rules

 Delegating Rules to the Business User (no exercise)

 Automating Decisions

 Validation

 
© 2015 Pegasystems Inc 44
 

Exercise: Data Transforms Exercise

Scenario
In the exercise for the “Case Hierarchy” lesson, the employee evaluation subcase is instantiated,
based on the sibling cases dependency and the employee data is propagated from the Onboarding
parent case. Now we want to instantiate the employee evaluation subcase as a stand-alone case.
That is, a manager can evaluate the employee anytime, not only after 90 days of joining. When we
instantiate it as a stand-alone, we are not getting any data propagated from the parent case, so we
want to initialize the employee data so the appropriate sections to show up. Since most of the
employees hired are full time, we want to have the default value of fulltime to be true, only if that
value has not been set before. (Note: Before completing this exercise, you must complete the Case
Hierarchy. exercise.)

Approach
In the application rule, enable “Employee Evaluation” to be created from the create menu as a stand-
alone case.

Have a pyDefault Data Transform rule, which will automatically be invoked whenever a case instance
is created in the Employee Evaluation class.

Since the work pool class has the “InitializeEmp” data transform already, reuse this in the pyDefault
rule.

Create a when rule to check whether the “Fulltime” property has already been set or not. If it has not
been set, then a default value of “True” in the pyDefault transform rule should be set.

Hints
1. In the Cases and Data tab within the Application rule where subcases that can be created as
a standalone case are enabled, enable the “EmployeeEvaluation” case.

 
© 2015 Pegasystems Inc 45
2. On the pyDefault Data Transform rule that has the steps for the requirements – call the
‘InitializeEmp” data transform rule and set the default value for the fulltime property to be
true if it has not been already set, by checking a When rule.

© 2015 Pegasystems Inc 46


 

Exercise: Activity Exercise

Scenario
As part of the request assets step we want to be able to add assets that are not available in the list.
Added assets need to be saved in the master list for future use.

Approach
Add the option to add assets to the grid. Persist any new items in the assets data table using an
activity. Construct the ID from the first letter in the type followed by the label without spaces.

Hints
1. Use the standard action “Add Item” to add items to the list.
2. Configure the declare page to be editable.

3. Configure an activity to iterate through the assets and save new ones.
4. Use Obj-Save to save new assets.
5. Call the activity from e.g. the flow action.

 
© 2015 Pegasystems Inc 47
 

Exercise: Pega Pulse Exercise

Scenario
During the processing of the payroll case, we want to create a private Pega Pulse message. The
message is a reminder that anyone working on the case will need to create a task for the accounting
department to attach a voided bank check, once the necessary forms have been marked as
received. A sample PegaPulse message could be: “Create a task for accounting department
reminding them to attach a voided bank check to the new employee case instance.”

At runtime of the case interaction, any one of the assignees can create a task for the accounting
department workbasket. (Note: Before you complete this exercise, complete the Case Lifecycle
Management exercise.)

Approach
Modify the necessary flow rule to include the “Post to Pulse” smart shape.

Configure this shape with the message and private posting.

Hints
1. Modify the initial flow “check for forms” to include the “Post to Pulse” smart shape if the
forms are received.

2. Configure the “Post to Pulse” shape to include a message. Since this is a private posting, we
need to select the “Message pertains to the current case” and “Make secure post”
checkboxes.

 
© 2015 Pegasystems Inc 48
3. At run time, the Pega Pulse posting is posted in that section for the case instance.

© 2015 Pegasystems Inc 49


4. Create the task for the accounting department at runtime, by clicking the action link and
selecting “Create a task” in the PegaPulse message.

© 2015 Pegasystems Inc 50


© 2015 Pegasystems Inc 51
 

Exercise: Case Attachments Exercise

Scenario
During the payroll setup case, whenever we check the radio button that the bank form has been
received or all the forms have been received, end users can then attach a voided bank check from
the new employee.

Once the voided check stub is attached to the case, the only operation allowed is the View
operation. No one is allowed to delete the voided check once it is attached to the case instance. We
want to only use a file attachment type to attach a voided bank check. (Note: Before you complete
this exercise, complete the Case Lifecycle Management exercise.)

Approach
Define an Attachment category.

Use a “When” rule to determine whether the forms have been received.

Enable only the “File” attachment type.

Allow only the Create and View operations on the category.

To test, attach a test file with this attachment category. You can attach it to the case instance in any
step of the payroll case after marking that the forms have been received in the initial step.

Hints
1. Create an Attachment Category, for example one named “BankCheckStub.” Define a when
rule and select only the create and view options.

2. Enable only the “File” attachment type in the availability tab.

 
© 2015 Pegasystems Inc 52
3. Attach a file to a case instance with category as the newly created category. (BankCheckStub
in this example.)

4. In the advanced attachments dialog box, we see that we cannot delete the “BankCheckStub”
attachment as we see “insufficient privilege” for the delete option.

© 2015 Pegasystems Inc 53


© 2015 Pegasystems Inc 54
 

Exercise: Routing Exercise

Scenario
In the Case Lifecycle Management exercise, for payroll setup case, we had two assignments (
approval from the accounting department and approval from the hiring manager) which by default
were sent to the current operator. Let’s route the accounting department approval assignment to
the workbasket, Accounting@SAE. Any operator in the accounting work group can then pull it from
the workbasket. Let’s route the hiring department approval based on the department of the
manager. If the department is finance, route to Finance workbasket. If the department is
engineering, route to Engineering workbasket. For any other departments, route to default
workbasket. (Note: Before you complete this exercise, complete the Case Lifecycle Management
exercise.)

Approach
In the accounting department assignment shape, use the appropriate router activity,
“ToWorkbasket” and pass the appropriate value as the parameter.

Create EngineeringWB, FinanceWB workbaskets and EngineeringWG, FinanceWG workgroups.

Create a decision table, and return the appropriate workbasket based on the value of the
department of the Manager. Use this decision table for the router in the hiring department
assignment.

Hints
1. Router activity “ToWorkBasket” in the accounting department approval assignment, and the
workbasket “Accounting@SAE” as the parameter.
2. By default, the ToDecisionTable routing activity does not process a case if one of the
properties in the table has not been set. If you do not specify a department for the
employee’s manager, the Hiring Dept Approval assignment will not be routed correctly.

 
© 2015 Pegasystems Inc 55
3. Create the necessary workbaskets and workgroups. One workbasket configuration is shown
here.

© 2015 Pegasystems Inc 56


4. Create a decision table (Say “ToHiringDepartmentWB) to return the appropriate workbasket
based on the value of the department of the manager.

5. Use the standard router “ToDecisionTable” for hiring department assignment.

© 2015 Pegasystems Inc 57


 

Exercise: Get Next Work

Scenario
We want the operator, Manager@SAE, to have the ability to perform pending assignments in the
workbaskets Accounting@SAE, EngineeringWB, and FinanceWB, in addition to the workbaskets
related to his/her work group. This operator is akin to a VP who can approve the tasks in those work
baskets for the purposes of this exercise.

Approach
If necessary, create the EngineeringWB and FinanceWB workbaskets (review the Routing exercise for
the necessary configuration details).

Configure the Manager@SAE operator ID to look for assignments in the Accounting@SAE,


EngineeringWB, and FinanceWB workbaskets, in addition to the workbasket for the work group
already configured.

 
© 2015 Pegasystems Inc 58
 

Exercise: Correspondence

Scenario
One method of improving the efficiency of a process is to notify participants in the process of
pending assignments.

The customer wants to configure an email notification for the Request Assets assignment in the
Onboarding application to improve the onboarding process.

1. In the service level for the Request Assets assignment in the Request Assets flow, the Goal
and Deadline intervals are already configured to notify the assignee when SLA timelines are
not met. We want to extend this configuration to notify the assignee’s manager when the
deadline is not met for this assignment.
2. We want to update the content of the notification sent when the Request Assets assignment
remains open upon completion of the Deadline interval. Identify the correspondence rule
called by the Notify Assignee and Notify Manager activities, and customize it for the
Onboarding case. This notification should include the current work status of the case and
the case ID.

3. For extra practice, customize this correspondence rule for the manager, to include the
assigned user.

Approach
First, setup an email account data record. You may wish to use a test email account from services
such as Gmail or Hotmail.

Modify the service level rule to notify the manager of the assigned user when the assignment
exceeds the Deadline interval.

Modify the correspondence sent upon exceeding the Deadline interval. Address this email to the
assigned user, and inform them of the ID number of the case and its current status. Your email
should be similar to the following example.

Bonus: customize the notification sent to the manager. This notification should indicate the
currently assigned operator. Customize the notification activity to use this customized
correspondence, rather than the default correspondence.

 
© 2015 Pegasystems Inc 59
Note: if the exercise system cannot connect to the internet to send email, test your solution by
viewing the attachments tab for the case.

Note: This exercise requires that you understand activities well enough to be able to read through
one to identify the correspondence rule used by the activity. If necessary, review the Activities lesson
before attempting this exercise.

Hints
1. To verify the configuration of your email account record, click Test Connectivity to test the
outbound connection to the email server.

© 2015 Pegasystems Inc 60


 

Exercise: Ticketing Exercise

Scenario
We would like a simple assignment sent to the operator who created the Onboarding case when all
the subcases are Resolved-Completed. The purpose of the assignment is to inform the operator that
all subcases are resolved.

The operator would then approve the assignment and the Onboarding case will be resolved.

Note: Before you complete this exercise, complete the Case Lifecycle Management exercise.

Approach
Add a new step at the end of the last primary stage in the Onboarding case. For the flow in the step,
create one assignment and route it to a temporary workbasket, such as default@SAE. Use the
standard flow action “ActionStub” since no action is required to pull from the work basket. Have the
second assignment be routed to the “ToCreateOperator” with a reference to the ticket
“AllCoveredResolved.” When all the subcases are resolved, the ticket is automatically raised and the
assignment is sent to the operator who created the onboarding case.

Hints
1. In the onboarding case, the last step in the last primary stage is “WaitCompletion.”

 
© 2015 Pegasystems Inc 61
2. In the Wait completion flow, the first assignment is routed to a temporary workbasket such
as “Default@SAE” and the case waits in that workbasket. The standard “ActionStub” flow
action can be used since this is purely a stub action.

3. The second assignment is routed with the “ToCreateOperator” router.

© 2015 Pegasystems Inc 62


4. Reference the ticket “AllCoveredResolved” in this assignment. When all the subcases are
resolved a ticket will be raised and will route this assignment to the current operator. The
current operator can approve the assignment to resolve the parent case.

© 2015 Pegasystems Inc 63


© 2015 Pegasystems Inc 64
 

Exercise: Calculate the Total Experience for Candidate

Scenario
When candidates are applying for the job, they enter their work history in terms of company name,
title, and start and end dates. The system should then calculate the experience they have in that job
as well as their total overall experience.
 Role: Senior System Architect
 User Name: admin@sae
 Password: rules

Approach
Create Declare expression to calculate the difference, in years, between start and end dates. PRPC
ships several date functions; check the list and use one of them.

Create another Declare expression to calculate the sum of all experiences.

Finally, Unit Test the expression to verify if it is working correctly.

BONUS:
Display the experience of each job and the total experience in the Collect Professional Info section.
The properties that are used in the calculation must be displayed as read-only. If the value is in the
clipboard but not showing in the UI, you need to refresh the section to see changes, try to display
the properties before verifying the exercise solution. Again, the solution represents one of many
ways.

 
© 2015 Pegasystems Inc 65
Hints
1. The solution used the DateTimeDifference function. You could use that or use a different
standard function.
2. The Grid where the date fields are displayed is part of a page list. We need to set the context
expression behavior appropriately.

© 2015 Pegasystems Inc 66


 

Exercise: Adding Courses

Scenario
SAE has formulated an enablement training program for all new hires. They undertake courses
depending on their role. They wanted to establish the relationship between the course and the role.
This should also support changing the relationship when newer courses or newer roles are added.

 Role: Senior System Architect


 User Name: admin@SAE
 Password: rules

Approach
Create a decision table that uses the Department to decide which courses apply for each
department.

Use the following table to build the relationship.

Department Courses
Engineering Introduction to Application
Development,
Advanced Application
Development,
Application Administration
Marketing Introduction to Application
Development,
Business Development
Product Management Introduction to Application
Development, Business
Development
IT Introduction to Application
Development, Application
Administration

To test the rule, configure the Setup Enablement Plan section to display the list of courses.

Hints
1. Department property is located in the first screen of onboarding. Make sure you provide the
value for that field.
2. Use the <APPEND> keyword to add the value to a new row in decision table.
3. The decision table can be invoked in multiple ways; in this case, it works out better if we call
it using an activity. The method that we should use is Property-Map-DecisionTable.

 
© 2015 Pegasystems Inc 67
4. The activity can be executed in multiple ways as well, the solution references the activity in
the flow action.

© 2015 Pegasystems Inc 68


 

Exercise: Validation

Scenario
To process Onboarding cases efficiently we need to ensure that the data for each case is valid. Each
record should contain the employee’s first name, last name, hiring date, and email address. The
hiring date should not be a date in the future. And once the employee’s manager has been identified
(the manager’s first name and last name are provided), their email address and department must be
provided.
Whenever possible, validation should occur on the client rather than on the server.

Approach
Employ both client-side and server-side validation for the Onboarding case to perform the following
validations.

 Mark the First Name, Last Name, Hiring Date, and Email Address fields for the employee as
required.
 Test the hiring date to ensure that the user does not provide a date in the future.
 Verify that that the user provides the manager’s department and email address if the manager’s
first name and last name have been provided.

Hints
1. To mark a field as required, configure the corresponding UI control.
2. To ensure that the hiring date is not a future date, use an edit validate rule.
3. To ensure that the manager’s department and email address are provided when required,
configure a validate rule.

 
© 2015 Pegasystems Inc 69
 

Module 07: Reporting

This lesson group includes the following lessons: 

 Creating Business User Reports

 Configuring Reports

 Data Model in Reports

 Data Visualization using Charts

 
© 2015 Pegasystems Inc 70
 

Exercise: Create a Report to List Waiting Candidates

Scenario
Managers would like to see a report on all the candidates who have been screened and who are
waiting for an interview. Such a report would be of a great interest to department VPs and other
managers as well. They should be able to subscribe to such a report so they can look at the results
when they need it.
 Role: manager , senior system architect
 User Name: manager@SAE , admin@SAE
 Password: rules

Approach
The developer will do the first step and all remaining steps are done by logging in as a manager.

1. Login as Admin@SAE to create a ruleset for managers to create reports.

a. Modify the prerequisite ruleset version to use HRServices: 01-01-05.

b. Uncheck the checkout feature in the ruleset.

c. Configure the Application to include the ruleset.

d. Configure the Access group of the Manager to include the ruleset.

2. Login as Manager@SAE to create a private category and a report in the report browser.

3. Use the report editor to add the following fields (see hints).

a. Case ID

b. Case Creator Name

c. Candidate First Name

d. Candidate Last Name

e. Interview Date

4. Change the case status to Pending-Interview and remove the other condition of updated in
the last 7 days.

5. Once the report works fine, copy it as a shared report for other managers to see it.

6. Use the Schedule feature to schedule the report periodically and provide options to
subscribe.

 
© 2015 Pegasystems Inc 71
BONUS:
Include PositionAppliedFor Field in the property so the report also displays the position the
candidate is applying for. This field is not allowed for selection in the Data Explorer tab. Take a look
at the properties listed there to see why it is not appearing for selection. The solution does not have
this configured, if you cannot determine the reason look at the last hint.

NOTE:
Unlike the other exercises for this course, the solution is shipped as a production ruleset. You need
to include the solution ruleset as a production ruleset to see the solution.There is an application
named HRServicesBusinessReports which is shipped as part of the solution ruleset. You can switch
to that application to see the solution.

Hints
1. Ruleset that is included as production ruleset must be added in both access group and
application as a production ruleset, in addition to this it must be added as a local
customization ruleset in the access group.
2. To create a report, first we need to create a private category. Use Add Category and then
Add Report buttons to create a new category and report.
3. The new report uses a default template, delete all the fields other than Case ID by right
clicking on the column name to access the command menu. The other fields can be located
by looking on All Matches in the data explorer.
4. The filter can be modified by clicking the hyperlink. Select the appropriate status to list all
candidates waiting for interview.
5. To create a shared category, you just need to create a new public category. (Note: you need
to be logged in as a manager and not a developer).

6. The report can be copied by using the settings icon next to it.
7. Similarly the settings icon can be used to schedule the report.
8. For the bonus, you need to optimize the property for it to be displayed in Data Explorer.

© 2015 Pegasystems Inc 72


 

Exercise: Create Reports to Display Rating

Scenario
The Company would like to see a report that lists the ratings that the candidates have received from
their interviewer. This report should present the assessment rating in a user friendly label instead of
the actual score that they received on their interview. The report should also give the individual
scores received on Interpersonal, Interviewer and Technical skills rating scale. However, users are
not interested in seeing them all the time so they should not be presented in the main report. These
scores should be presented only on an as needed basis and users should be able to click on a
specific row to see these ratings.
The report should list all the candidates who are either selected or rejected.
 Role: Senior System Architect
 User Name: admin@sae
 Password: rules

Approach
The screenshot of the Smart Info Section:

Create a report to display all these fields

o Candidate First Name


o Candidate Last Name
o Position Applied For
o Assessment Rating

 
© 2015 Pegasystems Inc 73
The Assessment Rating will be a cumulative score and will be a number in the range of 1 to3. Create
a function alias rule to display the label.

o If the score is between 0 and 1, it should be “Poor”


o If it’s between 1 and 2 it should be “Average”
o If it’s between 2 and 3 it should be “Excellent”
To display the individual ratings, configure the SmartInfo feature to display a section which shows
the message and the scores below it.

Hints
1. Function aliases used in reports should be defined in Embed-UserFunction class.
2. Use the Case logic to define the function alias. Use the PDN article in Related Content as an
example to define this relationship.
3. To use the function alias in the report click fx and then enter few characters in the
calculation builder dialog to find the function alias.

4. The solution uses the same standard activity getSmartInfo for displaying smartinfo, the only
rule that you need to customize is the SmartInfo section. Save a copy of SmartInfo section in
the application class and configure it to display the additional details.

© 2015 Pegasystems Inc 74


 

Exercise: Create Reports to Display Work History

Scenario
Managers would like to check the work history of the prospective candidates before they come in for
an interview. The report should display the candidate details and the position they are applying for.
In addition, the report should also list all their work history.

 Role: Senior System Architect


 User Name: admin@SAE
 Password: rules

Approach
The report should display the following columns:

 Candidate Full Name (Concatenate First Name and Last Name by using a Standard SQL
function)
 The Position they are applying for
 The Work history specifically, the company, the role and their start and end dates

Screenshot of the Report:

Before adding the properties belonging to pagelist, we need to optimize those properties using the
wizard. Once optimized, they can be directly referenced in the report definition. Run the
optimization wizard for Position Applied For if it is not exposed already to avoid the guardrail

 
© 2015 Pegasystems Inc 75
warning. Configure the report definition to group columns so that the work history properties
appear a line below.

Note:
Since we are using simulated data, some of this data will be the same for prospective candidates
(especially the dates). The purpose of this exercise is for students to learn how to build reports and
not worry about the data.

Hints
1. For the full name, click fx in the column source and then select the Concatenate function.
Enter .Candidate.LastName and .CandidateFirstName in the parameters panel. To add a
space use “ “.

2. Work history is a page list because the candidate might have worked in one or two or more
companies in the past. Having a pagelist makes it difficult to include the property directly in
the report. It requires us to create declarative indexes.

3. Use the optimization wizard to expose the property, each property in the page list needs to
be exposed one by one. Use the Column Population Jobs Dashboard to check the progress
before running the wizard again. You may need to click the refresh icon to see the progress.

4. To configure a declarative join, add the column directly in the query tab of the report
definition, so in this case enter Index_WorkHistory.CompanyName, this will add the column
and also the declarative join entry in the Data Access tab.
5. To configure grouping, use the Report viewer tab which can group columns as report
headings, add the first two columns as report headings.

6. The Full Name and PositionAppliedFor columns in the report must be configured to have the
sort order of 1 and 2 respectively.

© 2015 Pegasystems Inc 76


© 2015 Pegasystems Inc 77
 

Exercise: Display Casse Statu


us Acrosss All Users

Scenarrio
To monitor the progreess of work being
b perform med with thee HR Servicess application,, managemen
nt
has requeested a report that displa
ays the total number
n of ca
ases for eachh operator, and their
respective status.

 Role
R : Senior System Architect
 User
U Name: admin@SAE
E

 Password: rules

Approa
ach
Create a report to return all unressolved cases for
f the curreent work poo
ol. This reportt should retu
urn
three colu
umns of dataa: the status of each case, the operato
or who create
ed the case, and the num mber
of cases for
f each statu us and opera ator.

Add a cha
art that displays data from
m all three prroperties.

BONUS

Add a con
ndition color scheme to highlight
h case
es with the w
work status Pe
ending-Intervview.

 
© 2015 Pegasystems Inc 78
Hints
1. You can reuse the standard report named pyOpenCountByStatusForWorkPool by saving a
copy of the report to the application work pool.

2. Use the summarizing function “count”

3. To count the number of cases, use a property included in each case, such as pyID, that isn’t
already being displayed in the chart. If reusing the pyOpenCountByStatusForWorkPool
report, the property pxInsName can be used.

4. The sort order is determined according to which field is more important; in this case, the
manager wants to see the operator name before the status.

5. To display three columns of data on a report, you can use one of the bar chart types.

© 2015 Pegasystems Inc 79


 

Module 08: Integration

This lesson group includes the following lessons: 

 Introduction to Integration (no exercise)

 Error Handling and Debugging (no exercise)

 Configuring a SOAP Connector

 Setup a SOAP Service

 Setup a File Listener

 Interacting with an External Database

 
© 2015 Pegasystems Inc 80
 

Exercise: Call a SOAP Service


Scenario

The HR services application captures the information for new employees, but is not the system of
record (SOR) for employee information. The employee SOR application exposes a SOAP service
called CreateEmployee enabling external applications to create an employee record. This service
needs to be called directly after the employee information has been captured. The employee
services are used by several applications within the organization.

Approach

Use the WSDL to generate the connector rules and call the connector after the employee details
have been captured.

Substitute host and port with the details of your exercise app installation:

http://<host>:<port>/prweb/PRSOAPServlet/SOAP/SVCSServicesDataCreateEmployee/Services?WSDL

The service requires authentication and the credentials are:


User: Employee@SVCS
Password: rules
Integrate the connector in the process and save the returned employee ID in the case.

Hints
1. Use the Create SOAP Integration wizard to generate the connector rules.
2. Create a connect activity.
3. Use an integrator in the flow to call the activity.

© 2015 Pegasystems Inc 81


 

Exercise: Create a SOAP Service


Scenario

We want to enable new employee details to be captured in external applications for situation when
the communication with the employee is handled by a third-party recruiter. The idea is to expose a
SOAP web service called CreateEmployee for external applications to submit the details to the HR
services application. Once the details are received an Onboarding case is created and populated
with the incoming data and routed to a workbasket for review by HR. The case then follows the
standard process.

Approach

Create a SOAP service that creates and Onboarding case. The input parameters to the service are:
Employee First Name, Employee Last Name, Employee Email, Date of Birth, Marital Status, Full Time
Flag, and Hire Date. Route the case to a workbasket.

Hints
1. Use the Service Wizard.
2. Select the “Create and manage work” option.
3. Inherited properties are not shown in the Service Wizard. You need to manually add them to
the service rule.
4. Route cases created by the service to a workbasket.
5. Test your service using the play button.

© 2015 Pegasystems Inc 82


 

Exercise: Process a CSV File


Scenario

The courses available to choose from for the enablement plan are stored in a data table. Available
courses are received as a comma separated value (CSV) file from the training department. The aim is
to eliminate any manual steps required in maintaining the courses data table.

Approach

Create a file service that processes the CSV file containing the training courses and updates the data
table accordingly.

Each row in the CSV file contains the following information:


 ID
 Label
 Title
 Course Length

For example:
0001,"first course","Introduction to Application Development",2.5
0002,"advanced course","Advanced Application Development",2.5

You only need to add and update entries in the courses table. There is no need to remove entries
that are not available in the file.

Hints
1. Use the Service Wizard to create a File Service
2. Create a Parse Delimiter rule that parses the records in the CSV file

3. Create a service activity that adds or updated the courses data table for each entry in the
CSV file

© 2015 Pegasystems Inc 83


 

Exercise: Use
e the Ob
bj-Metho
ods
Scenarrio

As part off its normal operations,


o the corporatioon occasionaally opens, m
moves, or closses corporate
e
offices arround the wo orld to adapt to business needs. To keeep pace withh these office
e changes, th
he
HRService es application needs to be able to create, open, up
pdate, and delete recordss from that taable.

Approa
ach

Using thee following deescriptions, create


c four re
eusable activvities for crea
ating, opening, updating, and
deleting records
r in the Corporate Office data table. For eacch activity, reeturn a statuss message to
o
indicate whether
w the operation
o su
ucceeded for failed.
 Creatte Office: Create a new co
orporate officce record fro m the inform
mation provid
ded.
 Open
n Office: Given an ID value
e, return the correspondi ng record.
 Update Office: Op ng corporate office record
pen an existin d and update
e its contentss using the
inform
mation provided.
 Delette Office: Give
en an ID valu
ue, delete the
e correspond
ding record frrom the data
a table.

For this exercise,


e focu
us solely on creating the activities
a to re
ead from and
d write to thee external
database. Do not worrry about qua alifying the data being sen nt or automa
atically increm
menting the
Office ID.
 

© 2015 Pegasystems Inc 84


 

Module 09: Architecture

This lesson group includes the following lessons: 

 Standard Agents

 Controlling Access to an Application

 Authentication Using LDAP (no exercise)

 
© 2015 Pegasystems Inc 85
 

Exercise: Upload the Benefit Enrollments

Scenario
When the employee elects to enroll for benefits, we need to pass that information to the external
vendor who is handling the benefits so they can be enrolled in their system. Since this update does
not impact the case processing, we want the system to perform this update during off hours.

 Role: Senior System Architect


 User Name: admin@SAE
 Password: rules

Approach
Create an activity that will be invoked by the agent. Since the exercise is on agents, the activity does
not require any logic to either identify the day’s enrollments or connect to the external vendor
system.

Create an agent to call this activity. Schedule this agent to run once every day. To unit test your
work, you can configure the agent to run every 5 minutes.

Queue each benefits enrollment in the benefits enrollment flow, after the Confirm Benefits step.

Log in to the System Management Application (SMA) to verify that the agent is running as
configured.

BONUS: Configure a report definition to return a list of benefit enrollments performed on the
current day. Add the Call method to the first step of your activity, and run the
pxCallRetreiveReportData activity, passing the name of your report as a parameter.

NOTE: After finishing the exercise, disable the agent so that it no longer runs.

Hints
1. Configure the agent to run in Standard mode.

2. Invoke the agent using a utility shape in the flow. Use the standard activity QueueForAgent
to queue for agent.

 
© 2015 Pegasystems Inc 86
 

Exercise: Configure Access Control


Scenario

When a candidate applies for an open position, we want to allow their case to be handled by a user
– unless the candidate is referred by an existing employee. If the candidate is a referral, we only
want to allow the user who created the case to continue to process the case.

Also, we want to ensure that only managers can determine compensation for a candidate.

Approach

Use the Access Manager to configure the HRServices:User access group to only allow users to
process cases created by another user only if those cases do not represent a candidate referred to
the company by an employee.

Disallow access to the Determine Compensation flow action for the HRServices:User role.

Note: This exercise should be completed using Internet Explorer.

Hints
1. Using the Access Manager to configure permissions automatically creates an Access of Role
to Object rule for the appropriate role.
2. Create an Access When rule that allow users to process work from other users’ and
managers’ worklists unless the candidate is an employee referral and use it for Perform.
3. To limit access to a flow action, create a privilege, define the privilege level, and apply the
privilege to the flow action.

4. Remember that permissions are layered. The HRServices:Manager access group


incorporates the HRServices:User role and its permission settings, so the permissions for the
Determine Compensation flow action must be overridden on the HRServices:Manager role.

© 2015 Pegasystems Inc 87


 

Module 10: Administration

This lesson group includes the following lessons: 

 System Debugging

 Designing for Performance

 System Tuning and Maintenance

 Migrating an Application

 
© 2015 Pegasystems Inc 88
 

Exercise: Using the UI Inspector

Scenario
The HR Manager has received several complaints of an occasional screen ‘flicker’ while selecting
benefits. He would like to have these complaints investigated and addressed.

Approach
To do this exercise, you must be using the BadApplication branch ruleset.

Run the application and create a new onboarding case. Step through the process until you reach
the Benefits screen. Examine various options to determine why the UI flickers. With the UI
Inspector, identify the rule that needs to be updated.

Hints
1. Try waiving some coverages.

 
© 2015 Pegasystems Inc 89
Exercise: Using PLA and Tracer to Debug the System

Scenario
The system is about to be deployed to QA for testing. One of your final checks is to run PLA to
analyze the log files and ensure there are no hidden issues.

Approach
Run the application and create a new onboarding case. Step through the process to reach the end
of Onboarding. Download the log files and analyze them in PLA.

If there are any exceptions, run Tracer to identify when the exception occurs.

© 2015 Pegasystems Inc 90


 

Exercise: Debugging Performance Issues

Scenario
The HR Manager has received several complaints from his staff that it takes too long to setup part
time employees. He would like these complaints to be addressed. Find the cause of the delay by
using the performance tools available.

Approach
To do this exercise, you must be using the BadApplication branch ruleset.

Run the application and create a new onboarding case for a part time employee. Take readings in
PAL to identify possible steps in the process that could be causing a delay. Use Performance Profiler
to narrow down to the exact cause.

Hints
1. Identify how long a rule takes by looking at its wall time.

2. The wall time of an activity will be affected by the wall time of any activities it calls. Always
look for the rule with a large wall time that does not call any other large wall times.

 
© 2015 Pegasystems Inc 91
 

Exercise: Establishing a Purge Cycle

Scenario
The HR Manager has noticed that his system seems to be slowing down lately. Upon investigation
you determine that there are a large number of old work objects in the system. Enquiring with the
HR Manager, you learn that they only need to retain Onboarding cases for the past 180 days. After
that time, they can be purged from the system.

Approach
Setup the system to automatically purge any old work that is over 180 days old.

Hints
1. Use the Purge and Archive Configuration to establish what to purge.
2. Use the Purge and Archive Scheduler to establish when to purge.

 
© 2015 Pegasystems Inc 92
 

Exercise: Package an Application


Scenario

The first version of the Purchasing application is finished and needs to be migrated to the test
environment.

Approach

Use the Application Packaging Wizard to create a Product (RAP) for the Purchase application.

Solution
The content of the Product rule will depend on the selections in the wizard. Review and verify its
content.
 

© 2015 Pegasystems Inc 93

You might also like