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 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 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 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 s create, process, and resolve cases using Pega 7. Understanding how s 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
name
Employee
@MainCo
rules
Manager
Manager@MainCo
rules
System Architect
@MainCo
rules
Approach The 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
as an employee and use the Create menu to create a new expense voucher
5889
as a manager, select open cases from the workbasket and approve or
reject the expense voucher. 5890
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 screen, enter the employee name (@MainCo) and shown in the Scenario section to to 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 screen, enter the manager name (Manager@MainCo) and shown in the Scenario section to to 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 screen, enter the system architect name (@MainCo) and shown in the Scenario section to to 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 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, 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
Name: LeadArchitect
22
:
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 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 as a System Architect using the 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 operator ID for this application will be @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. @SAE Manager@SAE @SAE
Each operator is assigned the default : rules. 0
Log off and log back in using the 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 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 s 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 s, who can use stages to measure the progress of a case as they process it.
22
Role: System Architect
22
Name: LeadArchitect
22
:
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 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 Name: LeadArchitect :
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 against business expectations. In addition, we can use our process model to help develop a set of draft interfaces (UIs) and establish a data model. Role: System Architect Name: LeadArchitect : 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 (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 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. 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 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, that the instruction you entered appears in the worklist, then click Submit.
www.svpegatraining.com
25
Continue clicking No thanks, maybe later to 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 against business expectations. In addition, we can use our process model to help develop a set of draft interfaces (UIs) and establish a data model. Role: System Architect Name: LeadArchitect : 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 (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 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
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 interfaces. By modeling the processes and UI of our solution, we can 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 Name: LeadArchitect :
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 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 , click View Action Specification.
To open the Application Overview, select Open Overview from the Application menu in the Designer Studio header. To 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 that the specifications you entered have been saved as part of the application.
Click the View Related Implementations icon to 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 the interview and decision-making processes, HR has asked you to add fields to collect this information. Role: System Architect Name: LeadArchitect :
Approach Use the properties 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 .
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. 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 Name: LeadArchitect :
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 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. 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 Name: LeadArchitect :
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 dia 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 – 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 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 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 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 Name: LeadArchitect :
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.
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 , 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 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 Name: LeadArchitect :
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 Interface
This lesson group includes the following lessons: Introduction to UI (No Exercise) Deg Layouts Creating Repeating Layouts Formatting Data Elements Validating Data Elements Review of Enhancing the 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 about the candidate in of if they fit the role or not, and any additional comments. Role: System Architect Name: LeadArchitect :
Approach Use Stage Designer to define the properties:
Property Name Expected Salary Screener 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 , 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 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 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 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 → Interface → Section to view the 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 of institution name, highest grade achieved, and year of graduation. Role: System Architect Name: LeadArchitect :
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 – 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. 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 from the recruiters. They would like to have this fixed by providing the operator with an option to enter a few lines of that can be easily read. Role: System Architect Name: LeadArchitect :
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 and change control to use RichTextEditor (RTE). Configure the parameters for RTE in the properties 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 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 Name: LeadArchitect :
Approach In the Screen Candidate step of the Qualify stage, modify the control for the Screener 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 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 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 Use the UI Inspector to open the property rule for the Screener field as described below. While the Screen Candidate form is displayed, click the UI Inspector icon
in the
Developer toolbar. Hover over the Screener field until the Information displays and then click the blue Screener 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 displays and then click the blue ScreenCandidate property link for the Section.
7. Click inside the Screener 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 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 Name: LeadArchitect :
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 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 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 Entries Scenario When a candidate is entering an application, the company might want to 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 Name: LeadArchitect :
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 Interface Creating a Dynamic 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 Name: LeadArchitect :
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
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 Name: LeadArchitect : 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 Name: LeadArchitect : 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 Name: LeadArchitect :
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 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 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 Name: LeadArchitect :
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 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 Interface section. Role: System Architect Name: LeadArchitect :
Approach Complete the Background Check in the Decision stage by accessing existing data objects and a 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 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 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. to your local system and unpack the zip archive. The 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 → 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 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 information Role: System Architect Name: LeadArchitect :
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 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 information Role: System Architect Name: LeadArchitect :
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 information Role: System Architect Name: LeadArchitect :
Approach Add the following fields to the Request Technical Sample 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 information Role: System Architect Name: LeadArchitect :
Approach Update the allowed values for the Screener 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 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 – 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, 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 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 Screener property. Open the Application Explorer SAE-HRServices-Work class, expand Candidate → Data Model → Property and then open the Screener property. In the Screener 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 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?” 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, that the class reference in the field ends with “-Work-Candidate”. Click the column header under Conditions and select the Screener property. Click Save to return to the decision table form.
In the if row, click in the Screener 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 .Screener 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 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. 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 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 information Role: System Architect Name: LeadArchitect : 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 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 information Role: System Architect Name: LeadArchitect :
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 s have reviewed the stage based case design approach. They would like an easier way to determine where the case gets resolved. Use the following information Role: System Architect Name: LeadArchitect :
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 information Role: System Architect Name: LeadArchitect :
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 information Role: System Architect Name: LeadArchitect :
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. that the generated email is attached to the case as an attachment. Open the attachment and 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 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 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 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 field, select Does not match any position to reject the candidate. 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 information Role: System Architect Name: LeadArchitect :
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 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 information Role: System Architect Name: LeadArchitect :
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 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 Sys 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 ed trademarks of Pegasystems Inc. All other product names, logos and symbols may be ed 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
Deg Enterprise Applications Using Case Management ..............................................5 Define the Behavior of a Business Transaction......................................................................................6 Decompose a Case into Steps..................................................................................................................8 Effective Process Decomposition............................................................................................................10 Deg 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 Experiences............................................................................................42 Creating Reusable 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 s 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 Name: @SAE : 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: 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: Deg 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 . 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 Name: @SAE : 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 the onboarding process. Focus on the toplevel case – that of onboarding a new employee - and identify the stages for the top-level case. , 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 . 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 Name: @SAE : 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 ; And one step in the employee evaluation stage. , 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. to 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 . 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 information for automatic deposit of their pay into their bank . 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 Name: @SAE : 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. , 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: Deg 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 . 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 Name: @SAE : rules
Approach Onboarding Case Our approach to deg 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 deg 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 Deg 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 Name: @SAE : 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. 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 Name: @SAE : 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
istration
Application istration
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. 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 Name: @SAE : 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 Name: @SAE : 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 the Onboarding case type. This was done with a combination of data objects, data pages, and data tables. You also needed to 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 Name: @SAE : 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. 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 s 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 Experiences
This lesson group includes the following lessons: Deg the Interface for Reuse and Maintainability Building Assignment Focused (Intent-Driven) Interfaces Best Practices for Deg the Interface (no exercise) Using Advanced Interface Controls Managing Data for Selectable List Controls Building Dynamic Interfaces Validating Input Guardrails for Creating Engaging Experiences
www.svpegatraining.com
41
Exercise: Creating Reusable 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-
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 Name: @SAE : 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 interface section by right-clicking the associated data object type (such as Employee) and using the pull-down menu to select New > 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, 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-
. From Application Explorer, SAE-HRServices-Data class, right-click Employee and select Create+ > 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: , 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. , 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 Name: @SAE : 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 > Interface > Section and note the section names. In our example, the sections are EmployeeInformation and DependentsInformation. Expand HRPlan > 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 > 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, Sys and 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 > 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 > 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 > 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 > 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 > 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 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 their employee information. Role: System Architect Name: @SAE : 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 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 Name: @SAE : 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 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. 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 > 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 Name: @SAE : rules
Approach Identify Boolean-type properties used to 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
- 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-
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 > 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 Name: @SAE : 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 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 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). 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 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 Experience for Adding Dependents During Benefits Enrollment Scenario The interface is the most broadly visible aspect of your application. Its design affects s' 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 Name: @SAE : 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 Experience for Creating the Employee Record Exercise Verification Scenario The interface is the most broadly visible aspect of your application. Its design affects s' 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 Name: @SAE : 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 Experience for Selecting Benefits Exercise Verification Scenario The interface is the most broadly visible aspect of your application. Its design affects s' 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 Name: @SAE : 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: Deg Business Rules for the Business (no exercise) Enforcing Business Policies Using Service Levels Notifying s 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 Name: @SAE : 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 information for this exercise. Role: System Architect Name: @SAE : 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 s 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 ing 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 your transition so, please know that you can call on any of us to assist you. We are looking forward to you ing 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 . Role: System Architect Name: @SAE : 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 s 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 Name: @SAE : 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 Name: @SAE : 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. 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 Name: @SAE : 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 Name: @SAE : 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 Name: @SAE : 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 Name: @SAE : 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