Sie sind auf Seite 1von 223

PEGA MATERIAL

http://pdnworld.blogspot.com/2014/01/what-is-agent-in-pega.html

Pega PRPC topic to learn


top 10 usabulity Guardrials
top 10 Guardrials to Success
What Module have u worked in your project?
What is your CLASS STRUCTURE
What is framework layer
what is division layer in ur project
What is organization layer in ur project?
How many flows u have work and what are flow names
What is ur application version
How do u get work daily
How do u report to manager
Hw many sprints in ur project
What all environments have u worked
what is ur application name
Have u worked on INTEGRATIONS
If yes, ask him to explain completely
What Module have u worked in your project?
What is your CLASS STRUCTURE
What is framework layer
what is division layer in ur project
What is organization layer in ur project?
How many flows u have work and what are flow names
What is ur application version
How do u get work daily
How do u report to manager
Hw many sprints in ur project
What all environments have u worked
what is ur application name
Have u worked on INTEGRATIONS
If yes, ask him to explain completely
Introduction to PRPC
Ø Using Process Commander and PRPC Developer Portal Basics
Ø Architecture
Ø Common Rule Types
Ø Examining Rules Using PRPC (Class, Class Group, Rule Sets etc)
Ø Understanding work and data class structures
Ø Understanding Properties
Ø Process Flows (Flow types, Shapes )
Ø User Interface overview (Harness, Section etc )
Ø Rule Set and Security Overview
Ø Using the Clipboard and tracer
Ø Implementing PRPC
Ø Building Class Structure
Ø Creating Property and Model Rules
Ø Creating Flow Rules

Page 1
PEGA MATERIAL

Ø Building the User Interface


Ø Enhancing the User Interface
Ø An overview of Declarative rules
Ø Validation
Ø Using decision rules
Ø Using Activities
Ø Assigning work
Ø Integrating PRPC Applications
Ø Connecting to an External Relational Database
Ø Documenting and Saving your Work
PEGA Hands On
Ø Class Structure And Rule set Design
Ø Environmental Setup
Ø Application Profile, Application Accelerators
Ø Building Primary Business Flows
Ø Designing the Data Classes and Data Class Models
Ø Building Secondary Business Flows and Exception Flows
Ø Implementing Decisions, Validations etc…
Ø Execution of flows and Unit testing and PAL Reports
Ø Documenting and Packaging the rules.
=====================================================================================

BPM :Is a Business Process Management, Which is used to Maintain The Organizational
Work Flows

To obtain or to get a Quality Work Or good Productivity.

 Every BPM System Runs or incorporates Based On

1.Planning
2.Designings
3.Building
4.Operating
5.Maintaining

 Process Commander Supports Smart BPM Through The Below rules

1.Flows

2.Assignments

3.Decision

4.Routing

Page 2
PEGA MATERIAL

 By Using BPM will improve the Operational efficiency, cost saving and will stream line
operations and process

BRE: (Business Rule Engine) :-

Which is used to separate the Business rules from the application or to share The Business
rules Across the application.

PEGA: Pega is a combination of BPM and BRE

PEGA=BPM+BRE

 PEGA Systems empowers business to easily automate and change their business
process through
BPM Software.
PRPC = Pega Rules Process Commander

 Generally ,PRPC application Provides life cycle management through 6 Functional


Capabilities(6R’S)
1.Receive
2.Route
3.Report
4.Research
5.Respond Report
6.Resolve

Receive Route Research Resolve

(Create Work)
(Resolve Work)
Respond

(Process Work)

Business Rules

Business rules whether stated implicitly or explicitly contains all your organization
business knowledge. A collection of your organization business policies, constraints,
Computations, reasoning capabilities etc

Business Rules Engine

Page 3
PEGA MATERIAL

A business rules engine is a software component that allows business rules to be


recorded in a non-procedural, non-programming form, and uses advanced software
techniques to compute the consequences and results of rules.

The PegaRULES component of


PegaRULES Process Commander provides a
powerful rules

engine supporting business process


management, and other applications through
services.Developed in Java, highly scalable
and reliable, PegaRULES supports declarative
rules, multithreaded execution and a large
number of industry interfacing and
standards.

The business rules engine can be embedded


or called from another system using Service
JSR94 rules.

PegaRULES database

The rules, transactions, and other data supporting a Process Commander system are
stored in one or more Oracle, IBM DB2 or Microsoft SQL Server databases.

The database that contains the rules — all the instances of concrete classes derived from
the Rule-base class — is known as the PegaRULES database. This database is also
sometimes identified as the rulebase, but it contains more than rules.

Q. What is PEGA?
Pega is the software for customer centricity. Many of the world’s leading organizations use Pega to drive
revenue growth, improve customer experience, and enhance operational efficiency. Pega’s unified
offering is recognized by industry analysts as a leader in CRM, BPM, case management and business
rules. Pega’s software complements existing systems and offers a wide range of industry applications
designed to accelerate time to market.

Q. What is PEGA PRPC or What is PRPC?


PRPC (PegaRULES Process Commander) is a software product created, licensed, and marketed by Pega
systems Inc (PEGA). PRPC is the core component of Pega systems “SmartBPM” suit of BPM (Business
Process Management) solutions.
PegaRULES Process Commander comes essentially as two discreet entities,

PegaRULES : Core Java-based/Object-Oriented Rules Engine.


Process Commander : Layers of pre-configured rules that provide a solid foundation on which to
perform development and customization. Incorporating both of the following components, PRPC
addresses simple to complex business challenges:

Page 4
PEGA MATERIAL

BPM
Procedural processing through a user-interactive BPM / BPMS(BPM Suite) tool.
BRE
 Declarative “On-Change” processing through an event-driven tool.
 The advantages that PRPC offers from a Business perspective are as follows:
 Software platform enabling businesses the opportunity to migrate all their disparate, diverse,
and often complex business rules onto one platform.
 Ability to streamline, automate, and document business processes.
 Consolidate multi-stream processes into one system.
 Through service connectors (such as SOAP, MQ, active file listening) connect to existing
enterprise applications.
 Pass data between systems and have such information parsed, extracted, and interpreted.

The advantages that PRPC offers from a Developer perspective are as follows:

 Development can be achieved in small iterative-based parts


 Development is contained within heavily graphic-driven ‘Rule Forms’ that are version and
Ruleset controlled.
 All run-time Java code is compiled and executed by the system at run-time.
 Changes or new configurations can be tested in real-time, even on production systems without
affecting other users or processes.

Ultimately PRPC is a software platform that allows businesses the opportunity to migrate all their
disparate, diverse and often complex business rules, practices and processes into one platform. The
platform offers the possibility of streamlining, automating and documenting business processes in a way
that can truly allow consolidation of multi-stream processing into one system. Through PRPC’s myriad
service connection capabilities (such as SOAP, MQ, active file listening on directories etc…), it is possible
to connect already existing enterprise applications to PRPC and pass to the platform messages, data or
information and have such information parsed, extracted and interpreted for use either within user
driven processes, or even system-driven events.

So, what does that really mean?

Think of PRPC as a box of sophisticated Lego. You are provided with a number of building blocks that
enable you to quickly and easily build an application to suite the requirements of your business. The
Lego blocks (or Rules as Pega systems calls them) represent different parts of your application. There are
rules for screens, decisions, correspondence, interfacing to external systems, etc. You can take these
rules and put them together to design and build your solution.
This also means that it is very simple and easy to change your solution to suit the ever changing
requirements of the business – you simply change the lego bricks around!!

Q. What is Rule Engine or What is BRE (Business Rule Engine)?

A business rules engine (BRE) is a software component that allows non-programmers to add or
change business logic in a business process management (BPM) system. A business rule is a statement
that describes a business policy or procedure. Business logic describes the sequence of operations that is
associated with data in a database to carry out the rule.

Page 5
PEGA MATERIAL

A business rules engine works by separating execution code for business rules from the rest of
the business process management system. This allows the end user to change business rules without
having to ask a programmer BPM development for help. When a change is made, the engine will
evaluate the change’s effect on other rules in the system and flag the user if there is a conflict.

According to authors Alex Berson and Larry Dubov, a complete business rules engine will include the
following:
 Business Rule Repository – A database for storing the business rules as defined by the
business users.
 Business Rule Editor – An intuitive user interface that allows business users to define,
design, document and edit business rules.
 Reporting Component – An intuitive user interface that allows business users to query
and report existing rules.
 Rules Engine Execution Core – The actual programming code that enforces the rules.
How does PEGA do?
As industrialization and productivity continue to increase, the unit of opening skills obtaining traction in
India and elsewhere, is to work with Pega. PRPC or PEGA Rules Process controller is not a language or
compiler etc.

It’s a Business Process Management tool, also developed in Java, and uses OOP and java thoughts.

Since we don’t have to build the system of the mark, unlike regular programming, PEGA is now trending
big time. It’s super active, adaptable and extensible.

We compose the Business Process Flow and determine the functionality.

For example, Order Management System, Call Center Management, Finance, Healthcare, etc. Basically,
anything that owns a Business flow PEGA has other products, but they seem to be known for their
technology permit, the creation of an automatic business process management tool.

What are PEGA use cases?


Application Profiler: An Application Profile is an output from the Application Profiler, an assisting DCO
development tool that works on iterative approach to obtain legit processing details for the application
you plan on building.

Profiles are created by the collaborative resolution of business analysts, lead architects, and other
project team members who define primary design and process requirements. On an average, it takes 2-3
days of devoted energy to build and complete a profile.

Classes that are mapped to the PegaRULES database are known as internal classes.
Concrete classes that correspond to rows of an external database are known as external
classes.

Application Lists Rule-Sets and Access Group lists Application. We can have more than
one Access Group for a particular Operator ID. These Access Group can have different
Applications/Work Pools with them. Therefore with one Operator, we can switch
work pools as well as Applications.

Page 6
PEGA MATERIAL

RULE: System Architect modify and create Object Instance that are saved to the
database known as Rules.

 Rule is an instance of a class (what is a rule).


 A Rule is a single instance of a class derived from the Rule-base-bclass.
Example : Rule-obj-Property is a Rule type and a property named User Name is
Rule.

 Rules are building blocks of applications


 A Rule type is a concrete class derived from Rule-base class
 A Rule is a named object that defines the behavior of part of an application.
 Rules are stored as XML Documents ,which are written to the Rules Repository
Database.
 At runtime, the XML documents are passed and converted to java code for execution.
 Rule Types are the type of these instructions
e.g. Flow rule, Send Email etc.
 Rules in an application are the instances of these rule types.
 Rule is instance of a class, rule gets stored into table(which table ?), for
which the class is stored.

what is Rule ?
Rule is instance of a class --> Rule gets stored into table---->(which table )--->
rule is instance of a class right, it means the rules gets stored into a table for
which the instance class is mapped to. in PRPC the instance classes will have
mapped with DB Tables.
Ex : for Property is a rule, the instance class of a property is Rule-obj-property.
for Data Transform instance class is Rule-obj-model.
pxObjClass = Holds Instance Class name of a Rule.
Q) A class is mapped to which table ?
ANS) Test Connection in the class rule form.
Q) Any Rule in Pega that gets Stored in Rule base Table will have unique Primary Key is
"PzInsKey". in PRPC if you click any hyperlink it Open any Rule PRPC uses it's
"pzInsKey" by performing 0bj-Open-By-Handle and the respective table.
(01.Pega Interview Session Day-1- Pega Training 919652532753)
Q)Operator : to get the values from the operator table
"Data-Admin-Operator-ID"+ Operator.pyReportTo (Manager)
"Data-Admin-Operator-ID"+Manager.pyReportTo (Senor Manager)
Q) write an generic Activity to update the label of any rule in PRPC ?

Page 7
PEGA MATERIAL

Method is: Obj-Open-By-Handle (three parameters ) --- This is main method..by this
we can delete. but if others are working on the rule we use this below
Param.Instanceclass + Param.RuleClass + Param.Rulename
Q) write a generic activity to Delete the Property from PRPC?
Method is : obj-Delete-By-Handle
Q) what are the main columns that one should know in PRPC ?
 pzInsKey ----> Primary Key
 pzPVStream ---> Holds all the data of rule or transaction (Work Object)
 pxCreateDateTime ---> with work object (the time work object is created/ with Rule
--> the time rule is created)
 pxUpdateDateTime -->
 pxCreateOperator
 pxUpdateOperator
 pxObjClass --> Instance class
Q) i have a flow in production with 4 assignments, one assignment should
removed. i have in-flight cases which should use the deleted assignment after the
new release. ?
possible ways : 1. circumstance 2. tickets 3. decision tape also.
the Condition property for either of the above is based on pxCreateDateTime .
(02.Pega Interview Session Day-2- Pega Training - 919652532753)
Q) Name any one of the OOTB parameters in PEGA, which should be never be part
of Declare Expression ?
pxCreateDateTime.
Q)How to Restrict a property such that it should never be used in declarative rules
A)Property advanced tab- check Option "can not be a declarative target"
Q) how to unlock a RuleSet version, when you donot have a password ?
A) pyVersionSecure (XML page )should be false
pyversionpassword -->should be blank
technical steps : (update rules using Activity ) Rule-Ruleset-version Table has
two COlumns " pyVersionPassword" and "pyVersionSecure". should be updated
to empty and false.
Q) how to delete a class from PRPC ?
A) class is instance of a Rule-obj-class , so if you remove the an entry of the class it
should be remove ...
Q) what is Dual inheritance in PEGA ? can you give an example ?

Page 8
PEGA MATERIAL

A)at a time a class having direct + patterns inheritance make class to have multiple
inheritance is called dual inheritance. a single class having at a time direct inheritace
parent and pattern parent.
Q) if child work object is information is stored in parent table like pcWork ? under
which column we can see work object information/ or there is any embedded
pages in pzpVStream Column?
A) Parent children gets stored in separated rows. by same table.
Q) Dynamic System etting vs System Settings?
Q) how to call a decision table from decision tree ?
A)configuration of decision tree "allow selection of call decision option ".
Q) Spinoff will be useful when you want to initiate/start another flow parallel
without stopping the current flow. the current flow or main flow which has spinoff
as sub process proceeds to the next assignment in the flow and spinoff flow will
get initiated to the work item ?
A) spinoff is available in sub process shape. selecting spinoff option makes process flow
asynchronous ie.. process will not wait for the sub flow to get completed.
Q) what is the importance of lock on obj-method?
Q) how to create a temporary work object ? also explain technically ?
A) select to indicate that this flow creates s temporary work item. A temporary work item is
created and resolved by a single operator or by straight forward processing and is never
saved in a database.
use this option in appropriate settings , as report ,history and attachments features are not
available for temporary cases. the fallowing restriction are apply :
 Temporary class do not have case ID.
 Temporary cases cannot members of a cover.
 History additions performed on such objects do not cause a flow to fail, but not have
no effect.
Q)can a screen flow is starter flow in application ?
yes , we can create a activity in the activity call OOTB activity "New From Flow" and pass
the parameter "Flow name and Flow Class name"
Q) diff between obj and RDb Methods ?
 Obj for internal Rule base tables. RDB for External tables.
 obj cannot executess stored procedures , RDB can executes stored procedures
 using obj we can implements Joins , RDB can have Joins
Q) when we run the report definition rule from an activity ?

Page 9
PEGA MATERIAL

A) call Rule-Obj-ReportDefinition.pxRetriveReportData( Page name, Report Class, Report


Name);
Q)what are the possible ways to call an activities in PEGA ?
A)

Q) what are the ways to call an activity from another activity ?


A)
 you can call call-branch (what is)
 you can use Queue (what is)
Q) what is the diff between call and branch ?
A)
Q) how to call activity from a Data transform or Data Table?
A)
Q)what are editable mode in data pages ? can a node level data pages are editable
A)
Q)what is the purpose of keyed page access data pages ?
A)this option is available only for list type data pages. in the page list pages one or more
properties can be mentioned as keys. while we pass this key the matching page data will
be retrieved. these keys can be passed when the data page is called only at property level
but not form dropdown or repeating layout or activity.
Q) how to pass parameter to data page when it is referred in an activity ?
A) D_Datapage[Param1.Value1,Param2.Value2]
Q)where can we see the editable data pages on Clipboard ?
A) under user pages
Q)call a decision table from the data transform ?
A) @DecisionTable:ObtainValue(tools.myStepPage,"StageCode",true).
Q) when to users from diff countries triggers(both GMT and IST format saves)
change both formats as one format as GMT (because DB people issuing same
problem)?
A) formatdatetime() ---- function
Q)when user login in PRPC portal, the credentials we are providing Authentication
or Authorization ?
A) authentication :
Authorization:

Page 10
PEGA MATERIAL

Q) tell me any three rules (when we are configuring them ) without class and
Ruleset?
A) system rule, Data instances without versioning
Q)what is a linked property ? where will you access that Property ?and what is
useful with that ?
A)
Q) if suppose i have three different classes (A,B,C) mapped to 3 different tables,
now my question is
 A table has "Customer Name" Data
 B table has "Phone number " Data
 C table has "Address " Data then finally you have both B and C data
into Table ?
A)we need to create index for phone number and address page List.
when we save customer data automatically index tables gets updated.
Q)append to and append map to (common questions recently in every interview)?
A)This Option is available data transform.
append is for loop,
Q) what is the use of Interaction in Tracer?
A)
Q) how many ways we can check in & check Out rules in pega platform ?
A)rule form , Bluk check in & check out, in clipboard "MyCheckedoutRools".

Page 11
PEGA MATERIAL

Q)A parent case has the ability for a user to generate up to 5 parallel sub/child
cases. those child cases can update values on the parent case ?
A) we need to use calculation tab of the parent case type rule.
Q)how will you manage, and what are the considerations of this data propagation
challenge ?
 there should not be any declarative target properties used in this
 make sure by the time child is instantiated the respective source properties must have
values assigned.
Q) Bus, Tire, seat ,passingers---how do we create these classes ?
A) Bus (Page) ,
Tire (List) ,
Seats (List)
passingers(List)
Q) two page list we have --need to move the data from one pagelist to other page
list based on some condition ?
A) Activity -----> precondition, loop, Page copy
Data Transform ---> Condition, Loop, AppendTo
Q)need to copy data at one stage in child to parent how u will do ?
A)
Q) what is organization class structure and different types of layers ?
A) Org-Div-Unit (WOrk) {Implementation Class Group} ---> Framework Class Group
Org-FW-DivFW-Work {Framework class Group} --> work-COver-
At Org, Implementation, Framework we have Data and Integration Layers--> Data- and Int-
Org, Div, Unit (Work) -- Insurance (Work Type or Case Type) {Belongs to Class group}
Org, Div, Unit (Work)--- Loan (Work Type or Case Type) {Belongs to Class group}
Org, Div, Unit (Work)--- Banking (Work Type or Case Type) {Belongs to Class group}
Data Classes are does not belongs to class group
Q) what are the different mechanism to initiate case ? (what are different options
will be given to users to create at runtime) ?
 Portal --->create menu (Case Type or flow)
 Case type --> pyStartCase
 Flow --> Create a new work object selected on the flow
Runtime we can activities to create a case :
 Add, AddWork
 New , NewFromFlow

Page 12
PEGA MATERIAL

Email Intonation , Agents for listeners.


Q) Suppose in a screenflow, you are having 4 assignements, all the assignements
should be completed with in 2 hours, can we implement this or not ? if yes , how
will you design this ?
A) in the Screen Flow /sub Flow on process tab we can call SLA
Q)how can we trace someone's work in production Environment ?
A) For Technically :Login to SMA --> Choose the Requester Name--> Remote Trace.
For Poduction :but in Business it is not possible, the verify the logs File.
Q)what is WSDL file ? and Difference between WSDL and Endpoint URL ?
A)WSDL : web service description Language
WSDL contains meta data. it describes the service , ..ie what are Request parameters,
methods ,what is the endpoint URL and request and response parameters. and its xml Data
structure.
WSDL URL : WSDL Url Points to Location of WSDL Document.
Endpoint URL : Endpoint URL is location where your service is Deployed.
Q) What is XSD ?
A) XSD will have the meta Description of the service.
Q) how will you implement security features in SOAP ?
A)
Q)which agent Process SLA Rules ?
ans: pega-ProCom Ruleset Agent Instance willl have an agent "Service Level Agenet"
Q) there is a concept of SoftLocking ? what is this ?
A: the Locking you perform using Obj-Open and Obj-Open-By-Handle
Q) in ECS(Enterprise Class Structure) when do we use framework layer and when
do we use Organization Layer ?
A)Organization Layer and Framework Layer both will be accessible at all the class group.
But FW layer is reusable application with which can be deployed on multiple pega
application Servers.
Q) we have a Data page it is getting populated from external table , then how do
we configure load mechanism ? how would you know when to refresh the data
page ie.. whenever the data in external tables changes how come PRPC Data
pages gets refreshed . ?
A. source mechanism --> Connector
pzFlushDataPage
Q) what are different ways to expose a property ?

Page 13
PEGA MATERIAL

 Right click on property and optimize for reporting. (other way)


 modify the schema of table run column population job
Q) what is associations and join criteria and report joins in RD ?
A. class Joins : class joins requires a common matching column between classes.
Association Join: when there are no matching in the two classes.
Q)what are different types of joins ?
A): Class Joins , Index Joins , Associate Joins
Q)what is entry checkbox in screen flow?
Q) what is the difference between data transform and activity ?
 using Data Transform we can run Obj Methods(Tables), Connector and
Service methods.
 Data Transform Purely for Property Set (i e.. single, page , page list
..property) Operations.
Q)what are the difference between Declare Trigger and Declare Onchange ? in
What scenario you will explain what explain ?
A) Trigger monitors a table and gets fired when DB Insert , delete, update operations being
perform by Obj-Methods.
OnChange : get fired whenever the property values get changed.
Q) what is cover and covered?
cover is parent case and covered is child case.
Q) how to move from 4Th stage to 1St stage ? what is the activity ?
A) we need to use change stage utility. Activity is pxChangeStage.
Q) how d we create work object for child cases ?
A) On Parent case type Rule, Instantiation option.
Automatically installation : by system when
 parent case stars (when Condition)
 all Conditions related to other children or parent case (both on the
status)
Manual installation :
 we can use createcases smart shape.
Q) how to connect external Database. ?
A) we need to create a Data-admin-DB-NameRule.
Pass JNDI Connection Pool or JDBC URL
Q) how to map an external table to the class ?
A: we need to create Data-Admin-DB-TableRule

Page 14
PEGA MATERIAL

DbName, Schema , and Table Name and do test connection.


Q)what are the types of parameters in Data page ?
A):
 parameters
 keyed page access--- keyed page access is available only to list type Data
Page and it available to call only on property.
Q) Scope of Data page ?
A)
 Thread Scope -- > data page will shared with in the work object.
 Requestor ---> Data page can be shared with in requester session among multiple
work objects
 Node Scope. ---> can be shared among multiple requester who logon to same node.
Q) when Data page will get created if we choose thread as scope in Data page ?
 Every time we create a new case
 when we have new thread opened
Q)what happen when data page get updated but our Data page scope is thread ?
A) from the next case onwards new data gets loaded.
Each time we create a case the latest data will available, for each case Data page gets
loaded with latest data with DB.
Q) when the page will be removed, if the data page scope is thread ?
A) refreshed for each Thread.
Q)what is edit mode in data page ?
A) there are two modes available
 Editable --> editable pages gets created on Clipboard under user pages.
 Read only --> read only data pages under Data page.
 editable can be updated or deleted , these Data pages will not available at
node level.
Q) can we call a connector directly from Data page ?
A) yes , we have connector option available in Data page Source.
Q) when lookup option will available as source of data page ?
A) For Data page of Type page , lookup option is available.
Q)where willl you perform exception handling in Data page ?
A)post load processing. we can call an activity and here we can handle any
exceptions.
Q) when will you go for standard and when will you go for advanced agent ?

Page 15
PEGA MATERIAL

A)we have three mode of agents


 standard agent--> is for transactional processing ie.. it involves case
processing.
 legacy agent -->
 advanced agent --> is for non-transactional processing means there is no
work object processing is available.
Q) what is Agent Queue ? why we need this ?
A. when we are working agents, if we want process or execute agent activity
multiple times/ wake up then this is possible through Queuing.
here Queue means PR_SYS_QUEUE table. for each queue item in this table agent
activity will be executed once. the Queue items with status "Scheduled" will be
picked . while processing the queue item status gets updated into " Now
Processing". if something fails during processing Queue status is broken
processing . Broken process items can be re-queued . when we re-queue the items
the status gets updated to "Scheduled".
Q)what is the access group significance of access group in agents rule form?
A: at what access level the agent activity should be executed will be decided by
agents access group in case of advanced agents.
Standard agents runs on the access group of requester who put the agent
queue item. for standard agent the access group of requester overrides the access
group in the agent rule form.
Q)what will happen if you are not mentioning the access group in advance agent?
if no access group specified in Agent rule Form, then advanced agent runs on
guest access group.
Q) how can you change the schedule of an agent in production ?
Agent Schedule is the Data Instance of the class Data-Agent-Queue. we can
directly open Agent Schedule rule and we can update the "Schedule"
Q) i need to update all work objects daily, what kind of agent i need to select and
why ?
if you have a queue then Standard agent. No Queue then Advance Agent.
Q) how performance is better when we used report definition compared with
Activities ?
Activity : when we create it is a user defined . it may have bad coding. it may not
be compatible with PRPC existing transactional model.

Page 16
PEGA MATERIAL

Report Definition : it executes OOTB Activity rule pxRetriveReport Data to fetch


the Data. this OOTB Activity is written fallowing the best practices of pega and it
will not disturb the PRPC transactional model.
Q) if you want to join 10 tables, how to implement this using RPT rule. it should
not impact application performance.
A) we need to create a DB View and write report for this view.
Q) if we want to share the data between two pega application ? (insurance and
other is Claims)
A) we have to use web services.
Q) how many types of reports?
A)
 List type Reports,
 summary /aggregate type (charts, Circles, Bar) Report,
 Sub-Reports.
Q) getContent Activity ?
A) This is OOTB Activity gets executed when we run list view.
Q)Get Next Action ? / Get Next work /Get most Urgent ?
A)the next assignment that have to work on.
get most urgent is OOTB functionality which bring the urgent assignment to work
on. by default it brings the assignment from work list.
Q) in the Production rule from what is Individual instances to include ?
A)here we can query the DB records and include their pzInskey. then Data
instances will be moved.
Q) what is "Exclude non-versioned rule" in product rule ?
A)There are rules associated with rule sets but non with versions. when we select
this check box, these rules will not be included in the product package.
Ex : work basket, work group, Access group, Operator etc...
Q) we have deployed in application, and applicaiton is running , after sometime
you get a requirement to modify only one of the rule which we have already
moved. how to achieve this ?
A) we need to get the pzInsKey of the rule Instance and include it in product
Rule, then package it. when we deploy this only one instance will be deployed
into production.
Q) we have made some changes and successfully tested in Dev, QA, , UAT and
Production also after deployments.

Page 17
PEGA MATERIAL

but when the business starts the latest code changes giving a technical issue
which has broken application functionality and entire is stopped ? how do we
handle.
A)
Q) in Activity suppose i have existing 10000 customers have common salary now
i want to increase their salary dynamically at a time ?
A)
 obj-Browse(page List)
 Loop (For page List)
 obj-open
 Property-set
 Obj-save
 commit; ---> by these steps we can update the values of employees
Q) what is the order of rule-resolution ? and can u tell some rule types donot
undergo rule resolution ?
A)
 rule cache (if rule available)
 verify not blocked
 verify user authorized
 process and present Rule.
 if cache not available ---> collect all rules matching name and Type
 ignore not applicable Ruleset hierarchy,
 ignore withdrawn
 ignore not in applicable class hierarchy
 rank by Ruleset class
 circumstance
 find the best rule and keep in the cache.

Data instance like OpID, Access group, work group, work basket, ...etc will not
go through the rule resolution process. because these instance will not be
associated with Ruleset versions, Availability and circumstance.
Q) An application testing phase working fine and in production environment
becomes slow ..what may be reson ?
A)
 Load on the server can be more

Page 18
PEGA MATERIAL

 queries may result in huge returns of data


 Log file size may be huge on the server (Regularly back up log files from Linux or
other Servers)
 Network issues

Q) Difference between Exit-Activity and Activity-End ?


A) Exit-Activity: ends the execution of current activity (like function return)
Activity-End: ends the execution of all the chain of activity in the calling process

Q) what is the main Diff between standard Agent and Advanced Agent ?
A)
Standard Agent Advanced Agent
1. this is recommended for transactional 1. this is for Non-Transactional
purpose...ie...case processing Processing .ie.. does not involve case
processing .
Ex : email , Archival DB
2. Standard used OOTB AQM 2. Advanced Agent will not use, we
want to go Queuing. we need to design
customer Queue mechanism.
3. standard agent runs on requesters 3. Advanced agent runs on the access
access group, whoever puts the item in group specified in agents rule form.
agent Queue.
4. Standard Agent runs activity N 4. Advanced agent executes, agent
number time/ wake up where N is no of Activity only one time for wakeup.
queue items
5. Activity Associated with standard 5. Advanced agent activity can be there
agent should be there in Work Object in any class.
class
6. Standard agent can be on Multi Node 6. Advanced agent is recommended to
Environment run on one node even though we have
multiple nodes.

Q) what is AQM ? is AQM supports standard agent only or Advanced Agent as


well?

Page 19
PEGA MATERIAL

A) OOTB AQM being used by standard Agent. if we apply AQM with Advanced
agent, we need to implement our own Queue management.
Q) Define Assignment Level SLA ? Work Object Level SLA ?
A) Assignment Level SLA is only for one particular assignment on which we apply
it.

Work Object SLA is applicable throughout the case processing till it gets resolved.

Q) i have one work object based on some condition. i want to route work object or
to worklist or work basket...? how many ways we can achieve this...? if i want
give the condition in single assignment itself how it is possible ?

A) we need to write a custom route activity, which calls to worklist or to


workbasket activities based on pre-conditions.

Q) declarative rules in pega ?

A.

Q) diff between Rule_obj_Validate and Rule_Edit_validate ?

A)

validate Edit validate


1. this is server side validate 1.this is client side validation
2.here we use functions 2. here we need to write java code
3. we can validate multiple properties 3. we can validate only one property
4. this validation specific to flow action 4. this is property level validation, any
screen we use this property, it will be
validated.
5. we can call this in activity using Obj- 5. we can call this using Property-
validate method validate method. and also we can use
page-validate
6. 6.
Q) difference between constrain and Rule_obj_validate ?

A)

Validate constraint

Page 20
PEGA MATERIAL

1. this is the server side validation 1. this is the client side validation
2. this validation specific to flow Action 2. where ever we use property
throughout our application constraint
will get executed.
3. we call this in activity using Obj- 3. there is no need to call this, it gets
validate method executed automatically.
Can we start a flow using activity and what is that method which is to be used?
A) Yes, Flow-New method is used to start a new flow.

Can we resolve an work object using activity?


A) by using call generate ID and Call Add work to resolve the work object.

Can we use Rdb-Save along with commit, if yes then why? if not yes then why?
A) Yes, commit is used to save the data permanent in the DB.
what is skimming explain?
A) It collect the highest version of the every rule in the ruleset and copies them into new major version
of that ruleset on the same system.
EX: If we are skimming loan appl:05-06-07, the only options like 06-01-01 and 07-01-01, but we can
not skim to 05-07-08 and so on.

What is Access Group and Access roles and difference between them?
A) Access groups make a set of RuleSet versions available to requestors.
Use an access role name to convey permissions (capabilities) to a user or a group of users. Access
roles can be referenced
in requestor instances, Operator ID instances, in access group instances, in activities, and in queries.

what is Covers folder and object and differences among them?


A) Cover is work object that is parent to one or more related work objects.
One work party is present in the cover work object and also present in the covered work objects
associated with the covers.
Folder is work object in concrete class that inherits from the work-Folder-class.
A folder object holds a collection of one or more other work objects providing access for reporting.

What is SLA? where we use SLA?


A) A service level rule is an instance of the Rule-Obj-Service Level rule type. Each service level rule
defines one or two time intervals, known as goals and deadlines that indicate the expected or targeted
time for the assignment, or time-to-resolve for the work object.
If an assignment isn't completed before the time limit, the system can automatically raise the
assignment, and cancel the entire flow, and so on

How many requestor types are there and what are they?
A) Application, Batch, Browser, Portal.

Backward chaining and forward chaining?

Page 21
PEGA MATERIAL

A) Forward Chaining: It provides the automatic calculations of the property value by executing the
declarative rule, when any one of the input property value is changed.
EX: If the Area property depends on the Length and Width property, then forward chaining causes the
Area property recomputed each time either
Length/Width value changes.

Backward Chaining: It provides the automatic calculations of a property value by executing the
declarative rule, when a value is needed for property rather than whenever inputs change.
EX: If the Area property depends on the Length and Width property, then backward chaining causes
the Area property recomputed each time the Area property is required.

Diff b/n file listener and connect file?


A) File listener used to import data from a file.
Connect file defines the name and location of an output file created by ur application.
what is local action?
A) when action is finished work object returns to same assignment.
what is WSDL file?
A) it is web services description language.it is written in XML format.

what is data-,work-,rule- classes?


A) Rule- base class is the abstract class of the rule classes. It defines how an organization uses that
application and run the business.
Work- is the super class to all the classes that defines work objects.
Data- is an abstract class that contains static data.
Data- do not repeat the information stored in the other databases.
such type of information can be accessed from the process commander system with connectors.

Virtusa

Tell me abt ur project and roles and responsibilities?

Declarative rules?
 Rule-Declare-Expressions,
 Rule-Declare-Index,
 Rule-Declare-Trigger,
 Rule-Declare-OnChange
 Rule-Declare-Constraints

Declare on change?
A) it is the instance of Rule-Declare-OnChange rule types. it is used to run an activity automatically at
activity step limits whenever the specify property value is changed. this capability provides automatic
forward chaining.
EX: we can create a declare OnChange rule to send an email to emp whenever HRA,TA,PF is changed.
we can define RDO rules property inside the embedded page. we need to specify page name and class
name in the pages and classes tab.

Declare pages?

Page 22
PEGA MATERIAL

A) it is the instance of Rule-Declare-Pages rule type. it is used to define the content of clipboard page
that is available in read only mode for multiple requestors in ur application. the name of the declare
page starts with Declare_.

what is rule resolution?


A) It is a mechanism to decide which rule need to be executed at run time.

Work process of rule resolution?


A)@ match the class hierarchy.
@ filter by Ruleset list and availability.
@ filter based on time
@ Qualify on circumstance
@ enforces access roles and privileges
@ executing the survivor rule.

What is circumstance?
A) Circumstance is the optional condition and enhancement of rule resolution alg. diff variations of the
rules within the same version created for diff flavors suit for different situation. circumstance works
during the rule resolution, at run time system first find the rules based on class hierarchy then searches
for a rules the requestors session needs, it compares the values of rule set, version, availability to
determine which rule executed.

call, branch?
A) call Activity: the call activity instructs the current activity to find and run another activity using rule
resolution. After the called activity completes the calling activity processing. the called activity can use
its parameter page. the main advantage of call activity is reuse.
Branch Activity: it is similar to call method. Branch activity refers to the another activity. the execution
of the original activity ends the execution of the branched activity completed without return..

Diff b/w Obj-validate & Property-validate?


A) ( obj-validate is we can do validations for multiple properties of a single work object)
( property-validate is only one property we can do validations for single work object)

Mphasis
What is Access Group?
A) Access Group controls the security basing on the job functions. It is instance of Data-Admin-
Operator-Access Group. Various aspects that can be controlled through access group are default and
available types of works( also called as work pools ) , Primary RuleSets ( Access Control to RuleSets),
Assigned roles, Portal layout

What is Work list, Work basket?


A) work list is a outstanding assignment waiting for a user to perform them.
work basket is a instance of Data-Admin-Workbasket class. Work object progress through a flow
execution, the system creates assignment. Assignment may be created either with individual user or
work basket.

what is parallel processing in pega?

Page 23
PEGA MATERIAL

A) running a parallel sub flow to the main flow or calling a service through integration shapes and at the
same time processing a job.....

what is Agent?
A) Agents are internal background process operating on the server to run an activities. Agents are
asynchronous and independent. They also perform system tasks such as sending email notifications and
synchronizing caches across nodes. Activities they call run individually on their own scheduled and one
activity doesn't have to finish another activity

How to integrate with SOAP (or) how to create a connect SOAP?


A) service pkg, service soap, activity.

what is diff b\n RDB,OBJ methods?


A) Obj method can be used to fetch the data from Blob columns but RDB methods can only help to fetch
the data from exposed columns
RDB methods are faster than OBJ methods in terms of response time
Normally we use OBJ methods for pega tables and RDB methods to fetch the data from external
database

what is exact difference between step page and page new(both will create the pages)?
A) Step page defines the page context on which a method is going to be executed. step page does not
creates a page..while page-new is used to create page

what is exactly obj-browse and obj-list(why it is deprecated)


A) obj-browse allows you to filter the data instead of fetching all the data...thus lesser memory
consumption...
deprecated means...pega does not recommends using it..but to support previous version application
they have kept it

How to move code from development server to test server?


A) create a new instance for product category, in that category we have to provide rule sets and rule set
versions create zip file and moves to test server.

when will we go for may start and authenticate?


A) If calling an activity from any other activity may start check box is optional. if the activity getting
called for the form submission then may start in need to be checked.
Authentication is the process of determining the identity of user or requestor. proper authentication is
required for the activity to get start for the corresponding operator. Activity will not triggered when the
authentication is checked.

Describe Property-set method?


A) set the value of one or more property values. it contains property name and property value.

Diff between Obj-open & Obj-browse ?


A) obj-open is used to open single value in the blob column.
obj-browse is used to open more than one value in the clipboard page/external system

Page 24
PEGA MATERIAL

What is flow-action?
A) it is the instance of Rule-Obj-Flow Action rule type. it is the one category in UI specifies the choices to
user performing assigned work object.
Local FA: if action is finished, work object returns to same level.
Connector FA: if action is finished, work object moves to next level.

What is d use of Primary page?


A) the primary page is nothing but a clipboard page.
primary page is nothing but a step page in activity. it refers in . to display the property..

Why u need class group?


A) we need to add one or more class groups to create the work pools in which user associated in the
access group to create the work objects.

• What is SLA and how do u know whether it is working or nor?


A) it is the instance of Rule-Obj-Servicelevel rule type.it can be added to assignment or work object.each
SL defines one or more time intervals like Goal and dead line that indicates expected or targeted time
for the assignment and time to resolve for work object. Within the clipboard we have to findout
whether the pyGoalproperty and pyDeadlinepropety properties are empty then SL not working.

Differentiate constraint vs validation.?


A) Constraint is a declarative rule which gets called automatically whenever invalid value entered by the
user and show the error message according to ur logic, unlike constraint validation is not a declarative
rule ad u need to call it from say flow actions/activity etc...it's also used for validation.

what is use of guardrails?


A) guardrails guide u, how to code any application in best way using pega.

What are the agents?


A) Agents are internal background process operating on the server to run an activity. these are
asynchronous and independent.
These are 2 type rule agent queue, data-agent-queue

What is cover and covered objects?


A) Cover is Work Object that is parent to one or more work objects. the covered WO are Children in
Parent-Child relationship.
one work party is present in the cover work object that is also present in the covered WO associated
with the covers.

Have you used spin-off shapes in your application, if so what is the case?
A) The work object processing in the current flow in parallel without waiting in the other flow to
continue.

What are the types of log files we have?


A) Pega logs: these are also called as system logs. message was created since the server starts recently.
Alert log: it contains only alerts and supports performance related monitoring.

Tell me about the locking concept in PRPC?

Page 25
PEGA MATERIAL

A) Lock should be held on the work object in order to save/update/delete the content in the db.

What is DWA (Direct Web Access)?


A) DWA is any one access the World wide web and email to process an assignment on a one time
basis.this feature extends the scope ur appl to empls
througout the enterprise.

What are PEGA Guardrails?


A) Adopt iterative approach
Establish Robust foundation
Do nothing that is hard
Limit custom java
Built for change
Design intend on driven process
Create easy to read flow
Monitor performance regularly
Calculate and edit declaratively not by procedurally
Keep security object oriented

What is the diff b/n Decision Table and decision tree?


A) D Tree is used to check multiple properties
D Table is used to check only one property.

What is Declare expression?


A) It helps the automatic calculations of the property value based on the changes of the other property
value.

What is order of execution in Decision Table and decision tree?


A) D tree used the order of if-then-else logic.
D table used to making decisions against same data element.

Rule resolution algorithm?


A) It is a mechanism to decide which rule need to be executed.

Explain about DCO?


A) Direct Capture Object is an appl dev tools which includes,
Application profiler wizard, Appl Accelerator, Appl Doc Wizard, Appl use cases, Appl requirements.

How do you remove the work objects?


A) By using obj-delete method we can delete wo.

Do you have any idea about the AES?


A) Autonomic Event Services is a process commander application that monitors, retrieves and organize
the alert data from one or more clustered process commander system throughout the enterprise. AES
provides the charts, reports information about the events.

What are the rules which are not rule resolved??


A) withdrawn rule is not rule resolved.

Page 26
PEGA MATERIAL

What is the major difference between the Cover and Folder


A) Cover is a work object that are parent to one or more related work objects.
Folder is concrete class that is inherited from work-folder- class. Folder holds the collection of one or
more other work objects.

What is Difference between screen flow and process flow?


A) screen flow is for UI improvement..while process flow is for business logic execution..so both have
diff purpose.
In screen flow we can't create a WO, in process flow we can create a WO. in Screen flow we have
next, previous options are available in process flow not available.

How do you provide SLA for the work-object?


A) within the assignment level we will provide the SLA.

If you have work experience on Soap Service. What are the rules required for Soap Service?
A) Service Package, Service SOAP, Activity

About the debugging tools like Clipboard, Tracer etc?


A) Tracer: it is a tool that checks the individual requestors session, tracking the execution of rules. you
can set the breakpoints to set the results of an action and review the property value.
Clipboard: transferring the data between the application and database is clipboard. process
commander keeps XML based structure called pages and page contains property value pairs.

What is the need of exposing a property?


A) need to add a property one of the column in DB.

What is the difference between harness & section?


A) Harness: Use Harness rule to define appearance and processing of wok object forms used in ur app to
create WO and process Assignments.
Harness rule define the complete forms that support all user interactions that create, update and
resolve the WO.
Section: A section rule defines the appearance and contents of the form.

What is SLA’s & what are the types of SLA’s. where we can put these?
A) It is the instance of Rule-Obj-Service Level Rule type. It can be added to Assignment and work object.
Service level contains 2 time intervals Goal and Deadline. it indicates the expected time for the
assignment and time to resolve the WO.

Which inheritance is mandatory? direct Or pattern?


A) both are mandatory depends on requirement we will use both. we will give first preference to
Directed. It should not be left blank.

Page 27
PEGA MATERIAL

Data tables Like : System Architect

1.Oracle

2.Microsoft SQL Server

3.RBM DB2
Rules XML
4.UDB

Java

BLOB: BINARY LARGE OBJECT Rules

Repository

PRPC Users :-

 Work User
 Work Manager
 Business Architect
 System Architect
 System Admin

User Portal : Web based Application is called as Portal.

Types Of Portals : 1.Work User Portal

2. Work Manager Portal

3.Developer Portal

4.Admin Portal

Roles Of Portals – Association :

Page 28
PEGA MATERIAL

Work User Work User

Work Manager Work Manager

Business Architect Developer

System Architect Admin

System Admin

 Process Commander Supports a three level Organizational Hierarchy Consisting Of

Work Object: It Is a Primary Unit Of Work In an application and the primary collection of
Data That a flow Operates On

 Work Object Contain : 1.Work Object ID (py ID)

2.Status (py status work)

3.Urgency (py Urgency)

Rules In PRPC : 1.Properties

2.Section

3.Harness

4.Flow Action

5.Activity

6.Decision Rules

7.Declarative Rules

8.Reports etc……

CLASS STRUCTURES

Class contains the rule by which objects behave. Define rules such as properties,
activities, flows, HTML forms, etc. available to other subordinate classes. Classes are
organized into a hierarchy in which lower classes inherit from upper classes. A class is an
instance of a rule-obj-class rule.

CLASS : class defines the scope of applicability of the rule. class does not contain the rules
rather it determines how the rules are stored in Ruleset . if you create a class in organization level
we have a more scope than the rule which is created under implementation class.

A Class is an instance of the Rule-obj-class rule type.

Class is a Container Of Multiple rules OR Class is a Combination / Set of rules such


As

Page 29
PEGA MATERIAL

 Properties,
 Sections,
 Harness,
 Activities,
 Flows,
 Reports etc…..

TYPES OF CLASSES : We have two types of Classes. They are

1.Abstract Class

2. Concrete Class

1. Abstract Class :
 An abstract class is a rule (an instance of the Rule-Obj-Class class) created to
support the definition of rules in PRPC. Such rules can be inherited by
subclasses of the abstract class.
 Any abstract class name in PRPC usually ends with the symbol ‘-‘,
For example Data-.Work- are abstract classes in PRPC.
 Whenever we create a first abstract class its parent class should be @baseclass
For second abstract class the parent class will be the first abstract class and so
on.
 Abstract classes cannot be instantiated.
Class A
Var t;
A a = new A();
a.t;
 @baseclass-MyClass1-Myclass2-

 Abstract Classes can contain any rule type


 Cannot contain instances
 Great for reuse.

2. Concrete Class:
 A Class that is not abstract is a concrete class. Concrete classes DO NOT end with a ‘-‘.
 Whenever we create a first concrete class its parent class should be ‘Work-‘.
 For second concrete class the parent class will be the it’s class group.
 Concrete classes hold persistent objects, known as instances
 Names must not end with a dash (-)
 Names should define the type of work being performed.

Abstract Class Concrete Class


 Abstract Classes are not Allowed to  Concrete Classes are allows to create
create work object the work objects

 Abstract Class ends with “-“  Concrete Class does not end with "-"
 Abstract Classes can be reused  Concrete class cannot be reused
 Abstract classes cannot be  Can be.
instantiated.

Page 30
PEGA MATERIAL

Q) Class, Rule Types, Validations ?

A) Class: class defines the scope of applicability of the rule. class does not contain the rules
rather it determines how the rules are stored in Ruleset . if you create a class in organization level
we have a more scope than the rule which is created under implementation class.

 abstract class -- abstract class cannot be instantiated.


 concrete class --- concrete class can be instantiated

Using profiler tool:


 Application processing data includes.
 Business processes.
 Use cases.
 Requirements.
 Reports.
 Correspondence.
 Interfaces.
 Work process data using a flexible, visible, interactive mapping tool.
 Create sizing views for development purposes.
 Create sizing estimates for development efforts.
 Apply parallel teams to add and clean project details and join them in a single profile.
 Create iterative on-demand known looking work-based suggestions.
 Prime the Application Accelerator by data of the profile to create a unique application, an extra
application based on the current framework, or size of an application.

Starting a Profile:
Profiles can be created and be maintained by users who have access to the Designer Studio.

Notes: Don’t run that Profiler using the operator ID Administrator@Pega.com or operators who accept
the path group Pega Rules: Administrators.

Click next on your current application in the portal header to display the Application menu and choose
an option.

New Application > Application Profile starts a profile.

New Application > Profiles in progress present some list of profiles in progress and a list of profiles you
hold, to modify security. Click a row to open a profile. Click New Application Profile to start a profile.

Alternatively, we can open a profile of the Tools menu from the Application arrival page level.

Tools > All Wizards display a list of open and fixed wizard objects within your system. Click a row to
display a profile.

That option is useful if we want to find Application Profiles that must already be chosen or created with
others.

Page 31
PEGA MATERIAL

Navigating the Profiler:


If the Profiler starts, a Profile ID prefixed with AP, allotted and presented in the header from the profile
window. A set of input tabs present on the left side of the screen, a sketch entry window pops up in
center of the screen, an Actions list and help icon on the right side of the header.

The Application Overview Window:

The modal window is the first input screen that gets displayed when we start a profile. It can be updated
at any time by choosing from the Actions list. Also, here, we enter information about the type of
application, the project, its business purposes, and information. This screen needs to complete before
we enter information into the process tabs.

The Processing Tabs: Located on the left side of the profiler, the handle step we go through, help us
obtain information in the profile.

Processes: Set work types and their starting flows, map the high-level business rules that flow in a
Discovery Map.

Integration: List interfaces to external methods, the application, will both connect to or be called from,
as a service.

Reports: List the detail for reports or the calculated number of reports to be generated during the
project.

Correspondence: Lists the detail for correspondence or the calculated number of correspondence
records to create during the project.

Assumptions: Takes a list of project-related premise that is included in the profile document.

Roles: List project associates and their roles to identify the expected support needed to complete the
project. Associates are listed as Internal Resources or External Consultants.

what is a Property in Pega PRPC ?

A Property provides labels/addresses for values that can be associated with a class.

 Property is a type of rule, an instance of the Rule-Obj-Property rule type.


 Properties are defined in Work- class hierarchy to hold data.
 For instances contained in the database, a property corresponds to a database column.
 The term property also applies to the labels for values contained in most clipboard
pages

@base class : is the super class for all the classes and immediate base classes are

Work_, System_, Data _, Embed _, Assign_, History _, etc……

Page 32
PEGA MATERIAL

Organization --- Data-Admin-Organization

Division --- Data-Admin-OrgDivision

Organizational Unit --- Data-Admin-OrgUnit

Access Group --- Data-Admin-Operator-AccessGroup

OperatorID --- Data-Admin-Operator-ID

Class Group --- Data-Admin-DB-ClassGroup

Database table --- Data-Admin-DB-Table

Ruleset --- Rule-Ruleset-Name

Application --- Rule-Application

Class --- Rule-Obj-Class

Harness --- Rule-HTML-Harness

Section --- Rule-HTML-Section

Flow --- Rule-Obj-Flow

Property --- Rule-Obj-Property

When --- Rule-Obj-When

Map --- Rule-Obj-MapValue

Decision Tree --- Rule-Declare-Decision Tree

Decision Table --- Rule-Declare-Decision Table

Application:

PegaSample -> Application Design -> Application. Give first version as 01.01.01
Built-in application = PegaRULES. Application Rulesets = <Rule-set>:01-01 (major and
minor version)

Page 33
PEGA MATERIAL

Operator: Operator is Nothing But System User

Work Group: Combination of Multiple Operators, Generally Each Workgroup will have a
Manager

Work List: Outstanding (not Complete) items Which Are Assigned to a Single Users.

Work Basket: Outstanding (not complete ) items which are assigned to a group of users.

Work Pool : Different Work types are grouped into one class group. and the class group
is added to a user into this access group, then the user will have an access to work on all
work types of that class group.. That type of Class Group are Called as Work Pool.

Q) what is the different between Access Group , Class Group and Work Group ?
An access group is an instance of the Data-Admin-Operator-Access Group class.
Access groups make a set of Ruleset versions available to requested operators.
Developers define access groups and associate an access group with each user (each Data-
Admin-Operator-ID instance). Typically, multiple users are associated with or belong to one
access group.
The access group associated with a user affects access control by determining:
The portal layout that a user sees first after logging in.
The local customization Ruleset name and Ruleset version. These usually are defaulted
when this user creates a new rule instance.
The application rule for this user.
Optionally, the access roles available to this user.

The access group associated with a user affects access control by determining

PegaSample -> New -> Security -> Access Group.


Access group name = <application Name>: Developer or <application name>:
manager

A class group : It Is a Combination Of Concrete Classes that share a common key


format in a single database table. The name of the class group is a prefix of the names of
the member classes. This is the first concrete class in the class structure. It supports the
creation of work objects. The work classes are concrete classes inherit from it. It
normally groups the classes to be stored in a single Database table, with a unique ID which
is normally pyID. It also serves as the role of work-pool.

Page 34
PEGA MATERIAL

Class groups are commonly used to cause the system to store instances of
similar or related work item concrete classes together in one relational database table.
This is known as a work pool. Work pools are referenced in access group instances.

Class groups correspond to tables in the PegaRULES database, not tables for
external classes. Each external class has a corresponding unique database table instance
(Data-Admin-DB-Table class) and so cannot be part of a class group.
The Clone a Class Group landing page tab, on the Data Model — Classes and
Properties landing page, lets you duplicate the structure of a class group.

A work group Combination of Multiple Operators, Generally Each Workgroup will have a
Manager, is an instance of the Data-Admin-Workgroup class. A work group can identify a
user who is a supervisor, and a set of workers and workbaskets that report to that
supervisor.

For the supervisor of a work group, the My Group area of the Process Work space
provides quick access to the work lists and workbaskets associated with the group. Work
groups are a primary unit of summarization in standard management reports on the Monitor
Activity workspace.

An Operator ID data instance (Data-Admin-Operator-ID class) usually identifies a work


group to which a user belongs. If left blank, that operator can enter work items but not
access a worklist or workbaskets.
Work group information is not related to the three-level organizational hierarchy
consisting of unit, division, and organization. Work group membership does not affect a
user's Ruleset list.

Base classes.

Organization -> Data-

Division -> Data-

Unit -> Data-

Ruleset -> (Rule-)

Advantage of Ruleset

 Access control
 Migration
 Rule resolution
 rule version

Page 35
PEGA MATERIAL

Interface vs Abstract class vs Concrete class JAVA ?


1. Interface

Interface is a blueprint for your class that can be used to implement a class ( abstract or
not); the point is interface cannot have any concrete methods. Concrete methods are
those methods which have some code inside them; in one word - implemented. What your
interface can have is static members and method signatures. The example below shall help
you understand how to write an interface.

public interface Brain{


public static final int number = 1;
public void talk( String name );
public abstract void doProgramming();
}

2. Abstract class

Abstract classes are a bit different from interfaces. These are also used to create
blueprints for concrete classes but abstract classes may have implemented
methods. But to qualify as an abstract class, it must have at least one abstract method.
Abstract classes can implement one or more interfaces and can extend one abstract class at
most. There is a logical reason to this design which we will talk about later in this post. Here
is an example of Abstract class creation.

public abstract class Car{


public static final int wheels = 4;
String turn( String direction ){
System.out.println( "Turning" + direction );
}
public abstract void startWithSound( String sound );
public abstract void shutdown( );
}

The declaration rules are as follows:

 A class can be an abstract class without having any methods inside it. But if it has any
methods inside it, it must have at least one abstract method. This rule does not
apply to static methods.
 As abstract classes can have both abstract and non abstract methods, hence the
abstract modifier is necessary here ( unlike in interface where only abstract methods
are allowed ).
 Static members are allowed.
 Abstract classes can extend other at most one abstract or concrete class and
implement several interfaces.
 Any class that does not implement all the abstract methods of its super class has to be
an abstract class itself.

3. Concrete class

Concrete classes are the usual stuff that every java programmer has come across for sure.
It is like the final implementation of a blueprint in case you are extending it some

Page 36
PEGA MATERIAL

abstract super class. A concrete class is complete in itself and can extend and can be
extended by any class.

public class Rocket{


public static final int astronauts = 4;
String turn( String direction ){
System.out.println( "Turning" + direction );
}
public abstract void startWithSound( String sound ){
System.out.println( "Engines on " + sound + "!!");
}
public abstract void shutdown( ){
System.out.println( "Ignitions off !!" );
}
}

Q) what is the difference between Class and Ruleset ?

Class:

we have different kind of data and we are classifying them by using data types like integer,
text, data etc. These data types are pega inbuilt. They all are single data type definitions.
What about if user want to define his own data type?

So simply for understanding purpose we can say that a class is a user defined data type.
In pega data is divided in to so many types in short Work Type, Rule Type, Data Type and
and related instances are called as "is a rule", "is a WO", "is a data instance".

because of pega flexible implementations we can perform more operations on each instance
by creating rules under the related class or parent classes.

primary use of class is reusability, scalability.

A class groups a collection of rules or other objects. Each class defines capabilities (rules
that include properties, activities, and HTML forms) that are available to other, subordinate
classes, or to instances of the class. Classes are organized into a hierarchy, where the
system searches the class hierarchy from the current class upwards when looking for a rule
to apply.

The class identifies the scope of the rule. You specify the class of a rule in the Apply to
field. The class you select determines how extensively you can use the rule — within one
case type, or across case types.

A class organizes rules within an application. The position of a class within the class
hierarchy determines the reusability of the rules in that class.

Page 37
PEGA MATERIAL

Ruleset:

The Rule is the container of the rule. primary use of the Ruleset is deployment and
security. Creates for identify, store, and manage the set of rules and uses
for development, deployment and reusability.

Pega terms are "A Ruleset is a container or an organizational construct used to identify,
store, and manage a set of rules. The primary function of a Ruleset is to group rules
together for distribution.

A Ruleset identifies, stores, and manages the set of rules that define an application or a
major portion of an application. A Ruleset contains rule instances, which are divided into
Ruleset versions to support version management. A Ruleset is identified in the system by
the Ruleset name.

The Ruleset is the container for the rule. The Ruleset identifies, stores, and manages the
set of rules that define an application or a major portion of an application.

Ruleset version : 01-01-01 (Major , Minor, Patch).

(Operator-Access group-Application-Ruleset)

 Application Ruleset : which contains the implementation, Organization, and


integration Ruleset.
 Production Ruleset : (can be added in Application Rule from and in the access
group). Production Ruleset are responsible for delegating the business rules like
decision table, correspondence to the business users.
the Production RuleSet will have at least one Ruleset version is Unlocked.
 branch Ruleset : Branch RuleSet allows multiple teams to update the rule in
parallel. Later we can merge the Branch Ruleset into the original Ruleset with all
the changes after resolving the conflicts are prior to approvals.
 personal Ruleset : personal Ruleset is a temporary Ruleset created with OperatorID
name. when the Operator checkout the rule PRPC copies the rule from original
Ruleset to Personal Ruleset allowing the operator to make the changes.
Once user checkout Ruleset goes into Personal Ruleset and Rule Resolution
gives most Priority to checkout version.

Ruleset Validations :
 Application Validation: if the Application validation is used, Rules in the Ruleset
can Reference all rules in the RuleSets defined in the same application or Ruleset
can belonging to all built-on application.
Rules in the Ruleset cannot reference rules outside of current application stack or
above the defining application.
 Ruleset Validation:

What is a Class in PEGA | PRPC ?


A class groups a collection of rules or other objects. Each class defines
capabilities(rules that include properties, activities, and HTML forms) that are
available to other, subordinate classes, or to instances of the class. Classes are organized
into a hierarchy, where the system searches the class hierarchy from the current class

Page 38
PEGA MATERIAL

upwards when looking for a rule to apply. A class is an instance of a Rule-Obj-Class


rule.

Types Of Classes

Abstract Class

An abstract class is a rule (an instance of the Rule-Obj-Class class) created to
support the definition of rules in PRPC. Such rules can be inherited by subclasses
of the abstract class.
Any abstract class name in PRPC usually ends with the symbol ‘-‘, For example, Data-
.Work- are abstract classes in PRPC.
Whenever we create a first abstract class its parent class should be @baseclass. For
second abstract class, the parent class will be the first abstract class and so
on.
Abstract classes cannot be instantiated.
An abstract class is a class that is declared abstract—it may or may not include abstract
methods(methods without body). as well as concrete methods (regular methods
with body). A normal class(non-abstract class) cannot have abstract methods.
Abstract classes cannot be instantiated, but they can be sub classed. An abstract class
may have static fields and static methods. When an abstract class is sub classed, the
subclass usually provides implementations for all of the abstract methods in its parent
class. However, if it does not, then the subclass must also be declared abstract. An
abstract method is a method that is declared without an implementation (without
braces and followed by a semicolon), like this:

abstract void sum(int a, int b);

Consider using abstract classes if any of these statements apply to your situation:

 You want to share code among several closely related classes.


 You expect that classes that extend your abstract class have many common
methods or fields or require access modifiers other than public (such as protected
and private).
 You want to declare non-static or non-final fields. This enables you to define
methods that can access and modify the state of the object to which they belong.
 A class derived from the abstract class must implement all those methods
that are declared as abstract in the parent class.
 Abstract class cannot be instantiated which means you cannot create the
object of it. To use this class, you need to create another class that extends this
class and provides the implementation of abstract methods, then you can use the
object of that child class to call non-abstract methods of parent class as well as
implemented methods
 If a child does not implement all the abstract methods of abstract parent class,
then the child class must need to be declared abstract as well.

Concrete Class

A Class that is not abstract is a concrete class. Concrete classes DO NOT end with a ‘-‘.
Whenever we create a first concrete class its parent class should be ‘Work-‘. For
second concrete class the parent class will be its class group.
A concrete class is a class that has an implementation for all of its methods that were
inherited from abstract or implemented via interfaces.

Page 39
PEGA MATERIAL

 It also does not define any abstract methods of its own.


This means that an instance of the class can be created/allocated with the new
keyword without having to implement any methods first. Therefore it can be inferred
that any class that is not an abstract class or interface is a concrete class.

Inheritance
Implementation Class : "Amazon -IN -OnlineSales-Work-PurchageRequest"
Framework Class : "Amazon -FW -OnlineSalesFW-Work-PurchageRequest"

There are two types of inheritance:-


 Class Inheritance
 Ruleset Inheritance
 Ruleset version Inheritance

Pattern inheritance —
It is an optional feature we can set up for a class in the Rule-Obj-Class rule, affects
the first steps in the rule resolution algorithm. This approach is sometimes called “dual”
inheritance.
During rule resolution, pattern inheritance causes a class to inherit rules first from classes
that match a prefix of the class name.
Ex : Pega uses pattern inheritance to check the flow rule available in the class path.
it means first check "Amazon - IN-OnlineSales-Work-PurchageRequest"
if the Rule is not found " Amazon -IN -OnlineSales-Work-" class
if it not found again, then it check " Amazon -IN -OnlineSales-" checking
Continues Process. until "Amazon"
Directed inheritance —
Allows us to name a parent class, choosing a name that’s not related to the name of
this class. you can specify a direct inheritance class in the class rule form
Class "Amazon-IN-OnlineSales-Work-PurchageRequest" can directly inherit from the
framework class
"Amazon -FW -OnlineSalesFW-Work-PurchageRequest"

Well in Pega PRPC, there are two types of inheritance:

Directed Inheritance
Pattern Inheritance

Pattern Inheritance is Inheritance on naming convention, where as Directed


inheritance is external or advanced inheritance.

Pattern Inheritance is given preference above Directed Inheritance. As per Pega, if PRPC
needs to find RULES (reusable components), which a particular class can use or have access
to, first they search through the pattern inheritance. Which is nothing but, the naming
convention followed to name a particular RULE in Pega. If PRPC do not find the RULE
through the pattern inheritance, it will search the RULE in Directed inheritance.

For example, While naming a RULE in Pega, we use Org-Sub-Work-ClassName, This means,
Class Name is inherited from Org-Sub-Work class as well as it is part of Work-Cover-.

Short Description | Name


|

Page 40
PEGA MATERIAL

Class Name | Org-Sub-Work-Class Name


Work (Default Work Pool) | Org-Sub-Work
HRServices Namespace | Org-Sub
Top Level Class | Org
Cover classes | Work-Cover-
Work classes | Work-
@baseclass | @baseclass

If PRPC, needs to search for a RULE for Class Name, it will first search in Org-Sub-Work, if it
is not found, then the search will be made in Org-Sub, if the RULE is not found there as
well, it will search in Org. Once, it is not found, PRPC will start searching in Work-Cover-;
Not found, next match in Work-. If not found in Work-, it has to be there declared in
@baseclass, else it will mark it as not present.

What is Class Structure in PEGA ?

Class Structure design is an integral part of every Pega application. Designing a scalable,
extensible enterprise class structures from the beginning of your project will help avoid
costly re-factoring. The enterprise class structure enables PRPC applications to co-exist with
each other and with customer or Pega built frameworks.
The enterprise class structure is also the foundation for enterprise reuse. Asset reuse is
integral to the long-term success of BPM within the organization, and ultimately, the
reusability requirements drive the selection of your class hierarchy design.

Page 41
PEGA MATERIAL

Layer Definition:
PRPC Base Product Layer:

The PRPC Base Product Layer consists of the Pega-4 Rulesets and its classes & rules.
Loaded as a part of the PRPC platform install, this layer contains all rules necessary
for workflow processing and other areas of Process Commander.

While the Pega-4 Rulesets are locked, rules that apply to many of the Pega classes
(Work-, Embed-, Data-, @baseclass, etc.) can be defined in application Rulesets
to support enterprise-wide reuse.

Enterprise Reuse and Divisional Reuse Organizational Layers:

The Enterprise Reuse and Divisional Reuse Organizational Layers is where extensions
to the work and data classes exist.

This may include enterprise wide or division wide business logic (standard
properties, flows, decision tables, models, SLA rules, etc.), data classes
(such as generated class structures for connector request/response
messages) as well as other extensions exist.

Page 42
PEGA MATERIAL

The classes within the Divisional Reuse layer inherit from their counterparts in the
Enterprise Reuse layer; the classes of the Enterprise Reuse layer inherit directly from
the Work- and Data- classes.

Framework Layer:

The Framework Layer stores base rules/processes/components for a given


application. A customer built framework (CBF) serves as the basis for N number
of deployments throughout the enterprise.

A CBF must be able to stand on its own. Therefore, this layer contains all rules
necessary to implement its functionality. While there will be a class group and
its mapping to a database table for testing purposes, the actual mapping of the
application to production database table occurs on the Implementation layer.

Organization specific logic, processes and rules must be placed on the


Implementation layer as well, only default edits, values, and application structures
have their home in the CBF layer.

This layer can also be used to extend any features present in a Pega based framework
for a particular organization.

Implementation Layer:

The Implementation layer contains the rules necessary to implement a Pega built
framework or Customer Built Framework (CBF). This layer contains all
specialization rules as well as the application class group(s) of the framework for the
organization and division that it belongs to. The layer also contains flow shells
and/or service activities used to start their generalized counterparts in the
Framework layer.

The EAA now creates an Enterprise Class Structure consisting of a CBF on the
Framework layer and organizational implementation classes on the Implementation
layer.

Class Structure and Reusability:

A robust class structure is the foundation of reuse throughout your application. The
PRPC recommended class structure design pattern offers flexibility in your design
and provides for more level of reuse.

The class structure provides the first and most important layer of reuse in PRPC due to
its precedents in the rule resolution algorithm.

The class structure provides you with a hierarchy in which rules can be placed. The
higher a rule is in the hierarchy, the more potential reuse there is.

The key to a good class structure is that there are enough layers and classes to hold
the most fundamental levels of reuse but not too many that it becomes cumbersome
to navigate and unclear as to the intent.

Class Structure and Security:

Page 43
PEGA MATERIAL

Class Structures also help in applying security controls across the organization.

It can be achieved by defining access role objects which map access roles to certain
classes. Users having those roles can then Open/modify/delete instances of that
particular class.
Then assign these roles to the users who you want to be able to access the
functionalities defined via those classes.

PRPC Enterprise Class structure generates four layers , they are:

 Organization Layer
 Division Layer
 Framework Layer
 Implementation Layer

The Organization Layer


The organization layer exists at the very top of our enterprise class structure. This layer is
intended to hold all rules that apply corporate wide.

The Division Layer


The division layer exists to hold all the rules for a logical grouping within that business.
Most often, this is based on the line of business, but it is not restricted to that and instead
could be regions, brands, or departments. The key is to identify if these rules span
across different processes within the business.

The Framework Layer


The framework layer is all about the process. This is what empowers an organization to
achieve the majority of their reuse. Processes within an organization are often very similar
between the different divisions. By placing this common process in a framework, we
just have to build it once for all the different applications within that organization.

The Implementation Layer


The implementation layer is where it all comes together. This layer is the application that a
user leverages to perform their tasks. You can think of it as the ‘glue’ that holds together
the rules from the framework, organization and division layers.

Class Structures and Hierarchy

The Pega rule hierarchy begins at the top class @baseclass which is extended by several
base classes:

 Rule- concrete subclasses hold rules


 Data- concrete subclasses hold data
 Assign- assignments i.e. steps of the workflow
 Code- references in-memory server code
 Embed- outlines structure of pages embedded in pages
When determining whether a data instance should derive from Data- or Embed- if
the class will never be a top-level page or a saved object (as opposed to being a
saving an object with embedded objects) then define the instance under Embed-
 History- stores the history of objects
 Index- secondary access keys to improve retrieval performance

Page 44
PEGA MATERIAL

 Link- records relationships/associations between objects


 Log- for logging system events
 PegaAccel- supports the Application Accelerator tool
 System- for system settings and status
 Work- work objects, covers and folders

Classes and Class Groups/Work Pools


Classes in Pega are a way of grouping rules and providing structure.
Classes can be:

 abstract: groups reusable rules and is an instance of Rule-Obj-Class (name always


ends in a hyphen e.g. MyClass-)
 concrete: can be instantiated and inherits rules from parent classes
 Class groups are used to define work pools (a collection of work types or classes).
They map to a physical database table and contain a unique identifier which links to
the table's primary key.
 All class groups must directly inherit from Work-

 The Work- class provides several key features for work pools:
rules for class groups and work objects e.g. pyStatus, pyDefault, New sample rules
e.g. SLA

Units of Work

All work classes inherit from the base class Work-. There are three main subclasses
of Work-:
 Work-Object-
 Work-Cover-
 Work-Folder-
All work classes contain a unique ID pyID which is usually in the form - e.g. AA-10.
The pyID prefix is defined in the pyDefault model of the work class with the
property .pyWorkIDPrefix.

The current work object is stored on the clipboard under .pyWorkPage.

Questions commonly asked about the generated class structure ?

Why do non-work classes, like Org-, inherit from Work- or Work-Cover

Because of rule resolution, inheriting from Work- or Work-Cover- on those levels allows for
increased sharing of case-management-related or work-related assets across multiple
applications.

For example, if a company creates two top-level classes for some reason (such as when
two organizations do not currently work with each other and they want to develop
applications independently), the applications can still share work-related assets.

Why does the Org Ruleset have the OrgInt Ruleset as a prerequisite (required)
Ruleset?

Page 45
PEGA MATERIAL

So that business logic rules in the Org Ruleset have the ability to reference integration-
related rules and classes stored in the OrgInt Ruleset.

Why doesn't the Application Accelerator generate MyCo-FW-FrameworkName1-


Data- to directly inherit from MyCo-Data-? Why doesn't the generated MyCo-FW-
FrameworkName1-Int- directly inherit from MyCo-Int-? Or for the rest of the Data-
and Int- classes?

It is rare to want the system to use class inheritance to reuse a data asset (for example, to
reuse data classes from MyCo-Data- for data classes in MyCo-Div1-Implementation1-Data-).
However, if your application requires extending from the organizational layers' Data- or Int-
classes, modify the class rule for the framework or implementation class to set the needed
directed parent class.

what is the difference between data class and work class ?

If you want the class to represent a Data Model, you create a class that directly inherit the
"Data-" parent class, so this becomes a "Data Class". It's job is to be a data model for
whatever data you want to represent in PRPC. Usually a Data Class is not instantiated,
and it is used more as a template in the Work Class for containing data that is pertinent to
the work to be resolved.

If you want the class to perform some work or some case, then you will need to
directly inherit the "Work" class as a parent. This makes the class you are creating a "Work
Class". It's job is to be instantiated as a Work Object or a Case Object to contain data
related to the work it is doing.

Basically, the difference is what they do. In summary, a Data Class is a template for
Data Model, and a Work Class represent a work type or case type for instantiating
and resolving work

Work Class - Contains the rules that describe how to process a case, such as processed,
date element and user interfaces.

Data Class - Contains the rules that describe the data objects used in application, such as a
customer or collection of order items.

Class Group:

This is the first concrete class in the class structure. It supports the creation
of work objects. The work classes are concrete classes inherit from it. It normally groups
the classes to be stored in a single Database table, with a unique ID which is normally
pyID. It also serves as the role of work pool.
Creating Class

PegaSample -> New -> SysAdmin -> Class. Give the class name. Rule-set and
save. Give info in History. Version, rule-set etc. save it.

Page 46
PEGA MATERIAL

0If Class is class group, select it and give its parent class as Work-
1If Class is class type, select it and give its parent class as

Work-Object-Now, select the work pool in access group as the class

group

Mapping pc_work table with class group (Work pool)

The class group created is default mapped with pr_other table in database (where
PegaRules are present).
We manually map the class group with pc_work table.

e.g : More-retail-purchase-work (class group) -> new -> sysAdmin -> Database Table.

Give class name as: More-Retail-Purchase-Work and save.

In the form:
Defining work pool in Access Group

Define the work pool in Access group -> the class group

Creating Data classes:

Data- (Direct inheritance with @baseclass)

More-Data- (Pattern inheritance with More- class)

More-Data-Items (Concrete class and doesn’t belong to class group)

Click right on More- -> new -> SysAdmin classes.

First create abstract class More-Data-, give parent class as Data-Save it.

Then create class More-Data-Items Similar as above. See the below pic.

Property :
A property is an instance of the Rule-Obj-Property rules type.

Property defines and labels a value that can be associated with a class.
For instances contained in the database, a property often corresponds to a relational

database column.

Property Modes :

Page 47
PEGA MATERIAL

Creating Properties:
For common properties, like here in more departmental store, we have customer name,
contact and email-id as common for all departments and hence we will create these
properties at More- Right click more-> new -> Data model -> Property

Class Form :
General External Advanced History
Mapping

@base Class

Work-

Infy- Work-Object

Infy-IT-

Infy-IT-Support

Infy – IT – Support - Work

Infy – IT – Support- Work - Helpdesk

Page 48
PEGA MATERIAL

INHERITANCE : It enables to you access rules from parent class to child class.

 Process Commander supports Two types of Inheritances.


 Pattern Inheritance the name of the parent class is a Prefix Portion of
name of the class .
 Directed Inheritance allows naming a class choosing a name that’s
not related to its parent’s name.
 Classes should have pattern Inheritance.
Classes must have Directed Inheritance.
 Direct Inheritance is indicated with “
Pattern Inheritance is indicated “--------“
 Direct Inheritance will reach the chain of @base class
 Inheritance is indicated on Class Rule Form

Class Inheritance

Find my name First (Pattern)

Parent Class (Directs)

PATTERN INHERITANCE

 Determines which part of the organization owns an object. ( Rule- / Work- / Data- )
 Determines database operations at runtime + design time since it identifies the DB-
Table of a concrete class.
 Rule lookup begins here

DIRECT INHERITANCE

 Determines the behavior of an object. ( Rule- / Work- / Data- )


 Determines what rules are acquired from EnterpriseFW / SolutionsFW / PegaBase
layers.
 Rule lookup resumes here if no suitable candidates are found in the pattern
inheritance.

there are two types of inheritance:

 Directed Inheritance
 Pattern Inheritance

Pattern Inheritance is Inheritance on naming convention, where as Directed inheritance


is external or advanced inheritance.

Pattern Inheritance is given preference above Directed Inheritance. As per Pega, if PRPC
needs to find RULES (reusable components) which a particular class can use or have access
to, first they search through the pattern inheritance. Which is nothing but, the naming
convention followed to name a particular RULE in Pega. If PRPC do not find the RULE
through the pattern inheritance, it will search the RULE in Directed inheritance.

Page 49
PEGA MATERIAL

Pattern inheritance, it is an optional feature we can use for a class in the Rule-Obj-Class
rule During rule resolution, pattern inheritance causes a class to inherit rules first from
classes that match a prefix of the class name. Pattern inheritance follows the pattern of the
names and dashes in the class name to define inheritance.

Directed inheritance allows the user to specify or direct from what classes the current class
may inherit. Directed inheritance classes do not have to have a name which includes the
“pattern parent prefix” of the current class.

For example, While naming a RULE in Pega, we use Org-Sub-Work-Class Name, This
means, Class Name is inherited from Org-Sub-Work class as well as it is part of Work-
Cover-. If we see the inheritance of this class, This will show as:

Short Description | Name

Class Name | Org-Sub-Work-ClassName


Work (Default Work Pool) | Org-Sub-Work
HRServices Namespace | Org-Sub
Top Level Class | Org
Cover classes | Work-Cover-
Work classes | Work-
@baseclass | @baseclass

Ruleset : Set Of Rules is nothing but a Rules Set. (http://myknowpega.com/)

Ruleset Usage :-

 Access Control
 Deployment
 Rule Versioning
 Rule Resolution

 Ruleset Contains Ruleset Name and Ruleset Version


 Ruleset Name accepts max 32 Characters, and no Spaces.

Ruleset Version : 01-01-01

Ruleset Name : IT Helpdesk

Ruleset Version : 01- 01 - 01

Major Minor Path

Page 50
PEGA MATERIAL

A Ruleset name is an instance of the Rule-Ruleset-Name rule type. Each Ruleset


defines a major subset of rules in the PegaRULES database, because every instance of
every rule type references or "belongs to" a Ruleset. A Ruleset name is a major aspect in:

 Access control
 Grouping interrelated rule
 Managing the rules
 Rule resolution and versioning
 Moving applications — sets of rules — from one Process Commander system to
another.
The term Ruleset sometimes refers to the name instance and sometimes informally refers to
the contents of that Ruleset — all the instances of Rule- classes associated with that
Ruleset.

The Rule- .pyRuleset property, present in every rule instance, records the Ruleset name to
which the instance belongs. Process Commander itself consists of several standard Rulesets

Ruleset Name rules are part of the SysAdmin category.

A Ruleset rule is an instance of the Rule-Ruleset-Name class.

a Ruleset stores a related group of business rules. It’s what you deploy in your production
environment or ship to a customer. Rulesets provide security, version control, and the
ability to deploy your application in (or move it to) a different Process Commander
environment. You must create a Ruleset before you can build an application.

Ruleset has 2 parts – Ruleset Name & Ruleset Version

Rule-Ruleset-Name – Which defines the Ruleset name and other characteristics

It should contain Maximum 64 characters

Ex . PolicyAdmin

Rule-Ruleset-Version – which defines the Ruleset Version. It has 3 parts separated by a


hyphen – Major, Minor & Patch

Ex. 01-05-07

Select — > Application > Structure

To view a list of Rulesets in your application (including those your application is built on)
and a list of prerequisites for each Ruleset.

Page 51
PEGA MATERIAL

Steps to Create a new Ruleset Version:

-Go To Application
-Select New
-Select Rule
-Select SysAdmin
-Select Ruleset Version

The term Ruleset sometimes refers to the name instance and sometimes informally
refers to the contents of that Ruleset — all the instances of Rule- classes associated
with that Ruleset.

The Rule-.pyRuleset property, present in every rule instance, records the Ruleset name to
which the instance belongs.

Process Commander itself consists of several standard Rulesets

Ruleset Name rules are part of the SysAdmin category. A Ruleset rule is an instance of
the Rule-Ruleset-Name class.

Pega Standard Rulesets :

1.Pega – Procom Supports business Process Management

2.Pega – Intsvcs Support Services

3.Pega – WB Supports Portal Infrastructure

4.Pega Rules Supports rule Engine and rule Reduction.

Rule Resolution : Locating right rule at right time during the execution. rule resolution is
a search algorithm used to find the most appropriate instance of a rule to execute in any
situation.

rule resolution occurs whenever a rule is needed to accomplish processing of a case.


as you create applications the choices you make when defining the values for the key part
of a rule are based on how you want the rule to be found by rule resolution.

Page 52
PEGA MATERIAL

rule resolution applies to most rules that are instances of a classes derived from
abstract rule- based classes. the following are examples of instances of rules derived from
the abstract Rule-based class.

 Case Types (Rule-Obj-Case Type)


 Properties (Rule-Obj-Property)
 UI rules such as Sections (Rule-HTML-Section) and Harness (Rule-HTML-Harness)
 Ruleset Names (Rule-Ruleset-Names)
 Ruleset Versions (Rule-Ruleset-Version)

Ruleset Does not applies to rules that are instances of a classes derived from any
other abstract base class such as Data- , System-, Work-. the fallowing are examples
of instances of rules derived from the abstract System- base class.
 Operator ID (Data-Admin-Operator-ID)
 Email Listeners (Data-Admin-Connect-Email Listeners)
 Operator's Favorites (System-User-My Rule)
 The Rule Check-in Process (Work-Rule Check)

We Have 6 Steps available in Rule Resolution. Rule resolution follows multiple steps or
stages to determine which one rule is the result to execute. Beginning with a large
set of possible rules for the situation, the rule resolution process selects the best available
rule, using the following process.

1. Check the rule cache. If the rule is present in the cache, go to Step 8.
2. Choose all instances with correct purpose
3. Discard rules where Availability = No/Draft
4. Discard inapplicable Rulesets and Versions
5. Discard all candidates not defined on a class in the “ancestor tree”
6. Rank remaining candidates by: Class, Ruleset, Circumstance, Circumstance Date, date/time;
remove all that are withdrawn or hidden by other withdrawn candidates
7. Discard all choices that occur in the ranked list after the first “default” rule
8. Set the cache
9. Find best instance (and check to make sure there is not a duplicate)
10. Check that Availability does not show BLOCKED
11. Security – Verify that the user is authorized to see the rule

Circum Stance : Different Variants of a rule within same version can be created with
different flavors to suite for different Situations.

Page 53
PEGA MATERIAL

 Rule Resolution Searches Rulesets in the order they appear in the users Profile list
 Rulesets searched in the following orders
1. Personal Ruleset
2. Production Ruleset
3. Ruleset listed on the application rule
4. Pega–procom, pega-Intsvcs, pega-WB, pegaRules,

Rule Availability : We Have 5 Types of Rule Availabilities .They Are

1.Availability (Yes)

Rule always available for Rule Reduction.

7Version 6Version

2.Final

3.No Particular Version not available, lower version available.

4.Block No more uses (nothing but a Deleted Rule)

5.With Drawn we don’t see on child, but we can see in parent (lower version)

Ruleset Type :

All pega Rulesets should be Address as "Required Ruleset " to Our Application Ruleset
them any Rule in the predefined Rulesets can be used in our applicaitons.

1. Application Ruleset (When we add Application Rule Form)


2. Production Ruleset (Which we will add in the application Rule form and also w can
in Access Group under Advance Tab)
3. Branch Ruleset
4. Shared Ruleset
5. Personal Ruleset

Ruleset Locking :- Ruleset Versions ca

n be locked to prevent new rules from being added and existing rules from being updated or
deleted.

 All rules must be checked in before Ruleset is locked.


 Password must be created to be able to unlock the version.

Reusability In PEGA

 The PRPC recommended class Structure design pattern offers a flexibility in our design
and provides more levels of reuse.
 PRPC contains mainly 4 Layers

Page 54
PEGA MATERIAL

1.PRPC shared Product layer


2.Enterprise shared Product layer
3.Generalized application layer
4.Specilized application layer

1.PRPC Shared Product Layer : The PRPC shared product layer represents the out of the Box
(OOTB) Process commander classes such as work-,work-object-,work-folder-,work-cover-
,and Data-.

2.Enterprise Shared Product Layer: The Enterprise shared product layer is a library of
extension to the PRPC base functionality .you should always include this layer. It is rare, but
this layer may be omitted in some very small one-off application.

3.Generalized Application Layer : TheGeneralized application layer represents a generic


basic application to use as a framework for application instances .Here you will define most
of the rules for your base applications.

4.Oraganizational And Specialized Application Layer :The Organizational and specialized


application layer represents an organizational application instance .Here We will be
implementing the generic application.

PEGA GUARDIALS

PRPC System Provides 10 PEGA Guardials. They are

1.Adopt an iterative approach

2.Establish a Robust Foundation.

3.Do nothing that is Hard (use OOTB rules)

4.Limit custom Java try to avoid java

5.Build for Change

6.Design intent driven process

7.Create Easy to read flows (use 15 flows max)

8.Monitor performance Regularly (PAL)

9.Calculate and Edit Declaratively ,not Procedurally

Page 55
PEGA MATERIAL

10.Keep Security object oriented too.

1.Adopt an itrativeapproach :

Define an initial project scope that can be delivered and provides business benefit within 60-
90 days from design to implementation.

2.Establish a Robust Foundation :

 Design your class structure with the recommended class pattern


 It should be understandable, be easy to extend

3.Do Nothing that is Hard :

Use OOTB rules as much as possible.

4.Limit Custom Java :

Avoid java steps in Activitys ,when standard process commander rule types, library
functions or activity methods are available.

5.Build For Change :

Identify and define 10 to 100 specific rules that business users own and will maintain.

 Activity Should not be on that list.

6.Design Intent Driven Process :

Your application control Structure must consist of flows and declarative rules, calling activity
only as needed.

7.Create Easy to Read Flows :

Your flows must fit on one page and must not contain 15 smart shapes.

 If Flows has more than 15 smart shapes


a) Create a Sub flow
b) Use Parallel flows

8.Monitor Performance Regularly :

Page 56
PEGA MATERIAL

Use PAL tool to monitor performance Regularly from Performance tool bar.

9.Calculate And Edit Declaratively, not Procedurally :

Use Declarative Rules to do the Calculations automatically

a).Use Declare Expressions instead of Property set method

b). Use Declare Constraints instead of Validation

10.Keep Security Object Oriented Too :

 Never code Security Controls in an Activity


 Use the Standard access roles that shifts with process commander only as as a
Starting points.
DATA MODELLING

Data Model :

 For Each and every application data is important.


 In our pega all data related rules will maintain at Data model category
 In this Data Model we have 8 types of Pega Rules .They are
1.Data Page
2.Data Transform
3.Edit Input
4.Edit Validate
5.Field Value
6.Property
7.Property Alias
8.Property Qualifier

Property :

 Property is a variable, which is used to holds the data, which support application,
property is an instance of Rule-obj-property Rule type
 Properties are divided into 3 categories ,they are
1. Value Level
2. Page Level
3. Java Object
 A gain these 3 categories are classified into 11 modes of properties ,they are

Page 57
PEGA MATERIAL

1. Single Value 7.Java Object


2. Value List 8.Java Object List
3. Value Group 9.Java Object Group
4. Page Value 10.Java Property
5. Page List 11.Java Property List
6. Page Group

Type Single Array Group


Value Single Value List Value Group
Mode Value
Page Page Page List Page Group
Modes
Java JavaObject Java Objectlist Java Object
Object & Java Group
Java
Proprty
Propertylist

 All Property modes will have below types.


1. Text 6. Decimal
2. Integer 7.Date Time
3. Identifier 8.Date
4. Password 9.Time Of Day
5. Double 10.True Or False
 Property modes are used to determine how the system represents the Property Data
 Properties with a mode other than single Value are known as Aggregate Property

Value Mode :

Value Mode identifies the properties that can have none, one or multiple strings as the
value.

1. Single Value :- select a single value to create a property that can contain a single
text string value.
2. Value List :- A value list mode is an ordered ,indexed list of strings ,some times
called as an Array.
3. Value Group :- A value Group mode contains one or multiple strings in unordered
manner. and each identified by a unique text index value.

Page 58
PEGA MATERIAL

Page Mode :-

Page mode identifies properties for which the value has a single or multiple page
structure
1. Page :- page is a data structure that contains Name –Value Pairs
2. Page List :- A Page List mode Property is a data structure consisting of an Ordered
Listof zero or more embedded pages each identified by an integer index .
3. Page Group :- A page Group is a data structure consisting of an unordered set of
pages each identified by string index value.

Java Object Mode & Java Property Modes :--

Java Object Mode contains a reference to an instance of a Java Object


1. Java Object : java Object is selected to indicate that this property holds on the
clipboard a reference to instance of a java object
2. Java Object List : Select a java object list to indicate that this property can contain
an array of java object.
3. Java Object Group : Java Object Group is selected to indicate that this property can
contain an unordered group of reference to instance of Java Objects.
4. Java Property :A property runs provides a name and characteristics for data in an
object
5. Java Property List : Supports the process commander java pages feature that
enables your application to interact with java objects as they were pages and
properties on the clipboard.
Phone Address
Value Road *
Page
City * Zip*

Value List
Phone (1) Address(1) Address (2)
Road *
Phone (2) Page Road *
City*
List City* zip*
zip*
Value Group Phone (home) Address (home) Address (work)
Road* Road*
Phone (work) Page
City*z City*
Group
ip*

Page 59
PEGA MATERIAL

 Using Prompt in Property we can define optional table edit for Single Value,Valuelist
and Value Group Properties by enumerating the values that the property can assume
are identifying a place where a list of values available at runtime.
 There are 6 types of Table edits. They are
1. None : No table edit apply
2. Local List : Values are enumerated in this tab (TELLS)
3. Field Value : Values corresponded to Field Value rules
4. Class key Value : Values correspond to the first key parts of a known other
class.
5. Remote List : Values are enumerated as elements of a list or Group with in a
single process commander object.
6. Prompt List : Values are enumerated as with a local list, but for each internal
value a different localized value appears on input or output.

PRPC Standard Properties :

 PRPC Standard Properties are Prefixed either with px,(or) py (or) pz

Px(Read Only) :-- Computated Properties that users can see on a form but can’t directory
enter or change (such as px create Date Time) to alter this values activity can use a step
method called Property-Set-Special method

Py(Read/Write) :-- Properties that user can enter or changed via direct input (Such as
pyDescription)

Pz(For internal usage ) :-- Properties that are reserved for internal use (Such as PzInskey)
Users can’t see, enter or change these Property

EDIT INPUT

 An Edit input Rule Provides a conversion Facility .


 Use Edit input rules to convert data entered by a user from a format that your
application doesn’t use into another format.

Edit Input rules perform Conversions, not Validations,This Rule type doesn’t cause any
respond to a user about the validity of the input rule.

 Use Validate rules and edit Validate rules are one Validation.

Page 60
PEGA MATERIAL

 Edit input rules referenced by a property, execute automatically only during HTTP
request.
 Edit Input rules use Java Code for the conversion

Calling an EDIT input rule from an Activity: -- In an Activity we can execute an edit input
rule using a function .use a Java step, in the Java code of that step call the Edit input ()
function.

Edit Validate

 Use the Edit Validate form to define Java Routine that tests the validity of an input
Value in an activity that process user input.
 The activity calls the “Property-Validate” method.

Field Values

 Use the Field value to define items in a Selection list, Which is used to support
Localizationby Overriding an English word or Phrase with an equivalent term in an
another Language.

Property Alias

 Create Property Alias rules to Provides an alternative name, more meaningful to users
who may be developing or updating function Alias rules.

PROPERTY QUALIFIER

 A Property Qualifier rule can be supplement information in a Property with additional


capabilities or restrictions.
 Property Qualifier rules are referenced in a Property in the Property Qualifier Section of
the Property’s Advanced tab.

For Ex :--- PyDecimalPrecision

Data Transform

 Use Data transforms to define how to take Source data Values


 In General, Data transforms involve both mapping data from a Source to a Target.

Page 61
PEGA MATERIAL

 Data transform rules can be referenced by another datatranform.


 In datatranform will have a Action tab,Tragettab,Relationtab,Sourcetab.

Parameters,Pages&class,History
Definition

 In datatranform mainly we have 14 Action items:


1. Set 8. Otherwise When
2. Remove 9.Otherwise
3. Update Page 10.Append to
4. Apply Datatransform 11.Append and Mapto
5. Sort 12.For Each page in
6. Comment 13.For Each page
7. When 14.Exit Datatranform

DATA PAGES

 Data Pages are known as Declared pages before pega 7 Version


 Data pages are referenced as “D_“ (or) “Declare_“
 These are dynamically createdpages.
 By using Data pages will reduce the performance issues.

Difference b/w Data pages and Declared Pages ?

Declared Pages Data Pages

 Read Only  Read and Edit


 Scope are two types  Scope are two types

a).Node a).Node

b). Thread b).Thread


Page 62
 Name Starts with c).Requestor

“Declare_”  Name Starts with “D_”


PEGA MATERIAL

New Data Page :

Definition Load Parameters Pages Usages History


management &classes

List

Structure Page

Data Object type Object Class Name

Read Only

Edit Mode

Editable

Thread

Requestor

Node Scope

Data Source

If Structure = List If Structure = Page

Connector Connector

Source Data Transform Source Data Transform

Report Definition Lookup

Load Activity Load Activity

Node : Any Requestorexecuting on the current node can access the pages.

Page 63
PEGA MATERIAL

Thread :

 The Page is Created in a Single Requestor Thread and can be accessed often as
needed by processing in that Thread.
 Later access on another thread causes the database to load a different page, which
may have different contents. Even if it is by the same Requestor

Requestor: TheRequestor can access the pages loaded across the all threads.

 Access by separate Requestor creates separate pages, which may have different
contents.

User Interface

 User Interface is used to list the different HTML rule types that forms the User
Interface and how they are used.
 User Interface rules are divided into 9 types of rules.

1. Section
2. Harness
3. Flow Action
4. Portal
5. Paragraph
6. Control
7. Navigation
8. Skin
9. Guided Tour
 Process Commander include Portals and Workobjectformthat allows application user to
enter, update and resolve work Objects.

Harness : Harness Rules are the instances of the rule. Rule-HTML-Harness Class.

 Harness Rules defines the form Structure and the layout, specifying the Sections that
includes in the Harness and Other elements to be added.
 Harness Rule basically assembles all required sections, fragments and HTML Streams.
 SHOW-Harnessis a standard activity ,which is used to call a Harness Rules from an
activity.

Standard Harness :

Work Objects are usually displayed in one of 4 Harness types.

We have 4 Standard Harness Rules. They are

1. New
2. Perform

Page 64
PEGA MATERIAL

3. Confirm
4. Review

NEW : Used to Create New work object is an Optional

Perform : Used to Process work assignments, Various Perform Harness available

Confirm : Display confirmation of the complition of an assignment

Review :Displays the work object in a Read only mode

Other Harness Types :--

1. Perform a Screen Flow


2. Tabbed Screen
3. Roopen
4. New Covered

 Harness inside a Harness is not Possible


 Harness into a Section is not Possible
 Section into a Harness is Possible

Sections :

 Section is a Portion or area of a standard work object form that incorporated on a


Harness form
 Section may contain other Sections, They are may called as the Subsections.
 The Apperance,behaviour and contents of a section are defined by a section rule.HTML
section rule type.
 Section rules are instances of the Rule –HTML-Section class
 Section Rules are referenced in
1. Harness Rules
2. Section
3. Flow Action
4. Paragraph Rules with smart info proper

Flow Action :

 A Flow Action Rule is an instance of the Rule-Obj-Flow Action Class.


 A Flow Action is a choice available to users as an infirm or final disposition of an
assignment they are Processing
 A Flow Action Rule Controls how users interact with work object Form to complete
assignments.
 There are mainly two types of Flow Actions. They are
1. Connector Flow Action
2. Local Flow Action.
Connector Flow Action :

Page 65
PEGA MATERIAL

 If a connector shape comes out from an assignment shape called as connector Flow
Action.
 In this Scenario, the work object moves from one assignment to another
assignment.

Local Flow Action :-


The Work Object not moves from one assignment to another assignment the scenario is
called as the local action. That means work object does not advanced the flow and work
object
 Flow Action types will define at Action tabin a Flow Action Rule.
 Flow Actions will hide from one user to another user by providing security rules at
security tab.
 Flow Action will refer at Sections,Flows.

Section Harness Flow Action

Section

Harness

Flow Action
Paragraph : A paragraph Rule is the an instance of the Rule-HTML-Paragraph Class.

 Paragraph Rule Provides Read only text for a call in a Work Object form that can be
included bold,italic,coloured text, images and other rich text.

Portals :

 A Portal is a Standard internet explorer based


 UI For Process commander workers, managers and developers.
 Portal Rule is an instance of Rule-Portal class
 Which is used to define Tabs, arrangements and labeling of anchors and features is
known Gadgets.
 We can always Create New Portal layouts by defining new instance of the class Rule-
Portal.
 Portal Rules are referenced in the setting tab of the Access Group form

Standard Portals are 4 types, they are

1. Developer Portal
2. Manager Portal
3. Work User Portal
4. Admin Portal

Skin :-- A Skin Rule is an instance of Rule-Portal Skin

 Skin Rule is used to define or Specify the Presentation of your Content.

Page 66
PEGA MATERIAL

 By using this Skin Rule we will present our user interface by including boarders,
backgrounds, and Layouts etc……
 By defining Presentation attributes in the Skin you can separate content from its
presentation.
 A Skin Rule defines A Cascading Sheet Style (CSS) Files ,Stored as text file rules that
together determine the colours,fonts,images and layout of portal, Work object etc……
 The Skin is Comprise of mixins and Style Formats

Mixins : It Is a reusable typographay,barders ,or background Style or combination of these


Styles.

Style Format : Which is used to define style format for components such as Dynamics
layouts,Controls,such as Buttons and links.

Navigation : Use Navigation to construct a multi level XML document to be used in


navigation and context menu.

Control : Use Controls to Control how Properties are appear on user forms
correspandance,and other HTML Forms for both display and for accepting user input.

 Controls are often simply referenced to as Controls.

FLOWS

 A Flow is a Fundamental representation of a business Process in Process Commander.


 It is an instance of the Rule-Obj-Flow Rule type.
 It define the Sequence of Processing that your application applies to work object
 A Flow rule govers how Work objects are created ,Progress Through the System and
how they resolved.
 A Flow rule Consist of network of Shapes and Connectors, each with associated
parameters and Values.
 After you Complete and save the flow form click the Run tool bar button to create a
new work object with that flow
 The System Stores the flow diagram in the Pega Rules Databases

With the Flow rule


Pr4_Rule_Flow

 Pega Recommended limiting a flow rule contain maximum 15 Shapes


 If Flow Shapes executes more than 15 Shapes.
Use Sub flows, this process is called as Composition .

FLOW TYPES :

There are mainly 4 types of Flows ,They are

Page 67
PEGA MATERIAL

1. Starter are flow is nothing but process flow


2. Sub flow
3. Screen flow
4. Straight Through flow

Starter Flow : A flow that is a create new work object is Called as a Starter Flow

Sub Flow : A flow that is called by another flow is known as a sub flow ,the calling flow is
called as parent flow.

 Processing of sub flow is synchronous i.e. the calling flow execution pause for the
duration of the sub flow

Screen Flow : A flow Rule that consist only of assignments, decision and meets other criteria
is known as a Screen flow .

 Screen flow can’t be a Starter Flow So we can’t create work object in Screen Flow
 Advanced Shapes are not available in the Screen Flows.

Straight Through Flow :A flow rule that contains no assignments and so can execute from
start to end, without human input is known as the Straight Through flow.

FlowShapes :

1. Starter Shape
2. Assignment Shape
3. End Shape
4. Decision Shape
5. Fork Shape
6. Notify Shape
7. Route Shape
8. Connector Shape
9. Spin off Shape
10. Split Join Shape
11. Split For each Shape
12. Utility Shape
13. Ticket Shape
14. Connector Shape
15. Comment Shape etc…

Assignment Shape :- It is a Place Pause to a work object and it requires some user input to
progress a flow (or) to make flow forward.

Utility :- Specifyan activity to run at that point in the flow to perform automated processing
without any user assignment.

Page 68
PEGA MATERIAL

Fork :- Which Supports automatic Selection of one connector from two or more .It does not
support Decision Rules.

Decision : - Which identifies an activity that can make an automated decision about the
process of the work object through this flow. Which based on decision rules

Router :- Sends an assignment to a user, workbasket, oragen other than the current user .

 Associate a Router task with an assignment shape or assignment task


 This activity determines which work list or work basket is to contain a assignment.

Ticket :- Mark a business exception that might ariase at any point in the flow ,such as
cancelization.this act as a like “GOTO” Statement.

Spin Off :- This Flow Shape is used to Starts a new flow execution and does not wait for its
completion.

Split Join :- This flow sends the work object to two other flows both of which must to
complete before the current flow resumes.

Split For each :- This Flow Shape is used to performs an operation are test on each element
in a repeating group.

Work Party :-

 A Work Party is a person,organization,other actor identified in a work object. Who can


be the receipt of email or other forms of correspondence.
 Work Parts are directly not involved into the work object Processing but they are
interesting to known the work Progress.
 Work Party Rules are part of the Process Category.
 A Work Party Rule is an instance of the Rule-Obj-Work Party type.

Type Of Work Partys :-

These are mainly 5 types of Work Partys are Available.

1. Data-Party-Com Which is used for Business Organization


2. Data-Party-Gov Which is used for Government Organization
3. Data-Party-Operator Which is used for Process Commander users
4. Data-Party-Org Which is used for Non Profit Organization
5. Data-Party-Person Which is used for Non Process Commander users

Difference between Split-join and split for each?

A) Split join is sub flow of ur flow is completed before continuing the current flow completed.
Split for each is to send a work object through another flow based on the information in the pages of
page list and page group.

Page 69
PEGA MATERIAL

Decision Rules

 Decision Rule are used to design Calculations and Comparison that may cause
Processing to continue along one path or another path.

Types of Decision Rules : -

There are mainly 4 Types of Decision Rules available. They are

1. Decision Tree
2. Decision Table
3. Decision Map
4. When

 At Runtime the System evaluate the decision rule based on inputs from the flow
and the work object and chooses one of the outgoing connectors based on the
results.
 No user interaction or i/p required for the decision rules

Decision Tree :-

 Decision Tree rule is used to evaluate a complex if then else situations, that involves
multiple tests and criteria.
 Decision Tree rule contain a list of one or more i/p properties and can return a
property value as a result.
 Decision Tree is used to call another decision rules also
 For an advanced Decision Tree rule complete the i/p tab before the Decision tab.
 For a basic Decision Tree rule complete the Result tab first
 To Restrict the results to one of a few constant values, complete the results tab first
before the Decision tab.

How to Refer a Decision Rules ? :

 In a Flow Rule ,we can reference a Decision Tree rule in a Decision task indentified by
the Decision Shape.
 In an Activity ,we can evaluate a Decision Tree using the Property-Map-Decision Tree
Method
 A Declare Expression rule can call a Decision Tree rule.

Ex :-- If Grant Total 5000 then Return “Unitmanager@I FOCUS.com.”

If else Grant Total 4000then Return “Projectmanager@IFOCUS.com.

Otherwise returns “Developer@IFOCUS.com.”

Decision Table :

Page 70
PEGA MATERIAL

 Decision Table is used to define a series of Tests Perform on Property values to allow
an automated Decision.
 A Decision Table can capture and Present Business logic in the form of one or more if
then else conditions.
 We can incorporate Decision Table in a flow Rule using the Decision Shape
 Property-Map-Decision Table Rule is used to execute a rule in the Activity.
 A Declare Expression rule can call a Decision Table Rule
 A Decision Table can convert multiple Property values into a range of return values.

Conditions

Item Name Return

If Laptop 30,000

Else if Keyboard 1500

Else if Monitor 6000

Else if Mouse 200

Else if Printer 2000

Otherwise Null No Items

Decision Map :-

 A Map Value Rule is used to create a Table of numbers,text,dateranges that converts


one or two input Values, such as latitude and longitude numbers, into a calculated
result value such as a city name.

 Use Map Value Rule to record Decision Based on one or two ranges of an input values.

Decision Decision
Table Tree

Decision
Table

Decision Tree

Page 71
PEGA MATERIAL

When :-

 This Rule is an instance of Rule-obj-When


 A When condition rule evaluates a relationship b/w among one or more property
values and r eturn Boolean values
 Logic Operators are AND,OR,NOT.
 When Rules are called in the Activity in Precondition Transition.

Declarative Rules
 Declarative Rules are used to do the automatic processing of the property Values.
 A Declarative Rule is an instance of Rule-Declare.
 Declarative Rules need not be called explicitly and need not be run in a Sequential
fashion
 Process Commander can refresh the values automatically each time in the following
Scenarios.
1. Any Property Value in an Expression Changes.
2. When data a Property Value is Accessed
3. When data Being shared between user is changed.
 A Per as PRPC is concerned one of the Guardial says that Calculated and Edit
Declaratively ,not Procedurally.
1. Use Declare Expression Instance of Property Set Method
2. Use Declare Constraints Instead of Field Validation Method

Types Of Declarative Rules :


We have mainly five types of Declarative Rules .they are
1. Rule-Declare-Constraints
2. Rule-Declare-Expression
3. Rule-Declare-On Change
4. Rule-Declare-Trigger
5. Rule-Declare-Index

Constraints :-
 Constraints is a valid method rule which is used provide a message to user ,when if an
attempt to exceed the boundary’s of the restriction is made, When page become
invalid.
 Which Provides the boundary on the values that a Property can hold.
For Ex : Property can be Negative.
Property can’t be greater than certain ValueConstraint Rule :

When
.Qty has a value

Requires that
.Qty 10

Else add message Qty must be less Than 11.to .Qty


Page 72
PEGA MATERIAL

Declare Expression :--

 An Expression is a Single line of Process commander syntax that allows calculation of a


value using arithmetic Operations, logical Operators, Java Operators ,Standard
Functions and Properties.
 Declarative Expression automatically fire whenever input changes Declare Expression
Rule:

When Ever input Changes

Set .Grant Total =Sum of .Hardware Info.Total


(or)

When ever Input Changes

Set .Tota = Value of .Price *.Qty


l

Forward Chaining : Forward Chaining is a technique Which PRPC uses to calculate a target
property value automatically each time when there is a change in the value of the input
Property.

Ex :--

Declarative Networks Values at Runtime

123.22
Order Total

Order price (all Tax 17.5% 104.87


items)

54.95 49.92

Extended Price

5*10.99 4*12.48

Quality Price

Page 73
PEGA MATERIAL

Backward Chaining :--

 Backward Chaining (Goal Seeking) is the technique by the PRPC calculate the value of
a target property even when the value of an input or parameter property not
available.
 Backward chaining is achieved by means Rule-Declare-Expression and Property –
Seek-Value method.
 The System uses the internal dependency network of Property relationships to the
develop interfaces about how to obtain the missing property Values.

Order Total

Order Price Tax

Extended Price

Quantity Price

How to decide Forward Chaining /Backward Chaining?

 The Target Property data Field in the Declare expression decide this in below
scenarios.

1. Whenever input Changes Forward Chaining


2. Whenever used If no Value Present Backward Chaining
3. When Used If Property is missing Backward Chaining
4. Whenever used Backward Chaining
5. When applied by a Rule Collection Backward Chaining

 This target Property data value will define at change tracking tab in Declare expression
rule.
 Declare Expression rule will have both Forward Chaining and Backward Chaining
Functionalities.

Page 74
PEGA MATERIAL

Declare- On Change :

 Declare on change Rule can be used to run an activity automatically at activity step
boundrys whenever the value of Specific Property Changes.
 This Capability provides a form of automatic forward chaining

Ex : We can create a Declare on change to call an activity that send a email notification to
employess. whenever that organization CEO Changed.

Onchange Pages&class Histrory


Property ess

Properties to Watch Declare On


change Rule
1.
Form
Conditions

When

Choose action
Call Activity
When True Run

Activity Params

When False Run


Params
Activity
Declare Trigger :

 Declare Trigger is an instance of Rule-Declare-Triggers


 A Trigger Rule identifier an activity that runs automatically When ever an object of a
object of a particular class is saved in or Deleted or updated in the Data Base

Declare Trigger Rule Form.

Page 75
PEGA MATERIAL

Triggers Pages & Classes History

Saved

Deleted

Committed Save

Committed Delete

Saved and……

immediately

Rule-Declare-Trigger?
A) It identifies an activity to run when an instance of specific class is saved, updated or deleted in the
database.
this implements a form of forward chaining.

Page 76
PEGA MATERIAL

EX: A Declare Trigger rule can execute an activity each time an instance of class is saved with modified
ZIP code. The activity might send a email to Sales representative whose area includes new address. DT
can implement a form of class history like date, time and other facts.

Declare Index :

 It Is an instance of Rule-Declare-Index
 Index can improve performance and facilities reporting
 Create a Declare Index Rule to define Criteria under which process commander
automatically maintains index instances for faster access.
 An index can improve search and Reporting access for Property that can’t be exposed
as Database Columns, Because they are embedded an aggregate property.
 The System saves indexes as an instances of concrete classes delivered from the

Index-base classes
 To expose aggregate property’s Declare-Index Rule is the better approach .

Creating Steps of Declare Index :

1. Create a concrete class which derives from Index-base class


2. Create a Single Value Property’s in the new class, to holds the embedded Values.
3. Create a Declare Index with the appropriate embedded page context value that
copys the embedded values into a new Index instance.
4. Save the Declare Index Rule, It executes immediately, adding and deleting
instances of the new class.
5. Expose Database Columns corresponding to the Index-Class.
6. Reference the Index Properties on the Report Determination or List View Rule.

Page 77
PEGA MATERIAL

Declare Index Rule Form :

Indexes Pages Indexes History

Index Class Date

Source Page Context

Source Page Context Class

Index Class to Write

Properties For Indexing And Mapping

Source Class Property Mapping Index Class


Property

Equals

Indexing Conditions

When Enabled
Activities

 Activity is a series of steps used to accomplish an objective


 It provides procedural processing functionality in process commanders
 It is very similar
Indexto a method
even in java
if a Source class property is Blank?
 Which is listed in technical category
 Don’t use an activity for calculations or property validations that you can implement as
constraints rule or declare expression rules
 Activities automate processing. Activity rules contain a sequence of structured steps.
Each step calls a method rule or contains a control instructions such as call or
branch.

When are Activities used?

1) For Work Related Functions:-

1. Updating work object status

2. Routing work to user work lists

Page 78
PEGA MATERIAL

3. Creating/processing email(correspondence)

4. Adding work to a cover or folder

5. Processing service level rules

2) For Integration:-

1. Invokes other connector rules

 Queries/Updates Database tables


 Sends/receives information to/form webservices endpoints

2. Used with service rule to accomplish with service objectives

3. Writing debugging information to log files

Standard Activities

1. Work-Update status

2. Work-To cost center manager

3. Work-cover-Add to cover

 There are 5 tabs available in activity rule form.


1. Steps
2. Parameters
3. Pages & Classes
4. Security
5. History

1)Steps tab:-

a) Lable:- At the time of precondition or transition, if we want jump to later steps that are
fined based on the lable value

b) Loop:- Which is used for iteration purpose for values list, page list and loop ect….

 It has five fields.They are


1. For each page:- Option to sequence through all pages of a specified classes.
2. For each embedded page :- Apply a method or instruction to each embedded
page in a page list or page group property
3. For each element in a value list:-To repeat the steps for each element in a
value list property
4. For each element in a value group:-To repeat the steps for each element in a
value group property
5. For Loop:-To repeat the step a number of times determined by the values of
integer constants or integer properties

Page 79
PEGA MATERIAL

C) Description :-Here we give description or steps for developed identification

D) Precondition :-Before executing the methods or steps. If we want to check “when” rule
that precondition is used.

 Different options available for preconditions they are


1. Continue when :-Next when condition is validated
2. Skip Step :- Current step is skipped and control goes to next step
3. Skip whens :-The control goes to the method or instruction referenced in that
step
4. Exit Activity :-Control exits the current activity and goes to the calling
activity
5. Exit iteration :- For the current iteration the step is skipped and the control
goes to next iteration.
6. Jump to later step :-The control goes to the step references

e) Transition:-After executing the method or step

 The transition step also has the same options as preconditions for the transition to
take place.

f)Step page:-

 Identify the page on which this step is to act


 In left blank ,the step acts on the primary page of the activity
Primary page :-
 A clipboard page loaded with the same class as the activity

g) Method :-Different procedures perform on an activitystep are called as method

 We can review the methods but not alter or add methods


 These are different from java method

2)Parameters tab:-This tab can be used to pass the values (parameters) to the activity

 The variables which are used as the inputs or outputs for the activity
 Process commanter places parameter names/values on a parameter page
 We can access this using “param” keyword

Ex:-Para.Deptno

Fields :-

Name Description Data Type Reavised In/Out Prompt Default value

String/text Yes/N0
Integer,
Boolean,
Double,

Page 80
PEGA MATERIAL

Decimal,
Date,
Date time,
Time of day,
Password,
Java object,
Page name

Local Variable :-

 Local variables are properties that are used inside an activity and these variables will
have only a local scope and it can’t be used outside the declared activity
 The local variables can also be any one of the mentioned data type
 Local variables are avalibles on the tracer, local variables are not available on the
clipboard

Fields:-

Name Description Data type

 If we want to see the local variables only on the tracer, not clipboard
 In tracer ,go to settings and check the check box of local variables

3. Pages & classes tab:-

 Use the pages & classes tab to identify the step pages used in this activity

Pages and classes fields :-

Page name class mode empty/prompt

Name of page page belongs to which class

4.Security:-

Which is used to define activity types and to check the authentication and may start check
boxes

Fields:-

May start? Activity type Activity


Authentication? Assign

Page 81
PEGA MATERIAL

Connect
Locate
Notify
Onchange
Route
Validate
Trigger
Utility
Assembler
Load declarative page

5.Histry tab:-

Fields :- Full description: Detail about activity

Usage: Use of that activity

Methods

Branch:- Use the branch instruction to cause the current activity to find another specified
activity and branch to it without a return

 When the system executes a branch step , control transfers to another activity found
through rule resolution

Sharing pages b/w original and branch accounts:-

 The preferred means for passing a single page from one activity to another is to
identify the page in the step page field of the calling activity. The second activity
receives this page is its primary page
 If you need to pass more than one page ,use the indirect page mechanism:
1. In the second activity ,identify an indirect page by the keyword prompt as
the mode field in the page&classes tab
2. In steps of second activity, refer to these pages using the syntax prompt
page name. No corresponding entry is required in the parameter tab.
3. In the first activity, pass the additional pages as arguments to the call
instruction that invokes the second activity.
4. The value supplied for the prompt page must not be blank and must
evaluate to a clipboard page name(toplevel or embedded).The keywords
primary, top and parent are not valid with prompt page, the param keyword
is valid.

Page 82
PEGA MATERIAL

Call:-Use the call instruction to cause the current activity find another specified activity and
execute it when that activity completes,control returns to the calling activity.

 The calling activity can provide input parameters to the called activity or it can share
its own parameters page with the called activity an approach known as call-try-
reference

Call, Branch, Queue methods with examples and differences between these
methods.

Call Method:

Use the Call instruction to cause the current activity find another specified activity and
execute it. When that activity completes, control returns to the calling activity.

The calling activity can provide input parameters to the called activity, or it can share its
own parameter page with the called activity, an approach known as call-by-reference.

The Call instruction requires an activity name in the Method field, a checkbox for sharing the
parameter page, and optionally a variable number of parameters for the called activity.

· Activity (in the Method field): dentify the activity you are calling. Type Call followed
by a space and the Activity Name key part of an activity.

To locate the activity with rule resolution at runtime, the system uses the class of the step
page as the initial Applies To key part, and searches the class hierarchy for an activity of
that name. If the Step Page field is blank, the system uses the Applies To key part of this
activity as the initial Applies To key part.

Optionally, you can identify the Applies To key part of the called activity explicitly, using the
format:

Call Data-Admin-Operator-ID.Analyze

Call MyCo-Finance-Work-Form990.Validate

· Pass current page ? Select to cause the calling activity's parameter page to be
passed to (shared with) the called activity, which can alter its contents in any way. Clear to
use the array that appears below the checkbox to pass parameters to the called activity.

If you select this box, the parameter page remains available to the calling activity after the
return. This capability is sometimes known as call-by-reference.

The system uses rule resolution to locate the activity. It then constructs or shares a
parameter page, and transfers control to the activity.

Page 83
PEGA MATERIAL

The below is the screen for the activity containing called method, This activity calls
VTest_PropSet method, The activity for calling method is shown in the next screen below

1. New page , CallPage1” is created

2. Company name is set to TCS

3. Test_PropSet activity is called and Company name is over ridden, set to Accenture

4. Company name is over ridden with MS.

When you run above activity, the property is set to “MS” on clip board.

Branch Method:

Use the Branch instruction to cause the current activity to find another specified activity and
branch to it without a return. When the system executes a Branch step, control transfers to
another activity found through rule resolution. Execution of the original activity pauses.

When the branched activity ends, processing of the current activity ends also; no steps after
the Branch step are executed.

You can pass parameters to the target activity, or you can share the current activity
parameter page with the target activity.

· Activity: In the Method field, type the word Branch, a space, and the activity name to
branch to. SmartPrompt is available.

If the second activity is not in the same class as this activity, and not in the same class as
the page identified in the Step Page field, identify the Applies To key part of the second
activity also, using the format:

Branch Data-Admin-Operator-ID.Analyze

· Pass current page ? Select to cause the calling activity's parameter page to be
passed to (shared with) the called activity, which can alter its contents in any way. Clear to
use the array that appears below the checkbox to pass parameters to the called activity.

If you select this box, the parameter page remains available to the calling activity after the
return. This capability is sometimes known as call-by-reference.

The system uses rule resolution to locate the activity. It then constructs or shares a
parameter page, and transfers control to the activity.

The below is the screen for the activity containing branched method,

Queue Method:

Page 84
PEGA MATERIAL

Use the Queue instruction to start asynchronous execution of a second activity. This
provides an alternative to the Call instruction, in situations where there is no need to wait
for completion of the second activity, or where processing in parallel is feasible and
beneficial.

This activityQueues Test_PropSet method, when the Queue step is executed , the activity
goes to the queued activity and at the same time this activity also executes without witing
for queued activity to execute.

The execution varies from activity to activity.

Difference between Call, Branch and Queue methods:

1. Call instruction is used to cause the current activity to find another specified activity
and execute it. When that activity completes, control returns to the calling activity. and the
calling activity continues.

2. Branch instruction is used to cause the current activity to find another specified
activity and branch to it without a return. When the system executes a Branch step, control
transfers to another activity found through rule resolution. Execution of the original activity
pauses.

3. Use the Queue instruction to start asynchronous execution of a second activity. This
provides an alternative to the Call instruction, in situations where there is no need to wait
for completion of the second activity

As shown in the example above,

In the call method, the activity returns to original activity and Companyname is set to
“MS”
In the branch method, the activity does not returns to original activity and
Companyname is set to “Accenture”
In the Queue method, the activity returns to original activity with out waiting for
queued activity.

Sharing Pages b/w calling and Called Activities

The preferred means for passing a single page from one activity to another is to identify the
page in the step page field of the calling activity. The called activity receives this page as its
primary page.

 If you need to pass more than one page , use the indirect page mechanism

Page 85
PEGA MATERIAL

1. In the called activity, identify an indirect page by the keyword prompt as the mode
field in the pages & classes tab.
2. In steps of the called activity, refer to this pages using the syntax prompt page
name. No corresponding entry is required in the parameter tab.
3. In the calling activity ,pass the additional pages as arguments to the call instruction
that involves the second activity.
4. The value supplied for the prompt page must not be blank and must evaluate to a
clipboard page name(top level or embedded).The keywords primary, top, local and
parent are not valid with prompt page ; the param keyword is valid.

Activity-End Method:-This method appears in the activities that support process commander
infrastructure, but is otherwise rarely needed. In ordinary circumstances, use the exit-
activity method, not activity-end to return to a calling activity from an internal step of the
current activity.

1. End the current activity and all calling activities (by throwing an exception that is
caught)
2. Transmit any HTML code previously produced to an interactive user.

Commit Method:-

 Use this method to commit all uncommitted database changes.


 This method writes all the instants specified by one or more earlier obj-save methods
to the pega rules database(for internal classes) and to external databases(for
external classes)
 This method operates on Thread pages that can operate across multiple instances.
After an object instance is saved into the database, it is persistent.

Connect-JMS Method:-

Use this method to send a jms message to an external system using the java message
service application programmer interface

Connect-SOAP Method:-

Use this method to invoke a web service identified in a connect SOAP rule (Rule-
connect-SOAP rule type)

End-Validate Method:-

 This method is used only for custom rule types, to end the processing that develops
rule references.
 Use this method as the last step in an activity of activity type validate when the class
of the activity is a rule –class and the start-validate method was used as first step.

Page 86
PEGA MATERIAL

Exit-Activity Method:-

This method ends the current activity and returns control to the calling activity.

Flow – End Method:-

Use this method to immediately end a flow execution, prior to reaching a flow-end shape.

Flow –New Method:-

Use this method to start a new flow execution of a known flow rule

Obj-List Method:-

 Use this method to retrieve data to the clipboard as an array of embedded pages.
 This method searches sequentially through instances of the pega rules data base or
an external data base and retrieves specified data to pages in the clipboard. It
returns either:
1. Complete instances, each as an embedded pages.
2. Selected properties from the instances placed in embedded pages with
shortcut characteristics. Shortcut pages contain only partial instance data
and so can’t be re-saved to the database
 This method is often used with a list rule(rule-obj-list rule type) which defines a list of
properties

Obj-Open Method:-

Use this method to open an instance stored in the pega rules data base or in an external
data base linked to an external class and save it as a clipboard page.

Obj-Open Method parameters:-

1. Open class
2. Lock
3. Release on commit
4. Lock info page
5. Property name
6. Property value

Obj-Open-By-Handle method:-

The handle of an instance is a unique key, in an internal format assembled by the system
that identifies an instance in the pega rules data base. It may differ from the visible key
generally used to identify instances(every instance has an unique handle but more than one
instance may share the same visible key). For rule instances, the handle includes system-
generated identifying values (including the create data and time) that make it unique.

Page 87
PEGA MATERIAL

 Use this method only if you can determine the unique handle that permanently
identifies which instance to open. Otherwise use the obj-open method

Parameters:-

1. Instance handle
2. Lock
3. Release on commit
4. Lock info page

Obj-Browse method:-

Search through and select instances of a class based on tests of values of exposed
columns.

(or)

It is fetching the data directly from blob. Here we can use where conditions based on the
conditions it is fetching data from blob memory that where conditions, properties must be
the exposed property otherwise it rises the error.

Parameters:-

1. Page name
2. Obj class
3. Max records
4. Read only
5. Logic
6. Label
7. Select
8. Field
9. Condition
10. Value
11. Sort

Obj-Refresh-and-Lock Method:-

 Use this method to assure that the contents of the step page are current and a lock is
held on the corresponding object.
1. If the object is locked and the lock has not expired, this method has no effect.
2. If the object is not locked, this method acquires a lock and if necessary
replaces the step page contents with the current value of an object instance.
 This is useful if you are not certain whether the contents of the step page are current
or whether your requestor session already holds a lock on the page.

Obj-Save Method:-

 Use this method to request that the system save a clipboard page to the pega rules
data base or(if the page belongs to an external class) an external data base.

Page 88
PEGA MATERIAL

 This method uses properties on the page to derive the internal key under which it will
be saved. This method can create a new database instances or over write a previous
instance with that key

Obj-Save-Cancel Method:-

Use this method to cancel the most recent uncommitted obj-save method, so that the
instance is not written as part of a later commit operation. You can also use this method to
undo an obj-delete that has not yet been committed.

Obj-Set-Tickets Method:-

Use this method in an activity to set(turn on)one or more tickets or reset(turn off) one or
more tickets.

Obj-Validate Method:-

Use this method to apply a validation rule (an instance of the rule-obj-validate rule type) for
the object identified on the primary page or step page.

METHODS FOR PERSISTENT INSTANCES(Obj Methods)


Obj-Browse Method:
Use the Obj-Browse method to search instances of one class and copy the entire instances,
or specified properties, to the clipboard as an array of embedded pages.
Only properties exposed as columns can be used as selection criteria. However, values of
properties that are not exposed as columns, including embedded properties, can be
returned.
The Obj-Browse method has five base parameters
Page Name: Enter the name of the destination page to contain search results. The
system uses Code-Pega-List as the class of this page.
ObjClass: Identify a class to search. You can search one concrete class, or all classes
in a class group. Within the PegaRULES database, the class can correspond to a
database table or to a database view.
Max Records: Optional. Enter the maximum number of instances you want returned
in the list at runtime. If left blank, the default value is 10,000.
GetRowKey: Select to include the primary key in the set of property values returned.
Clear to exclude the primary key.
RowKey: Optional. Leave blank unless the class in the ObjClass parameter
corresponds to an external table. Enter the name of a property in the external table,
or an expression involving one or more property names, that specifies the unique
key of rows of the external table.
ReadOnly: Select to mark the embedded pages for the selected instances as read-
only, meaning that later processing by the requestor cannot update or delete data in
the page. Leave unselected if you plan to update the embedded pages.
Logic: Optional. Enter a boolean statement that defines how the rows of the
parameter array are to be combined. Identify rows by the Label field. You can use
the operators AND and OR in this statement, and parentheses for grouping.
Label: Enter a unique letter or identifier for this row, referenced in the Logic field.
Select: Select to return the value of this property on each embedded page. In the
resulting SQL statement at runtime, this property is listed in the SELECT list

Page 89
PEGA MATERIAL

Field: Enter a property reference. You can specify a Single Value property, a list or
group property, or individual elements of a list or group property.
Condition: Select a comparison, such as Is Equal or Is Less Than.
Select Value Only if the search results are to include the property value, but the
property value is not to be used as a selection criterion.
Select Is Null to require that the field a have null value.
Select Is Not Null to require that the field have a value.
If the property is not exposed as a database column, select Value Only.
o Value: Enter a constant value, a property reference or other expression for
the comparison. Leave blank if the Condition is Value Only, Is Null, Is Not Null,
Is True or Is False.
If you enter an expression involving function rules, Java, and properties on various
clipboard pages, then at runtime the expression is evaluated only once.
If you enter a property (that is exposed as a column) that applies to the ObjClass
class, the Value value is evaluated for each row.
o Sort: Select No Sorting, Ascending, or Descending to control the sorting of
results by this field
The below screen shows the Activity for obj-browse method,

Obj-Delete Method:

Use the Obj-Delete method to delete a database instance corresponding to a clipboard page
and optionally to delete the clipboard page too. You can cause the deletion to occur
immediately, or (more commonly) defer deletion until a later execution of a Commit
method.

Page 90
PEGA MATERIAL

This method can operate on objects of both internal classes (corresponding to rows in a
table in the PegaRULES database) and external classes (corresponding to rows in an
external relational database).
This method has two parameters:
· Remove: If selected, the system deletes the page identified in the Step Page column
of this step from your clipboard and marks the corresponding persistent instance for
deletion
· Immediate: If selected, the system deletes the database instance immediately
(commits this deletion).
· To delete the database instance immediately from the database, select this box. If this
box is cleared, the database instance is deleted by the next Commit operation.
These situations cause the method status to be Fail or Warn.
· You cannot delete an instance without locking it first (usually with the Obj-Open
method).
· You cannot delete an instance while it is locked by another requestor
The below screen shows the activity containing obj-delete method,

The clipboard page after running the obj-delete method.

Obj-Filter Method:

Page 91
PEGA MATERIAL

Use the Obj-Filter method to filter the embedded pages of a results page (such as a Code-
Pega-List page produced by the Obj-List, RDB-List, Obj-List-View or Obj-Browse methods)
based on one or more when condition rules.

This method has two required parameters and an array parameter


· Result Class: Select the Applies To key part of one or more when condition rules
(Rule-Obj-When) to be used to test each result. Must match or be an ancestor class of the
class of the embedded pages in the ListPage page.
· When: Complete at least one row of this array, specifying a when condition rule.
· ListPage: Name of the results page, of class Code-Pega-List.
The below is an example for the activity containing obj-filter method.

The result for the above activity is shown in the clip board page below.

Obj-browse and obj-list difference?


A) Obj-methods used to fetch the data from the BLOB columns, but RDB methods can only help to
fetch the data from exposed columns. RDB methods are faster than Obj methods in terms of response
time.

obj-validate and edit-validate?


A) Obj-validate is used to run validate rules on set of properties and representing user input.
edit-validate is used to test the user inputs.

Obj-ListView Method:
Use the Obj-List-View method to execute the retrieval and sorting operations, but not the
formatting and display processing, of a list view rule.
· ObjClass: Select the Applies To key part of a list view rule. This may identify an
internal class or class group, or an external class.
· ListView: Select the Purpose key part of a list view rule
· Owner: Select the Owner key part of a list view rule

Page 92
PEGA MATERIAL

The system uses rule resolution to find the list view rule and executes it, but does not
produce any HTML output display. The selection criteria of the list view rule and the sorting
requirements The database results are organized into a results page of class Code-Pega-
List. The name of this page is determined by the Content Page Name field on the Content
tab of the List View form, (The Step Page field on the step is ignored.)

Obj-Open Method:
Use the Obj-Open method to open an instance stored in the PegaRULES database or in an
external database linked to an external class, and save it as a clipboard page.

This method has four base parameters plus an array of property names and values.

OpenClass: Optional. Identify the concrete class of the instance to be opened.


Lock: Select this box to acquire a lock. Lock the instance if you plan to change and save the
instance or delete it.
ReleaseOnCommit: Select this box if you selected the Lock box and want the system to
release the lock when the next Commit method occurs for this instance.
LockInfoPage: Optional. As a debugging aid, identify the name of a page to be created by
this method to hold the results of the locking attempt, when it fails.
PropertyName: Enter in this array the name of each property or properties and the
associated values that together make up the key of the instance to be opened. Type a
period before the property name. Enter at least one property name.
PropertyValue: For the value, specify either a literal value or a property reference.

Page 93
PEGA MATERIAL

Obj-Validate Method:
Use this method to apply a validate rule (Rule-Obj-Validate rule type) for the object
identified on the primary page or step page.

This method has two parameters:

Validate: Enter the second key part of a validate rule to apply.


Override class: Optional. Enter the name of a class where rule resolution will begin
searching for the Validate rule.
The below screen shows an activity with obj-validate method, and the clip board page
containing the validation message.

Page 94
PEGA MATERIAL

Obj-Sort Method:

Use this method to sort the clipboard pages that are the values of a property of mode Page
List. You can specify one or more properties to sort on, and whether the sort sequence is
ascending or descending for each sort level.

· PageListProperty: Enter a property reference that identifies a target property of mode


Page List to be sorted.
· Class: Identify the class of the pages within the Page List property
· SortProperty: Identify in rows of this array a property reference (starting with a period
or a page name) on each page of the Page List property that is the basis of sorting. Each
property reference most identify a Single Value mode property or a single text string.

· Descending: Select to cause the method to sort in descending order for the property.
Clear the box to sort in ascending order

Obj-Save Method:

Page 95
PEGA MATERIAL

Use this method to request that the system save a clipboard page to the PegaRULES
database or (if the page belongs to an external class) an external database.
The Obj-Save method uses properties on the page to derive the internal key under which it
will be saved. This method can create a new database instance or overwrite a previous
instance with that key.
This method has two parameters:
· WriteNow: Normally, leave this box cleared.
Select the box to cause the system to write this page's data to the database as this method
executes. If selected, when the activity executes, the system performs an immediate write-
through (database commit) of the page to the database.
Clear the WriteNow checkbox in any activity of type Trigger, Utility, Notify, Assign, or
Route, and in situations where you want to mark a page to be saved, but want the system
to perform the database commit later.
· WithErrors: Select this box if the instance is to be saved even when it contains
messages, indicating validation errors.
These situations cause the method status to be Fail or Warn:
§ You cannot save a page that is locked by another requestor.

§ You cannot save a page that your session does not hold a lock on (if the page belongs to a
lockable class), unless the object is new, never yet saved.

§ You cannot save pages of any class derived from the Code- base class or the Embed- base
class. Such pages exist only on the clipboard.

The below screen containing activity is an example for obj-save method, This activity when
run saves the Test_ObjBrowse page to the PRPC data base.

Obj-Save-Cancel Method:
Use this method to cancel the most recent uncommitted Obj-Save method, so that the
instance is not written as part of a later Commit operation. You can also use this method to
undo an Obj-Delete that has not yet been committed.
The page identified in the most recent Obj-Save or Obj-Delete method is removed from the
set of pages pending a Commit method. When a later Commit method executes, this page is
not included in those committed.

The below screen contains the activity for obj-save-cancel method, it cancels save of the
page saved by Obj-save method in step 3.

Page-Clear-Messages Method:-

Use this method to remove all property messages and all page messages from the page
identified in the step page column of the current step.

Page-Copy Method:-

 Use this method to copy the contents of a source clipboard page to a new or previously
crated destination clipboard page. The source page is not altered.

Page 96
PEGA MATERIAL

 After this method completes, the destination page contains properties copied from the
source page and may contain additional properties from the model.

Page-New Method:-

 Use this method to create a page on the clipboard


 The new page may be a top-level page or an embed page
 You can identify a model to initialize the newly created page. The model can set values
for one or more properties.

Page-Remove Method:-

Use this method to delete one or more pages from the clipboard. The contents of the
database are not affected.

Page-Set –Messages Method:-

 Use this method to add message to clipboard page.


 Like a message associated with a property, a message associated with a page
normally prevents the page from being saved into the database

Property-Map-Decision Tree Method:-

Use this method to evaluate a decision tree rule(rule-declare-decision tree rule type) and
store the result as the value of the property.

 In the diagram tab of a flow rule,the decission shape can reference a decision tree
rule.

Parameters:-

1. Property name
2. Decision tree name
3. Input
4. Allowing missing properties

Property-Map-Decision Table method:-

Use this method to evaluate a decision table rule and save the result as the value of a
property.

Property-Map-Value method:-

 This method evaluates a one-dimensional map value(rule-obj-map value rule


type)defined in the parameter. The method sets the results as a value for a single
value property.
 A decision shape can reference a map value rule.
 The related method property map value pair works similarly for two-dimensional map
values

Page 97
PEGA MATERIAL

Parameters:-

1. Property name
2. Map name
3. Row input
4. Allow missing properties

Property-Map-Value pair method:-

This method evaluates a two-dimensional map value rule identified in the parameters. It
sets the value that results into a specified property.

Property-Seek-Value method:-

Use this method to initiate backward chaining computations the value of a property based
on declare expression rules.

Property-Set-method:-

Use this method to set the value of one or more specified properties

Property-Validate-method:-

Use this method in an activity to ensure that a property value meets certain requirements
including :

1. Checking performed by an edit validate rule(rule-edit-validate rule type)


2. A requirement that a property have a non-null value

RDB-List method:-

Use this method to retrieves rows from an external relation database and place the results
as embedded pages in a specified step page of class code-pega-list.

RDB-Open method:-

Use this method to retrieve a single row(record) of data from an external relational data
base and add the retrieved data into a specified clipboard page as property names and
values.

RDB-Save method:-

Use this method to save the contents of a clipboard page into a row of relational database.
The system saves the properties on the specified step page to the specified table in the
database.

Roll back method:-

Page 98
PEGA MATERIAL

Use this method to cancel or withdraw any previous uncommitted changes to the pega rule
database (and to external databases accessed from an external class)from the current
thread.All pending obj-save and obj-delete methods are cancelled.

Show-Page method:-

Use this method to send an XML representation of the step page to a user’s internet
explorer browser session as an aid to debugging.

Wait method:-

Use this method to a pause a thread for a specified time interval. This method causes the
current thread to wait a specified time interval (at least)before continuing with activity
processing.

Debugging Tools

Debugging Tools are 3 types they are

1.Clipboard 2.Tracer 3.UI Inspector

Requestor:-

 A person or process authenticating into process commanter called as Requestor.


Ex:-guest user, an operator or an external system
 Each requestor is allocated their own clipboard upon authentication.

Clipboard:-

 Clipboard is reserved memory on the server, not the client


 Each requestor has access to an individual clipboard that contain pages. Which
contains of property name/value pairs.
 This tool is used to view the contents of your clipboard as learning or debugging
 Used to create, update, delete and modify pages using action menu
 Quickly start activities and flow using the action menu.

What are Clipboard pages?

There are mainly two types of clipboard pages they are

1. User pages
2. Data pages
3. System managed pages
including the requestor page, process page, application page, thread page, operator
ID, organization, org division and org unit
 Use the performance tool to know the size of the clipboard in bytes.

Page 99
PEGA MATERIAL

 Pywork page contains the information about current work object.

User pages:-

A user page is a top level clipboard page, than an activity creates using any of several
methods such as page-new method.

Requestor page:-

The class for the page is code-pega-requestor

 The Px requestor page is a named top level clipboard page.


 The system creates these pages at during at login.
 The page contains information about your access roles, Ruleset list and HTTP Protocol
parameters.

Process page:-

 The Px process page is a reserved top-level clipboard page known as the process
page.
 This page has a class of code-pega-process
 This page contains the information from the data-admin-system instant
 The contents of this page are identical for every requestor on a mode.
Ex:-Px system node property identifies the server host name

Thread page:-

 Pega rules thread object is a named context of clipboard pages.


 The Px thread page is a named top level clipboard page sometimes referred to as the
thread page.
 Most processing for a requestor is single threaded
 The class for the page is code-pega-thread

Embedded page:-

 It is a clipboard page that has the values of a property of mode page.


 Any page on the clipboard that is not a top-level page is an embedded page.

Action menu in clipboard:-

1. It supports : create, update and delete the page


2. It supports : To start a flow and execute activity etc…

Thread Action Legend


Page 100
PEGA MATERIAL

1. Refresh
2. Refresh current page
3. Find
4. Create page
5. Update page
6. Delete page
7. Execute activity
8. Save page
9. Start flow
10. Analyze clipboard
11. Collect details

Tracer

 Which is used to trace out activity details to find errors.


 Tracer and Trace open rules are available
a. Trace open rule is used to trace only our activity which is currently running
b. Tracer is used to trace all the activities which are all running in that server
currents
 Tracer tool is used the debugging flows, activities, including step-by-step execution,
break points and watch variables.
 Type the keyword shortcut CTRL+T

ButtonFunction

Connection Choose a requestor session other than your


own.wait

few seconds until tracer connects

Options select which Rulesets rules and events are to


be traced.

Break points set or change break points

Watch set or change watch variables

Save save tracer output on the work station as an


excel CSV

Or XML File

Page 101
PEGA MATERIAL

Abbreviate After clicking play select to reduce the amount


of clip

Events? Board detail retained for each tracer row

Clear Erase the displayed events

Pause Pause the session being traced at the next


possible

Moment

Continue resume processing after a pause button


click or after

a break point event. appears only after


a pause

Save Save the tracer results in the current


windows into a

Text file in comma-separated values


format or as

More detailed XML file.

UI Inspector:-

UI Inspector tool provides a quick and interactive way for you to identify and inspect a
forms underlying harness, section, flow action, styles and property rules as well as the
associated HTML and property dependency network.

Reports

 Rule types in the reports category define reports, that support the monitor activity
work space, the explorer tools and other facilitys.
 This category includes 3 rule types they are
1. List views
2. Summery view
3. Report definition
 Any developer can create and maintain these 3 rule types.
 Manager who creates the reports using Report Wizard and also indirectly creates
these type of rules
 Manager can define reports in 4 categories
1. general work objects
2. covering work objects
3. assignments
4. work object history
 Developers can define reports on any concrete class derived from the Assign-, data-,
history-, index-, log-, rule- or system- base classes

Page 102
PEGA MATERIAL

List view:-

 A list view rule is an instance of the rule-obj-list view rule type. list view defines a
report.
 Users can personalize list view reports easily and interact with them
 In an activity the obj-list-view method can execute a list view rule to provide searching
and sorting with no display
 Both developer and manager can create and update list view rules.
 List reports display lists of data that match the selection criteria
 Get content activity will use to get the results from the data tab

Summery View:-

 Summery view presents the summarized data that matches the selection criteria as an
aggregate
 In summery views, we have Drill down option for individual records to expand the
selected work item in the summery report.
 Interactive charts display the data from a summery report as a pie, bar, column, area,
or line chart
 Reports are implemented can display for manager and users as they requested.

Report Definition:-

 Use report definition to generate reports.


 This rule generates a SQL query against the PRPC database or an external database or
against the search index and generates HTML that displays the query results in a
wide variety of formats.
 Users can have the options of a range of users interactions with the displayed results,
depending on the setting on the report viewer tab.
 Reports are implemented through list view, summery view and report definition rules
which the report wizard generates for you.
 If you have a system administrator access role we can share the reports.
 If you want to generate the reports by using the data from two or more tables we
need to join those tables by using a unique key into a single rule.
 In list view, summery views, we have a joined tab to combined two or more tables.
 If we want join, two or more tables in report definition we have to use Data Access
tab.
 Report definitions will refer in activities by using pre retrieve report data activity.
 You can display the results of a report definition rule in a grid layout with in a section,
flow action or harness.

Case Management

 A work object is the primary unit of work completion in an application and the primary
collection of the data that a flow operates on. As an application is used work objects
are created, updated and eventual closed(resolved)
 Every work object has a unique ID (property pyID) an urgency val status (property py
status work) and that contains the default prefix “W-?

Page 103
PEGA MATERIAL

 Work object ID will create automatically as a work object is created .The standard
utility activity named work-generate ID uses the standard properties py work ID
prefix and py work ID suffix in its computations. The work object ID is required to
contain either a prefix or suffix. For example, the prefix of work object Q-143 is Q.
the prefix of work object MORT-763-K4 is MORT. The suffix of work object MORT-
763-K4 is K4
 The work-base class, one of thirteen standard top level abstract classes, is a super
class to all the classes that define work objects. A work object is the fundamental
unit that records processed work in an application.
 Ordinary work objects typically belonging to the class derived from the standard
abstract class work –object-.
 A cover object is also a work object in an concrete class that inherits from work-cover-
. A cover object can consists of many work objects and those work objects are
inherited from work-object-class and those work objects are known as covered work
objects and the work objects derived from work-cover- is known as the cover work
object.
 A cover work object provides a means to cordinate processing of related work objects.
By default, the system prevents the resolution of a cover work object unless all of
its “member” covered work objects are resolved.
 cover work object will maintain the parent child relation ship and those cover objects
will contain the prefie ID as “C-“
 covers are used to maintain the parent child relation ship. For example if there is a
necessity of resolving five work objects to process a request , then we use the
concept of covers and covered work objects. The class that is derived from the work-
cover- is known as the cover work objectand the five work objects related to that
cover object are known as the covered work objects. In cover if the covered objects
are resolved than the cover objects get resolved automatically.
 A folder object is a work object in an concrete class that inherits from the work –
folder-.
 A folder object holds a collection of one or more other work objects which themselves
may be basic work objects other folders and cover objects. Folder objects will have
prefix ID as “F-‘’
 The main purpose of folder is to maintain the parent child relationship b/w the folders,
covers and covered work objects. For example if we have five work objects that are
dependent on each other then we use the concepts of covers and if those work
objects are independent than we use the concept of folders. The folders can contain
the folders, cover objects are covered objects and those all work objects can be
created processed and resolved in the cover itself.
 In process commander work objectscapture and process evolving information about
individual units of work.
 Covers are intended to coordinate processing on multiple distinct but closely related
work objects.
 Folders provide a structure for more loosely associating multiple related work objects
 The main differences are:-
1. Covers can be resolved automatically when all their constituent (“members’’)
work objects are resolved.

Page 104
PEGA MATERIAL

2. A standard harness rule is available that displays a cover and lists its member
work objects.
3. Folders offer a vehicle for keeping track of one or more commonalities among
otherwise disparate work objects.
4. One work object may be associated with multiple folders, but only with one
cover.
5. Members of a folder can belongs to different work types which need not
belong all in single work pool.
6. The relation b/w folder work object and their content may be many-to-many.
 Relationship b/w work object, covers and folders

Work object Cover

Folder

 Work object from the cover itself the work objects that are related to the cover are
known as covered work Object.
 These covered work objects are created, processed and resolved with in the cover
itself. from the cover we can go to any work object that is covered work object
associated with the cover object and we can create process and resolve it. In case of
the covers, when all the work objects associated with the cover object get resolved
that is the when all the covered objects are resolved then the cover objects will be
resolved automatically.
 Steps for creating a folder objects:-
1. Create a class group and it is derived from the work-.
2. Create a work type in the class group and the work type belongs to the class
group and name that work type as folder that inherits from work-folder-.
3. Create a flow for generating folder objects named as folder.
4. While creating the folder object there is an option called view folder contents
and by this we can view the folder contents, create the work object and also
we can add the work objects, covers and folders to the current folders.
5. Now we can resolve current folder based on the flow designed.
 Steps for creating cover objects:-
1. Create a concrete class named cover that inherits from work-cover-.
2. This class should belong to a class group which is derived from the work-.
3. Create a basic flow for generating the cover object named Co
4. If the cover object is created then it will ask to create any work object
associated in it. Here the work object name is work object that is associated
with cover.

Page 105
PEGA MATERIAL

5. When all the work objects are resolved then the cover object get resolved
automatically.
 Steps for creating covered work objects:-
1. Create a concrete class named work object that is derived from work-object-.
2. Create a basic flow for generating the work object. Named work object.
3. Mention the name of the cover class in the process tab of work object flow
named work object.
4. Then execute the flow. So that the work object is created by executing the
flow.
5. Hence the work object is processed and resolved.

work object locking:-

 The purpose of locking items before making changes is to prevent data loss. Locking
may be more important in some situations than in others.
 work object locking is mainly used to prevent others to open the same work object and
to prevent them from make the changes.
 A process commander requestor can lock an open instance if the instance belong to a
class that has allow locking?. Selected in the class rule and it has ever been saved
and committed to the pega rules database. Locks are retained until a canmid method
occurs.

Keys Locks History

Lock definition

Lock name lock caption

locking

allow locking?

locking
 To view object locks held by your own requestor session, select
view>system>locks>my locks.

Case management: Access Groups, Work group, Work pool ,Work list, Work basket

1. Define access group and its functionality?

Page 106

Allow locking ?
PEGA MATERIAL

Access Group controls the security basing on the job functions.

It is instance of Data-Admin-Operator-AccessGroup.

Access Group determines which applications and which parts of those applications
a user can access.

1. Work pool – what are all work pools the user can have

2. Application --- Rulesets – What are all the Rulesets the user can access

3. Portal -- What access portal the user can see

4. Access Role --- What access role the user can have

Various aspects that can be controlled through access group are

a) default and available types of works( also called as work pools )

b) Primary Rulesets ( Access Control to Rulesets)

c) Assigned roles

d) Portal layout

e) Default Ruleset for making changes ( Default Ruleset whenever the user creates/
saves as the rule

2. Define Work group and its functionality?

A work group is an instance of the Data-Admin-WorkGroup class.

A work group can identify a user who is a supervisor, and a set of workers and workbaskets
that report to that supervisor.For the supervisor of a work group, the My Group area of the
Process Work space provides quick access to the worklists and workbaskets associated with
the group.

3. What is the difference between Work group and Access Group?

A work group is an instance of the Data-Admin-WorkGroup class. A work group can identify
a user who is a supervisor, together with a set of workers and workbaskets that report to
that supervisor.

Page 107
PEGA MATERIAL

An access group is an instance of the Data-Admin-Operator-AccessGroup class. Access


groups make a set of Ruleset versions available to requestors.

Developers define access groups and associate an access group with each user (each Data-
Admin-Operator-ID instance). Typically, multiple users are associated with or belong to one
access group.

The access group associated with a user affects access control by determining:

· The portal layout that a user sees first after logging in.

· The local customization Ruleset name and Ruleset version. These usually are defaulted
whenever

this user creates a new rule instance.

· The application rule for this user.

· Optionally, the access roles available to this user.

4. What is a Work basket and its functionality?

It is an instance of the Data-Admin-WorkBasket class.

It is a queue of open assignments that are not associated with an operator.A workbasket
can be linked to an organization unit, a work group, and a calendar.

5. How to associate an Operator with a workbasket?

In a work group, we can associate an operator with a manager and a work basket.

6. What is a Work Pool?

The work pool for a user is the set of all the work objects (open and resolved) of all the
Work- classes that a user can enter (in one application).

Generally work pool is Class Group specified in Access Group…. is from developer
prospective.

Class groups are commonly used to cause the system to store instances of similar or
related work object concrete classes together in one relational database table. This is known
as a work pool. Work pools are referenced in access group instances

Page 108
PEGA MATERIAL

Class Groups generally mapped to pc_work table. We can use our own table also similar to
pc_work for the clas groups.

7. What is a Work List?

It is a list of open, outstanding (not complete) assignments assigned for a user to perform.

8. What are access roles and how they work at run time? Can we create our own Access
Roles? If yes, explain with an example.

An access role is an instance of the Rule-Access-Role-Name class .And it is defined as


having certain class access rights. A user can have one or more access roles , which are
listed in Access Groups.

Use an access role name to convey permissions (capabilities) to a user or a group of users.
Access roles can be referenced in requestor instances, Operator ID instances, in access
group instances, in activities, and in queries.

At log in, the system assembles a set of roles for a user based on information in a user's
requestor instance, Operator ID instance, and the associated access group instance.

Access roles influence which classes a user can view, update, delete, and so on through the
Access of Role to Object and Access Deny rule types.

Example. Create an instance of Rule-Access-Role-Name. To grant access to a user for a


particular class create an instance of Rule-Access-Role-Obj.

For each of the eight categories in the array, you can enter an Access When rule name, or a
numeric value between 1 and 5.

If at runtime, the production level of your Process Commander system is not greater than
the numeric value, then users with the specified access role can perform the operation (on
objects of that class). If an Access When rule evaluates to True at runtime, the users with
the specified access role can perform the operation.Production level is set in Data-Admin-
System.

9. What is Privilege ?

A privilege allows a user with a particular with a particular role to execute certain
application functions. associated with Access roles

Page 109
PEGA MATERIAL

10. What is a portal and how can it be customized for different users?

The Process Commander portals support two user communities:

· The Developer portal provides an integrated work, test, and development environment to
support application developers. Customization of the Developer portal is typically not
necessary and ordinarily limited to menus and skins.

· User portals support managers and users of applications workers, as they enter, update,
and resolve work objects. User portals may be customized to reflect the terminology,
layout, facilities and styles appropriate to each user community.

This Developer portal provides quick access to dozens of tools, wizards, reports, and other
capabilities.

The appearance and function of our Process Commander portal depends on information in
our access group which references a portal rule (Rule-Portal rule type)

We can create our own portals and define new gadgets (instances of Data-Gadget).

Data-Gadget contains simple HTML rules.. We can change the Pega Logo as well.

Performance Tools

When do you evaluate performance?

1. During Development :
1. Accomplished by system architects
2. Common tools used
 Forms
 Preflight
 PAL
 My alerts

2.During QA/UAT:

1. Accomplished by testers, specific users and others


2. Common process commander tools used
 Logs(including log analyzer and java garbage collection logs)
 System management applications(SMA)

3.In production:

Accomplished by system architects, project leads or other designed to accomplish this

Forms:-

 Warning ICON shown at the top of the form and in the header
 Warning Text shown at the bottom of the form
 Warning should be needed and fixed.

Page 110
PEGA MATERIAL

1. May not be a problem at first but will cause a problem eventually.

Pre fight:-

 A tool which informs the developer of the following


1. Rule warnings
 Custom java, HTML, java script etc
2. Performance warning
 Columns compatibility
3. Browser compatibility
 Check individual HTML rules(harness, section, flow, action etc)to
evaluate which are compatible with internet explorer(6+) and fire
fox(2+) google chrome and which are not
4. Accessibility
 Check individual HTML rules to evaluate which areeasily accessible
from the web.
 Warning by the rule type
Slider bar allows you to focus on fewer or more rules in summery view.
 Open the tool
Pega button application tools pre flight

Count of rules with warning displayed graphically

Click on hyperlink at bottom for custom warning reports.

 Click on individual item to see actual warning.

Performance Analysis(PAL)

1. Built in tool used to identify resource usage in an application


 Elapsed time detail
1. total elapsed system server time
2.time spent loading rules(rule I/O)
 Counts
1.rules requested from data base or cache
2.total number of rules used

2.Always running-can’t be disabled

 Designed to be extremely “light weight”


 Minimal impact on application performance.

3.Open the PAL

Pega button system performance PAL

 Tools will be displayed with total for session and initial reading.

Page 111
PEGA MATERIAL

 You can clear the data by clicking on reset button.


 DELTA shows the changes from previous step
 Continue interaction and adding reading
 You can evaluate by downloading CSV File and modify the spread sheet by adding
work object task names

PAL Database tree Performance profile

Add Reading Add reading with clipboard size

Full 26 26 56.53 3.24 2.85 17 1,815,835

Int Int Total PA rule I/O-------------------- alert total bytes

# comt elapsed elapsed elapsed comt

My Alerts Int 26 26 56.53 3.24


Reset data 2.85 Save data17 1,815,835
 Alerts summarized from alert log
 Open the my alerts window(run my alert)

L S ---- Q
Run process

Open portal

Rules inspector

performance

My alerts

Alert codes

 Many alert codes have been created to point out performance issues
1. Document in “alert guide 5.4”available on PDN
 Most serious alerts are :
1. Any alert which is respectively pointing out the same rule
2. Particular alerts (even one of this can serious)
 PEGA0004-SQL Queries are inefficient
 PEGA0017 –Rule caches are too small
 PEGA0025-Required DB data not Exposed ( BLOB being Accessed
 PEGA0026-Time to acquire DB connection too long
 PEGA0027-Too many rows are beg returned from DB

Page 112
PEGA MATERIAL

 PEGA 0028-Java garbage collection not achieving desired results


SLA
What is SLA?
 A service level rule is an instance of the rule-obj-service level type.
 Each service level rule defines one to three time intervals known as goals, deadlines
and late intervalsthat indicate the expected or targeted turn around time for the
assignment or time-to-resolve for the work object
 A developer can associate service level rules with assignments in a flow and with the
entire flow.
 The pega-procom agent detects service levels not achieved-unmet goals or deadlines-
promptly.
 If an assignment is not completed before the time limit, the system can automatically
notify one or more parties, escalate the assignment, cancel the entire flow and so on

Integration
 Mainly we have two types of integration rules, they are
1.services
2.connectors
 Services are interfaces from other system to PRPC. Standard services that come in
with PRPC are
1. Rule-service-COM
2. Rule-service-CORBA
3. Rule-service-DOTNET
4. Rule-service-EJB
5. Rule-service-EMAIL
6. Rule-service-JMS
7. Rule-service-JSR94
8. Rule-service-MQ
 Connectors are interfaces from PRPC to other systems. Standard connectors that come
in with PRPC are
1. Rule-Connect-ejb
2. Rule-Connect-dot net
3. Rule-Connect-SQL
4. Rule-Connect-java
5. Rule-Connect-JMS
6. Rule-Connect-SOAP
7. Rule-Connect-MQ
Services:-
 A service receives input from an external system and can respond in some way. For
example, a service can reply with data that the external system requested and it can
process the incoming data to determine that it needs to create a work object and
initiate a work flow.
 The following is a high-level description of how a service works

Page 113
PEGA MATERIAL

1. An external client or system assembles and delivers a message or request to


a process commander service. the message identifies the service package
that contains the service rule or method to invoke.
2. The service package locates a service rule
3. The service rule, in turn, invokes the appropriate rules to map the incoming
parameters to process commander properties.
4. The service rule invokes an activity. the activity process the input.
5. Properties and completes the task of the services. As mentioned, perhaps, the
service extracts data from the process commander. The data mapping for the
service rule then maps appropriate values into output properties.
6. The service assembles a response message from the output properties and
sends the response.

External system or client


Request response

Process
Service package
commander
Service rule

property property
clipboard

Service activity

SOAP:-service rule provides web service to SOAP(simple object access protocol)clients.

Service Package:-

 A service begins with a service package data object .


 A service package is similar to a container class.

Page 114
PEGA MATERIAL

 A service package represents the service as an application and the service rules
represents individual functions or methods in that application
1. Instance of data-admin-service package.
2. Our SOAP service rules are placed in this page.
 The service package has global configuration settings for all the services that belong to
it:
1. The access group that the service rules use when they rule as
unauthenticated users. The service rules must belong to one of the Rulesets
listed in the access group.
2. Whether the services must run as authenticated users if so,the incoming
message from the external client applications must include the name and
password of a valid process commander operator.
3. Configuration information about the requestor pool when the service rules run
as unauthenticated users and session state is stateless.
4. Whether the service is state less or not.
 If the service is state full specify whether to keep the requestor session open and
when to close it in the service rule
 If the service is state less, the end requestor option in the service rule does not apply.

Service Rule:-

 The service itself is defined by an instance of the appropriate rule-service-


subclass.
 The service rule handles the details for this kind of request, that is the service
rule maps the input parameters into clipboard properties and then calls an
activity to process the request.
 The service rule holds the following types of information
1. Class of the primary clipboard page that the service uses.
2. Name of the primary clipboard page that the service uses
3. Name of the service activity.
4. Information about whether to keep the requestor session open or to close
it after the service rule is finished
5. Information about recognizing and reporting exceptions
6. The list of input and output parameters, their data types, and how their
values are mapped to and from clipboard pages.
1. A service rule has three key parts:
1. Name of the service package. The service package must exist before, you can
create the service rule.
2. Name of the service class. The name is a string; it is not an instance of rule-
obj-class.the service package name and service class name are used to group
service rules.
3. Name of the service method. This name is a string; it is not an instance of
rule-method. The service method name describes what the service rule does.
This is only key for an email service rule.

Page 115
PEGA MATERIAL

4. An incoming message must identify the service by specifying all three parts of
the name(package, class and method) in the message.
 A service activity evaluates the property values that are stored on clipboard pages and
takes an action. When creating a service rule, designate the service activity by
entering its name in the activity name fields on the service tab of the service rule.

Connectors:-
 Connectors are the mechanism that process commander uses to send messages to or
make requests of external systems and then process the results or response.
 The following is a high level description of how connectors work:
1. A work object triggers an integrator task in a flow.
2. The integrator task calls the connector activity and passes it the appropriate
properties from the clipboard.
3. The activity calls the connector.
4. The connector assembles and sends a message or request to the external
system.
5. The external system replies to the connector with the data the connector
requested.
6. The connector receives the reply, process it, and places the data ads property
value pairs on the clipboard. The connector then returns control to the
integrator task and the flow resumes.

Process commander

Integrator Task

page
Activity
clip board

Page
Connect rule

Request response

External service

SOAP:-SOAP connectors are SOAP(simple object access protocol) clients that call web
services.

SQL:-SQL connectors send complex SQL statements to an external data base.

Page 116
PEGA MATERIAL

JMS:-JMS connector send request message to an external system and process response
through an intermediate service that hosts java message service middle ware.

 The connector activity is the mechanism that starts the connect a method in the
activity calls the connector rule.
For example:- If the connector is a SOAP connector, the activity uses the connect-
SOAP method to call the connector rule.
 The connector itself is defined by an instance of a rule-connect-* rule. The connector
rule types encapsulate the appropriate logic for communicating with a service of that
type.
For example:- a SOAP connector holds the URL of the SOAP server. An EJB
connector holds information about the EJB container that holds the bean and which
of the bean’s jar methods to use.
 The connector rule holds the following kinds of information:
1. The Ruleset
2. The number and types of output &input parameters.
3. Whether the system communicates with accepts requests from authenticated
users only, and, if so, the user name and password the connector is to use.
For example:-if the request is sent via HTTP(HTTP,SOAP and dot net connectors), the
connectors rule specifies session and time-out information.
 Write the exception of the SQL connector, a connector rule has two key parts:
1. Name of the class rule it applies to
2. Service name, which holds the name of the external service or method that it
connects to.
Connect SQL:-
 Connect SQL rules are instance of the rule-connect-SQL class.
 They belongs to the integration-connectors category. Connect SQL rules are used
when the application needs. To run complex structured query language statements
such as join or stored procedures to update or extract information from an external
database.
 To configure an SQL connection to an external database, use the following elements
along with the connect-SQL rule:
1. An activity that references one or more of four standard methods for
operating on relational database-RDA-Open,RDB-List,RDB-Delete and RDB-
Save. The names of the method matches the names of the tab in the
connector rule. An activity that uses RDB-Open to call a connector rule runs
the SQL statement on that connectors open tab.

2. A database instance and one or more database tables instances that provide
access to the tables or views of the external database.
3. A JDBC library that provides access to the external database software.
4. Special data mapping syntax to associate properties with database columns.
 There are two types of HTTP Method is GET and POST. “GET” is basically for just
getting data where as “POST” may involve anything like storing or updating data or

Page 117
PEGA MATERIAL

ordering a product, sending E-mail. A connect HTTP is created which is inherited


from integration –connectors.

Service tab:-used to identify the external system with which this connectors rule
communicates.

Endpoint URL:- enter the URL of the external system to which this rule connects.

HTTP Method:- select which HTTP method to use to send the string: GET or POST.

Request only:-when the HTTP method is set to POST, select to indicate that process
commander is to send the message and close the connection without waiting for a
response.

File Listener

 A file listener monitors the file directly and calls the file service when files arrive.
 The file service uses a pass rule (XML, structure or delimited) to open and read the
file, evaluate each input record, divide the records into fields , and then write the
fields to the clipboard.
 The service activity can then process the data-pass the data to another rule, or start a
flow and create a work object based on the data .
 Both the file listener and the file service have a part in processing files.
 When the listeners starts, it creates subdirectories in the file directory it is monitoring.
 When the file that matches the pattern the listener is listening for arrive, the listener
moves the files into a subdirectory named work_<name of listener> and calls the file
service.
 When the file services finishes processing the file, the listener either deletes the file or
moves it to the work_<name of listener> completed subdirectory, depending on how
the listener is configured. The listener also creates a reports subdirectory to hold
report files that contain the results of the processing.

How to setup a file service(and file listener)

 Use the file listener form in conjuction with service file rules to import data from a file
or files into your process commander system .
 Use the rules by type explorer to review or create file listener data instance, or click
the file listeners link on the resources area of the integration slice. As an alternative
to updating this forms directly, you can create a file listener data instance through
the service accelerator.
 The Data-Admin-connect-filelistener class contains the file listener data instance. This
class is part of the integration-resources category.
 Use file services to read in and process the data in files. The data files may be
exported from another system or created by users as text files in any of a wide
variety of formats. Before setting up a file service, determine the following.

Page 118
PEGA MATERIAL

1. The target directory, that is the location of the files to be processed.


2. How the listener identifies the file-should it process every file it finds, only
those files with a specific files extension or some other distinguishing
characteristics and so an.
3. How the files are arranged is there one record in each file or multiple records
in each file, what is the data structure of the records and so on.

Note:-verify that it has access rights, because the listener moves and sometimes renames
files, the process commander server must have read and write access to the file system
where the input files arrive. Verify that it has these access rights.

Create the file listener:-

 The file service must exist before you can create the file listener verify that the service
rule exists, and then complete the following steps:
1. From the integration page , under resources, select file listeners. Then click
new.
2. In the new form, enter a descriptive name for the listener.
3. In the file listener form, on the properties tabidentify the locations of the files.
Remember that process commander needs read and write access to the
directory you specify. If files of various types are located in the directory and
the listener should not call the service to process all of them, specify selection
criteria with the source name mask field. For example:- if you enter “*.xml”
the listener notifies the service about files with.xml extensions only.
4. Specify the file Servicesrule that the listener route the files to in the service
package, service class, and service method fields. Set concurrent threads to
one and run the listener on a single node only, unless multiple qualifying
input files are available at one time(each thread operates on a single file).
5. If the file listener and service must run as an authenticated requestor, specify
the credential of a valid operator in the user ID and password fields.
6. On the process tab specify how frequently the listener the listener should
check the directory for files, in seconds.
7. Use the reporting section if you want to keep a record of the results from the
file service processing. For example:-perhaps you’d like to keep a record of
the IDs of the work object created from the processed files. Specify the page
and property where the information is located in the source page name and
source property fields.

properties1. Process error history

Listener nodes

Node name
C: temp files
Page 119
Listener properties: source location

Source name mask


PEGA MATERIAL

*,xml
1
Claim files samples
File claim class

File claim method

Requestor login

User ID Password

Diagnostics

Remote host port

STARTUP STATUS

Blocked

Properties Process error history

General

Polling interval(seconds) 60

Ignore duplicate file names?

Lock temporary file names?

Reporting

Generate report file?


Py work page
Source page name

Source property Py ID
Page 120
Target file extension
rpt
Persist log-service-file instance?
PEGA MATERIAL

8.optimal on the error tab, specify how many times the file listener and service should
attempt to process the same file if there are processing errors and what to do with files that
cannot be processed.

Save the listener and then returns to the properties tab. Click test connectivity. Do not
continue to the next task until you see a success message similar to this one:

Tests connectivity for data-admin-connect-file listener. Claim file


sample listener

Overall request

Good

Connectivity test successful

List of steps

Step result

Access source location success

Components tested

Description value

Location c: temp files

Page 121
PEGA MATERIAL

Start the listener:Open the system management application (tools>system management)


and select the node on which the file listener should run . then go to the listener
management page. Click in the list of available listeners, select the listener you just created
and click start. when the l istener starts,it creates subdirectories like these in the directory
it is monitor
Temp files

Report

Work _claim file sample listener

folder completed

Test the file service:-

When you finish creating file service and you have started new listeners, test the
configuration as follows

1. Open the file service rule


2. Select run>trace open file
3. Put a file in the input directory and wait for the listener, wake up and check the
directory.
4. Watch the tracer as it adds new rows of information.
5. Examine the results and verify that the file service worked the way you expected it
to.

Agents

What is agent?
 An agent is an internal background process operating on the server that runs activities
on a periodic/recurring basics.
 These agents can be used to update or route the assignments according to rules in the
application.
 Agent can be used to send email notification, correspondence.
 Agents are used to perform the task on periodic/recurring basis.

Page 122
PEGA MATERIAL

Ex: create set of reports every 15 days. Then activities which generates these
reports are called from agents by setting period for it.

How to create agent?

 Determine the Ruleset where this new agent can be saved. for a Ruleset only one
agent rule can be present.

Steps:-

1. Agents belongs to sys admin category. Right click on agents and click new

Create new sys admin agent

2. In the new form we have to enter Ruleset name for which this agent will be
defined and version of the Ruleset.
3. Enter the agent activity name, class name and pattern type along with the
details below.

Scheduled agents

agentname
Agent name pattern interval (sec) mode enable

periodic enable
30 standard

recurring advanced legacy

class activity name params max records auto qu


param magement
s

Pattern types in agent:-

There are two types of pattern:

1. Periodic
2. Recurring

Page 123
PEGA MATERIAL

Pattern interval(sec)

recurring
Advanced
periodic

1.periodic:-periodic means agent will run on specified time in the interval column. Agent
manager wakes up this agent as specified in the interval.

Ex:-if the interval for an agent to run is 90sec then, in every 90 sec agent manager will
wakes up, this agent activity

 While specifying the interval time in the agent rule we must consider the time taken by
the agent activity to complete its task.
 The interval value should be the largest value possible (the longest time) consistent
with the amount of time required for processing the agent task. Also don’t put
period agent for the task which will happen only 4 times a day. Just for 4 times in a
day checking for every 90sec in waste of resources.

2.Recurring :-

Pattern Interval(sec) mode Enable?

Enabled
recurring advanced standard
Activity name params max records autoquene
. management

Here, in the recurring we have option to specify when the agent should run. After setting
pattern as recurring. We will get an option in the interval as advanced. Clicking on the
advance we can set values for recurrences.

Recurrence

Start time 7 : 00 : 00 pm in time zone America/new york

Pattern
Daily Every weekly

Weekly Every days

Monthly
Ok cancel
yearly

Page 124
PEGA MATERIAL

 We can specify start time along with time zone, above screen short shows the option
of setting agent daily.
 In weekly option we can choose specific day of the week to call the agent activity.
 Monthly gives us the option of setting agent for specific day in the month. Like for first
day of the month agent activity will get call.
 Yearly gives combined option, like every January or first day of January.

Modes in the agent:-

There are three modes in the agents. They are

1. Standard 2. Advanced 3. Legacy

1.Standard :-

 This is the default queue mode setting agents. Standard mode is recommended in
PEGA for agents.
 Standard mode assume that all the transactional processing will be handled by
PEGA’S Auto queue management functionalities
 Agent activity involves only business logic.
 When agent is standard it wakes up and check in the agent queue that if there are
any entries for that agent. If entries are in the queue then it will start processing by
calling agent activity and continue doing this process either queue gets empty or
max record number v is reached or whichever comes first.

Auto queue manager:-

Agent name pattern interval(sec) mode enabled?


test periodic 30 legacy Enabled

Class activity name params max records auto queue


. Action resolve params management
work

 This check box is only valid only for standard queue mode agents.
 This box is checked by default for standard agents, which enables the queue
manager.
 When queue entry is retrieved by the system to perform then, system will lock that
entry and resources required to process that entry. In this way we can prevent agent
on other node to process the similar entry. System will lock the resources until a
commit or rollback occurs.

Page 125
PEGA MATERIAL

1. While processing the queued task if error happens then, as auto queue
agent is checked. It will re-queue the task and process it again.
2. If AQM is not present, then the system immediately removes entries from
queue. And error happens in that entry, then instead of re- queuing.
System removes it from queue. And entry for that queue is lost from the
system. So to handle this situation we have write another activity.
3. Best practice is to use AQM.

2.Advanced:-

 In advanced mode, the agent activity needs to handle both transactional and business
processing. When the agent “wakes up”, it runs the activity directly, and that activity
may either call the agent queue, just do processing without a queue. In this activity
we need to take care locking of the resources in case of multi node environments.
 Here, in the agent activity we have to take care of locking, committing and rollback of
the resources. If there is an issue in committing the object the unlike auto queue
agent mode we have to handle this manually by writing activity to re-queue the
object.
 Here, in advanced mode use of queue is optional.

Queuing in the activity:-

 By calling queue-for-agent method we can queue the task in the agent queue by using
activity.
 We need to pass below parameters to the method
1. Agent Ruleset
2. Agent name
3. Max attempts
4. Minimum age for processing.

3.Legacy:-

 If we upgraded the application before V 5.4 , then for agent we have this option
available.
 This agent runs as previous agent. It wakes up and directly calls the activity no queue
is involved. It assume that all the transcational and business processing will be
taken care in the activity.
 If the queue mode is set to legacy and when we resave the agent rule form to a
higher version of the Ruleset; however a warning appears at the bottom of the form
as shown below.

Schedule security nodes history


Page 126

Scheduled agents
PEGA MATERIAL

Remote trace an agent activity:-

 Open the system management application (SMA) as shown below

Designer studio system tools system management application

application

 Click on the agent of agent managements category.

PRPC system management V6.2.2.0

Log off
Node
Page 127
PEGA MATERIAL

||| H X

|||||

 Select the agent which needs to be traced and delay the agents, by clicking on delay
button.
 In the SMA go to “requestor management ” and select the requestor of the agent and
click on the tracer option.

Note :- if unable to trace the delayed requestor from SMA then open the tracer tool and
find the same requestor id in the remote tracer option and trace the agent activity
remotely.

PEGA Testing
There are variety of tools, no one is either good or bad. It all depends on what you
want to achieve with automation. Here is small analysis I had done couple of years
back

 UI Look and Feel Testing -----> Egg Plant (This is a Image


Based Recognition tool)

 Functional Testing -----> QTP / Ranorex / Test Manager/


Selenium / Rational Functional Tester/ Telerik tool

 Unit Test ---> Pega AUT(For non CPM applications)

 Interface Testing ---> SOAP UI (Testing Services)



 Testing Management Framework (TMF)from Pega

Page 128
PEGA MATERIAL

PEGA Application Testing


Hi folks,( http://truptijethva.blogspot.com/2017/10/testing-pega-application.html)

After long time, publish another article on Pega Application testing.

Pega application testing needs to take different approach of testing then normal STLC.
Pega applications are rule based application having more than 10 k rules. I was worked
with pega version 7.2.2.

Pegasystems is a leading BPM / Case Management platform provider. As leaders they


are at the forefront in offering automated testing capabilities in the BPM space. Testing
Pega BPM based applications from the UI is still a challenge however. Pega testing is
followed in agile model. Pega is fast growing tool which makes millions of users happy.
It is a business process management (BPM) tool which was founded by Alen Trefler.
Pega PRPC is an Application Development Product from Pega Systems. To Test Pega
Applications one need to know the Testing Management Framework (TMF) from Pega
as well as Required knowledge in Manual Testing and Regressive Testing. Using Pega
Unit Testing Feature one can test the Flow Rules, Decision Rules, Integrations and
Automated Regression Testing. With the help of pega testing we test the pega
applications very wisely and deliver as a defect free.It uses concept called PRPC which is
a pega rules and process commander. It uses Rules set to design the pega applications.

As it is rule based application with large set of rules, automation tester needs to create
their own framework for rule implementation. use unit testing or functional approach is
more better to reusability purpose. Rules can be implemented as functional validations
and we can add modules or component base approach as well for the flow of application.

As per research, selenium is best tool for pega testing, but I have used UFT 12.02 for the
pega automation. Later on, project move in selenium, but I didn't find much difference
in both apart from licence cost of UFT. all technical problem still resides in selenium
too, which was happen with UFT.

(Reference taken from quora for below content)


Pega has different Debugging Tool inbuilt to test the Application .we have different
types of testing in pega .
Types of Testing :

 Flow based Testing – Concentrates on Business flows (E2E), involving multiple


roles and interfaces
 Role based Testing – Testing based on workgroups – Skills, UI etc
 Rule based Testing –

1. Business Rules - Formulae, delegated rules etc


2. Technical Rules - integration rules etc

Pega Debugging Tools:

Page 129
PEGA MATERIAL

 Clipboard
 Tracer
 Rule Inspector/UI Inspector
 PLA (PegaRULES Log Analyzer)
 PAL (Performance Analyzer)
 AUT (Automated Unit Testing)

(Reference over)

For automation perspective- we should go with hybrid -data driven framework with
modular approach, which work best for rule implementation with different set of
data to all modules.

Few challenges in Pega projects like-


1. control identification for web edits not work proper- down key or keystroke
approach needs to write for most of controls
2.Nightly run not work- application sync issues occurs much
3. modules approach required and for that application knowledge must be with you
to take the decision for create modules-passing parameters, use parameters etc.
4. due to rule based implementation execution time takes more for end to end flows.
5. keep provision for normal end to end flow execution, rule base validation for
module execution, role base validation etc in script itself.

PegaUnit testing
(https://community.pega.com/knowledgebase/articles/pegaunit-
testing)

Published February 8, 2017 — Updated October 16, 2017

You can use PegaUnit testing to automate the testing of rules. After you develop rules, you can
test them and then convert the test runs to PegaUnit test cases to validate application data by
comparing expected output to the actual output returned by running the rules.

For example, an account executive wants to ensure that a 10% discount is applied to all VIP
customers. You can create a test case that verifies that this discount is applied to all VIP
customers in the database. If the test does not pass, the results indicate where the 10% discount is
not applied.

You can use PegaUnit rule testing on the following types of rules:

 Activities
 Case types
 Data pages
 Data transforms

Page 130
PEGA MATERIAL

 Decision tables
 Decision trees
 Flows
 Strategies
 When (available beginning with Pega 7.3.1)

You can use one or more data pages, data transforms, or activities to set up the clipboard data
before running the rule as part of the test case. You can also use activities to create any required
test data such as work or data objects. After you run a PegaUnit test case or test suite, data pages
used to set up the test environment are automatically removed. You can also apply additional
data transforms or activities to remove other pages or information on the clipboard.

You can also use the Execute Tests service, which is run by a continuous integration (CI) tool, to
run all the PegaUnit test cases in your application to validate the quality of your code after every
build is created.

PEGA Automation approach


Hey folks,

I try here to give you reference for taking automation approach for PEGA automation projects. I have used UFT 12.02 for
PEGA 7.2.2 version automation in one of my project. Following are checklist, which can help.

1. As PEGA application is rule based and flow based application, there were always few set of pages will be used in
application. Before deciding framework, dry run the whole application flow for the pages behavior.
2. As pages, might be limited, we can use object repository approach for the application as size will not grow. For
few PEGAcontrols, we need to write descriptive programming as well. Mostly frame related problems occurs for
few control identification.
3. As it is rule based application, may be require to run different set of test with combination of test data to test the
rules, but pages remains same. So try use data driven approach while using framework. Keep all the functions
generic so with any combination of test data, we can use same functions.
4. As its having flow based application too, driver script should having provision to calling different functions in
sequences to drive the flow. Write module based functions for easy flow driven.
5. Most of the flow driven by some actions like approve, reject etc., so write function in generic with switch cases to
handle the different flow along with data passing approach.
6. Few scenarios may be having multiple data at same flow, then there should be some provision to handle multiple
entry of test data by passing argument in split way.
7. Few controls are dynamic based on the conditions, so we can handle it using regular expression. for ex., few
property values like , \strname1 can handle in as $\strname1, like that.
8. Controls are similar to rest web applications for PEGA. UFT can identify it properly, there is no additional add ins
require.
9. For error handling, we can used on error resume next statement at function level.
10. Facing sync issue for application, which hurdle in night run execution. so increase wait time much to avoid such
things.
11. Try to keep all function libary at module levels.
12. Use environment variables for sharing constant value across test suite
13. keep configuration files for easy project path references.
14. keep files references at top level with public variable to access across the test suite for implementing rules.
15. keep generic functions to connect external files, fetching values or rules to implement, export test results etc.
16. while executing UFT , we need to enable add on in internet explore for PEGA.

Page 131
PEGA MATERIAL

Implementation and Methodology Overview


Pega systems offers two methodologies -- SmartBPM and Pega Scrum -- that you can use to manage
application development projects. Both provide an adaptable process framework which is flexible and
can be blended without conflict with organization's methods and project management approach.
The methodologies are designed to work together with Process Commander's Direct Capture of
Objectives capabilities and integrate with Pega systems' Project Management and Test Management
frameworks.
What is the SmartBPM Methodology?
SmartBPM methodology takes an iterative development approach that is structured around four phases
and two supplemental activities. It is not a concrete prescriptive process. It is designed to be flexible so
your implementation team can adapt it to any size project.

Project Initiation Activity — Kicks off project development. The goal of this activity is to prepare,
organize, and set the proper expectations for the project initiative to follow. Performed at the beginning
of the project, its goal is knowledge transfer and education. This is to provide business participants with
terminology that assists them with requirements gathering, objective determination and scope
definition.

Inception Phase — Defines the scope, captures business requirements and organizes them into projects
that result in an approved proposal. The current process is evaluated to identify possible improvements.
Projects are broken down into manageable development units called slivers. Requirements, use cases,
and work types are captured and entered into the Application Profiler. The development effort is
estimated.

Elaboration Phase — Builds out the foundation of the proposed implementation using the Application
Profile in the Application Accelerator. Requirements, use cases, and work types are expanded to include
further details. Process discovery is performed to identify the initial flow of work and user interface
design. Application standards are established. Testing and migration plans are drafted.

Construction Phase — Builds the implementation on the foundation created in the Elaboration phase.
Configuration tasks are assigned using an iterative implementation model. Components are unit tested
as they are completed and test scripts are developed.

Transition Phase — Moves the implementation to the end user and testing teams. The focus is on end
to end testing and user acceptance to ensure the quality of the application and its readiness for
migration and deployment to production.

Go-Live Activity — Occurs when a completed sliver is launched into a production environment and
business users begin to use the live application.

Pega Scrum is a good fit for implementations where:


 Results must be achieved quickly
 Product quality is of the utmost importance
 Business wants to be fully engaged throughout the process
 Requirements are changing and prioritized constantly

Page 132
PEGA MATERIAL

 An enterprise commitment to Scrum exists


 Teams are enabled and skilled

The lifecycle of a Pega Scrum project is designed around the five stages shown below.

Vision Definition — Develops an understanding of the big picture for team members, a project roadmap
and high level product backlog.

Project Initiation — Determines the scope of the initial project, kicks it off and sets expectations.

Enterprise Planning — Designs the infrastructure needed to support today's capabilities and future
needs as well as the enterprise level class structure that supports maximum re-use as implementations
are deployed.

Release Implementation — Builds the application in sprints using the Scrum approach to software
development.

Release Retrospective — Evaluates, adjusts, and improves the process to promote continuous process
improvement.

Important Terminology

Application Accelerator — An automated Process Commander tool that uses input from an application
profile to create the foundation rules for a new implementation.

Page 133
PEGA MATERIAL

Application Profiler — An automated Process Commander tools that creates a high-level scoping
document produced that can be used as a project proposal and an application profile that can be
consumed by the Appliation Accelerator to create rules. It details work types, requirements, use cases,
actors, interfaces and reports/correspondence for an implementation.

Atomic Use Case — A subset of a business use case that describes a portion of the process that is
performed by a single actor in the process. Corresponds to actions performed by that actor.

Business Objectives — Project goals that, when reached, signify a return on business benefit.

Business Use Case — Describes the full lifecycle of a process for a single work type. It is broken down
into atomic use cases.

Requirement — Details a business need; used to verify that the resulting implementation is what the
business needed.

Sliver — A subset of a larger project that is developed and implemented as a release.

Work Type — A business problem that requires an automated solution that is associated with one
business use case and one or more atomic use cases. For example: A claim, loan, or service request.

Understanding the Class structure and RuleSets generated by the Application Accelerator

The Application Accelerator generates an initial layered enterprise class structure and multiple Ruleset,
based upon the input values you provide (and default values)

Generated enterprise class structure


Two large diagrams depict the layers and classes in the enterprise class structure generated by the
Application Accelerator

Page 134
PEGA MATERIAL

Layers in the generated class structure


The layers depicted in the enterprise class structure image are:

Layer Purpose

Enterprise Reuse For assets that need to be reused on an enterprise-widebasis. Such assets
are rules for enterprise-wide business logic (such as standard properties,
decision tables, Service Level rules) and enterprise-wide data assets (such
as classes and rules for data stored in the system, and classes and rules
for access to data in external systems, via connectors).
For example, the MyCo enterprise wants to reuse the property that holds
an employee's serial number on an enterprise-wide basis, so that the
various applications used by that employee across the enterprise can
consistently rely on the same serial number property for the same
employee.

Divisional Reuse For assets that need to be reused on a division-widebasis. Such assets are
rules for division-wide business logic (such as standard properties,
decision tables, Service Level rules) and division-wide data assets (such as
classes and rules for data stored in the system, and classes and rules for
access to data in external systems, via connectors).
For example, a division wants to reuse a service level rule that defines the

Page 135
PEGA MATERIAL

expected response time to a customer complaint in all of its applications,


so that it can consistently enforce a focus on meeting its customer
relationship commitments.

Framework Defines a common work-processing foundationthat is extended by the


specific implementations.
For example, the MyCo enterprise makes auto loans, and has an auto
loan framework that is comprised of all of the assets needed for MyCo's
standard auto loan process. Each division of MyCo extends that basic
auto loan application to meet their specific divisional needs: the
commercial business line division's auto loan application needs to handle
loan requests distinct from that of MyCo's personal line division.

Implementation Defines an implementationof a framework that is customized for a


specific division.
For example, the commercial business line's auto loan application reuses
assets from the commercial business line division layer and from the auto
loan framework layer, while the personal line's auto loan application
reuses assets from the personal line division layer and the auto loan
framework layer.

PRPC Base Product Consists of the PRPC system's built-in classes and rules necessary for
processing cases and other work in PRPC applications, as well as for areas
of PRPC itself.

A system architect starts the Application Accelerator, and in the Application Overview window, chooses
the application profile the team created. To generate the application structure that supports both the
framework and the equipment setup sliver, the system architect specifies a framework named
OnboardingFW and an implementation named Equipment in the Application Overview window.

Page 136
PEGA MATERIAL

On the Base and RuleSets step of the Application Accelerator, the system architect replaces the
displayed default organization and division values with the official ones: GLBX.com and HR, and keeps the
default class structure of Standard. The displayed values refresh to reflect the input values:

Clicking Preview displays the enterprise class structure that will be generated by the Application
Accelerator given those input values:

Page 137
PEGA MATERIAL

Why do non-work classes, like Org-, inherit from Work- (in 6.1+) or Work-Cover- (in 6.2+)
Because of rule resolution, inheriting from Work- or Work-Cover- on those levels allows for
increased sharing of case-management-related or work-related assets across multiple
applications. For example, if a company creates two top-level classes for some reason (such as
when two organizations do not currently work with each other and they want to develop
applications independently), the applications can still share work-related assets.
Why does the Org RuleSet have the OrgInt RuleSet as a prerequisite (required) RuleSet?
So that business logic rules in the Org RuleSet have the ability to reference integration-related
rules and classes stored in the OrgInt RuleSet.

Direct Capture of Objectives (DCO)


Direct Capture of Objectives (DCO) is the set of tools designed to capture and tie business objectives,
project goals, requirements, and use cases to actual implementations.
Rules and tools include:

Page 138
PEGA MATERIAL

A. Application Profiler
B. Application Accelerator
C. Application Document Wizard
D. DCO Enablement Wizard
E. Application Use Case rules
F. Application Requirement rules
DCO 3.2 - What's New
 Application Profile and Application Accelerator
 Application Profile delegation for shared authoring
 Option to build only a framework layer
 Enhanced framework support to build another framework and implementation on top of an
existing framework
 Improved capabilities for class structure generation and data mapping
 Improved management of references between use cases and their respective implementations

A. Application Profiler

An Application Profile is an auto-generated Microsoft Word document designed to help you in the
information-gathering phase of a project's life cycle.

The document is created by the Application Profiler -- an automated tool that guides you through a
series of input steps to collect organization, use case, requirements, and other application information
to produce a comprehensive and professional looking work-based proposal and sizing estimate for your
projects.

The profiler supports an iterative approach to information gathering that allows you to create,
update, and save profiles, and to generate in-process documents as you collect project data during the
inception process.

From the File menu on the developer portal, select one of these options:
o New > Application Profile to create a new application profile

B. Application Accelerator

The Application Accelerator is a Direct Capture tool that speeds the creation of new applications,
frameworks, or the extension of an existing application or framework.

It guides you though a series of steps to gather and review the information that is used to create the
class structure and rules for your application. It supports an iterative development approach that allows
you to enter, update, and save data until you are ready to create the application.

Page 139
PEGA MATERIAL

The data transferred from the profile includes:


 Application name
 Organization
 Business objectives
 Work types
 Requirements
 Detailed reports and correspondence
From the resolve screen of the application profile, click Generate this Application.
From the File menu on the developer portal, select one of these options:
New > Enterprise Application to create a new application
The accelerator can be launched from a completed application profile or a menu on the developer
portal.

C. Application Document Wizard


Application Document wizard allows you to specify reusable document settings and application data
content to create professional looking documentation of application assets throughout a project
lifecycle or in support of your day to day maintenance updates.
From the developer portal, select Application > Document.
D. DCO Enablement Wizard
DCO Enablement wizard allows you to add or update requirements, use cases, actors and work types to
an existing application that is either partially DCO enabled or not at all.

Page 140
PEGA MATERIAL

The wizard is structured to guide you through a series of input steps that prompt you for information
about the following elements of your application:
 Requirements
 Actors
 Work Types
 Use Cases
From the Application menu, select Direct Capture of Objectives > Enable this Application
From the File menu, select Open > All Wizards to open an existing enablement instance from a list of
open and resolved records.

E. Application Use Case rules


Application Use Cases allow business users to describe the processing steps required to build an
application in their business language. In a Process Commander application, use cases are atomic. use
case that are created and stored as rules in the application.
Using Direct Capture tools, use cases are initially specified in the Application Profiler and transferred to
the Application Accelerator to create the use case rules.
F. Application Requirement rules
Application Requirements allow business users to describe requirements for an application in their
business language. Requirements are simply an inventory of events, conditions, or functions that need
to be satisfied and tracked in a project.
For example:
 “System needs to have 2-3 seconds screen to screen interaction” is a non-functional requirement tied
to the overall application
 “First Name should not be longer than 20 characters” is an a business rule requirement tied a specific
use case
The requirement rule contains the following sections:
 Definition tab — describes the requirement; specifies the type and development status
 Implementation tab — adds and deletes requirement links to application, flow, and use case rules
 Attachments tab — used to display, add, and delete attachments associated with the
requirement such as UML diagrams, Power Point presentations, or other project documents that
provide additional details about the requirement

Page 141
PEGA MATERIAL

Methods and instructions by function


Methods for entire clipboard pages Flow-related methods

Page-Change-Class Flow-End
Page-Clear-Messages Flow-New
Page-Copy Obj-Set-Tickets
Page-Merge-Into TaskStatus-Set
Page-New
Page-Remove History methods
Page-Rename
Page-Set-Messages History-Add
Page-Unlock History-List
Page-Validate
Methods for connectors
Methods for persistent instances
Connect-dotNet
Commit Connect-EJB
Obj-Browse Connect-File
Obj-Delete Connect-HTTP
Obj-Delete-By-Handle Connect-Java
Obj-Filter Connect-JCA
Obj-List Connect-JMS
Obj-List-View Connect-MSMQ

Page 142
PEGA MATERIAL

Obj-Open Connect-MQ
Obj-Open-by-Handle Connect-SOAP
Obj-Refresh-and-Lock Connect-Wait
Obj-Save RDB-Delete
Obj-Save-Cancel RDB-List
Obj-Sort RDB-Open
Obj-Validate RDB-Save
Rollback
Structured parsing
Control methods and instructions
Apply-Parse-Delimited
Activity-Clear-Status Apply-Parse-Structured
Activity-Set-Status Apply-Parse-XML
Activity-End Map-Structured
Activity-List-Add Parse-Byte-Pos
Branching to another activity Parse-Char-Pos
Calling another activity Parse-Fixed-Binary
Collect Parse-Packed-Decimal
Exit-Activity Text-Infer
Requestor-Stop Text-Normalize
Thread-Clear
Wait Local variables

Methods for HTML and XML streams StringBuffer-Append


StringBuffer-Insert
Show-HTML StringBuffer-Reset
Show-Page
Show-Property Other
Show-Stream
Assert-No-Invocation
Property methods Connect-FTP
Link-Objects
Apply-Model Log-Message
Obj-Sort Privilege-Check
Property-Remove Property-Map-DecisionTable
Property-Seek-Value Property-Map-DecisionTree
Property-Set Property-Map-Value
Property-Set-Corr Property-Map-ValuePair
Property-Set-HTML Queue-for-Agent
Property-Set-Messages Queue instruction
Property-Set-Stream
Property-Set-XML Advanced
Property-Validate
Java in activity steps
Rule instruction
Start-Validate
End-Validate

Page 143
PEGA MATERIAL

Relating Java terms to Process Commander terms

The following table may help you relate Process Commander terms to similar Java terms. These are
analogies, not exact correspondences.

Process
Similar Java, XML, or
Commander Rule type
database concepts
term

expressions - Java expressions

models Rule-Obj-Model initializers, constructors

public Java instance methods with a void


activities Rule-Obj-Activity
return type

method Rule-Method system-supplied stored procedure

properties Rule-Obj-Property instance variables

Single Value property Java String object

rule resolution Inheritance

property of mode Page List repeating group

overridden rule overloaded method

When condition rule Rule-Obj-When if statement

decision tree rule Rule-Declare-DecisionTree nested if statement

primitive data types.


Type for Value mode properties Most Java primitive data types are available
as Process Commander Types.

primary page of an activity this keyword

ultimate base class @baseclass Object class — topmost class

Value Group property mode HashMap

Page 144
PEGA MATERIAL

Difference between activity and utility

An activity is an instance of the Rule-Obj-Activity rule type. An activity is the fundamental sequential
processing unit of the Process Commander system.

The shape in a Visio flow diagram, references an activity that updates a work object, but does not
require user interaction and input. Your system includes standard activities for utility tasks, and you can
create additional ones.

Each utility task references an activity with an Activity Type of Utility ss from utility shape we can call
activity but vise versa not possible.

Difference between obj-open and obj-open-by-handled

Obj-Open : we will get multiple records from table based on the criteria from the specified class. Or
Opens an instance of a given class

OBJ-open-handle: here we have have to pass the pzInskey as a instance handle, this mehod will open
only one record at time. Or Open object by handle to the pzInsKey value
The handle of an instance is a unique key, in an internal format, assembled by the system that identifies
an instance in the PegaRULES database. It may differ from the visible key generally used to identify
instances. (Every instance has a unique handle, but more than one instance may share the same visible
key.) For rule instances, the handle includes system-generated identifying values (including the create
date and time) that make it unique.

Use the Obj-Open-By-Handle method only if you can determine the unique handle that permanently
identifies which instance to open. Otherwise, use the Obj-Open method.

Inheritance concept in the pega (rules, class)

Rules: inheritance that can maximize reuse of your rules while allowing localized overriding as
appropriate. Also called polymorphism, inheritance allows a rule created for one class (possibly an
abstract class) to be applied to other classes that inherit from it.

Class inheritance searches for rules from a concrete, lower class, up the class hierarchy to find available
rules.

Two types of class inheritance — directed inheritance and pattern inheritances

Performance of our work in the pega is measured using?

1. DBTrace: DBTrace is a feature in the Performance Analysis Tool (PAL) that creates a detailed log of
calls to the PegaRULES database. DBTrace displays SQL statements sent to the database and the time
spent for each operation.

Page 145
PEGA MATERIAL

PAL: This data is stored in “PAL counters” or “PAL readings.” PAL stands for Performance AnaLyzer, and
is a collection of counters and timer readings, stored in the requestor, that an application developer
could use to analyze performance issues in a system.

PAL Features
• Add Reading
• Add Reading with Clipboard Size
• Reset Data
• Save Data
• Start DBTrace
• DBTrace Options
• Start Profiler
• Show Graph
• My Alerts

Alerts:
During application processing, Process Commander writes to the performance alert log a sequence of
text entries called alert messages that identify mainly performance-related issues or errors. The
performance alert log is usually named PegaRULES-ALERT-YYYY-MMM-DD log.

AES:
Exceptions are processed in a similar way as alerts. When a Process Commander server generates
exceptions they are sent by SOAP to the AES system. The system parses the exceptions and stores the
records in the pegaam_exception table in the AES database. Based upon how often an exception occurs
and the system events that triggered those exceptions, AES aggregates these records into work objects
called AES exception items. These items are written to the AES database in the pegaam_exception_work
table.

How to connect to different pega applications?


Using SOAP, HTTP, JMS, MQ.
How to store the instance of the class in a specific database
Creating the separate DB table for that work class with in the DB, or map to external db and further
saves will go to that DB
Difference between obj-list, rdb-list?

Obj-list : Retrieve to a page, read-only, a selected set of properties Import ant fields Obj-List:

RequestType: The Type of the browse; allows different processing or sets of properties to be
defined. Defaults to Standard. Key-part to the Rule-RDB-SQL instance.

Access: An indication of the database package used to access this table, from the INI file (currently
ODBC). Key-part to the Rule-RDB-SQL instance.

ClassName: The object class on which the browse is performed.

Rdb-list: To Retrive external Relational Database List.


Import tant fields in RDB-List:

Page 146
PEGA MATERIAL

PageName: Page Name indicating where the results will be put

ObjClass: The object Class to List. When used with RuleObjList parameter, this is the class of the list to
use.

How to see values of the local variables of the activity


Using log-message.
How to send multiple correspondences at a time

Preflight:
Starts the Application Preflight tool, which reports warning conditions on the rules in your Application
RuleSets. These may indicate guardrail compliance issues, potential performance issues, accessibility
status, or other notable conditions.

- Application Preflight tool to list each rule in an application that contains a warning message. Warning
messages suggest that the rule is at variance with guardrails and other best practices. You can also check
for browser compatibility of visual elements.
you can extend the set of warnings with a custom activity named Rule-ZZZZ. CheckForCustomWarnings,
where Rule-ZZZZ is a rule type.
Warnings are maintained as instances of the Index-Warning class and saved in the pr_index_warnings
database table.

The standard decision tree rule Embed-Warning.pxWarningDetails controls whether warnings of a


specific type are reported in the Application Preflight tool. By default, all are reported; you can override
this decision tree rule to choose which to omit. This decision tree tests the property pxWarningType,
which can have values indicating the source of the warning, such as:
=> Java — an activity contains a Java step
=> API 02 — an activity uses the Version 3 PublicAPI
=> WriteNow — An activity step includes a method with an immediate database write operation
rather than a Commit method.

Spinoff // split join explain?

Spin-off shape ( ) onto the flow


When a work object advancing through a flow reaches the Spin-off shape, Process Commander starts
execution of a different flow, using the current or a different work object. Processing in the current flow
rule continues in parallel, without waiting for the other flow to complete.

the Split/Join shape ( ) onto the flow


Use the Split-Join shape to require that multiple subflows of your flow be completed before the current
flow continues execution. This allows subflows to execute asynchronously, in parallel. For an example,
see the standard flow Work-.ParallelWork.

Split-ForEach shape ( ) to any locations


The Split-ForEach task provides a form of searching or enumeration over the pages in a property. Use a
Split-ForEach shape to iterate over the pages of a Page List or Page Group property. For each page, you
can conditionally start a flow execution for the work object.

Page 147
PEGA MATERIAL

Q. What is the difference between Page-Validate and Property-Validate methods?

The page-validate method is used to validate all the properties present on a page. If a page has
embedded pages, this method works recursively to validate all the properties. This method consumes a
lot of system resources and takes more time. If you want to validate specific properties use Obj-Validate
method with a Rule-Obj-Validate rule.

A property-validate method is used to impose restrictions on a property value. Use Edit validate rule
along with Property-Validate method to impose restrictions. You can validate multiple properties using
Property-Validate method.

Q. What is difference between Edit validate and Edit Input rules?

Edit Validate: Use edit validate rule to validate the property value using java code. Edit validate rules can
be used property-validate, Rule-Obj-Validate and Property rules.

Edit Input: Edit input rules converts user entered data into required format. For example is the user
enters date MM/DD/YYYY format, edit input rule coverts this date into DD-MMM-YYYY (required
format). Again we need to write java code for this transformation.

Q. Where assignments will be stored in pega rules database?

Work List related assignments are stored in pc_assign_worklist.

Work basket related assignments are stored in pc_assign_workbasket.

Q. Where work objects will be stored?

Work Objects are stored in pc_work table by default. however if you want to store the work objects in a
user created table, follow the below mentioned steps.

Create a schema similar to pc_work table. (The best thing is to copy the pc_work schema and modify the
table name and constraints name if any)

Change the class group mapping (Data-Admin-DB-Table) to the newly created table.

Page 148
PEGA MATERIAL

Q. If I have 3 different work objects in my application, how to store them in three different tables?

Open/Create the Data-Admin-DB-Table instance for each class and mention the table name. By doing
this the individual work objects will be stored in the new table you mentioned in the Data-Admin-DB-
Table instance. This is a best practice if there too many object instances for each class.

Q. What is StepStatusGood, StepStatusFail rules?

StepStatusGood is a when condition defined in @baseclass, this when rule checks whether the value of
pxMethodStatus property is “Good”.

StepStatusFail is a when condition defined in @baseclass, this when rule checks whether the value of
pxMethodStatus property is “Fail”.

Q. How to make any rule as a favorite to your manager?

Delegate the rule to manager.

Q. Where can i see the paramater values in the clipboard ( values ..) i am passing one activity to other
?

No its not possible in clipboard, but you can see in tracer by clicking page name which in step
method column.

Q. How to import rules using pzinskey

Open the rule, from that pick the pzinskey, go to prdbutil and using the pxinskey export the rule
Import that zip file where you want.

Q. Difference between activity and utility?

An activity is an instance of the Rule-Obj-Activity rule type. An activity is the fundamental sequential
processing unit of the Process Commander system.

The shape in a Visio flow diagram, references an activity that updates a work object, but does not
require user interaction and input. Your system includes standard activities for utility tasks, and you can
create additional ones.

Page 149
PEGA MATERIAL

Each utility task references an activity with an Activity Type of Utility ss from utility shape we can call
activity but vise versa not possible.

Q. Difference between obj-open and obj-open-by-handled

Obj-Open : we will get multiple records from table based on the criteria from the specified class. Or
Opens an instance of a given class

OBJ-open-handle: here we have have to pass the pzInskey as a instance handle, this mehod will open
only one record at time. Or Open object by handle to the pzInsKey value

The handle of an instance is a unique key, in an internal format, assembled by the system that identifies
an instance in the PegaRULES database. It may differ from the visible key generally used to identify
instances. (Every instance has a unique handle, but more than one instance may share the same visible
key.) For rule instances, the handle includes system-generated identifying values (including the create
date and time) that make it unique.

Use the Obj-Open-By-Handle method only if you can determine the unique handle that permanently
identifies which instance to open. Otherwise, use the Obj-Open method.

Q. Inheritance concept in the pega (rules, class)

Rules: inheritance that can maximize reuse of your rules while allowing localized overriding as
appropriate. Also called polymorphism, inheritance allows a rule created for one class (possibly an
abstract class) to be applied to other classes that inherit from it.

Class inheritance searches for rules from a concrete, lower class, up the class hierarchy to find available
rules.

Two types of class inheritance — directed inheritance and pattern inheritances

Q. Performance of our work in the pega is measured using?

DBTrace: DBTrace is a feature in the Performance Analysis Tool (PAL) that creates a detailed log of calls
to the PegaRULES database. DBTrace displays SQL statements sent to the database and the time spent
for each operation.

Page 150
PEGA MATERIAL

PAL: This data is stored in “PAL counters” or “PAL readings.” PAL stands for Performance AnaLyzer, and
is a collection of counters and timer readings, stored in the requestor, that an application developer
could use to analyze performance issues in a system.

PAL Features

Add Reading

Add Reading with Clipboard Size

Reset Data

Save Data

Start DBTrace

DBTrace Options

Start Profiler

Show Graph

My Alerts

Alerts: During application processing, Process Commander writes to the performance alert log a
sequence of text entries called alert messages that identify mainly performance-related issues or errors.
The performance alert log is usually named PegaRULES-ALERT-YYYY-MMM-DD log.

AES: Exceptions are processed in a similar way as alerts. When a Process Commander server generates
exceptions they are sent by SOAP to the AES system. The system parses the exceptions and stores the
records in the pegaam_exception table in the AES database. Based upon how often an exception occurs
and the system events that triggered those exceptions, AES aggregates these records into work objects
called AES exception items. These items are written to the AES database in the pegaam_exception_work
table.

Q. How to connect to different pega applications?

Page 151
PEGA MATERIAL

Using SOAP, HTTP, JMS, MQ.

Q. How to store the instance of the class in a specific database?

Creating the separate DB table for that work class with in the DB, or map to external db and further
saves will go to that DB

Q. Difference between obj-list, rdb-list?

Obj-list : Retrieve to a page, read-only, a selected set of properties Import ant fields Obj-List:

RequestType: The Type of the browse; allows different processing or sets of properties to be defined.
Defaults to Standard. Key-part to the Rule-RDB-SQL instance.

Access: An indication of the database package used to access this table, from the INI file (currently
ODBC). Key-part to the Rule-RDB-SQL instance.

ClassName: The object class on which the browse is performed.

Rdb-list: To Retrive external Relational Database List.

Import tant fields in RDB-List:

PageName: Page Name indicating where the results will be put

ObjClass: The object Class to List. When used with RuleObjList parameter, this is the class of the list to
use.

Q. How to see values of the local variables of the activity?

Page 152
PEGA MATERIAL

Using log-message.

Q. How can I store the instance of the class in the data base?

Creating the separate DB table for that work class with in the DB, or map to external db and further
saves will go to that DB.

Q. Default data table where the instance of the class are store (how it will search ) pc_work

Workbasket assignments are stored in a single pr_assign_workbasket table.

Worklist assignments are stored in a single pr_assign_worklist table.

The Work- base class is mapped to the pc_work table, a table with columns that represent all the work
object properties that need to be exposed for flow processing to function correctly. Map your work
object classes to either the pc_work stable or another table that has the same columns.

The Data- base class is mapped to the pr_data table. Map your data classes to either the pr_data table
or another table that has the same columns.

all Rule related data will be stored in pr4_pegarules.The pr_other table is the last resort or default
destination for saved insstances that belong to a class that is not mapped to any other tables.

Q. In Routing activity what is the default property used to route the object

pxRouteTo=Param.AssignTo =” work basket name” for work basket .s

For work list:

pxRouteTo =Param.Worklist=”true” &&Param.AssignTo =” pxRequestor.pyUserIdentifier” for work


list.

Q. Notify

Page 153
PEGA MATERIAL

When you want to configure your flow to automatically send notification messages about assignments,
connect a notify shape to the assignment. A notify shape identifies a notify activity.

Q. ticket: explain any senarion u used

Use the Ticket shape ( ) to mark the starting point for exceptions that may arise at any point in the flow,
such as a cancellation. The ticket is a label for a point in a flow, much like a programming “GOTO”
destination.

Q. table used for add note

pc_data_workattach.

Q. Default activity used to create work object

There is more than one like Add, CreateWork, and New.

Q. Different type of flows. Explain in scenario based where u used and worked

Spin-off, Split- Join and Split for each.

Check Out Pega Tutorials

Q. How to send multiple correspondences at a time?

Preflight: Starts the Application Preflight tool, which reports warning conditions on the rules in your
Application RuleSets. These may indicate guardrail compliance issues, potential performance issues,
accessibility status, or other notable conditions.

Page 154
PEGA MATERIAL

– Application Preflight tool to list each rule in an application that contains a warning message. Warning
messages suggest that the rule is at variance with guardrails and other best practices. You can also check
for browser compatibility of visual elements.

you can extend the set of warnings with a custom activity named Rule-ZZZZ.CheckForCustomWarnings,
where Rule-ZZZZ is a rule type.

Warnings are maintained as instances of the Index-Warning class and saved in the pr_index_warnings
database table.

The standard decision tree rule Embed-Warning.pxWarningDetails controls whether warnings of a


specific type are reported in the Application Preflight tool. By default, all are reported; you can override
this decision tree rule to choose which to omit. This decision tree tests the property pxWarningType,
which can have values indicating the source of the warning, such as:

=> Java — an activity contains a Java step

=> API 02 — an activity uses the Version 3 PublicAPI

=> WriteNow — An activity step includes a method with an immediate database write operation
rather than a Commit method.

Q. How to call an Activity from Java Script?

HashStringMapactivityKeys = new HashStringMap();

activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);

activityKeys.putString(“pyClassName”, workclass);

activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );

tools.doActivity(activityKeys , workpage, tools.getParameterPage() );

Q. How to end the workobject in the activity ( method used to kill the work object)

Using java script.

Page 155
PEGA MATERIAL

Q. How to call an activity from the java, java script ?


Or you can use osafeURL to call an activity

Using java :

sHashStringMapactivityKeys = new HashStringMap();

activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);

activityKeys.putString(“pyClassName”, workclass);

activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );

tools.doActivity(activityKeys , workpage, tools.getParameterPage() );

Q. How to pass parameters to the activity using the java, JavaScript?

pyActivity=GHC-HPlan-CS-Work.ABC&CSR=” + CSR.

Q. How can I pass page as the parameter to the activity using java, JavaScript?

Using java you can, may be using java scripts you can , I not sure

Q. How to call an Activity from Java step?

HashStringMapactivityKeys = new HashStringMap();

activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);

activityKeys.putString(“pyClassName”, workclass);

activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );

tools.doActivity(activityKeys , workpage, tools.getParameterPage() );

Q. How to get a property value from clipboard using Java step?

Page 156
PEGA MATERIAL

ClipboardPageworkpage = tools.findPage(pagename);

String propername = workpage.getProperty(“.pxResults.Risk”).toString();

Or

String propertyname= tools.findPage(“WorkListPage”).getProperty(“.pxResults.Risk”).toString();

Q. How to restrict the harness, section to particular user

Using the circumstances or using different access groups and privileges

List different functions used to call an activity from java script.

window.open (urlToRun,”_self”);

openUrlInSpace (urlToRun,””);

Q. How a user’s ruleset list is formed ( the logic )?

The system adds entries it finds from following sources in the order listed. The system adds entries it
finds from these sources in the top of the list,

Requestor : (Data-Admin-Requestor class) — Usually this adds the RuleSets named Pega-RULES, and
Pega-IntSvcs and a version or version prefix for these

Division — As referenced in the Operator-ID instance

Organization — As referenced in the Operator-ID instance

Access Group : As referenced in the Operator-ID instance

Ruleset Versions — Prerequisite RuleSets and Versions to those already compiled

Operator ID : If this user has the ability to check out rules, the personal RuleSet (named the same as
the Operator ID key) is added last. Also called as private rule set.

Q. How to connect external java application without using connect-java

Page 157
PEGA MATERIAL

SOAP or JMS or IAC s

Q. Spinoff // split join explain

Spin-off shape ( ) onto the flow

When a work object advancing through a flow reaches the Spin-off shape, Process Commander starts
execution of a different flow, using the current or a different work object. Processing in the current flow
rule continues in parallel, without waiting for the other flow to complete.

the Split/Join shape ( ) onto the flow

Use the Split-Join shape to require that multiple subflows of your flow be completed before the current
flow continues execution. This allows subflows to execute asynchronously, in parallel. For an example,
see the standard flow Work-.ParallelWork.

Split-ForEach shape ( ) to any locations

The Split-ForEach task provides a form of searching or enumeration over the pages in a property. Use a
Split-ForEach shape to iterate over the pages of a Page List or Page Group property. For each page, you
can conditionally start a flow execution for the work object.

Q. Privileges usage…

A privilege is an application-specific access control element associated with a class and access role.

A privilege rule is an instance of a Rule-Access-Privilege rule type.

Using privilege rules in an application is optional, but they can offer finer control over access than access
roles alone.

Explore Pega Sample Resumes! Download & Edit, Get Noticed by Top Employers!

Download Now!

Q. Decision / fork usage… Scenarios Decision:

Decision: Use the Decision task ( ) to reference a map value rule, decision table rule, decision tree rule or
a Boolean expression that when evaluated produces a value that is the basis of branching in the flow.

Page 158
PEGA MATERIAL

At runtime, the system evaluates the decision rule based on inputs from the flow and the work object,
and chooses one of the outgoing connectors based on the result. No user interaction or input is
required.

Fork: Use the fork shape ( ) to represent a point where the flow execution chooses one of a few different
paths (connectors) based on tests on the work object. At runtime, the system evaluates the conditions
on each outgoing connector, starting with the connector assigned the highest likelihood

Q. How to expose the column in the blob… of the database

Using the Modify Database Schema wizard.

1) What is a Work Group? What is the primary function of a Work Group from a business perspective?

A workgroup is a logical collection of operators having a common supervisor i,e. a workgroup can
identify a user who is a supervisor and a set of workers and workbaskets that report to that supervisor.

Use – For the supervisor of a workgroup, the My Group area of the Process Workspace provides quick
access to the work lists and workbaskets associated with the group (In the workbasket tab of
workbasket data instances we enter the name of a workgroup that uses the workbasket. This field
determines which workbaskets appear in the View Queue list on the My Group area of the Process Work
workspace for managers). Also, workgroups facilitate for better monitoring and reporting of tasks on the
Monitor Activity workspace.

2) What are workbaskets? What is the relationship between a Work Group and Workbasket?

Assignments for work objects may be associated either with individual users

(and appear on their work lists) or with a workbasket. All users who are qualified to work on work
objects from that work basket may remove an assignment from the workbasket to process the
assignment. The “contents” of a workbasket is a set of assignments awaiting processing, ordered in
decreasing urgency, similar to the contents of a work list. Few other important things to keep in mind
about workbaskets are (If only the specific question is asked then answer as below):

Assignments leave a workbasket in three ways:

Page 159
PEGA MATERIAL

 Users who are qualified can remove an assignment from the workbasket to process the
assignment.

 An application can automatically route assignments in a workbasket to users based on work


schedules, due dates, skills, workloads, and other factors.

 Managers can transfer assignments from a workbasket to user work lists.

** During execution of a flow, a router task can choose which workbasket is most appropriate to
receive a newly created assignment.

** The relationship between workgroups and workbaskets is one-to-many i.e. one workgroup can be
associated with multiple workbaskets. (In the workbasket tab of workbasket data instances we enter the
name of a workgroup that uses the workbasket. This field determines which workbaskets appear in the
View Queue list on the My Group area of the Process Work workspace for managers).

3) How do you associate an operator with a workbasket?

Each operator may have a list of workbaskets that they can view. Normally users can fetch assignments
directly from any workbasket defined for their own organizational unit. However, if the roles are
specified in the roles array on the workbasket tab of the workbasket data instance, the operator must
possess at least one access role that matches an access role in the Roles array.

4) What are the primary configurations that you do in an Access Group?

The primary purpose of an access group is to make a set of RuleSet versions available to requestors.

Also, the access group associated with a user affects access control by determining:

The portal layout that a user sees first after logging in.

The local customization RuleSet name and RuleSet version. These usually are defaulted when this user
creates a new rule instance.

Page 160
PEGA MATERIAL

The application rule for this user.

Optionally, the access roles available to this user

Workpools available to the user.

5) What is the difference between a Workpool and a Work Type? Can a workpool belong to another
workpool? Can a worktype belong to a work pool?

Different work types (classes derived from the Work- base class) are grouped into one class group and
when this class group is added to auser in his access group, the user can work on each work type of each
class group added. Class groups so added are called as Work pools. A workpool cannot belong to
another work pool. Multiple work types can belong to a work pool

** Class Group – A class group instance causes the system to store the instances corresponding to two
or more concrete classes that share a common key format in a single database table. The name of the
class group is a prefix of the names of the member classes. Class groups and work pools are basically the
same things and class groups added to an access group are called work pools.

6) What do you mean by Case Management in PEGA? When do you use folders?

Case Management involves managing work that, for processing and reporting purposes, differs from
classic BPM work objects. Cases may involve:

 Less rigid structure.


 More flexibility in the order of tasks or which tasks are needed.
 Interrelationships with other work.
 Process Commander facilities supporting sophisticated case management include
covers, folders, and case type rules.
 Case Management design is governed by the Case Type Definitions gadget, which is
used to configure the following case type and work processing configurations. Using the
gadget, you can:
 Construct covering relationships and build new case types using a standard tree gadget.
 Add entirely new case types: Creates Class and Case Type rules, provides standard
starting flows for the new case type.
 Reuse existing case and work types.

Page 161
PEGA MATERIAL

Manage various aspects of work processing, including:

Service levels

Attachments Categories(and automatic attachments when work objects are created).

Automatic and conditional instantiation of covered items when a new cover(case) is created.

Mapping roles to object access for your various case and work types.

7) What are declarative rules? Few examples.

A declarative rule describes a computational relationship among property values that are expected to be
valid “always” or “often” or “as needed”. Declarative rules will be in force automatically and hence you
need not call these rules explicitly. The primary benefit of declarative processing is that the system
controls when computations are processed. Some examples are :

Constraints rules (Rule-Declare-Constraints rule type)

Declare Expression rules (Rule-Declare-Expressions rule type)

Declare Index rules (Rule-Declare-Index rule type)

Declare OnChange rules (Rule-Declare-OnChange rule type)

Declare Trigger rules (Rule-Declare-Trigger rule types)

** Keep in mind the concept of forward chaining and backward chaining and out of the above rules only
Declare Expressions can use both FW Chaining as well as BW chaining. Rest all use only forward
chaining.

8) From an activity how do you call a decision table?

In an activity, you can call a decision table using the Property-Map-Decision Table method.

Page 162
PEGA MATERIAL

9) Migration of patches from one environment to another?

For Migration of rules from one environment to another we create a ZIP file containing rules from one
or more Rulesets. For this, we use a product rule (Rule-Admin-Product rule type) or a product patch rule
(Rule-Admin-Product-Patch rule type) and then import the zip file into the target environment. Also, we
can use the export gadget to create the zip file for rulesets.

** The data instances (such as access groups, operator ids etc.) can be included in the product or patch
rules.

10) What do you mean by exposing a property? Did you use any SQL tools or does Pega provide some
means to expose columns?

A Single Value property that is visible as a column in a database table is said to be exposed. Only
exposed properties can be used for the record selection operations in list view and summary view rules.

In PEGA we can use the ‘Modify Database Schema’ wizard to expose properties. Also, the database
administrator can cause a property previously stored only inside the Storage Stream column to become
a separate exposed column using SQL tools such as TOAD.

** Aggregate properties, properties within an embedded page, and properties that are not exposed are
contained in a specially formatted Storage Stream or BLOB column. Most Pega Rules database tables
contain a Storage Stream column named pzPVStream.

** Exposing too many properties in a table may speed reporting and searching operations, but make the
insert and update operations slower. The tradeoff and relative impact depend on hardware and
software and no general guidelines exist.

11) What is the concept of database table mapping? Why do we do that? Do you do any additional
table to class mapping (apart from the existing mappings) during development?

In database table mapping a database table instance associates a class with a relational database table
or view, in the PegaRULES database or an external database. This is done to map a class to a database

Page 163
PEGA MATERIAL

table and thus store the instances of the class in the table. Yes, we have done an additional table to class
mappings for several application specific classes during development.

12) What are SLAs used for? How do you configure an SLA?

SLAs are rules in PRPC that indicate the expected or targeted turnaround time for the assignment, or
time-to-resolve for the work object. Each service level rule defines one to three-time intervals, known as
goals, deadlines, and late intervals. Late intervals are repeated.

Service level rules can be associated with assignments in a flow and with the entire flow. For example,
we can set a goal of 2 hours to process an assignment and a deadline of 4 hours. (The time interval
starts when the assignment is created, not when a user begins processing the assignment.)

For assignments, the service level rule is referenced in the Assignment Properties panel of the assigned
task.

For the overall work object, the service level rule is identified in the standard property .pySLAName,
typically set up through a model for the class. (The default value is the Default service level.)

** The Pega-ProCom agent detects service levels not achieved — unmet goals or deadlines — promptly.
If an assignment is not completed before the time limit, the system can automatically notify one or
more parties, escalate the assignment, cancel the entire flow, and so on.

13) Can you call one section from another section?

Yes it is possible to call one section from another. A section rule can appear within another section,
panels and containers within a harness rule, or within a layout cell.

14) Which harness would you use to present the work object to the users only for viewing?

Review harness. Review harness is used to display the work objects in display-only mode, with no fields
changeable.

Page 164
PEGA MATERIAL

15) What are Work Parties? How do you send correspondence to work parties?

Work party is a person, organization, or other actor identified in a work object, who can be the recipient
of the email or other forms of correspondence. A work object may identify no work parties, one, or
many work parties. The work party role associated with each work party identifies why a party is present
and may determine which properties are defined for that party.

A Notify activity, when referenced in a flow, sends out correspondence, such as an email message, when
a flow execution creates an assignment. Typically, the system addresses correspondence to a work party
identified in the work object and reports progress to that party.

16) In the flow, what is the difference between local and connector flow action?

Flow actions specify the choices that user has when performing an assigned work object. Flow actions
are mainly of two types i.e., connector actions and local actions.

Connector flow actions advance the flow. They are associated with the connector that exists at the
assignment, so selecting them causes the flow to advance along with the path.

Local actions allow the user to update the work item but don’t advance the flow. After the assignment is
committed, the flow remains at the same assignment from which the local action was performed.

17) Have you integrated any external systems with Pega? How do you make a SOAP call? Briefly
mention the steps to connect to an external system using SOAP.

To make a SOAP call from PRPC we import the wsdl from the external web service and create SOAP
connector rules in PRPC to invoke the external web service.

We use the Connector and Metadata Accelerator to generate the connector rules. The Connector and
Metadata Accelerator imports information about an external application or system and generates rules
and data objects that the PRPC applications can use to communicate with that external system.

Page 165
PEGA MATERIAL

Before you use the Connector and Metadata Accelerator to generate connector rules, follow these
steps:

1. Identify the RuleSet and version to contain the generated rules — classes, properties, connector
rules, activities, and so on.
2. Identify or create the following class rules to use for the generated rules.
3. An abstract class rule — typically one that inherits from the Database class — for the accelerator
to use as the container or base for the generated items with the exception of the connector
activities. (If you do not create this class before you begin, the accelerator can create one for
you.)

4. A concrete class rule for the connector activities. If you plan to call the connector from a flow,
choose a class that inherits from the Work- base class, so that the connector activities can be
called directly from an Integrator task.

5. Next, start the Connector and Metadata Accelerator and provide the URL to the WSDL
document of the Web service that you want to connect to. Complete all the steps on the wizard
to generate the connector rules and data mapping rules.

** Also, be familiar with Soap Service rules. You may also get questions on that.

18) Which rules does the Connector Accelerator create while building a connect soap interface?

When your Process Commander application uses a SOAP connector to interact with a Web service, you
set it up by using the Connector Accelerator. The Connector Accelerator imports the WSDL of the Web
service and generates rules as follows:

1. Class and property rules that represent the data model of the external system
2. One connector rule for each operation that you selected
3. One connector activity for each connector rule

19) What are Connect HTTP rules used for and how are they different from connect SOAP rules?

Page 166
PEGA MATERIAL

PRPC 5.2 introduces two new integration rule types:

Rule-Connect-HTTP

Rule-Service-HTTP

These rules are used when you want your PRPC application to send XML or string data (regular text) as
messages to an external system without having to comply with standards messaging protocols such as
SOAP.

The rules currently work very similar to the SOAP rules but, do not create or consume WSDLs, nor can
they be generated using the integration wizard. Use these rules instead of custom Java code for making
HTTP requests to external systems.

Purpose – The HTTP integration interface supports interactions between your Process Commander
applications and other systems through HyperText Transport Protocol.

Use HTTP connector rules when you want your Process Commander application to send XML or string
data (text) as messages to an external system without the need to comply with messaging standards or
protocols like SOAP.

20) How can we achieve reusability in Pega? Typically what kind of rules go in at the enterprise level
and what rules would you create at the implementation level?

We can achieve reusability in Pega by creating rules which are to be used by different applications
within an organization at an enterprise level. Typically rules that are generic and are to be used by
multiple applications such as connectors and services go in at the enterprise level and rules which are
specific to an application such as flows and activities go in at the application level.

21) What are screen flows and screen tabbed flows

Page 167
PEGA MATERIAL

Many computer input procedures are most effectively handled by presenting a user with a series of
simple forms that each require only one or a few questions to be answered. After submitting a form, a
user receives with another simple form (with more questions) that may depend on previous answers. At
any point, users can backtrack to review, or change, previous answers.

Process Commander can support such interactions with screen flows, a flow rule with specific settings.

Three runtime presentations are available to allow users to navigate within a screen flow execution at
runtime:

Completed tasks (that are designated as entry points) appear as blue rectangles in a breadcrumbs
control. A user selects a rectangle to return to that task.

Tabs for both completed and future tasks (that are marked as entry points) appear at the top of the
action area. Completed tasks contain with a check mark.

No breadcrumbs control or tabs appear. A user can return to a completed task that is marked as an
entry point when the button appears.

22) Can you call an integrator from screen flows?

No an integrator shape is not allowed in a screen flow.

23) Can you use an unexposed column in criteria of a report?

No. However, if the application needs a column corresponding to embedded property values, the values
can be copied to the top level or exposed indirectly through instances of an Index- class and then used
as criteria of a report.

24) Different types of harnesses available in PRPC.

Page 168
PEGA MATERIAL

Ans: Some of the standard harnesses in PRPC are :

New — Support initial entry (creation) of the object.

Perform — Support users completion of assignments.

Review — Display the work objects in display-only mode, with no fields changeable.

Confirm — Accept a text note explaining a user’s reasoning about a recently completed
assignment.

Reopen — Support reopening a previously resolved work object.

Print Review — Support printing of all the fields.

25) What are Agents and how to configure them?

An agent is an internal background process operating on the server that runs activities on a periodic
basis. Agents route work according to the rules in your application; they also perform system tasks such
as sending email notifications about assignments and outgoing correspondence, generating updated
indexes for the full-text search feature, synchronizing caches across nodes in a multiple node systems,
and so on.

Agents are defined by Agents rules (Rule-Agent-Queue rule type). Agents are enabled and are scheduled
through Agent Queue data instances (Data-Agent-Queue class). The pattern (periodic/recurring) and
interval (amount of time, in seconds, that the agent waits before restarting) for the Agent rule is
configured in the Agent Queue data instances.

51. What type of Reporting features are provided by Pega?


A. List View and Summary View

52. What is the difference between List View and Summary View ?
A summary view rule defines a two-level report display, presenting summary counts, totals or averages
to be isplayed initially, and allowing users to click a row to drill down to supporting detail for that row.
Summary view rules support interactive charts, trend reports, and the use of AJAX for pop-up Smart Info
windows.
A summary view rule is an instance of the Rule-Obj-SummaryView rule type. This rule type is part of the
Reports category.
A list view rule, an instance of the Rule-Obj-ListView rule type, defines a report. Users can personalize
list view reports easily and interact with them.

Page 169
PEGA MATERIAL

Use the Report wizard to define list view reports and link them to our portal.

53. How to call a list view from an Activity?


In an activity, the Obj-List-View can execute a list view rule.

54. What is Paging in a list view?


To divide the List View in to different pages and set the number of records to be displayed in a page.

55. What is exposing a property?


Exposing a property means to make a property as a separate independent column so that it can be used
in sql queries and as a criteria in reporting.
Steps are as follows,

56. How to expose a single value property?


Process Commander stores the values of all aggregate properties and some Single Value properties in a
BLOB column (the Storage Stream) usually in a compressed form. Such properties cannot support
selection in list view and summary view reports, and can slow retrieval and processing in other
operations
1. Select Tools > Database > Modify Database Schema.
2. A list of databases identified in Database data instances appears. Select a database and click Next .
3. A list of tables in the selected database appears from Database Table instances. Select a table.
4. Click Explore Columns .
5. The resulting List of Classes window displays the number of rows in the table, the number of columns
in the table and a list of the classes assigned to that table. The Properties Set to Be Visible value counts
the properties for which the Column Inclusion value is Required or Recommended. This Column
Inclusion value is advisory, and does not indicate whether the property is exposed — corresponds to a
column. The Count column shows the total count of properties in this class plus those its parent classes.
6. To see the columns currently defined in this table, click the numeric link labeled Number of columns
in this table.
7. The List of Database Columns window shows the column name, column data type, and column width
in bytes for each column in the table.

57. How to expose aggregate property?


Declare Index rule is a better approach.
1. Create a concrete class derived from the Index- base class.
2. Create Single Value properties in the new class to hold values of the embedded values.
3. Create a Declare Index rule with the appropriate embedded Page Context value that copies the
embedded values into a new Index- instance.
4. Save the Declare Index rule. It executes immediately, adding and deleting instances of the new class.
5. Expose database columns corresponding to the Index- class.
6. Reference the Index- properties in the list view rule.

58. Can we refer the property without exposing in Reports?


We can refer the propertys in Display tab without exposing.
But we can’t refer the property without exposing in Critera fields of the Content tab.

59. What is the activity responsible for getting the data in List View?
getContent Activity

Page 170
PEGA MATERIAL

60. What the class of getContent Activity?


Embed-ListParams class.

61. Can or have you customize the getContent Activity?


Yes

62. How to customize the getContent Activity?

Step1: Create Activity in Our Class and create the New page
Step2: write a query and store in variable.
Step3: call the listview as Call Rule-Obj-ListView
Step4: Write the another activity in Embed-ListParams
Step5: create the parameter. This parameter get the sql query from previous activity
Step6: write Java method The java code in this method is
Get the page from pyContentPage if page already exists. If page is not available it creates the new
ContentPage.
In this code get the sql query from the above parameter and pass this query and above created
ContentPage as parameters to this tools.getDatabase().executeRDB(query, pagename) method.

63. How do we get the data from the two different tables?
Using Join tab in Reports

64. How do we fetch the data from two different tables without using two different tables?
Write a database View. In this view logically combine the Two different tables.
Create class for this logically combined Table.
Write the List View. Applies to class is class of the Combined table. So we can refer the properties of
both the tables in list view.

65. What is the use of HTML property in ListView?


HTML Property rules appear in list view and summary view rules to define the appearance of values in
reports.

66. Consider this scenario: I need to generate a list view report of all the work objects created on a
particular date and then I need to include this list view in a section. How this can be done?
Select .pxCreateDateTime ( an exposed property ) under criteria and give the value you are looking for.
To include it in a section, check the embedded check box and customize the HTML of the section. In that
we need to access the list view in a JSP tag or In section Property is DisplayAs ListView.

67. What is the difference between List View and Obj-List?


List view is generally used for complex queries where sorting is required and also we can retrieve less
information using Paging.

68. Explain in brief the configuration of a list view?


List view (an instance of Rule-Obj-ListView ) is used to define a custom report or personal version of a
report.

A list view can be configured as follows:

Page 171
PEGA MATERIAL

Applies to class of list view will be taken as the database table map for the search criteria.
Display fields tab is used to depict the fields that are displayed along with category and to
enable/disable
sorting
Content tab is used to depict the criteria, fields to be retrieved, key of each row (if selected) and
Report
source (Page name where the values should be saved and the activity to be called)
In organize tab we specify to enable/disable paging, page size, mode, alignment etc.
We can also configure additional buttons and their fragments here.
Format tab is used to depict the formatting of the list (like even/odd coloring) and details on single
click etc.
List view can be accessed from an activity or html as follows:
A list view can be used for complex retrievals from database by not specifying the display, format and
Organize tabl.
PyAction in that case would perform instead of refresh.

69. Explain in brief about the configuration of a summary view?


Summary views are used to create reports which are grouped by certain criteria and can be later drilled
down.
A Summary view can be configured as follows:

Applies to class of summary view will be taken as the database table map for the search criteria
Category is used to know under which tab the report should come.
Criteria is used in the where class (this can be asked to user by enabling prompt user)
Group by and field functions (like count) are used for initial display. If we have more than one group
by
it is Displayed one after another on clicking +
Drill down fields are used to display the fields when we click on the assignment.
Format is used to tell how to format the display and charts can also be used.
Summary view can be accessed from an activity or html as follows:
Call Rule-Obj-ListView.ShowView activity with classname and summary view name as parameters

70. What are the Methods we have used for validations?


a. Obj-Validate–we can referred this method in Activities and in flow actions at Validate Rule field.
b. Edit-Validate—- we can refer this in property form at edit-validate field and in activities through
property-validate method.
Note: I think Obj-Validate is used for Server Side Validation and Edit-Validate is used for Client Side
Validation.

71. How do you add custom message to the Property when it fails the Validation.
For this we have to use theProperty.addMessage(“your message”) tag.

72. Message is set to the property and the checked in the clipboard also , the messages got set
successfully. But the message is not displayed beside the field in the screen. Why..?
If the property has a html property, the tag <pega:include name =”Messages”/> tag must be include

73. Explain the operation of Activity-End method?

Page 172
PEGA MATERIAL

Use the Activity-End method to cause the system to End the current activity and all calling activities.
Ex:if Alpha calls Beta, which calls Gamma, which calls Delta, which performs the Activity-End method, all
four activities are ended.

74. Explain about Exit-Activity method?


The Exit-Activity method ends the current activity and returns control to the calling activity.

75. Explain about Page-Copy method?


Page-Copy method is used to copy the contents of a source clipboard page to a new or previously
created destination clipboard page. The source page is not altered.
After this method completes, the destination page contains properties copied from the source page, and
can contain additional properties from a model.

76. Explain about Page-New method?


The Page-New method is used to create a page on the clipboard. The new page may be a top-level page
or an embedded page.
We can identify a model to initialize the newly created page. The model can set values for one or more
properties.

77. Explain about Page-Remove method?


Page-Remove method is used to delete one or more pages from the clipboard. The contents of the
database are not affected.

78. Explain about Page-Set-Messages method?


Use the Page-Set-Messages method to add a message to a clipboard page. Like a message associated
with a property, a message associated with a page normally prevents the page from being saved into the
database.

79. Explain about Property-Set-Message?


Property-Set-Message method is used to associate a text message with a property or a step page. The
system reads the appropriate property and adds the message to the page. We can provide the entire
literal text of the message, or reference a message rule key that in turn contains message text. (Rule-
Message rule type).

80. Explain about Property-Map-DecisionTable method?


Use the Property-Map-DecisionTable method to evaluate a decision table rule and save the result as the
value of a property.

81. Explain about Property-Map-DecisionTree method?


The Property-Map-DecisionTree method is used to evaluate a decision tree rule (Rule-Declare-
DecisionTree rule type) and store the result as the value of a property.

82. Explain about Property-Map-Value?


The Property-Map-Value method evaluates a one-dimensional map value (Rule-Obj-MapValue rule type)
defined in the parameter. The method sets the result as a value for a Single Value property.
The related method Property-Map-ValuePair works similarly for two-dimensional map values.

83. Explain about Property-Remove method?

Page 173
PEGA MATERIAL

Property-Remove method is used to delete a property or properties and its associated value from the
step page or another specified page. This does not affect the property rule, its definition.

84. Explain about Property-Set method?


Property-Set method is used to set the value of one or more specified properties.

85. Explain about Show-HTML method?


The Show-HTML method is used to cause the activity to process an HTML rule and send the resulting
HTML to a user for display by Internet Explorer. This may involve the interpretation of JSP tags (or the
older directives), which can access the clipboard to obtain property values, or can insert other HTML
rules, and so on.

86. Explain about Show-Page method?


The Show-Page method is used to send an XML representation of the step page to a user’s Internet
Explorer browser session, as an aid to debugging.
Note: Use Show-Page and Show-Property only for debugging.

87. What is the difference between Call and Branch?


The Call instruction calls the another specified activity and execute it. When that activity completes,
control returns to the calling activity.
Use the Branch instruction to find another specified activity and branch to it without a return.
When the system executes a Branch step, control transfers to another activity found through rule
resolution. Execution of the original activity pauses.
When the branched activity ends, processing of the current activity also ends.
No steps after the Branch step are executed.

88. Explain about Obj-List Method?


Obj-List method is used to retrieve data to the clipboard as an array of embedded pages.
This method creates one embedded page for each instance retrieved.
The Obj-List-View method often produce more efficient SQL statements and provide better performance
than the Obj-List method.

89. Explain about Obj-Browse method?


Obj-Browse method is used to search instances of one class and copy the entire instances, or specified
properties, to the clipboard as an array of embedded pages.
Only properties exposed as columns can be used as selection criteria. However, values of properties that
are not exposed as columns, including embedded properties, can be returned.

90. Explain about Obj-List-View method?


Obj-List-View method is used to execute the retrieval and sorting operations, but not the formatting and
display processing, of a list view rule.
The system uses rule resolution to find the list view rule and executes it, but does not produce any
HTML output display.

91. Explain about Obj-Open method?


Obj-Open method is used to open an instance stored in the PegaRULES database or in an external
database linked to an external class, and save it as a clipboard page.

Page 174
PEGA MATERIAL

The system uses the specified class and key fields to find and open the object and place its data into the
specified step page. The system searches up the class hierarchy as appropriate to find the instance. If it
finds the specified step page, the system clears any data that is on it and reuses the page. If no existing
page has a name matching the specified step page, the system creates a new page.

92. Explain about Obj-Open-By-Handle method?


Use the Obj-Open-By-Handle method only if we can determine the unique handle that permanently
identifies which instance to open. Otherwise, use the Obj-Open method.

93. Explain about Obj-Delete method?


Obj-Delete method is used to delete a database instance corresponding to a clipboard page and
optionally to delete the clipboard page too. We can cause the deletion to occur immediately, or until
execution of a Commit method.
This method can operate on objects of both internal classes (corresponding to rows in a table in the
PegaRULES database) and external classes (corresponding to rows in an external relational database).
The Obj-Delete method uses the class of the page to obtain the appropriate Rule-Obj-Class instance. It
uses the table name, key fields, and other aspects of the class rule to mark the instance for deletion.
We can reverse or cancel a previously executed Obj-Delete method by using the Obj-Save-Cancel
method.

94. Explain about Obj-Save method?


Obj-Save method is used to save a clipboard page to the PegaRULES database or if the page belongs to
an external class save a clipboard page to an external database.
The Obj-Save method uses properties on the page to derive the internal key under which it will be
saved.
This method can create a new database instance or overwrite a previous instance with that key.
We cannot save a page that is locked by another requestor.
We cannot save a page that our session does not hold a lock on (if the page belongs to a lockable class),
unless the object is new, never yet saved.
We cannot save pages of any class derived from the Code- base class or the Embed- base class. Such
pages exist only on the clipboard.

95. Explain about Commit method?


Commit method is used to commit all uncommitted database changes. This method writes all the
instances specified by one or more earlier Obj-Save methods to the PegaRULES database (for internal
classes) and to external databases (for external classes).

96. Explain about Obj-Validate method?


Obj-Validate method is used to apply a validate rule (Rule-Obj-Validate rule type) for the object
identified on the primary page or step page.
A validate rule (Rule-Obj-Validate rule type) can call edit validate rules (Rule-Edit-Validate rule type).

97. Explain about Obj-Sort method?


Obj-Sort method is used to sort the clipboard pages that are the values of a property of mode Page List.
We can specify one or more properties to sort on, and whether the sort sequence is ascending or
descending for each sort level.
Use Connect SQL rules and RDB methods only with an external database. Do not use Connect SQL rules
or RDB methods for the PegaRULES database(s). Because not all properties in the PegaRULES databases

Page 175
PEGA MATERIAL

are distinct database columns, use the Obj-Open and Obj-Save methods, not the RDB- methods, with
the PegaRULES database to prevent loss of data.

98. Explain about RDB-List method?


RDB-List method is used to retrieve rows from an external relational database and place the results as
embedded pages in a specified step page of classCode-Pega-List.
This method references a Connect SQL rule instance, and executes SQL statements stored in the Browse
tab of that rule instance. The search can do anything we can specify in a SQL statement, such as a
SELECT WHEREstatement. Any constraints on the returned data are in the SQL.

99. Explain about RDB-Open method?


RDB-Open method is used to retrieve a single row (record) of data from an external relational database
and add the retrieved data into a specified clipboard page as property names and values.
Use this method in conjunction with a Connect SQL rule that contains SQLSELECT or EXECUTE
statements in the Open tab. Define the SQL statements so that the database returns exactly one row.

100. Explain about RDB-Save method?


RDB-Save method is used to save the contents of a clipboard page into a row of a relational database.
The system saves the properties on the specified step page to the specified table in the database.
This method operates in conjunction with a Connect SQL rule that contains SQL statements such as
INSERT, UPDATE, and CREATE statements on the Save tab.

101. Do we need to migrate Agent Schedule to other environment?


No

102. Do we need to create Agent Schedule?


No. Agent schedules cannot be created manually.
The Agent Manager on our Process Commander system generate at least one agent schedule instance
for each agents rule.
By default, the Agent Manager checks for new or updated agents rule once every ten minutes.
After we create an agents rule, the Agent Manager generates one Agent Schedule instance for each
node running on your Process Commander system the next time it checks for new agents rules.

103. Who will create Data-Agent-Queue?


The Agent Manager is a master agent that gathers and caches the agent configuration information set
for our system when Process Commander starts. Then, at a regularly scheduled interval, it determines
whether any new agents rules were created during the last period. If there are new agents rules, the
Agent Manager adds them to its list of agents and generates agent schedule data instances for them for
each node.

104. What is the use of Data-Agent-Queue?


When you need to modify the behavior of an agent listed in an agents rule in a locked RuleSet (any of
the standard Process Commander agents rules, for example) you do so by editing one or more of the
generated

A service level rule is an instance of the Rule-Obj-ServiceLevel type. Each service level rule defines one to
three time intervals, known as goals, deadlines, and late intervals, that indicate the expected or targeted
turnaround time for the assignment, or time-to-resolve for the work object.

Page 176
PEGA MATERIAL

The goal time is the smallest time interval, the deadline time is a longer interval, and the late interval
defines post-deadline times. Each time interval is in days, hours, minutes, and seconds.

105. What are the types of SLA? Where they can be defined?
Service level rules can be associated with a work object or an assignment.
For assignments, the service level rule is referenced in the Assignment Properties panel of the
assignment task.
For the overall work object, the service level rule is identified in the standard property .pySLAName,
typically set up through a model for the class. (The default value is the Default service level.)

106. How do we do Escalation?


Escalation refers to any processing within a Process Commander application that causes high-priority
work objects to become visible to users and managers and to be processed sooner rather than later.
The numeric property known as urgency determines the order that assignments for that work object
appear on worklists. Escalation recalculates the urgency value to reflect its age, impending due date, or
explicit management inputs.
Escalation can occur through a service level rule associated with the flow and through background
processing by the Pega-ProCom agent.

107. What are SLA’s, how are they different from Agents?
A service level rule is an instance of the Rule-Obj-ServiceLevel type. The service level can define a goal
and a deadline times for processing an assignment, and can execute activities if the goal or the deadline
is not met. This assignment-level service level is distinct from any service level associated with the entire
flow.
At runtime, an internal countdown clock (measuring the completion of the assignment against the goal
and deadline times computed from the service level rule) starts when the assignment task is created.
An agent is a background internal requestor operating on the server. These requestors can periodically
monitor conditions and perform processing as necessary.
Most agents are defined by an Agent Queue rule (Rule-Agent-Queue), which includes a
list of the activities they perform.

108. How to implement SLA’s? Is is possible to define a SLA for the entire work object? If yes, how?

SLA’s are always associated with an assignment. Just drag a SLA shape and provide an instance of
Rule-Obj-ServiceLevel.
Yes, SLA can be defined for the entire workobject by defining it in the model.
The property for this is pySLAName.

109. How to restrict a flow to particular users?


By using privileges and when conditions under process tab of the flow instance.

1. What are the types of Flow Actions?


A flow action rule controls how users interact with work object forms to complete assignments.
Each flow action is defined by an instance of the Rule-Obj-FlowAction rule type.
Flow actions are of two types:
Connector flow actions appear as lines on Visio presentation in the Diagram tab of a flow rule. A line
exits from an assignment shape and ends at the next task in the flow. At runtime, users choose a

Page 177
PEGA MATERIAL

connector flow action, complete the assignment, and advances the work object along the connector to
the next task.
A local flow action, when selected at runtime, causes the assignment to remain open and on the current
user’s work list. Local flow actions are recorded in the Assignment Properties panel and are not visible
on the Visio flow diagram.

A local flow action permits users at runtime to update, but not complete, an assignment. Local flow
actions always are optional. Users may perform none, one, or multiple local flow actions, or repeat a
local flow action multiple times.
At runtime, users choose a connector flow action, complete the assignment, and advances the work
object along the connector to the next task.

110. Explain about Pre Activity?


At runtime, the system runs this activity before it does other processing for this flow action. This activity
is not visible on the Visio flow diagram. This activity executes only once, the first time a user selects this
flow action for this assignment.

111. Explain about Post Activity?


Activity to run after other successful processing of this flow action.
For screen flow rules By default, when this flow action appears as a step in a screen flow rule, and the
user at runtime clicks away to a different step in the screen flow rule, this activity rule does not run. To
cause this activity to execute when the user clicks away to a different step, select the Post Action on
Click Away? check box on the Assignment shape properties panel.

112. Explain about Local Flow Action?


A local flow action permits users at runtime to update, but not complete, an assignment. Like connector
flow actions, local flow actions are referenced inside an assignment task in a flow.
At runtime, users can select local flow actions to update assignment or work object properties, change
the assignee, and so on but do not complete the assignment. If a service level rule is associated with the
assignment, the service level continues to run.
Local flow actions always are optional. Users may perform none, one, or multiple local flow actions, or
repeat a local flow action multiple times.
On the Action tab of the Flow Action form, we can mark a flow action rule as local, or connector, or
both.

113. How Rule-Edit-Validate is different from Rule-Obj-Validate?


Edit Validate is to validate a single property at a time but obj validate rules are used to validate all the
properties in a single go. Obj-Validate method is used for this purpose.

114. How one single property can be represented in different forms on a screen?
By using HTML Properties at the section level, not at the property level.

115. Consider this scenario : I have a property of type decimal, I need to restrict it to two decimal
places only. How easily this can be done?
By using a qualifier “pyDecimal Precision” under Qualifiers tab.
116. How to implement dynamic select and smart prompt? What’s the major difference between
them?
Implementation of Dynamic Select:

Page 178
PEGA MATERIAL

In properties panel select Display As is DynamicSelect.


Write Activity for generating Dynamic Select.
By using Show-Page method display the data in XML format.
Dynamic Select is a drop down from which we can only select a value.
Smart prompts acts both as a text box and a drop down.
Smart prompts are implemented by using ISNS_FIELDTYPE, ISNS_CLASS, ISNS_DATANODE.

117. What is the difference b/w Page and Page List property, how are they Implemented?
Page property refers to a particular class and is used to access the property of that class.
Page List Property also refers to a particular class, but it’s a collection of individual pages of the same
class which can be accessed through numeric indexes.

118.
HTML Property rules are instances of the Rule-HTML-Property class. They are part of the Property
category.
Use HTML Property rules to control how properties appear on work object forms, correspondence, and
other HTML forms, for both display and for accepting user input.
For properties of mode Single Value an HTML Property rule may be identified in the Display Property
field of the Property rule form.
HTML Property rules also may appear in list view and summary view rules to define the appearance of
values in reports, and in harness, section, and flow action rules that define work object forms.

119. Explain about Special Properties?


Standard properties means all the properties in the Pega-RULES, Pega-IntSvcs, Pega-WB, and Pega-
ProCom RuleSets have names start with px, py, or pz.
These three prefixes are reserved. We cannot create new properties with such names. We can override
these standard properties with a custom property of the same name (without changing the mode or
Type).
Px: Identifies properties that are special, meaning that the values cannot be input by user input on an
HTML form.
Py: Properties with names that start with py are not special, meaning that values can be input by users
on an HTML form.
Pz: Properties with names that start with pz support internal system processing. Users cannot directly
manipulate pz properties. our application may examine these values, but do not set them. The meaning
of values may change with new product releases.
Interview Questions On VALIDATIONS In PEGA
Validation rule is used to validate the value against the some other value. Once the validation fails the
system add error message to that field in clipboard.

120. What types of validations are there?


a. Client Side Validations
b. Server Side Validations
How to Call a db stored procedure from Pega

We can query database tables using Rdb-list, Rdb-browse, Rdb-open, Obj-Open, Obj-Browse, Obj-list.
Well are these built-in Pega activities successful in executing stored procedures?
Yes ofcourse we can execute stored procedures from Pega.

Page 179
PEGA MATERIAL

Use Obj-List like this.


In the browse tab you have to code as below if the stored procedure name is “func1″ with one
parameter “Param1″
then the line goes like this, you can add up to as many parameters you want. For example a param to
get the result of stored procedure execution.
CALL func1('{ASIS:Request.param1}')

The System Management application(SMA) is a Web application that developers can use to monitor
and control caches, agents, listeners, and other processing in your Process Commander system. The URL
name is prsysmgmt.
Using the System Management application, you can:
§ Review the memory used by the Java Virtual Machine on the server.
§ Review the most recent ServletRequest and HTTPRequest details.
§ Display the prconfig.xml file.
§ Access any requestor and view the clipboard, start the Tracer, examine performance statistics, and
terminate requestor processing.
§ View executing threads and their characteristics.
§ View, stop, cycle, or restart agents and listeners.
§ View open JDBC database connections.
§ View rule cache statistics, and empty the cache.
§ Force extraction and recompilation of the functions in a library.
§ Extract and compile one activity rule or model rule.
§ Start or stop remote logging.
§ Observe the utilization of requestor pools supporting stateless services.
§ Review the status of the Java class loader.

Declare Expression: is an instance of Rule-Declare-Expressions/ is a declarative processing which defines


auto computation of property values based on expression. This implements Backward Chaining.
What is Backward Chanining:

Backward chaining: is a technique which allows a computation in advance even the input value or
parameter is not present. BC uses Rule-Declare-Expression and Property-Seek-Value method together
finds the missing property value by using inter dependency network such computations are called as
Goal Seeking.
Two standard flowactions called VerifyProperty and VerifyPropertyWithListing are examples of
Backward Chaining.
Declare OnChange: Rule-Declare-OnChange/ is a declarative processing which automatically run an
activity when a value of the specified property changes. These implements Forward Chaining.
What is Forward Chaining.

Forward Chaining: is an internal technique which automatically finds the changes in one property value
to changes in other property values or indexes.
Declare Trigger: Rule-Declare-Trigger/ is a declarative processing which automatically run an activity
when an instance of specific class are created, updated or deleted in the DB. These implements Forward
Chaining
Declare Constraint- Rule-Declare-Constraint/ is a declarative processing which automatically run
validation when a specified property is touched. This implements Forward Chaining

Page 180
PEGA MATERIAL

harness rule defines a runtime form that supports application users as they enter, review, update, and
resolve work objects. Harnesses rules support the display of work object forms.
Developers define work object forms through harness rules (Rule-HTML-Harnessrule type) and section
rules (Rule-HTML-Section rule type).
standard harness forms are New, Perform, Review, Confirm, Reopen, PrintReview
§ New — Support initial entry (creation) of the object.
§ Perform — Support users completion of assignments.
§ Review — Display the work objects in display-only mode, with no fields changeable.
§ Confirm — Accept a text note explaining a user’s reasoning about a recently completed assignment.
§ Reopen — Support reopening a previously resolved work object.
§ PrintReview — Support printing of all the fields.

A section is a portion or area of a standard work object form that is incorporated on a harness form.
Sections may contain other sections, informally called subsections.
The appearance, behavior, and contents of a section are defined by a section rule (Rule-HTML-Section
rule type). Section rules are referenced in:
§ Harness rules
§ Other section rules
§ Flow action rules
§ Paragraph rules with SmartInfo pop-ups

Clipboard: is a tool used for debugging and troubleshooting aid for application developers. Is an
temporary memory area on server. Its an hierarchy structure consisting of nodes known as pages most
of which have a name and an associated class.
Pages act as a buffers or temporary copies of object instance that are copied from, or may later be
stored into, the PRPC DB or another DB.
Clipboard tool is used for developing and debugging to:
Examine property values and messages
Quickly create, update, delete and modify pages using Action menu
Quickly execute activities and start flows using action menu
We can find pages and we can Refresh or only refresh current page.
The clipboard contains three broad categories of top-level pages:
o User Pages
o Declared pages
o System managed pages: requestor page, process page, and application pages, Thread page,
Operator ID, organization,
 orgDivision.

User Page: is a top level clipboard page that an activity creates pages using the methods like Page-New.
All the user pages will appear here once we log off, all the user pages will be removed from the memory
i.e. will not be saved to Pega DB.
If your requestor session times out, user pages may be lost, or may be saved for up to 3 days

Thread page—pxThread page is a top level clipboard page known as Thread page. The page has a class
of Code-Pega-Thread

Page 181
PEGA MATERIAL

Process Page—pxProcess page is a top level clipboard page known as Process page. The page has a class
of Code-Pega-Process. This page Contains information from the Data-Admin-System instance.

Declare Page-is a clipboard page created by execution of a declare page rules (Rule-Declare-Pages rule
type. The name of the declarative pages start with Declare_. The content of these pages are visible but
Read-Only to the requestors. Such pages are created and updated only through activities identified in a
Declare Pages rule.
Declarative pages can improve performance and reduce memory requirement issues when all or many
requestors in an application need to access static information or slowly changing information.

Requestor Page- pxRequestor page is a top level clipboard page known as Requestor page. The page has
a class of Code-Pega-Requestor. The system creates a page during at login time and contains
information about our Access roles, Security, Ruleset list and HTTP protocol parameters, Work pools
available details, workbasket that we can access, connection session, Login Date and Time details and
previous login Date and time details etc.
This page context is useful for troubleshooting and debugging.
Page Context is a property is a page List or Page Group property reference
property has mode Single Value and appears directly on a page of the Applies To class, or if creating a
context-free expression.

A decision table is a rule defining a series of tests performed on property values to allow an automated
decision. Decision table are instances of the Rule-Declare-Decision Table rule type.
Decision tables can capture and present business logic in the form of one or more if… then… else
conditions.

A decision tree rule defines a series of tests that are performed on property values to allow an
automated decision. Decision trees are instances of the Rule-Declare-Decision Tree rule type.
Decision trees can capture and present business logic in the form of one or more if… then… else
conditions.

A map value rule is a rule that converts one or two input values, such as latitude and longitude
numbers, into a calculated result value, such as a city name. The rule uses ranges for the input value or
values and a matrix to look up the result.
Map value rules are instances of the Rule-Obj-Map Value rule type. This rule type is part of the Decision
category.

When condition rule: When rule defines a true-false test based on comparing on or more property
values with constant values or with other property values. A when condition rule is an instance of the
Rule-Obj-When rule type

1. Operator ID instances are normally stored in the PegaRULES database as rows of the
pr_operators table.

2. What is volatile variable?

The volatile keyword is a type qualifier used to declare that an object can be modified in the program
by something such as the operating system, the hardware, or a concurrently executing thread.

Page 182
PEGA MATERIAL

This means every time the variable is requested inside the program, each time the value is read from
the source memory location(harddrive,devices.etc). normal variables are stored in virtual memory of the
processor. They are synced with source memory location only twice. Once during first read and second
termination write.
This is useful when the varialbe is used as a control condition in multthreaded or RT applications
applications.

3. How many access groups can be associated to an operator at once ?


Only one access group at a time , but one operator will have multiple access group in their operator id
instance.

4. Can u explain abt ruleset types ?


We have Different types of rulesets are available in Pega

5. What is a production ruleset ? How will it be helpful ?


In the production rulesets area we can provide rulesets, rules in this rulesets will be unlocked in
production, the end users directly will change these rules as per requirement, this is called rule
deligation.
PEGA Interview Questions and Answers
PEGA Interview Questions
6. What is the default access role used by developers ?
Pega rules SysAdmin4

7. Different types of classes that PRPC support?


Ans – We have different types of Standard Classes will be avaliable which are,
@baseclass is Ultimate base class, And Its Child Classes are work-, Data-, Rule-, Assign-, History-, etc.
Pega always Support 2 types of classe which are Abstract Classes And Concrete Classes
Abstract Classes are ends with ‘-‘ and abstract Classes cannot create any work object instances
Concrete Classes will Does not ends with -, And Abstract Classes will create Workobject instances

8. Rule Resolution ? Inheritence ?


7 steps
Defer load means, suppose u can use any tabbed Section in that situation u want to load the data on
each tab u can write one activity to retrieving data, then large amount of data will be loaded in
clipboard, Its an performance hit load the more data in clipboard, So in that situation we can use Defer
load option it will prevent performance because while u Check the Defer load option it will ask some
activity on each tab Cell properties, so when ever the particular tab is opened then relevant activity only
will be fired and load the related data…So it will Avoid the performance Yes we can load the values in
dropdown

9. How many types of portals does PRPC can provide? Where will you specify the portals that u have
created?
Composite portals, Fixed portals, Custom portals, mobile portals
After creating a portal it will specified in the Access group Settings tab, then it will access to the
particular user.

10. Explain Different types of harness that u have used ?

Page 183
PEGA MATERIAL

We have number of standard harness will be available in pega, but most commonly used are new,
perform, review, conform, Tabbed, perform screen flow, Tree Navigation

11) If I want to restrict a user to perform on a particular flow action, how can I achieve it?
we can specify the privileges or when conditions in Security tab of the flow action

12. How can u expose a property ? What is a linked property ?


By using the modified Data base schema or optimise for reporting option
Modifying database Schema-à Select Data baseà Select Table-à View Columnsà Select Columnsà Give
Database username& password and the Click Generate
Optimise reporting means right click on the property and select the optimise for reporting

13. Mention about the flow types ?


Process flows, Screen flows, Subflow’s, Straight through process flows.

14. In my screen flow I have 4 assignments. When I am at 3rd assignment, I want to route it to a
different user. How can it be done ?
No it is not possible to route the assignment in the middle of the screen flow…Suppose if you want to
route the entire Screen flow will be route to different user.. u can give the router in Start shape of the
screen flow

15. Use of entry checkbox in screen flow ?


Suppose u can specify the entry point checkbox in the assignment that shape allows as a start point in
the flow.. means for which assignment shapes u can check this checkbox that assignments only display
in the output, then u can use the breadcrumbs and navigate any screen.

16. What are all the different types of scope that declare scope provide ?
Node, Thread, Requestor

17. Advantages and limitations of declare page ?


The main Advantage of the Declare pages is, It prevents the multiple DB hits , Suppose is there multiple
requestors in that node when ever first user login into the application then load activity will be fired and
create a declare page and then loaded the data in that page, requestors who can on that node will show
this declare page and use the data on that page.
The Disadvantages are its read only to the requestors, and can not add the additional data and cannt
delete the specific data.

18. Diff b/w declare page and regular pages ?


Declare pages are created through declarative rules, Declare_ keyword must be specified while creating
a declare page, Declare pages are read-only pages, These pages Cant delete ,update directly.
User pages are created through page new method in an activity, these pages can be updated, deleted
directly, these pages automatically deleted once logout from the system.

19. Diff types of declarative rules present?


Declare Expressions, Declare Constraints, Declare On change, Declare trigger, Declare Index.

20. How do u specify if expression triggers f/w or b/w chaining ?


In the Chain tracking tab.

Page 184
PEGA MATERIAL

21. How b/w chaining process works in Pega ? (Goal Seek)


It will searches the first on dependency network After checking the dependency the execution Starts
from Lower expression to higher expression. In Activity u can use goal-seek-property to find the missing
value of the property.

22. What type of Reporting features are provided by Pega?


A. List View and Summary View

23. What is the difference between ListView and SummaryView ?


A summary view rule defines a two-level report display, presenting summary counts, totals or
averages to be displayed initially, and allowing users to click a row to drill down to supporting detail for
that row.
Summary view rules support interactive charts, trend reports, and the use of AJAX for pop-up Smart
Info windows.
A summary view rule is an instance of the Rule-Obj-SummaryView rule type. This rule type is part of
the Reports category.
A list view rule, an instance of the Rule-Obj-ListView rule type, defines a report. Users can personalize
list view reports easily and interact with them.
Use the Report wizard to define list view reports and link them to our portal.

24. How to call a listview from an Activity?


In an activity, the Obj-List-View can execute a list view rule.

25. What is Paging in a listview?


To divide the ListView in to different pages and set the number of records to be displayed in a page.

26. What is exposing a property?


Exposing a property means to make a property as a separate independent column so that it can be used
in sql queries and as a criteria in reporting.
Steps are as follows,

27. How to expose a single value property?


Process Commander stores the values of all aggregate properties and some Single Value properties in a
BLOB column (the Storage Stream) usually in a compressed form. Such properties cannot support
selection in list view and summary view reports, and can slow retrieval and processing in other
operations
1. Select Tools > Database > Modify Database Schema.
2. A list of databases identified in Database data instances appears. Select a database and click Next .
3. A list of tables in the selected database appears from Database Table instances. Select a table.
4. Click Explore Columns .
5. The resulting List of Classes window displays the number of rows in the table, the number of columns
in the table and a list of the classes assigned to that table. The Properties Set to Be Visible value counts
the properties for which the Column Inclusion value is Required or Recommended. This Column
Inclusion value is advisory, and does not indicate whether the property is exposed — corresponds to a
column. The Count column shows the total count of properties in this class plus those its parent classes.
6. To see the columns currently defined in this table, click the numeric link labeled Number of columns
in this table.

Page 185
PEGA MATERIAL

7. The List of Database Columns window shows the column name, column data type, and column width
in bytes for each column in the table.

28. How to expose aggregate property?


Declare Index rule is a better approach:-

Create a concrete class derived from the Index- base class.


Create Single Value properties in the new class to hold values of the embedded values.
Create a Declare Index rule with the appropriate embedded Page Context value that copies the
embedded values into a new Index- instance.
Save the Declare Index rule. It executes immediately, adding and deleting instances of the new class.
Expose database columns corresponding to the Index- class.
Reference the Index- properties in the list view rule.

29. Can we refer the property without exposing in Reports?


We can refer the propertys in Display tab without exposing.
But we can’t refer the property without exposing in Critera fields of the Content tab.

30. What is the activity responsible for getting the data in List View?
getContent Activity

31. What the class of getContent Activity?


Embed-ListParams class.

32. Can or have you customize the getContent Activity?


Yes

33. How to customize the getContent Activity?


Step1: Create Activity in Our Class and create the New page
Step2: write a query and store in variable.
Step3: call the listview as Call Rule-Obj-ListView
Step4: Write the another activity in Embed-ListParams
Step5: create the parameter. This parameter get the sql query from previous activity
Step6: write Java method The java code in this method is
Get the page from pyContentPage if page already exists. If page is not available it creates the new
ContentPage.
In this code get the sql query from the above parameter and pass this query and above created
ContentPage as parameters to this tools.getDatabase().executeRDB(query, pagename) method.

34. How do we get the data from the two different tables?
Using Join tab in Reports

35. How do we fetch the data from two different tables with out using two different tables?
Write a database View. In this view logically combine the Two different tables.
Create class for this logically combined Table.
Write the List View. Applies to class is class of the Combined table. So we can refer the properties of
both the tables in list view.

Page 186
PEGA MATERIAL

36. What is the use of HTML property in ListView?


HTML Property rules appear in list view and summary view rules to define the appearance of values in
reports.

37. Consider this scenario: I need to generate a list view report of all the work objects created on a
particular date and then I need to include this list view in a section. How this can be done?
Select .pxCreateDateTime ( an exposed property ) under criteria and give the value you are looking for.
To include it in a section, check the embedded check box and customize the HTML of the section. In that
we need to access the list view in a JSP tag or In section Property is DisplayAs ListView.

38. What is the difference between List View and Obj-List?


List view is generally used for complex queries where sorting is required and also we can retrieve less
information using Paging.

39. Explain in brief the configuration of a list view?


List view (an instance of Rule-Obj-ListView ) is used to define a custom report or personal version of a
report.
A list view can be configured as follows:-

Applies to class of list view will be taken as the database table map for the search criteria.
Display fields tab is used to depict the fields that are displayed along with category and to
enable/disable sorting
Content tab is used to depict the criteria, fields to be retrieved, key of each row (if selected) and
Report source (Page name where the values should be saved and the activity to be called)
In organize tab we specify to enable/disable paging, page size, mode, alignment etc.
We can also configure additional buttons and their fragments here.
Format tab is used to depict the formatting of the list (like even/odd coloring) and details on single
click etc.
List view can be accessed from an activity or html as follows:-
Call Rule-Obj-ListView.ShowView activity with classname and list view name as parameters
A list view can be used for complex retrievals from database by not specifying the display, format and
Organize tabl.
PyAction in that case would perform instead of refresh.

40. Explain in brief about the configuration of a summary view?


Summary views are used to create reports which are grouped by certain criteria and can be later drilled
down.
A Summary view can be configured as follows:

Applies to class of summary view will be taken as the database table map for the search criteria
Category is used to know under which tab the report should come.
Criteria is used in the where class (this can be asked to user by enabling prompt user)
Group by and field functions (like count) are used for initial display. If we have more than one group
by
it is Displayed one after another on clicking +
Drill down fields are used to display the fields when we click on the assignment.
Format is used to tell how to format the display and charts can also be used.
Summary view can be accessed from an activity or html as follows:

Page 187
PEGA MATERIAL

Call Rule-Obj-ListView.ShowView activity with classname and summary view name as parameters

41) Diff b/w list Obj-list-view results and obj-browse ?


We can retrieve instances from multiple classes by using the obj-list-view, In obj-browse we can retrieve
only Single Class Instances.

1) Diff types of log files available in PRPC?


2) Log level settings?
3) How do you track and analyse all your warnings?
Application Pre-flight tool

42. What is an Agent?


An agent is an internal background process operating on the server that runs activities on a periodic
basis.
Agents route work according to the rules in our application.
Agents also perform system tasks such as sending e-mail notifications about assignments and outgoing
correspondence, generating updated indexes for the full-text search feature, synchronizing caches
across nodes in a multiple node system, and so on.

43. How do we create an Agent?


New a SysAdmin a Agents
Rule Set name is the Agent name
Agent is instance of Rule-Agent-Quiee.

44. Do we need to create Agent Schedule?


No. Agent schedules cannot be created manually.
The Agent Manager on our Process Commander system generate at least one agent schedule instance
for each agents rule.
By default, the Agent Manager checks for new or updated agents rule once every ten minutes.
After we create an agents rule, the Agent Manager generates one Agent Schedule instance for each
node running on your Process Commander system the next time it checks for new agents rules.

45. Do we need to migrate Agent Schedule to other environment?


No

46. What are the Agent running time intervals?


Each agent activity runs individually on its own interval schedule, as a separate requestor thread.

Periodic — The agent runs the activity and then “sleeps” for the number of seconds entered in the
Interval column.
Recurring — The agent runs the activity based on a specified calendar schedule (for example, every
Monday at 5:00 P.M.).

47. What are the Agent Running modes?


Queue mode indicates whether the agent uses the agent queue capability to process items from the
agent queue. This feature allows the agent to temporarily skip over items that fail — for example,
because a needed resource is locked — and try again later to process the item later.

Page 188
PEGA MATERIAL

Standard — Specifies that this agent processes items from an agent queue and that it relies on the
system to provide object locking and other transactional support.
Advanced — Specifies that this agent uses custom queuing
Legacy — specifies that this is an agent that was created in a version prior to V5.4 and has not yet been
updated. This option is not available for agents created in V5.4 or later.

48. What is the use of referring Access Group in Agents?


Agent activity calls another activity. This called activity may not appear in agent rule set. So setup of the
Rule set list and Roles by providing Access group in security Tab.
Select the access group to use for the legacy and advanced agents listed in this rule. This field is ignored
for agents with a type of Standard.

49. How do we Troubleshoot or Trace an Agent?


1. < env name=”agent/enable” value=”true” />
Verify above tag in prconfig file. Value of the above tag is true or false.
2. In Agent Schedule, schedule tab verify the check box Enable this agent is Checked or Not. And also
verify the Enabled? Check box is checked or Not.
3. Same thing also check in Agents Rule.
In Tracer we can trace the particular operator or particular Agent.
In prsysmgmt portal, In Agent Management select the particular Agent and Delay the Agent and then
run the Tracer.
We can use the Agent Management link in the System Management Application to monitor and control
agent processing.
Agent runs on different nodes, select the particular node and run the Tracer.

50. What are the Agents for SLA and Correspondence?


The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and assignments, archive
work objects, and so on.
The agents in this rule provide the following types of processing:

 Processing service level events and escalation


 Applying a flow action to assignments in bulk
 Sending out e-mail correspondence
 Archiving and purging work objects, attachments, and history
 Retrieving PDF files from the PegaDISTRIBUTION Manager
 Running tests defined through the optional Automatic Testing facility
 Checking incoming e-mail
 The activity System-Queue-ServiceLevel.ProcessEvents supports service level processing for
both assignments and work objects.
 The activity Data-Corr-.Send supports outgoing e-mail if your system contains one or more Email
Account data instances with a second key part of Notify.

51. Who will create Data-Agent-Queue?


The Agent Manager is a master agent that gathers and caches the agent configuration information set
for our system when Process Commander starts. Then, at a regularly scheduled interval, it determines
whether any new agents rules were created during the last period. If there are new agents rules, the
Agent Manager adds them to its list of agents and generates agent schedule data instances for them for
each node.

Page 189
PEGA MATERIAL

52. What are the Standard Agents?


our system includes three standard agents rules. Because these agents rules are in locked RuleSets, we
cannot modify them. To change the configuration settings for the agents listed in these rules, update the
agent schedules generated from the agents rule.
Pega-IntSvcs,
Five agents in the Pega-IntSvcs RuleSet process queued service and connector requests and perform
maintenance for PegaDISTRIBUTION MANAGER (formerly called Correspondence Output Server, or
COS).
The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and assignments, archive
work objects, and so on. The agents in this rule provide the following types of processing:

 Processing service level events and escalation


 Applying a flow action to assignments in bulk
 Sending out e-mail correspondence
 Archiving and purging work objects, attachments, and history
 Retrieving PDF files from the PegaDISTRIBUTION Manager
 Checking incoming e-mail (deprecated in V5.3)
 Pega-RULES
 The agents in the Pega-RULES RuleSet perform general system housecleaning and periodic
processing. The agents in this rule provide the following processing:
 System Cleaner
 System Pulse
 Rule Usage Snapshot
 Static Content Cleaner
 System Work Indexer

53. What is the use of Data-Agent-Queue?


When you need to modify the behavior of an agent listed in an agents rule in a locked RuleSet (any of
the standard Process Commander agents rules, for example) you do so by editing one or more of the
generated

A service level rule is an instance of the Rule-Obj-ServiceLevel type. Each service level rule defines one to
three time intervals, known as goals, deadlines, and late intervals, that indicate the expected or targeted
turnaround time for the assignment, or time-to-resolve for the work object.
The goal time is the smallest time interval, the deadline time is a longer interval, and the late interval
defines post-deadline times. Each time interval is in days, hours, minutes, and seconds.

54. What are the types of SLA? Where they can be defined?
Service level rules can be associated with a work object or an assignment.
For assignments, the service level rule is referenced in the Assignment Properties panel of the
assignment task.
For the overall work object, the service level rule is identified in the standard property .pySLAName,
typically set up through a model for the class. (The default value is the Default service level.)

55. How do we do Escalation?


Escalation refers to any processing within a Process Commander application that causes high-priority
work objects to become visible to users and managers and to be processed sooner rather than later.

Page 190
PEGA MATERIAL

The numeric property known as urgency determines the order that assignments for that work object
appear on worklists. Escalation recalculates the urgency value to reflect its age, impending due date, or
explicit management inputs.
Escalation can occur through a service level rule associated with the flow and through background
processing by the Pega-ProCom agent.

56. What are SLA’s, how are they different from Agents?

A service level rule is an instance of the Rule-Obj-ServiceLevel type. The service


level can define a goal and a deadline times for processing an assignment, and can
execute activities if the goal or the deadline is not met. This assignment-level service
level is distinct from any service level associated with the entire flow.
At runtime, an internal countdown clock (measuring the completion of the assignment
against the goal and deadline times computed from the service level rule) starts when the
assignment task is created.
An agent is a background internal requestor operating on the server. These requestors can
periodically monitor conditions and perform processing as necessary.
Most agents are defined by an Agent Queue rule (Rule-Agent-Queue), which includes a
list of the activities they perform.

57. How to implement SLA’s? Is is possible to define a SLA for the entire work object? If yes, how?

SLA’s are always associated with an assignment. Just drag a SLA shape and provide an instance of
Rule-Obj-ServiceLevel.
Yes, SLA can be defined for the entire workobject by defining it in the model.
The property for this is pySLAName.

58. How to restrict a flow to particular users?


By using privileges and when conditions under process tab of the flow instance.
1. What are the types of Flow Actions?
A flow action rule controls how users interact with work object forms to complete assignments.
Each flow action is defined by an instance of the Rule-Obj-FlowAction rule type.
Flow actions are of two types:
Connector flow actions appear as lines on Visio presentation in the Diagram tab of a flow rule. A line
exits from an assignment shape and ends at the next task in the flow. At runtime, users choose a
connector flow action, complete the assignment, and advances the work object along the connector to
the next task.
A local flow action, when selected at runtime, causes the assignment to remain open and on the current
user’s work list. Local flow actions are recorded in the Assignment Properties panel and are not visible
on the Visio flow diagram.

A local flow action permits users at runtime to update, but not complete, an assignment. Local flow
actions always are optional. Users may perform none, one, or multiple local flow actions, or repeat a
local flow action multiple times.
At runtime, users choose a connector flow action, complete the assignment, and advances the work
object along the connector to the next task.

59. Explain about Pre Activity?

Page 191
PEGA MATERIAL

At runtime, the system runs this activity before it does other processing for this flow action. This activity
is not visible on the Visio flow diagram. This activity executes only once, the first time a user selects this
flow action for this assignment.

60. Explain about Post Activity?


Activity to run after other successful processing of this flow action.
For screen flow rules By default, when this flow action appears as a step in a screen flow rule, and the
user at runtime clicks away to a different step in the screen flow rule, this activity rule does not run. To
cause this activity to execute when the user clicks away to a different step, select the Post Action on
Click Away? check box on the Assignment shape properties panel.

61. Explain about Local Flow Action?


A local flow action permits users at runtime to update, but not complete, an assignment. Like connector
flow actions, local flow actions are referenced inside an assignment task in a flow.
At runtime, users can select local flow actions to update assignment or work object properties, change
the assignee, and so on but do not complete the assignment. If a service level rule is associated with the
assignment, the service level continues to run.
Local flow actions always are optional. Users may perform none, one, or multiple local flow actions, or
repeat a local flow action multiple times.
On the Action tab of the Flow Action form, we can mark a flow action rule as local, or connector, or
both.

62. How Rule-Edit-Validate is different from Rule-Obj-Validate?


Edit Validate is to validate a single property at a time but obj validate rules are used to validate all the
properties in a single go. Obj-Validate method is used for this purpose.

63. How one single property can be represented in different forms on a screen?
By using HTML Properties at the section level, not at the property level.

64. Consider this scenario : I have a property of type decimal, I need to restrict it to two decimal places
only. How easily this can be done?
By using a qualifier “pyDecimal Precision” under Qualifiers tab.

65. How to implement dynamic select and smart prompt? What’s the major difference between
them?
Implementation of Dynamic Select:

 In properties panel select Display As is DynamicSelect.


 Write Activity for generating Dynamic Select.
 By using Show-Page method display the data in XML format.
 Dynamic Select is a drop down from which we can only select a value.
 Smart prompts acts both as a text box and a drop down.
 Smart prompts are implemented by using ISNS_FIELDTYPE, ISNS_CLASS, ISNS_DATANODE.

66. What is the difference b/w Page and Page List property, how are they Implemented?
Page property refers to a particular class and is used to access the property of that class.
Page List Property also refers to a particular class, but it’s a collection of individual pages of the same
class which can be accessed through numeric indexes.

Page 192
PEGA MATERIAL

67. What is HTML Property?


HTML Property rules are instances of the Rule-HTML-Property class. They are part of the Property
category.
Use HTML Property rules to control how properties appear on work object forms, correspondence, and
other HTML forms, for both display and for accepting user input.
For properties of mode Single Value an HTML Property rule may be identified in the Display Property
field of the Property rule form.
HTML Property rules also may appear in list view and summary view rules to define the appearance of
values in reports, and in harness, section, and flow action rules that define work object forms.

68. Explain about Special Properties?


Standard properties means all the properties in the Pega-RULES, Pega-IntSvcs, Pega-WB, and Pega-
ProCom RuleSets have names start with px, py, or pz.
These three prefixes are reserved. We cannot create new properties with such names. We can override
these standard properties with a custom property of the same name (without changing the mode or
Type).

Px: Identifies properties that are special, meaning that the values cannot be input by user input on an
HTML form.
Py: Properties with names that start with py are not special, meaning that values can be input by users
on an HTML form.
Pz: Properties with names that start with pz support internal system processing. Users cannot directly
manipulate pz properties. our application may examine these values, but do not set them. The meaning
of values may change with new product releases.

70. Define what are the Methods we have used for validations?

Obj-Validate–we can referred this method in Activities and in flow actions at Validate Rule field.
Edit-Validate—- we can refer this in property form at edit-validate field and in activities through
property-validate method.
Note: I think Obj-Validate is used for Server Side Validation and Edit-Validate is used for Client Side
Validation.

71. How do you add custom message to the Property when it fails the Validation.
For this we have to use theProperty.addMessage(“your message”) tag.

72. Message is set to the property and the checked in the clipboard also , the messages got set
successfully. But the message is not displayed beside the field in the screen. Why..?
If the property has a html property, the tag <pega:include name =”Messages”/> tag must be include

73. Define the operation of Activity-End method?


Use the Activity-End method to cause the system to End the current activity and all calling activities.
Ex:if Alpha calls Beta, which calls Gamma, which calls Delta, which performs the Activity-End method, all
four activities are ended.

74. Define about Exit-Activity method?

Page 193
PEGA MATERIAL

The Exit-Activity method ends the current activity and returns control to the calling activity.

75. Define about Page-Copy method?


Page-Copy method is used to copy the contents of a source clipboard page to a new or previously
created destination clipboard page. The source page is not altered.
After this method completes, the destination page contains properties copied from the source page, and
can contain additional properties from a model.

76. Define about Page-New method?


The Page-New method is used to create a page on the clipboard. The new page may be a top-level
page or an embedded page. We can identify a model to initialize the newly created page. The model
can set values for one or more properties.

77. Define about Page-Remove method?


Page-Remove method is used to delete one or more pages from the clipboard. The contents of the
database are not affected.

78. Define about Page-Set-Messages method?


Use the Page-Set-Messages method to add a message to a clipboard page. Like a message associated
with a property, a message associated with a page normally prevents the page from being saved into the
database.

79. Define about Property-Set-Message?


Property-Set-Message method is used to associate a text message with a property or a step page. The
system reads the appropriate property and adds the message to the page. We can provide the entire
literal text of the message, or reference a message rule key that in turn contains message text. (Rule-
Message rule type).

80. Define about Property-Map-DecisionTable method?


Use the Property-Map-DecisionTable method to evaluate a decision table rule and save the result as the
value of a property.

81. Define about Property-Map-DecisionTree method?


The Property-Map-DecisionTree method is used to evaluate a decision tree rule (Rule-Declare-
DecisionTree rule type) and store the result as the value of a property.

82. Define about Property-Map-Value?


The Property-Map-Value method evaluates a one-dimensional map value (Rule-Obj-MapValue rule type)
defined in the parameter. The method sets the result as a value for a Single Value property.
The related method Property-Map-ValuePair works similarly for two-dimensional map values.

83. Define about Property-Remove method?


Property-Remove method is used to delete a property or properties and its associated value from the
step page or another specified page. This does not affect the property rule, its definition.

84. Define about Property-Set method?


Property-Set method is used to set the value of one or more specified properties.

Page 194
PEGA MATERIAL

85. Define about Show-HTML method?


The Show-HTML method is used to cause the activity to process an HTML rule and send the resulting
HTML to a user for display by Internet Explorer. This may involve the interpretation of JSP tags (or the
older directives), which can access the clipboard to obtain property values, or can insert other HTML
rules, and so on.

86. Define about Show-Page method?


The Show-Page method is used to send an XML representation of the step page to a user’s Internet
Explorer browser session, as an aid to debugging.
Note: Use Show-Page and Show-Property only for debugging.

87. Define what is the difference between Call and Branch?


The Call instruction calls the another specified activity and execute it. When that activity completes,
control returns to the calling activity.
Use the Branch instruction to find another specified activity and branch to it without a return.
When the system executes a Branch step, control transfers to another activity found through rule
resolution. Execution of the original activity pauses.
When the branched activity ends, processing of the current activity also ends.
No steps after the Branch step are executed.

88. Define about Obj-List Method?

Obj-List method is used to retrieve data to the clipboard as an array of embedded pages.
This method creates one embedded page for each instance retrieved. The Obj-List-View method
often produce more efficient SQL statements and provide better performance than the Obj-List method.

89. Define about Obj-Browse method?


Obj-Browse method is used to search instances of one class and copy the entire instances, or specified
properties, to the clipboard as an array of embedded pages. Only properties exposed as columns can be
used as selection criteria. However, values of properties that are not exposed as columns, including
embedded properties, can be returned.

90. Define about Obj-List-View method?


Obj-List-View method is used to execute the retrieval and sorting operations, but not the formatting
and display processing, of a list view rule. The system uses rule resolution to find the list view rule and
executes it, but does not produce any HTML output display.

91. Define about Obj-Open method?


Obj-Open method is used to open an instance stored in the PegaRULES database or in an external
database linked to an external class, and save it as a clipboard page.
The system uses the specified class and key fields to find and open the object and place its data into the
specified step page. The system searches up the class hierarchy as appropriate to find the instance. If it
finds the specified step page, the system clears any data that is on it and reuses the page. If no existing
page has a name matching the specified step page, the system creates a new page.

92. Define about Obj-Open-By-Handle method?


Use the Obj-Open-By-Handle method only if we can determine the unique handle that permanently
identifies which instance to open. Otherwise, use the Obj-Open method.

Page 195
PEGA MATERIAL

93. Define about Obj-Delete method?


Obj-Delete method is used to delete a database instance corresponding to a clipboard page and
optionally to delete the clipboard page too. We can cause the deletion to occur immediately, or until
execution of a Commit method.
This method can operate on objects of both internal classes (corresponding to rows in a table in the
PegaRULES database) and external classes (corresponding to rows in an external relational database).
The Obj-Delete method uses the class of the page to obtain the appropriate Rule-Obj-Class instance. It
uses the table name, key fields, and other aspects of the class rule to mark the instance for deletion.
We can reverse or cancel a previously executed Obj-Delete method by using the Obj-Save-Cancel
method.

94. Define about Obj-Save method?


Obj-Save method is used to save a clipboard page to the PegaRULES database or if the page belongs to
an external class save a clipboard page to an external database.
The Obj-Save method uses properties on the page to derive the internal key under which it will be
saved.
This method can create a new database instance or overwrite a previous instance with that key.
We cannot save a page that is locked by another requestor.
We cannot save a page that our session does not hold a lock on (if the page belongs to a lockable
class), unless the object is new, never yet saved. We cannot save pages of any class derived from the
Code- base class or the Embed- base class. Such pages exist only on the clipboard.

95. Define about Commit method?


Commit method is used to commit all uncommitted database changes. This method writes all the
instances specified by one or more earlier Obj-Save methods to the PegaRULES database (for internal
classes) and to external databases (for external classes).

96. Define about Obj-Validate method?


Obj-Validate method is used to apply a validate rule (Rule-Obj-Validate rule type) for the object
identified on the primary page or step page.
A validate rule (Rule-Obj-Validate rule type) can call edit validate rules (Rule-Edit-Validate rule type).

97. Define about Obj-Sort method?


Obj-Sort method is used to sort the clipboard pages that are the values of a property of mode Page
List.
We can specify one or more properties to sort on, and whether the sort sequence is ascending or
descending for each sort level.
Use Connect SQL rules and RDB methods only with an external database. Do not use Connect SQL
rules or RDB methods for the PegaRULES database(s). Because not all properties in the PegaRULES
databases are distinct database columns, use the Obj-Open and Obj-Save methods, not the RDB-
methods, with the PegaRULES database to prevent loss of data.

98. Define about RDB-List method?


RDB-List method is used to retrieve rows from an external relational database and place the results as
embedded pages in a specified step page of classCode-Pega-List.

Page 196
PEGA MATERIAL

This method references a Connect SQL rule instance, and executes SQL statements stored in the Browse
tab of that rule instance. The search can do anything we can specify in a SQL statement, such as a
SELECT WHEREstatement. Any constraints on the returned data are in the SQL.

99. Define about RDB-Open method?


RDB-Open method is used to retrieve a single row (record) of data from an external relational
database and add the retrieved data into a specified clipboard page as property names and values.
Use this method in conjunction with a Connect SQL rule that contains SQLSELECT or EXECUTE
statements in the Open tab. Define the SQL statements so that the database returns exactly one row.

100. Define about RDB-Save method?


RDB-Save method is used to save the contents of a clipboard page into a row of a relational database.
The system saves the properties on the specified step page to the specified table in the database.
This method operates in conjunction with a Connect SQL rule that contains SQL statements such as
INSERT, UPDATE, and CREATE statements on the Save tab.

HCL
1) Tell me abt ur project? roles and responsibilities?
2) diff b/n obj-methods and RDB-methods?
A) both are used to taken the data from db. obj methods are used to retrieve the data in
BLOB clumns
RDB methods used to retrive the data from External systems. RDB methods are faster than
obj metods.
obj methods for pega rules tables, and RDB methods for External tables.
3) Obj-refresh-and-Lock?
A) To unlock the work object. It is used to open a lock and get an instance. lock should be
held on the work object inorder to save/update/delete the contents of db.
4) how u can able to unlock the work object?
A) in case of timeout or session expires lock will be release from the work object. in obj-
open method select the check box ReleaseOnCommit option to release the lock on the work
object.
5) diff b/n file listener and connect file?
A) File listener used to import data from a file.
Connect file defines the name and location of an output file created by ur application.
6) wht is local action?
A) when action is finished work object returns to same assignment.
7) wht is WSDL file?
A) it is web services description language.it is written in XML format.
8) wht is data-,work-,rule- classes?
A) Rule- base class is the abstract class of the rule classes. It defines how an organization
uses that application and run the business.
Work- is the super class to all the classes that defines work objects.
Data- is an abstract class that contains static data.
Data- do not repeat the information stored in the other databases.
such type of information can be accessed from the process commander system with connectors.

Page 197
PEGA MATERIAL

Virtusa
1) Tell me abt ur project and roles and responsibilities?
2) declarative rules?
A) Rule-Declare-Expressions, Rule-Declare-Index, Rule-Declare-Trigger, Rule-Declare-
OnChange
Rule-Declare-Constraints
3) declare on change?
A) it is the instance of Rule-Declare-OnChange rule types. it is used to run an activity
automatically at activity step limits whenever the specied property value is changed. this
capability provides automatic forward chaining.
EX: we can create a declare onchange rule to send an email to emp whenever HRA,TA,PF is
changed.we can define RDO rules property inside the embedded page.we need to specify
page name and class name in the pages and classes tab.
4) declare pages?
A) it is the instance of Rule-Declare-Pages rule type. it is used to define the content of
clipboard page that is available in read only mode for multiple requestors in ur application.
the name of the declare page starts with Declare_.
5) diff b/n decision tree and decision table?
A) In DTree properties and conditions are changed, used for complex problems
B) In DTable properties fixed and conditions changed, used for normal problems
6) in which way we can select multiple values from single property?
A) by using Dtree we can select muliple values for a single porperty.
7) how u can able to create a work object?
A) we can create a work object, within the flow we can select the process tab. check the
check box "Create Work object". We can call an activity generate id or addWork to create a
work object.
8) there is 2 work types and in work type A have a flow with work object and it has to pass
work type B as a sub flow?
A) straight through process
work pool: collection of multiple work types that configured in a single access group.
9) How u can able to allocate a activity in UI?
A) By using onblur, onchange, onclick.
10) wht are the bugs u face in UI?
A) by implementating dynamic select and auto complete i faced bugs.
11) wht is rule resolution?
A) It is a mechanism to decide which rule need to be executed at run time.
12) work proccess of rule resolution?
A) @ match the class hierarchy.
@ filter by ruleset list and availability.
@ filter based on time
@ Qualify on circumstance
@ enforces access roles and priviligers
@ excuting the surviver rule.
13) declare expression with example in ur project?
A) it is the instance of Rule-Declare-Expressions rule type. it helps the automatic
calculations of property value based on the changes of other peoperty values.
EX; we can declare RDE property called AREA.this value is accessed from the clipboard. if
any changes in LENGTH/WIDTH values,it causes immediate recomputaton of the value of
the AREA.
14) wht is list view?
A) it is used to display the records in reporting purpose. the rule generates html that
provides interactive dispaly.

Page 198
PEGA MATERIAL

15) wht is exposing? how u expose a property?


A) in advanced tab of the property definition we need to define the column inclusion as
required. Add the property as one of the DB column.
16) did u worked on class structures?
A) NO
17) wht is the use of data- class?
A) Data- class stores the instances in the database.it is used to construct the data tables,it
will provides an options like to exposes data tables to business users.

Page 199
PEGA MATERIAL

Embed- class prevents instances stored in the process commander.


Accenture
1) Tell me abt ur project and roles and responsibilities?
2) property modes? how to select multiple values from drop down?
A) Single value, value list, value group, page list, page group. we can select "prompt list"
from table type.
3) declarative expression and declarative onchange?
A) RDE: It is the instance of Rule-Declare-Expressionrule type. It helps automatic
calculations of property values based on the other property values.
Ex: We can declare RDE property called AREA. We can get this value from clipboard. If any
changes in LENGTH/WIDTH value it causes immediate recomputation of value of AREA.
RDO:It is the instance of Rule-Declare-OnChange rule type. it is used to run an activity
automatically at activity step when ever the specified property value is changed. this
capability provides the automatic forward chaining.
EX; we can create a Declare OnChange rule to call activity mail sends to emp whenever the
HRA,TA,PF changed.It is same as the RDE. we can define the RDO properties inside the
Embedded page. we need to specify page name and class name inside the pages&classes
tab.
4) user validation activity procedure step by step?
A) Generally user validation can be happened in the pre-conditions. Within the pre condition
we have to define the validation
5) preparation of user defined skins and portals?
A) Portals defines the role of the skin and type. skin defines internal representation of the
portal to the user in a browser window.portals configured in Access Group.
6) how to retrieve a property from clipboard with java code?
A) Tools.clipboardpage.getProperty();
7) integration file listener?
A) File listener can be used to import data from a file.
8) wht is parse delimiter ?(seperate a records with special characters)
A) It is belongs to Integration mapping category.To upload data into process commander
system from an external system.it is used to seperate records with special characters.
9) in SOAP, which tab can generate WSDL file?
A) In connect SOAP that contain WSDL file.
10) wht is the use of may start check box?
A) If calling an activity from any other activity may start checkbox is optional.if the activity
getting called for the form submission may start need to be checked.
11) can any possibility to do single sign on in pega?
A) yes
12)wht is forward chaining and backword chaining with examples?
A) FC: It provides automatic calculations of a property by executing the declarative
rules,when any one of the input property value is changed.
Ex: if AREA property depends on the length and width property. forward chaining causes
when AREA property can be recomputed each time when the length and width values
changes.
BC: it provides the automatic calculations of the property by executing the declarative
rules,when a value is needed for a property, rather than the AREA is changed.
Ex: Area property depends on the length and width property. then backward chaining
causes the Area property to be recomputed each time when the Area property is
required/referred.

Page 200
PEGA MATERIAL

Accenture
1) Tell me about urself? roles and resposibilities?
2) what is circumstance?
A) Circumstance is the optional condition and enhancement of rule resolution alg. diff
variations of the rules within the same version created for diff flavours suit for different
situation.
circumstance works during the rule resolution, at run time system first find the rules based
on class hierarchy then searches for a rules the requestors session needs, it compares the
values of ruleset, version, availability to determine which rule executed.
3) what is skimming?
A) Skimming collects the higher version of the every ruleset and copies them into major
versions of the ruleset on the same system.
Ex: If we are skimming loan appl 05-06-07, the only options are 06-01-01,07-01-01 and so
on. but you can not skim to 06-07-08,07-08-09.
4) What is prompt page?
A) The indirect page is nothing prompt page reference that starts with key word prompt.the
system searches the indirect page at run time in clipboard. using this prompt page sending
more than one parameter page, called activity can use the property like
prompt.pagename.propertyName.
5) what is declare page?
A) it is the instance of Rule-Declare-Pages rule type. it is used to define the content of the
clipboard page in read-only mode to multiple requestors in appl.
The declare page starts with the keyword Declare_.
6) what is locate page?
A) locate page supports the backward chaining and used to retrieve the data into the
clipboard page temporarily.the data is not present in the clipboard page this rule need to
perform calculations.the system will execute an activity and retrieve necessary data.
7) property-seek-value method?
A) to initiate backward chaining computations for the value of a poperty based on declare
expression rule.
it shows the GoalProperty as a parameter and value is property.
8) wht is obj-save-cancel?
A) use this method we can cancle the recent uncomitted obj-save method. it is also used to
undo obj-delete method which not uncomitted.
9) what is service level?
A) A service level is the instance of Rule-obj-Servicelevel rules type.it is used in assignment
and work object. it defines one or two time intervals goal and deadline that indicates
expected or targeted time for the assignment and time to resolve the work object. if the
assignment is not complete before the time limit the system automatically notify the various
parties and cancel the entire flow.
10) what is the diff b/n rule agent, data agent?
A) developer can generate the rule agents and it specific to one rule set.
system generates the data agents
11) $none and $any diff?
A) $none: if at runtime we want to create a page without any class used in pages and
classes as $none.
$any: if u want to decide class of a page at runtime of activity used in pages and classes as $any.

Page 201
PEGA MATERIAL

CTS
1) wht r the methods to call decision table in activities?
A) property-map-decision table.
2) wht is diff b/n spinoff and split-for-each?
A) Spin-off: the work object process in the current flow contiues without waiting in the other
flow to complete.
Split-ForEach: To send a work object through another flow based on information in the
pages of pagelist or pagegroup.
3) wht is forward chaining and backword chaining with examples?
A) FC: It provides automatic calculations of a property by executing the declarative
rules,when any one of the input property value is changed.
Ex: if AREA property depends on the length and width property. forward chaining causes
when AREA property can be recomputed each time when the length and width values
changes.
BC: it provides the automatic calculations of the property by executing the declarative
rules,when a value is needed for a property, rather than the AREA is changed.
Ex: Area property depends on the length and width property. then backward chaining
causes the Area property to be recomputed each time when the Area property is
required/referred.

Page 202
PEGA MATERIAL

Wipro
1) call, branch?
A) call Activity: the call activity instructs the current activity to find and run another activity
using rule resolution.After the called activity completes the calling activity processing.the
called activity can use its parameter page. the main advantage of call activity is reuse.
Branch Activity: it is similar to call method. Branch activity refers to the another activity.
the execution of the original activity ends the execution of the branched activity completed
without return..
2) spin-off,split for each?
A) Spin-Off : The Work Object processing in the current flow continues in parallel, without
waiting in the other flow to complete.
The properties of Spin-off shape:
Name: Enter a text name.
Define Flow: On current work item, On another Work Item, On Embedded Page.
Application: Select name of the Application
Split-For Each : To send a Work Object through another flow based on information in the
pages of a Page List or Page Group.
It contains the properties like Page List or Page group, Class of the Page list or page group,
Flow type and Flow Rule.
3) Diff b/w Obj-validate & Property-validate?
A) ( obj-validate is we can do validations for multiple properties of a single work object)
( property-validate is only one property we can do validations for single work object)
4) how to hide d flow action?
A) within the flow action, open the security tab and write the when condition.
5) how to fetch d data from d db?
A) by using Obj-browse method in an activity
6) how to create a data table?
7) authentication and agent relation?
8) declare index, onchange, expressions?

Page 203
PEGA MATERIAL

Mphasis
1) What is Access Group?
A) Access Group controls the security basing on the job functions. It is instance of Data-
Admin-Operator-AccessGroup. Various aspects that can be controlled through access group
are default and available types of works( also called as work pools ) , Primary rulesets (
Access Control to rulesets), Assigned roles, Portal layout
2) What is Work list, Work basket?
A) work list is a outstanding assignment waiting for a user to perform them.
work basket is a instance of Data-Admin-WorkBasket class.Work object progress through a
flow execution, the system creates assignment. Assignment may be created either with
individual user or work basket.
3) what is parallel processing in pega?
A) running a parallel subflow to the mainflow or calling a service through integration shapes
and at the same time processing a job.....
4) What are rule availbilities?
A) Availability is an imp aspect considered by the rule resolution algorithm. pyRuleAvailable
is the property represents whether the given rule is available or not. rules are yes, no,
blocked, final.
5) what are decision rules, declarative rules?
A) A Decision Tree is an instance of class Rule-Declare-Decision Tree. DTree is used to
check multiple properties, If you're making decisions on series of data that are different
from one branch to the next, use decision tree.
A Decision Table is an instance of class Rule-Declare-Decision Table. DTable we can check
only one property. If you're making decisions against the same data element, use decision
table.
When: If you want to get a Boolean returned, or when your decision employs a lot of
complexity but doesn't need to be applied to a lot of cases, consider using a When rule.
Map Value: If you're making decisions on 1 or 2 values, then use Map Value.
6) what type of flows used in ur project, flow action and types?
A)
7) what is List view, summary view?
A) both are used to dispaly the data in reporting purpose.
8) what is 5.5, 6.1 diff?
A)
9) what are debugging tools?
A) PAL: captures the cpu time, PLA: monitor d system debugging, exceptions, agent relation
issues..
debugging tools are PAL,Tracer,Clopboard,SMA.
10) what is the diff b\n alert logs(when db hit),pega logs?
A) The Alert log gathers the alert messages about specific performance and operational
issues and any log messages with the severity level of alert
for specific Java classes or rules with a severity level of alert.
The Pega log gathers system errors, exceptions (with their stack trace statements), debug
statements, and any other messages other than those specified as alerts.
11) what is Agent?
A) Agents are internal background proccess operating on the server to run an
activities.Agents are asynchronous and independent. They also peform system tasks such as
sending email notifications and synchronizing caches across nodes. Activities they call run
individually on their own scheduled and one activity doesn't have to finish another activity
12) how to integrate with SOAP (or) how to create a connect SOAP?
A) service pkg, service soap, activity.
13) what is diff b\n RDB,OBJ methods?

Page 204
PEGA MATERIAL

A) Obj method can be used to fetch the data from Blob columns but RDB methods can only
help to fetch the data from exposed columns
RDB methods are faster than OBJ methods in terms of response time
Normally we use OBJ methods for pega tables and RDB methods to fetch the data from
external database
14)how to set request timeout and authtication timeout?
A) requestor timeout in portal,authentication timeout in access group..check these two
rules..u will be able to find
15) what is exact difference between step page and page new(both will create the pages)?
A) Step page defines the page context on which a method is gong to be executed.step page
does not creates a pae..while page-new is used to create page

Page 205
PEGA MATERIAL

16) how can we create own data tables and map to external data base?
A) check the notes from Integration...there's a document of mapping to ext table
17) what is exactly obj-browse and obj-list(why it is deprecated)
A) obj-browse allows you to filter the data instead of fetching all the data...thus lesser
memory consumption...
deprecated means...pega does not recommends using it..but to support previous verson
application they have kept it
18) how can we expose coloumns from tables and howmany ways?
A) in property form go and in advanced tab..select column inclusion rqrd..
then go thru tools-->database schema--select database-->select table-->select class--
>check the props
u wanna expose and then click on generate columns are bottom
19) how can we use obj-save and commit(is immediate saving good approach)?
A) mmediate saving is not recommended approach..as lock lost happens..bette r use obj-
save and leave pega to handle commit
20) what data stored in blob either single value or multi value or others and we can expose
blob columns.?
A) )we can expose blob columns and in blob data for those column remains which r not
exposed yet
21) what is column inclusion(required,recommend,optional)?
A) unless u select column inclusion required..a clumn cannot b exposed.
other way is tell DBA's to expose the column
22) i can develop one application,these application can be use in different countries then in
that application
i have mentioned time but based on country time might be change automatically how to
change these time in property/activity rule.?
A) go to operator id of that person..in the calendar field...add the respective time zone and
calendar..
and it will work automatically...nothing more to be done anywhere.
22) How to move code from development server to test server?
A) create a new instance for product category, in that category we have to provide rule sets
and rule set versions create zip file and moves to
test server.

Page 206
PEGA MATERIAL

IBM
1) Diff b/w V5.5 and V6.1?
A) Action Sction : It is used for server interaction, support multiple browsers, multiple
display and interactions.A single configurable section replaces
multiple sections.
Tree, Grid and TreeGrid layouts: These layouts provide improved performance and work
with all supported browsers.
Flow Action Form: it is created for referencing a section rule and prompting reusability.we
can drag the section from application explorer onto layout tab,
2) Have u worked on Integrations?
A)
3) when will we go for may start and authenticate?
A) If calling an activity from any other activity may start check box is optional.if the activity
getting called for the form submission then may start in need to be checked.
Authentication is the process of determining the identity of user or requestor. proper
authentication is required for the activity to get start for the corresponding operator.
Activity will not triggered when the authentication is checked.
4) Activity types?
A) Assign: initiates assignments reference from the assignment shape.
Connect: interface with external system reference from the integration shape.
Notify: send notifications reference from the notify shape.
Route: Route assignments reference from the Router shape.
Utility: perform automated processing that requires no user inputs reference from the utility shape.
5) Rules Availability types? wht is blocked, withdrawn?
A) Blocked: If we are setting blocked for a 01-01-03 only upper versions like 01-01-04 are
available to RRA. lower versions like 01-01-02, 01-01-01 are not available to RRA.
6) wht are the debugging tools?
A) Tracer: Use this tool to debug flow, activities, services and declarative rules. It provides
debugging facilities, including step by step exection and break points and watch variables.
Clipboard: it is used to transferring data between user application and database. The xml
based structure called pages and pages contains the property value pairs.the top level
pages are user page, declared page, system managed pages including process page,
requestor page,appl page, thread page.
PAL: Use the Performance tool to understand the system resources consumed by processing
of a single requestor session, or the SQL statements sent to the PegaRULES database by
the requestor session.
SMA: The System Management application (SMA) is a Web application that developers can
use to monitor and control caches, agents, listeners, and other processing in your Process
Commander system. The URL name is prsysmgmt
7) diff b/n declare onchange and declare trigger?
A) D Onchange: Instance of (Rule-Declare-OnChange rule type). It is used to run an activity
automatically at activity step limits whenever the specified property value is changed. This
capability provides the automatic forward chaining
D Trigger: Instance of (Rule-Declare-Trigger rule types). It identifies an activity that runs
automatically whenever an object of particular Class is Saved/Updated/Deleted.
8) wht is list view? explain abt list view?
A) A) It is used to display the data in reporting purpose. This rule generates HTML that
provides interactive display. In an Activity the Obj-List-View can execute a List-View Rule.
If we want display the List of WO that is present in the work list. Create a list view Assign-
Work List.
If we want to display the list of WO that is present in the Work Basket, create a list view in
Assign-Work-Object.

Page 207
PEGA MATERIAL

9) diff b/w flow and flow action?


A) Flow Types: Starter Flow, Straight through process flow, Sub flow, and Straight flow.
Flow Action: Flow Action is the Instance of Rule-Obj-FlowAction class. Flow Action is one
category in UI that specifies the choices to user performing an assigned Work Object.
Types of Flow Actions are,
Connector Action: When action is finished, Work Object moves to next level/ next
Assignment.
Locale Action: When action is finished, Work Object returns to same assignment.
10) how can we stop the accessability to 20 users in our application?
11) how can give the accessability to work manager?

Page 208
PEGA MATERIAL

A) in Access Group we have to change the portal layouts to work manager.


Others
• How do u debug the harness?
A) by using Rules-Inspector we will debug the harness.
• Is it possible to add a section with in a section? yes
• Is it possible to add HTML form in a section? no
• Is it possible to add HTML rule in a HTML rule? yes
• Where workbasket and worklist is used?
A) within the operator id we will use work basket.
• How to map work group in a table?
A) within the operator id we will map work group.
• How to map Access-group?
A) within the operator id we will map.
• About Rules Inspector?
A) within the run there is to check html rules, property rules, declaraative rules, field value
rules.
rules inspector is used to find which is harness and which is section within the work objecct.
• Where routing flow is used and how it works?
A) Router is route to wb,wl or individual user.
• About list view?
A) list view is used to display the records in the reporting purpose.
• Describe Property-set method?
A) set the value of one or more property values. it contains property name and property
value.
• Diff between Obj-open & Obj-browse ?
A) obj-open is used to open single value in the blob column.
obj-browse is used to open more than one value in the clipboard page/external system
• About clipboard?
A) clip board page that contains user page, declare page, access group, operator id,
org,div,pxRequestor,pxProcesssor.
• About HTML Fragments?
A) use html fragment rules define html parts, styple sheets and scripts, include java script
file. it contains jsp tags and produce dynamic content that depends on property values.
• Diff b/w value-list and page-list?
A) Value list is unordered, pagelist index starts with 1 to n.
• How do u know is SLA working or not?
A) within the clip board or tracer we will check wheather the pySlaGoal, pySlaDeadline if
both r blank we will find it is not working.
• Tell me the class structure in ur project?
• Diff b/w work- & work-object- ?
A) deriving the work object class(W-O-)
(w-)it is implementation layer.
• What is flow-action?
A) it is the instance of Rule-Obj-FlowAction rule type.it is the one category in UI specifies
the choices to user performing assigned work object.
Local FA: if action is finished, work object returns to same level.
Connector FA: if action is finised, work object moves to next level.
• How u create work object?
A) with in flow click on process tab, we have to check the check box "create work object". or
call an activity GenerateID/addWork to create a WO.
• What is d use of Primary page?
A) the primary page is nothing but a clipboard page.

Page 209
PEGA MATERIAL

primary page is nothing but a step page in activity. it refers in . to display the property..
• Why u need class group?
A) we need to add one or more class groups to create the work pools in which user
associated in the access group to create the work objects.
• What is work pool?
A) Diff work types added to one class group and this class group added in his access group.
class grooup so added are called as work pools.
• What is work basket?

Page 210
PEGA MATERIAL

A) it is the instance of Data-Admin-WorkBasket class.as work object process through a flow


execution the system creates assignments.an assignment through individual user or work
basket.
• Can u explain me the process for connecting with external database(step wise)?
A) check in meta data with connector accelerator.
• What is SLA and how do u know whether it is working or nor?
A) it is the instance of Rule-Obj-Servicelevel rule type.it can be added to assignment or
work object.each SL defines one or more time intervals like Goal and dead line that
indicates expected or targeted time for the assignment and time to resolve for work object.
Within the clipboard we have to findout whether the pyGoalproperty and pyDeadlinepropety
properties are empty then SL not working.
• How many types of SLA’s are there?
A) Goal and deadLine
• Can we use obj-methods for external databases?
A) yes
• Explain Locking system in PRPc?
A) obj-open-by-handle method
• How can u validate a property?
A) obj-validate
1) common issues and solutions in production suport
2) data base issues related to production support?
3)all methods regarding xml
4)xmlDataTopage? xmlDocToPage? xmlToPage?
5) what is availability button?
6)what is launch button?
7)working of list view and summary view?
Q) differentiate constraint vs validation.?
A) Constraint is a declarative rule which gets called auomatically whenever invalid value
entered by the user and show the error message according to ur logic, unlike constraint
validation is not a declarative rule ad u need to call it from say flow actions/activity etc...its
also used for validation.
Q) is it right all internal tables are pega default tables and external tables are which are
created by us.
if yes how many types of internal tables are there what are important one among them.
while creating external tables what are the standards we need to follow and how to create
them.?
A) whatevere are pega standard tables such as pc_work,pr_others etc r called internal
tables...the table which we create other than pega standarrd tables and map to ur classes
are called external tables.
While mapping pega to external tables always remmember to keep some of the standard
columns such as pxobjclass,pzpvstream(blob column) etc.
Questions:
1.i have activity t1 and activity t2 i want to call page of activity t1 to activity t2?
A) primary.pagename.
if you want to call activity A1 of class C1 from Activity A2 of Class C2,
use following in methods step of A2 activity, Call C1.A1
2.activity--->security---->may start and authenticate. what is use of authenticate?
A) authenticate if checked...if this activity is being tried to access from external system..
it will not get executed unless the user is an authenticated user to PRPC,if not
checked...even unauthenticated user can execute it
3.we create a work object it look like w0-11.but i want to configure the w.o name as my
name i.e is naveen-01?
A) model--> pyDefault

Page 211
PEGA MATERIAL

open the process tab of flow. open the pyDefault model..there is a field which allows you to
set prefix..
there set prefix as "naveen" and next time w.o would be naveen-1,nnaveen-2 etc
4. we have a requirement like use the screen flow and process flow? which one is preferable
and y?
A) depends on requirement.
screen flow is for UI improvement..while process flow is for business logic exceution..so
both have diff purpose.
5.if u create the w.o in which table it will stored?

Page 212
PEGA MATERIAL

A) pc_work.
unless u map it to pc_work,by default to pr_other
6.in harness i want to specifies list view how?
A) select one property, open the cell property and select list view in display as.
you can include list view..using drag and drop..check the different options such as dragging a field etc..
7.how to configure the utility shape?
A) within the flow we will configure the utility shape.
drag utility shape..in flow,create an activity of type utility and mention in utlity shape u r done.
8.if interview ask how to update daily work status?
A) everyday morning we have standup calls. i will give updates to my tech lead.
in assignment ,here is a field to capture assignment status and w.o status..whatvere u
mention same will be the status
9. we have any AND shape in decisions?
A) its not a shape..u write logic as A AND B AND C or any.. A OR B OR C..u can do anything
10.what is use of guardrails?
A) guardrails guide u, how to code any application in best way using pega.
11.what are the framework layer in class structure?
A) framework layer is a standard developed code for a partcualr domain..
so that u need that start project development from scratch..for example SI framwork for
Banking,CPM for insurance etc
12.how fetch data in internal database from external database table ?
A) map ext db to ur pega system (check integration notes),map class to the table in new db
and then use any rdb methods
13.how to pass the parameter frm flow to activity?
A) u call activity in flow using utility in activity shape... ,when activity wants any
parameter..
while configuring utility shape mention the parameters.
14.my friend told me there is a 64 frameswork in pega is it correct?
A) its totally fraud..bring him to me..these kind of people create rumours.
15)difference between primary page and pywork page?
A) Both are same. primary page means if we didn't mentioned any step page name by
default it will takes as Primary page.
pyWorkPage is a clipboard page.
16) i can't indentify pr_other table in pega rules db where is it?
A) it does not show up through wizard.
17) what is retrofitting ?
A) retrofitting is fixing any issues encountered due to changes in other part of code...or may
be fixing of issues due to upgarde of system.
18) how can we migrate the rules?
A) try to recall ruleset migration class
Questions :
1. What are the agents?
A) Agents are internal background process operating on the server to run an activity. these
are asynchronous and independent.
These are 2 type rule agent queue, data-agent-queue
2. Hginh tools ow to trace an Agent?
A) By using debugging tool tracer we can trace the Agent.
3. What is IAC, when did you use in the project?
A) The Internet Application Composer (IAC) enables you to embed a Process Commander
application as a gadget on the pages of a Web application located
on your intranet, extranet, or internet site. Such an application is called a Pega composite application.
4. What is cover and covered objects?

Page 213
PEGA MATERIAL

A) Cover is Work Object that is parent to one or more work objects. the covered WO are
Children in Parent-Child relationship.
one work party is present in the cover work object that is also present in the covered WO
associated with the covers.
5. Have you used spin-off shapes in your application, if so what is the case?
A) The work object processing in the current flow in parallel without waiting in the other
flow to continue.
6. What are the types of log files we have?

Page 214
PEGA MATERIAL

A) Pega logs: these are also called as system logs. message was created since the server
starts recently.
Alert log: it contains only alerts and supports performance related monitoring.
7. Do you know the concept of validation rules?
A) yes.
8. How do you log a message in PRPC?
A)
9. Tell me about the locking concept in PRPC?
A) Lock should be held on the work object in order to save/update/delete the content in the
db.
10. What is DWA (Direct Web Access)?
A) DWA is any one access the World wide weband email to process an assignment on a one
time basis.this feature extends the scope ur appl to empls
througout the enterprise.
11. What are PEGA Guardrails?
A) Adopt iterative approach
Establish Robust foundation
Do nothing that is hard
Limit custom java
Built for change
Design intend on driven process
Create easy to read flow
Monitor performance regularly
Calculate and edit declaratively not by procedurally
Keep security object oriented
12. What is the diff b/n Decision Table and decision tree?
A) D Tree is used to check multiple properties
D Table is used to check only one property.
13. What is Declare expression?
A) It helps the automatic calculations of the property value based on the changes of the
other property value.
14. How do u connect to the Web service?
A)
15. What is xml file name created during connection of web-service?
A)
16. Why are u relocating to bang?
17. What is order of execution in Decision Table and decision tree?
A) D tree used the order of if-then-else logic.
D table used to making decisions against same data element.
18. About the availability of rules?
A) yes, no, withdrawn, final.
19. Rule resolution algorithm?
A) It is a mechanism to decide which rule need to be executed.
20. Decision table and Decision Tree?
A) D Tree is used to check multiple properties
D Table is used to check only one property.
21. Explain about DCO?
A) Direct Capture Object is an appl dev tools which includes,
Application profiler wizard, Appl Accelerator, Appl Doc Wizard, Appl use cases, Appl
requirements.
22. What are the issues faced in Upgrading from 5.3 to 5.5?
A)
23. How do you remove the work objects?

Page 215
PEGA MATERIAL

A) By using obj-delete method we can delete wo.


24. What is the role of the master agent?
A)
25. Do you have any idea about the AES?
A) Autonomic Event Services is a process commander application that monitors, retrieves
and organize the alert data from one or more clustered process
commander system throughout the enterprise. AES provides the charts, reports information
about the events.
26. Suppose I need to access the Google service, how can I achieve in pega?
A)

Page 216
PEGA MATERIAL

27. What are the rules which are not rule resolved??
A) withdrawn rule is not rule resolved.
28. What is the actual usage of the blocked, with drawn, NO. When you use it?
A) NO: it indicates that rule is not available to rule resolution algorithm for all users.
Ex: if we setting No for 01-01-03, it is not available to RRA, 01-01-01, 01-01-02, 01-01-04.
Blocked: It effects all lower numbered versions of rule and it including this version not
visible to rule resolution algorithm.
Ex: if we setting as a blocked 01-01-03 of above all versions are available to RRA, but not
01-01-02,01-01-01.
Withdrawn: this property that has available to pyRuleAvailable to set withdrawn. A
withdrawn rule is never selected by the RRA.
29. What is the usage of Property-Alias rule?
A) Create property alias rules to provide an alternative name, more meaningful to users
who may be developing or updating function alias rules.
30. What are the various ways to restrict user to edit the rules?
A)
31. How do you display an image dynamically in alist view rules based different types of
urgency?
A) list view--> get these field--> pxUrgencyWorkSLA
32. Process cycle of IAC?
A) Internet Application Composer enables you to embeded a process commander application
gadget in the pages of a web appl located on ur intranet, internet
and extranet site. this appl is called pega composite appl.
33. What is the major difference between the Cover and Folder
A) Cover is a work object that are parent to one or more related work objects.
Folder is concret class that is inherited from work-folder- class. Folder holds the collection of
one or more other work objects.
34. How do you build a new Rule-Form?
A)
35. What is DCO? In how many ways you can create a new PRPC application.?
A) Direct Capture Object is an appl dev tools which includes,
Application profiler wizard, Appl Accelerator, Appl Doc Wizard, Appl use cases, Appl
requirements.
36. What is a screen-flow.Difference between screen flow and process flow?
A) screen flow is for UI improvement..while process flow is for business logic exceution..so
both have diff purpose.
In screen flow we can't create a WO, in process flow we can create a WO. in Screen flow we
have next, previous options are available in porcess flow not available.
37. How do you provide SLA for the work-object?
A) within the assignment level we will provide the SLA.
38. In Connect Sql rule stored procedures are written in which tab?
A) Within the open tab, we will write stored procedures.
39. Save,Browse,Delete etc tabs present in Sql rule.Which tab will be called when?
A) Browse
40. What is the difference between work-object and work-type?
A)
41. What is the difference between Decision tree and Decision Table?
A) D Tree is used to check multiple properties
D Table is used to check only one property.
42. If you have work experience on Soap Service.What are the rules required for Soap
Service?
A) Service Package, Service SOAP, Activity
43. In which tab WSDL file will be generated in the Service Package?

Page 217
PEGA MATERIAL

A)
44. About the debugging tools like Clipboard,Tracer etc?
A) Tracer: it is a tool that checks the individual requestors session, tracking the execution of
rules.you can set the breakpoints to set the
results of an action and review the property value.
Clipboard: transferring the data between the application and database is clipboard.process
commander keeps XML based structure called pages and
page contains property value pairs.
45. About dynamic select?
A) it is an optional feature you can add to work object forms and other html forms to speed
user inputs.

Page 218
PEGA MATERIAL

46. declarative rules like declare constraint,onchane,trigger etc.


47. How do you expose a property?
A) within the property category there is a advanced tab. within that column inclusion is
required. we can expose like this.
48. What is the need of exposing a property?
A) need to add a property one of the column in DB.
49. what is DCO?
A0 Direct Capture Object is an appl dev tools which includes,
Application profiler wizard, Appl Accelerator, Appl Doc Wizard, Appl use cases, Appl requirements.
50. How to use existing css in PEGA?
A)
Interview:
1. Can u explain brief about ur project?
A)
2. Draw the flow of your project?
A)
3. What are the types of flows we have?
A) Starter flow, Straight through process flow, sub flow and straight flow.
4. Difference between the process flow & screen Flow?
A) PF: we can create a work object. while process flow is for business logic exceution. in PF
next and previous buttons are not applicable.
SF: we can use screen flow is for UI improvement. we can't create a work object. in SF next
and previous options are applicable.
5. What is starter flow & straight through flow?
A) Starter Flow: Starter Flow is instance of Rule-Obj-Flow class. it supports to create a new
work object.
Straight through flow: Business process that can be usually performed automatically with no
human intervention are said to be STP.
6. How can we create a workobject for the subflow?
A) within the process tab create a work object check the check box. then it will create a wo.
7. What is the difference between harness & section?
A) Harness: Use Harness rule to define appearence and processing of wok object forms used
in ur appl to create WO and process Assignments.
Harness defines the appearence, structure and behaviour of the forms used in ur appl to
create and upadate the WO and Assignments.
Harness: Harness rule define the complete forms that support all user interactions that
create, update and resolve the WO.
Section: A section rule defines the appearence and contents of the form.
8. What is SLA’s & what are the types of SLA’s. where we can put these?
A) It is the instance of Rule-Obj-Service Level Rule type. It can be added to Assignment and
work object.
Service level contains 2 time intervals Goal and Deadline. it indicates the expected time for
the assignment and time to resolve the WO.
9. What is the class structure?
A)
10.Where will be created the page, if you not mention the page name & class name in the
pages/classes tab?
A) in activities we will create a page
11.How many way we can run a flow?
A) Flow-New step method can be used to start new flow execution , referencing a flow rule
12.What are the types of validations? how can u identify the server side validation?
A) Validations are 2 types. Client side and Server side Validations.
13.How to create a dropdown list box?

Page 219
PEGA MATERIAL

A) Within the HTML property select the prompt select to create the drop down list.
14.Can u trace the error of a flow using the tracer?
A) yes
15.What is sessions?
16.What is the attribute of work?
17.What is list view & summer view & some tabs difference in this?

Page 220
PEGA MATERIAL

A) Both are used to display the data in the reporting purpose.


List view is used to display the records in tabluar form.
Summary view is used group by functions to display the records.it is also used to display
the records in column, pie charts.
18.Where the work-object will be stored in the database(the table name)?
A) pc_work
19.How to use a ticket shape?
A) To mark the starting point of exception that happen any point in the flow. the activity
executing a ticket using Obj-Set-Ticket.
20.What are the shapes in process flow?
A) there are 19 shapes in process flow.
21.How to implement ticket shape?
A)
22.Why we use model?
A) by using model we can change the work object name. A model rule defines one or more
initial properties and property values for instances of
one class.A model can be applied to new empty page of that class to set many property
values in one processing step.
1) how to do client side validation?
A) we will do validations in so many ways, like within the property category there is a
advanced tab. within the advanced tad. we will find the validation.
or within the activity there is precondition is available. we wil the write the validations.
2) Generally work obj will be stored in pc_work table, instead that can I store in other
table?
A) yes, by default store work objects in pr_others table. in prpc s/w some pre-defined tables
are available. open the application explorer category,
click on systemAdmin rule, within that we will find the DataBase table rule. click on that we
will see many database tables.
3) which inheritance is mandatory? direct Or pattern?
A) both are mandatory depends on requirement we will use both. we will give first
preference to Directed.it should not be letf blank.
4) types of Rulesets?
A) Standard. component, Shared, Override
5) how can i assign to four connectors in flow? what is livelihood?
A) By using Flow Action we can assign connectors to flow. If we want to give four
connectors to flow, go to Assignment properties we will find the local action rule. within that
just give the connectors.
Likelihood is a value between 1 to 100 and understand the specifications connected to flow
action.
6) can i call section in other section those are not in same hirarichy?
A) yes, it is possible to add section within a section
it is possible to add HTML rule within HTML rule.
it is not possible to add section within HTML rule.
7) can I use spilt for each sape for value list?
A) No, we can use page list or page group as properties of split-for-each.
8) which pega frame you are using?
A) i didn't use any frame works in pega.
9) how to use join in reports tell me step by step ?
A) It is used to merge data from multiple tables into a single table.
$ Create a report definition rule.
$ Declare Pages for the classes the report uses.
$ Specify the joins between the tables.
$ Specify the data

Page 221
PEGA MATERIAL

$ save and run the report.


10) customized code for color implementation?
A) <%
String str = tools.getActive().getStringValue();
if(str.length() > 14){
str = str.substring(0,14);
str=str+"...";
}

Page 222
PEGA MATERIAL

%>
<pega:choose>
<pega:when test='.RejectedBy=="DM"'>
<font color="red">
<%=str%>
</font>
</pega:when>
<pega:otherwise>
<pega:choose>
<pega:when test='.RejectedBy=="Chair"'>
<font color="blue">
<%=str%>
</font>
</pega:when>
<pega:otherwise>
<font color="black">
<%=str%>
</font>
</pega:otherwise>
</pega:choose>
</pega:otherwise>
</pega:choose>

Page 223

Das könnte Ihnen auch gefallen