PEGA 02 Material Total
PEGA 02 Material Total
PEGA 02 Material Total
http://pdnworld.blogspot.com/2014/01/what-is-agent-in-pega.html
Page 1
PEGA MATERIAL
BPM :Is a Business Process Management, Which is used to Maintain The Organizational
Work Flows
1.Planning
2.Designings
3.Building
4.Operating
5.Maintaining
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
Which is used to separate the Business rules from the application or to share The Business
rules Across the application.
PEGA=BPM+BRE
PEGA Systems empowers business to easily automate and change their business
process through
BPM Software.
PRPC = Pega Rules Process Commander
(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
Page 3
PEGA MATERIAL
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.
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:
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.
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!!
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.
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.
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.
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
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
Page 13
PEGA MATERIAL
Page 14
PEGA MATERIAL
Page 15
PEGA MATERIAL
Page 16
PEGA MATERIAL
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
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.
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.
A)
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 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.
How many requestor types are there and what are they?
A) Application, Batch, Browser, Portal.
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.
Virtusa
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 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..
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
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
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
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.
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.
Page 25
PEGA MATERIAL
A) Lock should be held on the work object in order to save/update/delete the content in the db.
Page 26
PEGA MATERIAL
If you have work experience on Soap Service. What are the rules required for Soap Service?
A) Service Package, Service SOAP, Activity
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.
Page 27
PEGA MATERIAL
1.Oracle
3.RBM DB2
Rules XML
4.UDB
Java
Repository
PRPC Users :-
Work User
Work Manager
Business Architect
System Architect
System Admin
3.Developer Portal
4.Admin Portal
Page 28
PEGA MATERIAL
System Admin
Work Object: It Is a Primary Unit Of Work In an application and the primary collection of
Data That a flow Operates On
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.
Page 29
PEGA MATERIAL
Properties,
Sections,
Harness,
Activities,
Flows,
Reports etc…..
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-
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 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
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.
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 [email protected] 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 > 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
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.
A Property provides labels/addresses for values that can be associated with a class.
@base class : is the super class for all the classes and immediate base classes are
Page 32
PEGA MATERIAL
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
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
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.
Base classes.
Advantage of Ruleset
Access control
Migration
Rule resolution
rule version
Page 35
PEGA MATERIAL
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.
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.
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.
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.
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.
(Operator-Access group-Application-Ruleset)
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:
Page 38
PEGA MATERIAL
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:
Consider using abstract classes if any of these statements apply to your situation:
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
Inheritance
Implementation Class : "Amazon -IN -OnlineSales-Work-PurchageRequest"
Framework Class : "Amazon -FW -OnlineSalesFW-Work-PurchageRequest"
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"
Directed Inheritance
Pattern 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-.
Page 40
PEGA MATERIAL
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.
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.
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:
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.
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.
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.
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.
Organization Layer
Division Layer
Framework Layer
Implementation Layer
The Pega rule hierarchy begins at the top class @baseclass which is extended by several
base classes:
Page 44
PEGA MATERIAL
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.
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.
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.
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
group
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.
In the form:
Defining work pool in Access Group
Define the work pool in Access group -> the class group
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
Page 48
PEGA MATERIAL
INHERITANCE : It enables to you access rules from parent class to child class.
Class Inheritance
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
Directed Inheritance
Pattern 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:
Ruleset Usage :-
Access Control
Deployment
Rule Versioning
Rule Resolution
Page 50
PEGA MATERIAL
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
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.
Ex . PolicyAdmin
Ex. 01-05-07
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
-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.
Ruleset Name rules are part of the SysAdmin category. A Ruleset rule is an instance of
the Rule-Ruleset-Name class.
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.
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.
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,
1.Availability (Yes)
7Version 6Version
2.Final
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.
n be locked to prevent new rules from being added and existing rules from being updated or
deleted.
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 : 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.
PEGA GUARDIALS
Page 55
PEGA MATERIAL
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.
Avoid java steps in Activitys ,when standard process commander rule types, library
functions or activity methods are available.
Identify and define 10 to 100 specific rules that business users own and will maintain.
Your application control Structure must consist of flows and declarative rules, calling activity
only as needed.
Your flows must fit on one page and must not contain 15 smart shapes.
Page 56
PEGA MATERIAL
Use PAL tool to monitor performance Regularly from Performance tool bar.
Data Model :
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
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.
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.
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
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
Data Transform
Page 61
PEGA MATERIAL
Parameters,Pages&class,History
Definition
DATA PAGES
a).Node a).Node
List
Structure Page
Read Only
Edit Mode
Editable
Thread
Requestor
Node Scope
Data Source
Connector Connector
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 :
1. New
2. Perform
Page 64
PEGA MATERIAL
3. Confirm
4. Review
Sections :
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.
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 :
1. Developer Portal
2. Manager Portal
3. Work User Portal
4. Admin Portal
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
Style Format : Which is used to define style format for components such as Dynamics
layouts,Controls,such as Buttons and links.
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.
FLOWS
FLOW TYPES :
Page 67
PEGA MATERIAL
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 .
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) 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.
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.
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.
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
If Laptop 30,000
Decision Map :-
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 :-
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
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
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 :--
123.22
Order Total
54.95 49.92
Extended Price
5*10.99 4*12.48
Quality Price
Page 73
PEGA MATERIAL
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
Extended Price
Quantity Price
The Target Property data Field in the Declare expression decide this in below
scenarios.
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.
When
Choose action
Call Activity
When True Run
Activity Params
Page 75
PEGA MATERIAL
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 .
Page 77
PEGA MATERIAL
Equals
Indexing Conditions
When Enabled
Activities
Page 78
PEGA MATERIAL
3. Creating/processing email(correspondence)
2) For Integration:-
Standard Activities
1. Work-Update status
3. Work-cover-Add to cover
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….
Page 79
PEGA MATERIAL
D) Precondition :-Before executing the methods or steps. If we want to check “when” rule
that precondition is used.
The transition step also has the same options as preconditions for the transition to
take place.
f)Step page:-
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 :-
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:-
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
Use the pages & classes tab to identify the step pages used in this activity
4.Security:-
Which is used to define activity types and to check the authentication and may start check
boxes
Fields:-
Page 81
PEGA MATERIAL
Connect
Locate
Notify
Onchange
Route
Validate
Trigger
Utility
Assembler
Load declarative page
5.Histry tab:-
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
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
3. Test_PropSet activity is called and Company name is over ridden, set to Accenture
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.
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
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.
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:-
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.
Use this method to immediately end a flow execution, prior to reaching a flow-end shape.
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.
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.
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,
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.
The result for the above activity is shown in the clip board page below.
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.
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.
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.
· 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:-
Page-Remove Method:-
Use this method to delete one or more pages from the clipboard. The contents of the
database are not affected.
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
Use this method to evaluate a decision table rule and save the result as the value of a
property.
Property-Map-Value method:-
Page 97
PEGA MATERIAL
Parameters:-
1. Property name
2. Map name
3. Row input
4. Allow missing properties
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 :
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.
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
Requestor:-
Clipboard:-
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
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:-
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:-
Embedded page:-
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
ButtonFunction
Or XML File
Page 101
PEGA MATERIAL
Moment
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:-
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
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.
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.
Lock definition
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
Page 106
Allow locking ?
PEGA MATERIAL
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
4. Access Role --- What access role the user can have
c) Assigned roles
d) Portal layout
e) Default Ruleset for making changes ( Default Ruleset whenever the user creates/
saves as the rule
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.
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
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
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.
In a work group, we can associate an operator with a manager and a work basket.
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.
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.
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.
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 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
1. During Development :
1. Accomplished by system architects
2. Common tools used
Forms
Preflight
PAL
My alerts
2.During QA/UAT:
3.In production:
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
Pre fight:-
Performance Analysis(PAL)
Tools will be displayed with total for session and initial reading.
Page 111
PEGA MATERIAL
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
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
Process
Service package
commander
Service rule
property property
clipboard
Service activity
Service Package:-
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:-
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.
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
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.
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
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.
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.
Listener nodes
Node name
C: temp files
Page 119
Listener properties: source location
*,xml
1
Claim files samples
File claim class
Requestor login
User ID Password
Diagnostics
STARTUP STATUS
Blocked
General
Polling interval(seconds) 60
Reporting
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:
Overall request
Good
List of steps
Step result
Components tested
Description value
Page 121
PEGA MATERIAL
Report
folder completed
When you finish creating file service and you have started new listeners, test the
configuration as follows
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.
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
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
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 :-
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
Pattern
Daily Every weekly
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.
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.
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.
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.
Scheduled agents
PEGA MATERIAL
application
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
Page 128
PEGA MATERIAL
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.
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.
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.
PegaUnit testing
(https://community.pega.com/knowledgebase/articles/pegaunit-
testing)
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.
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
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.
Page 132
PEGA MATERIAL
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.
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)
Page 134
PEGA MATERIAL
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
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.
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
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.
Page 141
PEGA MATERIAL
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
Page 143
PEGA MATERIAL
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
Page 144
PEGA MATERIAL
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.
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.
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.
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.
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.
Page 146
PEGA MATERIAL
ObjClass: The object Class to List. When used with RuleObjList parameter, this is the class of the list to
use.
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.
Page 147
PEGA MATERIAL
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.
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.
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.
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. 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.
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.
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.
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.
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.
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
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.
Page 151
PEGA MATERIAL
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
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.
ObjClass: The object Class to List. When used with RuleObjList parameter, this is the class of the list to
use.
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
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
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.
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.
pc_data_workattach.
Q. Different type of flows. Explain in scenario based where u used and worked
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.
=> WriteNow — An activity step includes a method with an immediate database write operation
rather than a Commit method.
activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);
activityKeys.putString(“pyClassName”, workclass);
activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );
Q. How to end the workobject in the activity ( method used to kill the work object)
Page 155
PEGA MATERIAL
Using java :
activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);
activityKeys.putString(“pyClassName”, workclass);
activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );
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
activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);
activityKeys.putString(“pyClassName”, workclass);
activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );
Page 156
PEGA MATERIAL
ClipboardPageworkpage = tools.findPage(pagename);
Or
window.open (urlToRun,”_self”);
openUrlInSpace (urlToRun,””);
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
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.
Page 157
PEGA MATERIAL
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.
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.
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.
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!
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
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):
Page 159
PEGA MATERIAL
Users who are qualified can remove an assignment from the workbasket to process the
assignment.
** 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).
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.
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
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:
Page 161
PEGA MATERIAL
Service levels
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.
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 :
** 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.
In an activity, you can call a decision table using the Property-Map-Decision Table method.
Page 162
PEGA MATERIAL
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.
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
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.
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.
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.
Page 168
PEGA MATERIAL
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.
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.
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.
59. What is the activity responsible for getting the data in List View?
getContent Activity
Page 170
PEGA MATERIAL
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.
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.
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.
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
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
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.
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.
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.
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.
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.)
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.
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.
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
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.
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
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.
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.
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.
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.
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
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
16. What are all the different types of scope that declare scope provide ?
Node, Thread, Requestor
Page 184
PEGA MATERIAL
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.
30. What is the activity responsible for getting the data in List View?
getContent Activity
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
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.
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.
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
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.).
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.
Page 189
PEGA MATERIAL
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.)
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?
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.
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.
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.
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:
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
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
Page 193
PEGA MATERIAL
The Exit-Activity method ends the current activity and returns control to the calling activity.
Page 194
PEGA MATERIAL
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.
Page 195
PEGA MATERIAL
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.
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
Page 199
PEGA MATERIAL
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
Page 208
PEGA MATERIAL
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
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
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
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
Page 221
PEGA MATERIAL
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