0% found this document useful (0 votes)
1K views111 pages

PEGA Interview Questions

The document discusses various Pega concepts including differences between split-join and split for each, declare triggers, object browsing vs RDB listing, validation types, ending vs exiting activities, starting and resolving workflows, requestor types, forward and backward chaining, file listeners vs connect files, local vs remote actions, WSDL files, and class types. It also provides examples of using declare on change rules and the rule resolution process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views111 pages

PEGA Interview Questions

The document discusses various Pega concepts including differences between split-join and split for each, declare triggers, object browsing vs RDB listing, validation types, ending vs exiting activities, starting and resolving workflows, requestor types, forward and backward chaining, file listeners vs connect files, local vs remote actions, WSDL files, and class types. It also provides examples of using declare on change rules and the rule resolution process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 111

 Difference between Split-join and split for each?

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

 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.
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.

 Obj-browse and rdb-list difference?


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

 obj-validate and edit-validate?


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

 Activity-end AND Exit-Activity difference?


A) Activity-End is used to end the current activity and calling activity.
Exit-Activity is used to end the current activity.

 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. Flow-End method used to end the flow.

 Can we resolve an work object using activity?


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

 Can we use Rdb-Save along with commit, if yes then why? if not yes then why?
A) Yes, commit is used to save the data permanent in the DB.

 what is skimming explain?


A) It collect the highest version of the every rule in the ruleset and copies them into new major version of that ruleset on
the same system.
EX: If we are skimming loan appl:05-06-07, the only options like 06-01-01 and 07-01-01, but we can not skim to 05-07-08
and so on.

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

 what is Covers folder and object and differences among them?


A) Cover is work object that is parent to one or more related work objects.
One work party is present in the cover work object and also present in the covered work objects associated with the
covers.
Folder is work object in concrete class that inherits from the work-Folder-class.
A folder object holds a collection of one or more other work objects providing access for reporting.
 What is SLA? where we use SLA?
A) A service level rule is an instance of the Rule-Obj-Service Level rule type. Each service level rule defines one or two time
intervals, known as goals and deadlines that indicate the expected or targeted time for the assignment, or time-to-resolve
for the work object.
If an assignment isn't completed before the time limit, the system can automatically raise the assignment, and cancel the
entire flow, and so on

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

 Backward chaining and forward chaining?


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

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

 Diff b/n file listener and connect file?


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

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


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

Virtusa

 Tell me abt ur project and roles and responsibilities?

 Declarative rules?
A) 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.
what is rule resolution?
A) It is a mechanism to decide which rule need to be executed at run time.

Work process of rule resolution?


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

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

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

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


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

Mphasis
What is Access Group?
A) Access Group controls the security basing on the job functions. It is instance of Data-Admin-Operator-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

What is Work list, Work basket?


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

what is parallel processing in pega?


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

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

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


A) service pkg, service soap, activity.
what is diff b\n RDB,OBJ methods?
A) Obj method can be used to fetch the data from Blob columns but RDB methods can only help to fetch the data from
exposed columns
RDB methods are faster than OBJ methods in terms of response time
Normally we use OBJ methods for pega tables and RDB methods to fetch the data from external database

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

How to move code from development server to test server?


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

when will we go for may start and authenticate?


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

Describe Property-set method?


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

Diff between Obj-open & Obj-browse ?


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

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

What is d use of Primary page?


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

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


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

Differentiate constraint vs validation.?


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

what is use of guardrails?


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

What are the agents?


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

What is cover and covered objects?


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

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

What are the types of log files we have?


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

Tell me about the locking concept in PRPC?


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

What is DWA (Direct Web Access)?


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

What are PEGA Guardrails?


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

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


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

What is Declare expression?


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

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


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

Rule resolution algorithm?


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

How do you remove the work objects?


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

Do you have any idea about the AES?


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

What are the rules which are not rule resolved??


A) withdrawn rule is not rule resolved.

What is the major difference between the Cover and Folder


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

What is Difference between screen flow and process flow?


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

How do you provide SLA for the work-object?


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

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

About the debugging tools like Clipboard, Tracer etc?


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

What is the need of exposing a property?


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

What is the difference between harness & section?


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

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

Which inheritance is mandatory? direct Or pattern?


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

Implementation and Methodology Overview


Pegasystems offers two methodologies -- SmartBPM and Pega Scrum -- that you can use to manage application
development projects. Both provide an adaptable process framework which is flexible and can be blended without
conflict with organization's methods and project management approach.
The methodologies are designed to work together with Process Commander's Direct Capture of Objectives
capabilities and integrate with Pegasystems' Project Management and Test Management frameworks.

Pega Scrum is a good fit for implementations where:


 Results must be achieved quickly
 Product quality is of the utmost importance
 Business wants to be fully engaged throughout the process
 Requirements are changing and prioritized constantly
 An enterprise commitment to Scrum exists
 Teams are enabled and skilled

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

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

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

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

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

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

Important Terminology
.
Business Objectives — Project goals that, when reached, signify a return on business benefit.

Business Use Case — Describes the full lifecycle of a process for a single work type. It is broken down into
atomic use cases.

Requirement — Details a business need; used to verify that the resulting implementation is what the business
needed.

Sliver — A subset of a larger project that is developed and implemented as a release.

Work Type — A business problem that requires an automated solution that is associated with one business use
case and one or more atomic use cases. For example: A claim, loan, or service request.

Understanding the Class structure and RuleSets generated by the Application Accelerator

The Application Accelerator generates an initial layered enterprise class structure and multiple RuleSets, based
upon the input values you provide (and default values)

Generated enterprise class structure


Two large diagrams depict the layers and classes in the enterprise class structure generated by the Application
Accelerator

Layers in the generated class structure


The layers depicted in the enterprise class structure image are:
Layer Purpose

Enterprise Reuse For assets that need to be reused on an enterprise-widebasis. Such assets are
rules for enterprise-wide business logic (such as standard properties, decision
tables, Service Level rules) and enterprise-wide data assets (such as classes and
rules for data stored in the system, and classes and rules for access to data in
external systems, via connectors).

For example, the MyCo enterprise wants to reuse the property that holds an

employee's serial number on an enterprise-wide basis, so that the various

applications used by that employee across the enterprise can consistently rely on

the same serial number property for the same employee.

Divisional Reuse For assets that need to be reused on a division-widebasis. Such assets are rules
for division-wide business logic (such as standard properties, decision tables,
Service Level rules) and division-wide data assets (such as classes and rules for
data stored in the system, and classes and rules for access to data in external
systems, via connectors).

For example, a division wants to reuse a service level rule that defines the expected

response time to a customer complaint in all of its applications, so that it can

consistently enforce a focus on meeting its customer relationship commitments.

Framework Defines a common work-processing foundationthat is extended by the specific


implementations.

For example, the MyCo enterprise makes auto loans, and has an auto loan

framework that is comprised of all of the assets needed for MyCo's standard auto

loan process. Each division of MyCo extends that basic auto loan application to

meet their specific divisional needs: the commercial business line division's auto

loan application needs to handle loan requests distinct from that of MyCo's personal

line division.

Implementation Defines an implementationof a framework that is customized for a specific division.

For example, the commercial business line's auto loan application reuses assets

from the commercial business line division layer and from the auto loan framework

layer, while the personal line's auto loan application reuses assets from the personal

line division layer and the auto loan framework layer.

PRPC Base Consists of the PRPC system's built-in classes and rules necessary for processing
Product 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.
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:
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.
Methods and instructions by function
Methods for entire clipboard pages Flow-related methods
Page-Change-Class Flow-End
Page-Clear-Messages Flow-New
Page-Copy Obj-Set-Tickets
Page-Merge-Into TaskStatus-Set
Page-New
Page-Remove
Page-Rename
History methods
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
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

Methods for HTML and XML streams Local variables


Show-HTML StringBuffer-Append
Show-Page StringBuffer-Insert
Show-Property StringBuffer-Reset
Show-Stream
Other
Property methods Assert-No-Invocation
Apply-Model Connect-FTP
Obj-Sort Link-Objects
Property-Remove Log-Message
Property-Seek-Value Privilege-Check
Property-Set Property-Map-DecisionTable
Property-Set-Corr Property-Map-DecisionTree
Property-Set-HTML Property-Map-Value
Property-Set-Messages Property-Map-ValuePair
Property-Set-Stream Queue-for-Agent
Property-Set-XML Queue instruction
Property-Validate
Advanced
Java in activity steps
Rule instruction
Start-Validate
End-Validate

Relating Java terms to Process Commander terms


The following table may help you relate Process Commander terms to similar Java terms. These are analogies, not exact
correspondences.

Process
Similar Java, XML, or
Commander Rule type
database concepts
term

expressions - Java expressions

models Rule-Obj-Model initializers, constructors

activities Rule-Obj-Activity public Java instance methods with a void return type

method Rule-Method system-supplied stored procedure

properties Rule-Obj-Property instance variables

Single Value property Java String object

rule resolution Inheritance

property of mode Page List repeating group

overridden rule overloaded method

When condition rule Rule-Obj-When if statement

decision tree rule Rule-Declare-DecisionTree nested if statement

primitive data types.


Type for Value mode properties
Most Java primitive data types are available as Process Commander Types.

primary page of an activity this keyword

ultimate base class @baseclass Object class — topmost class

Value Group property mode HashMap


Difference between activity and utility

An activity is an instance of the Rule-Obj-Activity rule type. An activity is the fundamental sequential
processing unit of the Process Commander system.

The shape in a Visio flow diagram, references an activity that updates a work object, but does not
require user interaction and input. Your system includes standard activities for utility tasks, and you
can create additional ones.

Each utility task references an activity with an Activity Type of Utility ss from utility shape we can
call activity but vise versa not possible.

Difference between obj-open and obj-open-by-handled

Obj-Open : we will get multiple records from table based on the criteria from the specified
class. Or Opens an instance of a given class

OBJ-open-handle: here we have have to pass the pzInskey as a instance handle, this mehod will
open only one record at time. Or Open object by handle to the pzInsKey value
The handle of an instance is a unique key, in an internal format, assembled by the system that
identifies an instance in the PegaRULES database. It may differ from the visible key generally used
to identify instances. (Every instance has a unique handle, but more than one instance may share
the same visible key.) For rule instances, the handle includes system-generated identifying values
(including the create date and time) that make it unique.

Use the Obj-Open-By-Handle method only if you can determine the unique handle that permanently
identifies which instance to open. Otherwise, use the Obj-Open method.

Inheritance concept in the pega (rules, class)

Rules: inheritance that can maximize reuse of your rules while allowing localized overriding as
appropriate. Also called polymorphism, inheritance allows a rule created for one class (possibly an
abstract class) to be applied to other classes that inherit from it.

Class inheritance searches for rules from a concrete, lower class, up the class hierarchy to find
available rules.

Two types of class inheritance — directed inheritance and pattern inheritances

Performance of our work in the pega is measured using?

1. DBTrace: DBTrace is a feature in the Performance Analysis Tool (PAL) that creates a detailed log
of calls to the PegaRULES database. DBTrace displays SQL statements sent to the database and the
time spent for each operation.
PAL: This data is stored in “PAL counters” or “PAL readings.” PAL stands for Performance AnaLyzer,
and is a collection of counters and timer readings, stored in the requestor, that an application
developer could use to analyze performance issues in a system.

PAL Features
• Add Reading
• Add Reading with Clipboard Size
• Reset Data
• Save Data
• Start DBTrace
• DBTrace Options
• Start Profiler
• Show Graph
• My Alerts

Alerts:
During application processing, Process Commander writes to the performance alert log a sequence
of text entries called alert messages that identify mainly performance-related issues or errors. The
performance alert log is usually named PegaRULES-ALERT-YYYY-MMM-DD log.

AES:
Exceptions are processed in a similar way as alerts. When a Process Commander server generates
exceptions they are sent by SOAP to the AES system. The system parses the exceptions and stores
the records in the pegaam_exception table in the AES database. Based upon how often an exception
occurs and the system events that triggered those exceptions, AES aggregates these records into
work objects called AES exception items. These items are written to the AES database in the
pegaam_exception_work table.

How to connect to different pega applications?

Using SOAP, HTTP, JMS, MQ.

How to store the instance of the class in a specific database

Creating the separate DB table for that work class with in the DB, or map to external db and further
saves will go to that DB

How to see values of the local variables of the activity

Using log-message.
How to send multiple correspondences at a time

Preflight:
Starts the Application Preflight tool, which reports warning conditions on the rules in your
Application RuleSets. These may indicate guardrail compliance issues, potential performance
issues, accessibility status, or other notable conditions.

- Application Preflight tool to list each rule in an application that contains a warning message.
Warning messages suggest that the rule is at variance with guardrails and other best practices. You
can also check for browser compatibility of visual elements.
you can extend the set of warnings with a custom activity named Rule-
ZZZZ.CheckForCustomWarnings, where Rule-ZZZZ is a rule type.
Warnings are maintained as instances of the Index-Warning class and saved in the
pr_index_warnings database table.

The standard decision tree rule Embed-Warning.pxWarningDetails controls whether warnings of a


specific type are reported in the Application Preflight tool. By default, all are reported; you can
override this decision tree rule to choose which to omit. This decision tree tests the property
pxWarningType, which can have values indicating the source of the warning, such as:
=> Java — an activity contains a Java step
=> API 02 — an activity uses the Version 3 PublicAPI
=> WriteNow — An activity step includes a method with an immediate database write operation
rather than a Commit method.

Spinoff // split join explain?

Spin-off shape ( ) onto the flow


When a work object advancing through a flow reaches the Spin-off shape, Process Commander
starts execution of a different flow, using the current or a different work object. Processing in the
current flow rule continues in parallel, without waiting for the other flow to complete.

the Split/Join shape ( ) onto the flow


Use the Split-Join shape to require that multiple subflows of your flow be completed before the
current flow continues execution. This allows subflows to execute asynchronously, in parallel. For
an example, see the standard flow Work-.ParallelWork.

Split-ForEach shape ( ) to any locations


The Split-ForEach task provides a form of searching or enumeration over the pages in a property.
Use a Split-ForEach shape to iterate over the pages of a Page List or Page Group property. For each
page, you can conditionally start a flow execution for the work object.
1. What is the difference between Page-Validate and Property-Validate methods?
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 lot of system resources and takes
more time. If you want to validate specific properties use Obj-Validate method with Rule-Obj-Validate rule.
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.
2. What is difference between Edit validate and Edit Input rules?
Edit Validate : Use edit validate rule to validate the property value using java code. Edit validate rules can be used
property-validate, Rule-Obj-Validate and Property rules.
Edit Input : Edit input rules converts user entered data into required format. For example is the user enters date
MM/DD/YYYY format, edit input rule coverts this date into DD-MMM-YYYY (required format). Again we need to write
java code for this transformation.
3. Where assignments will be stored in pega rules database?
Work List related assignments are stored in pc_assign_worklist.
Work basket related assignments are stored in pc_assign_workbasket.
4. Where work objects will be stored ?
Work Objects are stored in pc_work table by default. however if you want to store the work objects in a user created
table, follow the below mentioned steps.
o 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)
o Change the class group mapping (Data-Admin-DB-Table) to the newly created table.
5. 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.
6. What is StepStatusGood, StepStatusFail rules?
StepStatusGood is a when condition defined in @baseclass, this when rule checks whether the value of
pxMethodStatus property is "Good".
StepStatusFail is a when condition defined in @baseclass, this when rule checks whether the value of
pxMethodStatus property is "Fail".

7. What is the work object?


A work object is the primary unit of work completion in an application, and the primary collection of data that a flow
operates on.
Workers using an application create, update, and eventually resolve and close work objects.
Every work object has a unique ID (property pyID), an urgency value, and a status (property pyStatusWork).
8. what is The Class structure?
Ans : Classes are organized into a hierarchy. The ultimate base class — named @baseclass — is at the top (or left). The
base classes — Data-, Rule-, Work- and others — are immediate child classes of the ultimate base class. Other classes are
derived from the base classes.
Concrete classes derived from the Rule- base class are known as rule types. Concrete classes derived from the Work- base
class are known as work types.
9. How polymorphism can be achieved in PEGA ?
Ans : Polymorphism means --- over loading & over riding
Overloading can be achieved through --- Inheritance (Direct or Pattern)
Overriding can be achieved through --- Circumstance
10. What is Inheritance ?
Process Commander provides two types of class inheritance, both of which allow rules of ancestor classes to be
inherited:
 Directed inheritance — Allows you to name a parent class, choosing a name that's not related to the name of this
class
 Pattern inheritance — The system determines the name of the parent class is based on an initial portion or substring
of the name of the class. Segments of the name are delimited by a dash (-) character.
Pattern inheritance, an optional feature
During rule resolution, pattern inheritance causes a class to inherit rules first from classes that match a prefix of the class
name.
11. How to create Class , class group?
A class group is an instance of the Data-Admin-DB-ClassGroup class.
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.
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.
12. Access group? How to create Access group?
An access group is an instance of the Data-Admin-Operator-AccessGroup class. Access groups make a set of RuleSet versions
available to requestors.
Developers define access groups and associate an access group with each user (each Data-Admin-Operator-ID instance).
Typically, multiple users are associated with or belong to one access group.

13. what is the Harrness ?Section?FlowAction?Clipboard?PAL?What is the Sma?What is Ticket?


What is the Declare expression?
Harness : Use harness rules to define the appearance and processing of work object forms used in your
application to create work objects and process assignments.

Where referenced --- Flow, Activity

Sections : 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

Flow Action :-

A flow action is a choice available to users as an interim or final disposition of an assignment they
process. Each flow action is defined by an instance of the Rule-Obj-FlowAction rule type.

Flow actions are of two types:


 Connector flow actions appear as lines on Visio presentation in the Diagram tab of a flow rule. A
line exits from an assignment shape and ends at the next task in the flow. At runtime, users
choose a connector flow action, complete the assignment, and advance 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 worklist. Local flow actions are recorded in the Assignment Properties panel and
are not visible on the Visio flow diagram.

ClipBoard :-

Every connected Process Commander requestor as an associated temporary memory area on the server
known as the clipboard . Clipboard consisting of nodes known as pages, most of which have a name
and an associated class.

Pages act as buffers or temporary copies of object instances (of that class) that are copied from, or may
later be stored into, the PegaRULES database or another database.
The clipboard contains three broad categories of top-level pages:

 User pages

 Declared pages, produced by Declare Page rules.

 System-managed pages, including the requestor page, process page, application page, thread page, Operator ID, Organization,
OrgDivision, and OrgUnit.
Using the System Management Application (SMA), you can learn the size of each requestor's clipboards,
and the size of each page. Start the SMA using > System > Tools > System Management App, select
a node, and then click the Requestor Management menu item.

Clipboard Action Tab has the following options :-

Refresh, Refresh Current Page , Find, Create Page, Update Page, Delete Page, Execute Activity, Save
Page, Start Flow, Analyze Clipboard, Collect Details.

Clipboard Tool :-
Use the Clipboard tool when developing and debugging to:

 Examine property values and messages associated with them

 Find the information necessary to reference a property — the page names and the property name

 Quickly create, update, delete, and modify pages using the Action menu

 Quickly start activities and flows using the Action menu

Debugging with the Clipboard tool :

Several methods manipulate the clipboard. As you execute activities that affect your clipboard, you can
examine the results with the Clipboard tool.

For example, when you execute an activity that contains a Page-New method, you can see the resulting
named top-level page in the User Pages section. If you execute an activity that uses the Property-Set
method (on a named clipboard page), you can see the new values.
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.

select > System > Tools > System Management App or type the equivalent keyboard shortcut CTRL
+ALT+M.
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.

 View, stop, cycle, or restart agents and listeners.

 View rule cache statistics, and empty the cache.

Ticket :-
Tickets will provide an event-driven override to normal sequential processing. A Ticket rule only defines a name
and its description.

Where referenced

Add a ticket shape ( shape) to a flow rule to reference a ticket rule.


In an activity, use the Obj-Set-Ticket method to reference a ticket rule.

Select > Process and Rules > Work Management > Tickets to review the tickets rules that are
referenced in the current application.
Note :- As a best practice to simplify your application, call the standard activity Work-.SetTicket from your activity
rather than reference this method. That activity sets and later resets a single ticket, identified in an activity
parameter.
Declarative Rules :-
A declarative rule is an instance in a class derived from the Rule-Declare- class.

You can establish required relationships among properties in a Declare Expression, Constraints, Declare
OnChange or Declare Trigger rule
1. Declare Expression --- Forward and backward chaining
2. Declare Constraint -- Forward chaining
3. Declare Onchange -- Forward chaining
4. Declare Index -- -- Forward chaining
5. Declare Trigger -- Forward chaining
6. Declare Pages -- Forward chaining

Declare Expression :- Use Declare Expression rules to define automatic computations of property
values based on expressions.

Category

Declare Expression rules are instances of the Rule-Declare-Expressions rule type. They are part of the
Decision category.

Declare Constraint : -Create constraints rules to define and enforce comparison relationships among
property values. Constraints rules can provide an automatic form of property validation every time the
property's value is "touched",

Category

Constraints rules are instances of the Rule-Declare-Constraints class. They are part of the Decision
category.

Declare Onchange :- Create Declare OnChange rules to run an activity automatically at activity step
boundaries when the value of a specified property changes.

Category

Declare OnChange rules are instances of the Rule-Declare-OnChange class. They are part of the
Decision category.

Declare Trigger :-

Create Declare Trigger rules to cause an activity to run when instances of a specific class are created,
updated, or deleted in the database.
Where referenced

No other rules explicitly reference Declare Trigger rules. After you save a Declare Trigger rule, Process
Commander immediately begins to run it when and as needed.

Category

Declare Trigger rules are instances of the Rule-Declare-Trigger class. They are part of the Decision
category.

Forward chaining :- Forward chaining is an internal mechanism that provides the automatic
propagation of changes in one property value to changes in other property values.

In a Declare Expression rule, constraints rule, or Declare Index rule, you can establish required
relationships among properties. When an activity step changes the value of a property that is defined in
such rules, the system automatically consults an internal dependency network to see if other values are
affected, and performs property value computations. This is known as forward chaining.

backward chaining : - Through a powerful technique known as backward chaining, Process


Commander allows a computation to advance even when the value of an input or parameter property is
not available.

Declare Expression rules and the Property-Seek-Value method work together to provide this capability.
The system uses the internal dependency network of property relationships to develop inferences about
how to obtain the missing property value.

Decision Table :- 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-DecisionTable rule
type.

Decision tables can capture and present business logic in the form of one or more if... then... else
conditions.

You can incorporate decision tables in a flow rule using the Decision task shape ( ). At runtime, the
system evaluates the decision tree using the Property-Map-DecisionTable method and stores the result
in a property value.

Where referenced

Rules of four other types can reference decision table rules:

 In a flow rule, you can reference a decision table rule in a decision task, identified by the Decision shape ( ).

 In an activity, you can evaluate a decision tree using the Property-Map-DecisionTable method.

 A Declare Expression rule can call a decision table rule.

 A collection rule can call a decision table rule.


Decision Tree :- 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-DecisionTree rule type.

Decision trees can capture and present business logic in the form of one or more if... then... else
conditions.

You can incorporate decision trees in a flow using the Decision Task shape ( ). At runtime, the
system evaluates the decision tree (using the Property-Map-DecisionTree method) and stores the result
in a property value.

Where referenced

Rules of four other types can reference decision tree rules:

 In a flow rule, you can reference a decision tree rule in a decision task, identified by the Decision shape ( ).

 In an activity, you can evaluate a decision tree using the Property-Map-DecisionTree method.

 A Declare Expression rule can call a decision tree rule.

 A collection rule can call a decision table rule.

Circumstance :-

A circumstance is an optional qualification available for all rules. Using a circumstance allows your
application to support multiple variants of a rule. For example, variations of an ordinary rule instance
can be created for different customer status levels or for different geographic locations.
If you use a single circumstance property, you define the property name and its value directly in the Save As form.

If you use multivariate circumstancing, you two rules in the Save As form:
 Circumstance Templates (Rule-Circumstance-Template rule type)

 Circumstance Definitions (Rule-Circumstance-Definition rule type)


Multivariate circumstancing enable you to specialize a rule by more than one feature. example may be the need for a rule that is
specialized by an age range and not an absolute value.
To create a circumstance-qualified rule, first define an unqualified or base rule instance (with the Circumstance values left blank). Then use

the toolbar Save As button ( ) to create a second rule qualified by a circumstance.

About Circumstance Definition rules

Purpose

Circumstance definition rules contain a table of values for the properties in circumstance template rules.

Where referenced
Circumstance template rules reference circumstance definition rules.
About Circumstance Template rules
Purpose
Use a circumstance template rule to identify properties for multivariate circumstanced rules. A circumstance template rule contains an
array of properties such as .State, .Channel, and .ClaimAmount that reference property values in one or more
circumstance definition rules.

Where referenced

Circumstance template rules are referenced by multivariate circumstance-qualified rules.

what is the agents. 2. How to trace an Agent. 3. What is IAC, when did you use in the project. 4.
What is cover and covered objects.

1. What is the major difference between the Cover and Folder?

Ans : Cover has tightly coupled work objects whereas folder has loosely coupled.
Cover has one-one , one-many relationships with its work objects(meaning that a work object only one cover and a cover
can have many work objects.). Folder has many-many relationship.
A cover can have a cover but a cover can NEVER have a folder in it. Folder can have covers.

Note: A cover can hold upto 20 work objects.

2. PEGA-prpc

Ans : Pega/PRPC is a popular rules engine and BPM tool from Pega systems that is gaining good
market share among large corporations. Architects and developers build the Pega/PRPC instance
while administrators and even select business analysts have the option of changing workflow rules
during runtime. Infact, their motto itself is "Build for change". The goal is to "eliminate software
coding" and "automate manual work" to the minimum and build complex systems at the enterprise
level with features right out-of-the-box.

3. What are the various ways to restrict user to edit the rules?

Ans : give User portal instead Developer portal

4. Circumstances and Date/Time ranges are not supported for declarative rules, including:

 Rule-Declare-Expressions

 Rule-Declare-Constraints

 Rule-Declare-OnChange

 Rule-Declare-Trigger

 Rule-Declare-Index

 Rule-Declare-Pages

 Beginning in Version 5.4, Circumstances and Date/Time ranges are supported for Declare Expression rules, Constraints rules,
and OnChange rules

5. What are the rules which are not rule resolved?


Declare rules, text file, binary file

6. Suppose I need to access the Google service, how can I achieve in Pega?

PEGA Provided Google maps ---

7. What is order of execution in Decision Table and Decision Tree?

Decision Table can be called form decision tree but reverse is not possible

8. Have you used spin-off shapes in your application, if so what is the case?

1. Rules and their which category they fall…


2. Service Package

Property : -

Property rules are normally stored in the PegaRULES database as rows of the pr4_rule_property
table.
A property rule has one of eleven modes

Single Value, Value List, Value Group, Page, Page List, Page Group, Java Object, Java Object List, Java Object Group, Java Property, Java
Property List.

Page List Select Page List to create a property that can contain an ordered list of embedded pages.

For example, a Page List property named Contacts can contain the pages Contact(1), Contact(2), Contact(3), and so on.

Work-.pyFlowActionCosts is an example of a standard Page List property.

Page Select Page Group to create a property that can contain an unordered group of embedded pages.
Group
For example, the standard Page Group property named Work-.pyWorkParty can contain pyWorkParty(Lawyer),
pyWorkParty(Customer), pyWorkParty(Staff), and so on.

Advanced Tab :

 Define a length in characters (for text properties)

 Prohibit this property from being the target property in Declare expression rules.

 Define edits and validation criteria

 Recommend to a database administrator that the property is to be exposed as a separate database column

After a property is defined, you can set values for it by:

 Using any of the Property-Set methods in an activity.

 Applying a model.

 Including the reference directive with the INPUT keyword (or the equivalent p:r JSP tag) in HTML text. This lets a
user enter a value into an HTML form.

Px,py,pz

pz support internal system processing. Users cannot directly manipulate pz properties.


Edit Input :-
1. An edit input rule provides a conversion facility.
2. Edit input rules perform conversions, not validations.
3. Use validate rules and edit validate rules for validations.
4. Edit input rules use Java code for the conversion.
5. You can reference an edit input rule in the Edit Input Value field on the Property form.

Edit Validate :-

1. Edit Validate Tests the validity of an input value in an activity that processes user input. The activity calls the Property-
Validate method .
2. A property rule (of mode Single Value, Value List or Value Group) may reference an edit validate rule on the
Advanced tab. Use the Property-Validate method in an activity to execute the edit validate rule.

3. If an input field is blank, the edit validate rule associated with the property is not called. You
can't create an edit validate rule that checks whether a value is empty.
Field Value :-

Use field value rules to define items in a selection list presented to users or a set of values for the Table Edit feature of the
Property form.

Abstract Can’t create instances, Where as concrete class can create instances.

Access Role :-

Access roles can be referenced in requestor instances, Operator ID instances, in access group instances, in activities, and in queries.
Standard access roles (with names starting with PegaRULES:) define capabilities for:

 Guests

 Authenticated users

 Work managers

 Developers

General:

 What is an Access Group?


 What is diff between Obj and RDB methods?
 Diff between Obj-open and obj-open-by-handle?
 Why do we use Pega DB when we have external DB’s?
 Diff between workbasket and workpool?
 What is the use of Commit checkbox in Obj-save method?
 What does pzInskey contain?
 What are locking mechanisms in PRPC?
 What performance tools you used?
 What is PAL, PLA and SMA?
 How does PRPC determine the load of an operator?
 How many types of inheritance are there?
 Which is mandatory inheritance?
 Which takes precedence first?

Flows:

 Explain Spin-off, Split-join and Split for each shapes?


 Can a same work object be opened in two flows in Spinoff flow?
 What are the fields present in the assignment tab in an assignment?
 Where does the assignments get stored?
 In which table are the work objects stored?
 Can a same work object be there on different assignments?
 What is a screen flow?
 Difference between screenflow and process flow?

UI:

 Can an end user edit repeat grid?


 What are the sources of data population for grid view?
 Difference between smart layouts and free form layouts?
 I have a section in Data layer, how can I use it in Work layer?
 What is flow action?
 How many types of connectors are there?
 Where do you set the connector type?
 What all rules can u use in flow action?
 How many types of Harness are there, what are they?
 Can we have harness inside a harness?
 What is a portal? Types of portals.
 How do you create a portal?
 What is a skin and what is branding wizard?
 When we have branding wizard, why do we use inline styling?
 Circumstancing?
 Single variate and multi variate circumstancing differences?
 Questions related to cascading dynamic select..
 What is purpose of rules inspector?
 What cannot be traced in tracer?
 How do you trace local variables in tracer?

Integration:

 What types of integration you worked on?


 What is difference between service and connector?
 What are the steps you follow for creating a connect-soap?
 How do you handle errors in connectors?
 For different environments, the endpoint URL’s differ. Where do u configure them?
 Why do you create simulators? What are the uses of it?
 What are XML stream and Parse XML?
 How do you update XML stream and Parse XML?
 I have to add a new property to Parse XML.. Do I need to import a new WSDL when there is a new addition to Parse
XML? When do we import a new wsdl?

Activities:

 What are called and calling activities?


 Difference between Activity-End and Activity-Exit?
 Diff between Branch and Call methods in an activity?
 What methods you used in activity.. questions based on it.
 If calling activity is A and called activity is B, then what would the primary page of called activity be?
 What are the types of activities present? When do you use what ?
 What is an utility? Diff between activity and utility?
 What is the use of May Start check box in an activity?

Rules:

 Rule resolution algorithm?


 What are different rule availability types?
 Why do we need to use WithDraw option when we have blocked and No type options?
 what is the use of production rulesets?
 What are ruleset pre-requisites?
 What is the ruleset pre-requisite for Div, Org?
 What are non rule resolution rules? How does prpc identify them?
 How do you expose a property?
 Types of report definitions?
 List view and summary view diff’s?

SLA’s, Agents:

 What is an SLA?
 How do you debug an SLA?
 How can I change goal time and deadline time dynamically in an SLA?
 What does the escalation activity in an SLA do? Purpose of it?
 what are agents?
 I have a node in US, another in UK. How do I configure my Agent?

Declarative rules:

 What is a declarative rule?


 What Is policy override?
 Explain declare on change, trigger, constraints?
 What is declare page, uses of it?
 Scope of Node, Requestor and thread level declare pages?
 Forward chaining and backward chaining? Examples
 What is declare expression, examples of where u used it?
Q: if client sends any request how the case is created automatically?

A: Your application includes case types from other sources, such as shared classes. By understanding how these case
types are added to your application, you can decide whether to reuse them during case designYour application Creates
case types Automatically the following sources:

-The list of case types on the Application form

- Class groups (work pools)

-Descendants of the Work- class that are covered by a case type

Q: what are logs in pega

A: Pega Log & Alert Log

The Pega log, also known as the console log or system log, contains error messages, debug messages, information
messages, and Java-related diagnostics that have been created since the server was most recently started.

The alert log contains a sequence of text files (known as alert events) that support performance-related monitoring. The
alert log supports the optional Autonomic Event Services (AES) Enterprise Edition product, which summarizes and
monitors alerts across multiple nodes in a cluster.

Q: What is log-message

A: Log-Message is a method

Use the Log-Message method to append a message to the Pega log when the step is reached. Depending on method
parameters and the current logging level, a line is added to the Pega log on the current node.

Q:if 100 customers tables are there if we want to fetch all 100 customs table date then which rule we can use

A: Use Report definition & join all tables in one rule

Q: I have created a new case type and i want to access it in case manager portal how can i do that?

A: In manager Portal , Under Case Stages for we can see the cases created.

Q: In my portal there is portal. suppose if i click on button WO will be created. what steps to do ?

A: Use Harness/Local Action

Q.How can i do that - open multiple WOs in multiple tabs under the portal.

A: section in a composite portal can allow users to open multiple work objects at once.
Q What are the reporting features in pega ? -

A:Fetch, join & report creation

Q: Diff b/w Obj-save and Obj -save RightNow?-

A:Check in get help of activity

Q:How we will update the information in data pages ?

A: through source rule

Q: Diff b/w Connect SOAP and Connect REST ?

A:SOAP & Rest r Diff protocols

Q: Is it possible to change Access group during the runtime?If changed what are the complications we will face ?

A: We don't change

Q:Is it possible to call Harness in Activity?

A: Yes, ( ShowHarnessRule ) - API

Q: Ist it possible to Configure Data class in Work Class? A: yes

Q: While running agents if any error occur what is behaviour in case of Advanced as well as Standard Agents ? A: Broken
Process

Q: If i want to read 1000 records daily from an external tableat one particular time .what are the rules get created ?

A: Connect SQL, Activity & Agent & Agent Schedule

Q: Daily i want to Add,Update ,Delete records from the DB Table .what are the rules get created ?

A: Add Activity & Delegate the Table ( Rule Delegation)

Q: Report exists in FW layer, can i include instances of Implementation layer instances in this report.
Will it accept or not?

A: If Report is under Framework layer, then we can't include instances of Imp Layer. It will not
accept.

Q: About Subreport what is the difference btw joins and sub reports.

A: Joins used to Merge multiple tables in single report


subreport is a report that is called by another report to provide data. When you designate a report as
a subreport, the original report is not altered, and you can still access it. However, a subreport
cannot have its own subreports.

You can designate subreports within report definition reports to simplify assembling data from
several classes, or to satisfy complex conditions

Q: Is it possible to trace the assignment when it is getting processed.

A Yes, In Tracer -> Event types to trace select Flow

Basics: Architecture ,Guardials, Inheritance, Methodology,classes 6'Rs

1. What are the different layers in Architecture?

1. PRPC Shared Product: It represents the Commander classes such as Work-, Work-Object-, Work-Folder-, Work-
Cover-, and Data-
2. Enterprise Shared Product Layer: It is a library of extensions to the PRPC base functionality.
3. Generalized Application Layer: It represents a generic base application to use as a framework for application
instances.
4. Organizational and Specialized Application Layer: It represents an organizational application instance. Here we
will be implementing the generic application.

2. How many guardrails are there and explain?


There are 10 guardrails in the prpc application. They are
1) Adopt an Iterative Approach: Define a project initial scope by documenting 5 concrete scenarios up front and
evaluate them at the end to calibrate business benefits. Here It goes iteratively up and down in the Pega methodology
.
Here comes Pega methodology

Scenario1: BVA Business Value Assignment: Defines success factors and expected ROI.
Scenario2: Conception: Discover detailed business requirements and solutions.
Scenario3: Elaboration: Design solutions tailored to the business requirements.
Scenario4: Constructions: Build the application to meet the requirements.
Scenario5: Transition: Validate the application for appropriate implementation of business process.
Deploy the application ,training, and help desk for final production support.

2) Establish a Robust Foundation: Design Class structure with recommended class pattern i.e it should be
understandable, easy to extend and utilize standard work and data classes appropriately.
3) Do Nothing is hard: Use out of box functionality as much as possible in Initial project release such as avoiding
custom html screens, buttons( simply to avoid custom in every aspect)
4) Limit custom Java: Avoid Java Steps in Activities.
5) Build For Change: Identify and define 10-100 Specific rules that business users own and will maintain.
6) Design Intent-driven process: Application Control Structure consist of flows, declarative rules and calling activity as
needed
7) Create easy to read flows: Flow must fit on one page and max of only 15 smart shapes, if exceeds then go for
creating subflows.
8) Monitor Performance Regularly: Must evaluate and tune application performance at least weekly using
Performance Analyzer (PAL) to check rule and activity efficiency.
9) Calculate And Edit Declaratively, Not Procedurally: Whenever the value of the property is calculated or validated,
we must use declarative rules wherever required.( use declare expression instead of property set method.
10) Keep Security Object oriented too: Security design must be rule based and role-driven based on who should have
acces to each type of work.

3. Many Process Commander applications provide business process management and automation through six
functional capabilities, informally known as the Six R's:
Receiving — Accepting and capturing the essential data describing work from multiple sources in multiple media and
formats, from keyboards, scanners, and external systems.
Routing — Using characteristics of the work and knowledge about the workforce to make intelligent matches and
assignments.
Reporting — Providing real-time visibility of work in progress, work completed, productivity, bottlenecks, and quality.
Responding — Communicating status, requests for information, and progress to the work originator and to other people
involved in the work, by e-mail, fax, written mail, and other means.
Researching — Accessing external systems and databases through connectors to support analysis and
decisionmaking.
Resolving — Through automated processing and automated support of users, completing the work and updating
downstream systems promptly.

4. What are the Inheritance types?


Process Commander provides two kinds of class inheritance, known as directed inheritance and pattern inheritance.
Pattern inheritance, 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.
Directed inheritance — Allows us to name a parent class, choosing a name that's not related to the name of this class

5. How pattern and directed inheritance works?


Pattern Inheritance works as follows:
Rule resolution always looks first for a rule it needs in the class initially provided,
regardless of the state of this check box. If the box is checked and the rule is not found, it
forms a sequence of candidate classes to search by truncating, from the left, portions of
the class name that consist only of a dash character, or consist only of characters other
than a dash. If no class exists for one of these computed names, rule resolution continues
with the next prefix.
For ex: a search for a rule in the MyBank-LoanOrg-LoanDept class could search through these classes, in the order
indicated:
· MyBank-LoanOrg-LoanDept
· MyBank-LoanOrg-
· MyBank-LoanOrg
· MyBank-
· MyBank
Directed Inheritance works as follows:
If the pattern search finishes without finding a rule, go back to the original class and use
directed inheritance to find the parent of the original class.

6. What are Pega default classes?


A base class is one of twelve standard abstract classes that are immediately below the top class in the hierarchy. This
top class, known as the ultimate base class, is identified by the symbol @baseclass.
The three base classes of greatest interest to application developers are Data-, Assign- and Work-.
The base classes are:
Assign- Assignment instances, each identifying a step in a workflow that requires human input or
work by an outside organization, person, or system.
Code- Classes that directly reference server program code. Pages belonging to classes derived from
the Code- base class exist only temporarily in memory, and are not saved in the PegaRULES
database.
Data- Parent class of concrete classes containing reference data, including data for system
administration and security.
Embed- Defines the structure of pages embedded within other pages. Pages belonging to classes
derived from the Embed- base class cannot be renamed or directly saved.
History- Append-only instances record the change history of objects in another class.
Index- Secondary access keys defined to provide fast retrieval of other instances.
Link- Instances that record associations between two objects.
Log- Parent of concrete classes containing cumulative logs of important system-wide events.
PegaAccel- Parent of special classes that support the Application Accelerator tool.
Rule- Rule types, for defining applications.
System- Contains operational status information about the entire Process Commander system.
Work- Work objects, covers, and folders.

7. Difference between Work- and Data- classes?


The Work- base class, one of thirteen standard top level abstract classes, is a superclass to all the classes that define
work objects.
Data- base class is an abstract class above various classes that define and contain static data and cumulative data..

8. What are the types of classes?


A class is an instance of the Rule-Obj-Class rule type.
An abstract class is a rule (an instance of the Rule-Obj-Class class) created to support the definition of rules, including
other classes. Such rules can be inherited by subclasses of the abstract class. Rules with a class as a key part (such as
properties, activities, flows, models, and so on) can apply to an abstract class.
A concrete class can have instances stored in the database. An abstract class cannot have any instances.

9. What is a class group and what are its advantages?


A Class Group is an instance of the Data-Admin-DB-ClassGroup class.
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. Class groups are commonly used to cause the system to store instances of
similar or related work- concrete classes together in one relational database table.

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

1. Define access group and its functionality?


Access Group controls the security basing on the job functions.

It is instance of Data-Admin-Operator-AccessGroup.
Access Group determines which applications and which parts of those applications a user can access.
1. Work pool – what are all work pools the user can have
2. Application --- Rule sets – What are all the rulesets the user can access
3. Portal -- What access portal the user can see
4. Access Role --- What access role the user can have

Various aspects that can be controlled through access group are

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


b) Primary rulesets ( Access Control to rulesets)
c) Assigned roles
d) Portal layout
e) Default ruleset for making changes ( Default ruleset whenever the user creates/ saves as the rule

2. Define Work group and its functionality?


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

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


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

An access group is an instance of the Data-Admin-Operator-AccessGroup class. Access groups make a set of RuleSet
versions available to requestors.

4. What is a Work basket and its functionality?


It is an instance of the Data-Admin-WorkBasket class.
It is a queue of open assignments that are not associated with an operator.

5. How to associate an Operator with a workbasket?


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

6. What is a Work Pool?


The work pool for a user is the set of all the work objects (open and resolved) of all the Work- classes that a user can
enter (in one application).
Generally work pool is Class Group specified in Access Group…. is from developer prospective
7. What is a Work List?
It is a list of open, outstanding (not complete) assignments assigned for a user to perform.

8. What are access roles and how they work at run time? Can we create our own Access Roles? If yes, explain
with an example.
An access role is an instance of the Rule-Access-Role-Name class .And it is defined as having certain class access
rights. A user can have one or more access roles , which are listed in Access Groups.
Use an access role name to convey permissions (capabilities) to a user or a group of users. Access roles can be
referenced in requestor instances, Operator ID instances, in access group instances, in activities, and in queries.
At log in, the system assembles a set of roles for a user based on information in a user's requestor instance, Operator ID
instance, and the associated access group instance.
Access roles influence which classes a user can view, update, delete, and so on through the Access of Role to Object
and Access Deny rule types.
Example. Create an instance of Rule-Access-Role-Name. To grant access to a user for a particular class create an
instance of Rule-Access-Role-Obj.
For each of the eight categories in the array, you can enter an Access When rule name, or a numeric value between 1
and 5.
If at runtime, the production level of your Process Commander system is not greater than the numeric value, then users
with the specified access role can perform the operation (on objects of that class). If an Access When rule evaluates to
True at runtime, the users with the specified access role can perform the operation.Production level is set in Data-
Admin-System.

9. What is Privilege ?
A privilege allows a user with a particular with a particular role to execute certain application functions. associated with
Access roles

10. What is a portal and how can it be customized for different users?
The Process Commander portals support two user communities:
· The Developer portal provides an integrated work, test, and development environment to support application
developers
User portals support managers and users of applications workers, as they enter, update, and resolve work objects..
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.

Flows

Flow rule is the fundamental representation of a business process in process commander.

1. Explain about types of Flows?


A flow rule that contains no assignments, and so can execute from start to end without
human input, is known as a straight-through process.
A flow rule that consists only of assignments or decisions and meets other criteria is
known as a screen flow.
A flow that creates a new work object is called a starter flow.
A flow that is called by another flow is known as a subflow, the calling flow is called
parent flow.

2. What is a screen flow, why it is used?


To make a screen flow, create a new flow rule and select screen flow in the Template field.

3. Can we start an application with a screen flow? If yes, how? If no, why?
A screen flow rule can’t be a starter flow rule. Use the regular flow to create WorkObject.
Call the screen flow as sub flow
we can’t start an application with a screen flow because “Create New Object” option is disabled under process tab.
A screen flow can operate on a temporary work object, this is never saved to Data Base.
In screen flow Flowactions are referenced by assignment shape rather than connectors.

4. How can we call one flow from another flow?


By using subflow shape. Just drag a subflow shape and fill in appropriate values ,depending upon what we choose
among “On Current Work item”, “On Another Work Item” or “On Embedded Page”.

5. When do we say that a work object is resolved? Can a work object be resolved manually?
When the flow reached the end shape, the work object gets resolved.
Manually it can be resolved through UpdateStatus activity and provide the values for “StatusWork” parameter as
Resolved.

6. How to restrict a flow to particular users?


By using privileges and when conditions under process tab of the flow instance.

7. Flows use three types of status:


 Work object status reflects the current state of a work object based on its position in the flow.
 Assignment status records the user’s judgment about an assignment on the worklist.
 Activity status reflects the outcome of a Utility or Flow shape.

Flow Actions

 Flow actions specify the choices that users have when performing an assigned work object.

1. What are the types of Flow Actions?


A flow action rule controls how users interact with work object forms to complete assignments.
Each flow action is defined by an instance of the Rule-Obj-FlowAction rule type.
Flow actions are of two types:
 Connector flow actions appear as lines on Visio presentation in the Diagram tab of a flow rule. A line exits from an
assignment shape and ends at the next task in the flow. At runtime, users choose a connector flow action, complete
the assignment, and advances the work object along the connector to the next task.
 A local flow action, when selected at runtime, causes the assignment to remain open and on the current user's work
list. Local flow actions are recorded in the Assignment Properties panel and are not visible on the Visio flow
diagram.

2. What is the Difference between Connector Flow Action and Local Flow Action?
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.

3. Explain about Pre Activity?


At runtime, the system runs this activity before it does other processing for this flow action.
This activity executes only once, the first time a user selects this flow action for this assignment.

4. Explain about Post Activity?


Activity to run after other successful processing of this flow action.
For screen flow rules By default, when this flow action appears as a step in a screen flow rule, and the user at runtime
clicks away to a different step in the screen flow rule, this activity rule does not run. To cause this activity to execute
when the user clicks away to a different step, select the Post Action on Click Away? check box on the Assignment
shape properties panel.

5. Explain about Local Flow Action?


A local flow action permits users at runtime to update, but not complete, an assignment. Like connector flow actions,
local flow actions are referenced inside an assignment task in a flow.
On the Action tab of the Flow Action form, we can mark a flow action rule as local, or connector, or both.

6. How do we make one Local Action available in all Assignments?


On the Design tab of the Flow form, we can list local flow actions that are to be available at every assignment in the
flow.

7. How to restrict (make invisible) one flow acton to one user or based on some condition ?
By putting when rules in security tab.

Flow Shapes

1. Explain about Assignment shape?


An assignment is an instance of a class derived from the Assign- class.
Assignments record a temporary condition of an open work object within an executing flow.

2. Explain about Connectors?


To connect a shape element in the flow with the next shape element. To indicate a possible path for the flow execution.
Explain about Spin-Off shape?
Processing in the current flow rule continues in parallel, without waiting for the other flow to complete.
Use the Spin-Off shape to start a Synchronous flow execution.

Explain about Split-Join shape?


Split-Join shape is used to multiple subflows of our flow be completed before the current flow continues execution.
This allows subflows to execute asynchronously, in parallel.
The Split-Join shape must contain at least two called flows.

3. Explain about Split-ForEach shape?


Split-ForEach shape is used to iterate over the pages of a Page List or Page Group property. For each page, we can
conditionally start a flow execution for the work object.
Processing in the orginal flow pauses while sub flow execute.
We can’t use Split-foreach shape to create work objects.
The embedded page must exist before the Split-foreach shape is reached.

4. Explain about Decision shape?


Decision shape is used to reference a map value rule, decision table rule, decision tree rule or a Boolean expression.

5. Explain about Utility shape?


Each utility task references an activity with an Activity Type of Utility.
Utility activity is defined in a class derived from the Work- or Data- base class and activity of type Utility.

Explain about Integrator shape?


Integrator activity identifies an activity that connects our process commander system to an external system to send or
receive data.

.
Service Level Agreements:

1. What is an Service Level Aggrement?


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.

2. 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.)

3. How do we do Escalation?
Escalation refers to any processing within a Process Commander application that causes high-priority work objects to
become visible to users and managers and to be processed sooner rather than later.
Escalation can occur through a service level rule associated with the flow and through background processing by the
Pega-ProCom agent.

4. 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.

5. 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.

6. How to restrict a flow to particular users?


By using privileges and when conditions under process tab of the flow instance.

Reports

1. What type of Reporting features are provided by Pega?


A. List View and Summary View

2. What is the difference between ListView and SummaryView ?


A summary view rule is an instance of the Rule-Obj-SummaryView rule type. This rule type is part of the Reports
category.It is presenting summary counts, totals
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.
How to call a listview from an Activity?
In an activity, the Obj-List-View can execute a list view rule.

3. What is Paging in a listview?


To divide the ListView in to different pages and set the number of records to be displayed in a page.

4. Can we refer the property without exposing in Reports?


We can refer the propertys in Display tab without exposing.
But we can’t refer the property without exposing in Critera fields of the Content tab.

5. What is the activity responsible for getting the data in List View?
getContent Activity

6. What the class of getContent Activity?


Embed-ListParams class.

7. Can or have you customize the getContent Activity? Yes

8. What is exposing a property?


Exposing a property means to make a property as a separate independent column so that it can be used in sql queries
and as a criteria in reporting.Steps are as follows,

9. How do we get the data from the two different tables?


Using Join tab in Reports

10. 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.
11. What is the use of HTML property in ListView?
HTML Property rules appear in list view and summary view rules to define the appearance of values in reports.
12. 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.

Agents

1. What is an Agent?
An agent is an internal background process operating on the server that runs activities on a periodic basis.
Agents send email notifications about assignments, route work as per rules in our application, outgoing correspondence,
synchronize cache etc.
Agents are autonomous and asynchronous
2. How do we create an Agent?
New  SysAdmin  Agents Rule Set name is the Agent name. Agent is instance of Rule-Agent-
Queue.

3. Do we need to create Agent Schedule?


No. We don’t need to create them
The Agent Manager on our Process Commander system generate at least one agent schedule instance for each agents
rule.

4. Do we need to migrate Agent Schedule to other environment? No

5. What are the Agent running time intervals?


Each agent activity runs individually on its own interval schedule, as a separate requestor thread.
 Periodic — The agent runs the activity and then "sleeps" for the number of seconds entered in the Interval column.
 Recurring — The agent runs the activity based on a specified calendar schedule (for example, every Monday at 5:00
P.M.).

6. What are the Agent Running modes?


 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. Legacy is a queue mode in Setting tab – Legacy
agent is an agent which doesnot use queue but processes each item to completion in a single pass.

7. What are the Standard Agents?


our system includes three standard agents rules. Because these agents rules are in locked RuleSets, we cannot modify
them. To change the configuration settings for the agents listed in these rules, update the agent schedules generated
from the agents rule.

Pega-IntSvcs:Five agents in the Pega-IntSvcs RuleSet process queued service and connector requests and perform
maintenance for PegaDISTRIBUTION MANAGER (formerly called Correspondence Output Server, or COS).

Pega-ProCom: The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and assignments, archive
work objects, and so on. The agents in this rule provide the following types of processing:

 Processing service level events and escalation


 Applying a flow action to assignments in bulk
 Sending out e-mail correspondence
 Archiving and purging work objects, attachments, and history
 Retrieving PDF files from the PegaDISTRIBUTION Manager
 Checking incoming e-mail (deprecated in V5.3)

Pega-RULES:The agents in the Pega-RULES RuleSet perform general system housecleaning and periodic processing.
The agents in this rule provide the following processing:
 System Cleaner  Rule Usage Snapshot
 System Pulse  Static Content Cleaner
 System Indexer  System Work Indexer

8. What is the use of referring Access Group in Agents?


It is an Optional. Select the access group to use for the legacy and advanced agents listed in this rule. This field is
ignored for agents with a type of Standard.
Specify the access group to be used for the following kinds of agents:
 Agents whose queue mode is Legacy
 Agents whose queue mode is Advanced but they do not use the agent queue functionality
If you do not specify an access group for legacy and advanced agents that do not use the agent queue function, Process
Commander uses the access group specified in the Batch requestor type (that is, the Data-Admin-Requestor instance
named Batch). Agents whose mode is Standard do not need access groups; for standard agents, each queue item is
processed in the authorization context of the user whose actions or processing (work object, assignment, and so on)
generated the queued task.

9. What are the Agents for SLA and Correspondence?


The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and assignments, archive work objects,
and so on.
The agents in this rule provide the following types of processing:
 Processing service level events and escalation
 Applying a flow action to assignments in bulk
 Sending out e-mail correspondence
 Archiving and purging work objects, attachments, and history
 Retrieving PDF files from the PegaDISTRIBUTION Manager
 Running tests defined through the optional Automatic Testing facility
 Checking incoming e-mail
The activity System-Queue-ServiceLevel.ProcessEvents supports service level processing for both assignments and
work objects.
The activity Data-Corr-.Send supports outgoing e-mail if your system contains one or more Email Account data
instances with a second key part of Notify.

10. Who will create Data-Agent-Queue?


The Agent Manager is a master agent that gathers and caches the agent configuration information set for our system
when Process Commander starts. Then, at a regularly scheduled interval, it determines whether any new agents rules
were created during the last period. If there are new agents rules, the Agent Manager adds them to its list of agents and
generates agent schedule data instances for them for each node.

11. What is the use of Data-Agent-Queue?


When you need to modify the behavior of an agent listed in an agents rule in a locked RuleSet (any of the standard
Process Commander agents rules, for example) you do so by editing one or more of the generated agent schedule
instances.

 To monitor the Agents the url path is


http://portNo:8888/prsysmgmt/

Uses of agents in the system

 Agents route work according to the rules in our application.


 Agents also perform system tasks such as sending e-mail notifications about assignments and outgoing
correspondence, generating updated indexes for the full-text search feature, synchronizing caches across nodes
in a multiple node system, and so on.

Activities

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.
An activity when defined consists of a sequence of steps, each of which can contain a method or an instruction

Activity Types:
Activity
Description
Type
Activity Any activity that is not one of the activity types below.
Assembly Reserved. Do not use.
An activity that creates an assignment, an instance of a concrete class derived from the Assign- base class.
Assign Referenced in a flow to support an assignment. These activities may be referenced by an assignment shape (
) on a flow rule.
An activity that calls a Rule-Connect- external system interface. These activities may be referenced by an
Connect
Integrator shape ( ) on a flow rule.
An activity that finds a locatable page; referenced on when condition, Declare Expression and Constraints rules
Locate
only.
Load
Declarative An activity that adds values to declarative pages. Referenced on Declare Pages rules only.
Page
An activity that sends correspondence to a work party in a work object. In a flow rule, such activities may be
Notify
referenced in an Assignment Properties panel, or explicitly in a notify shape ( ).
An activity that starts automatically when another activity step changes certain properties, as defined through a
OnChange
Declare OnChange rule.
An activity that determines which user worklist or workbasket receives an assignment. In a flow rule, such
Route
activities may be referenced in an Assignment Properties panel, or explicitly in router shape ( ).
An activity that starts automatically when an object of a certain class is saved, as defined through a Declare
Trigger
Trigger rule.
An activity that typically updates a work object and is referenced in a flow, but requires no user interaction. In a
Utility
flow rule, these activities may be referenced in a utility shape ( ).
Validate An activity that validates the contents of a rule or data form. (Rarely needed in applications.)

Activity Methods
1. Explain the operation of Activity-End method?
Use the Activity-End method to cause the system to End the current activity and all calling activities.

2. Explain about Exit-Activity method?


The Exit-Activity method ends the current activity and returns control to the calling activity.

3. Explain about Page-Copy method?


Page-Copy method is used to copy the contents of a source clipboard page to a new or previously created destination
clipboard page. The source page is not altered.
After this method completes, the destination page contains properties copied from the source page, and can contain
additional properties from a model.

4. Explain about Page-New method?


The Page-New method is used to create a page on the clipboard. The new page may be a top-level page or an
embedded page.
We can identify a model to initialize the newly created page. The model can set values for one or more properties.

5. Explain about Page-Remove method?


Page-Remove method is used to delete one or more pages from the clipboard. The contents of the database are not
affected.

6. Explain about Page-Set-Messages method?


Use the Page-Set-Messages method to add a message to a clipboard page. Like a message associated with a property,
a message associated with a page normally prevents the page from being saved into the database.
7. Explain about Property-Set-Message?
Property-Set-Message method is used to associate a text message with a property or a step page. The system reads
the appropriate property and adds the message to the page. We can provide the entire literal text of the message, or
reference a message rule key that in turn contains message text. (Rule-Message rule type).

8. Explain about Property-Map-DecisionTable method?


Use the Property-Map-DecisionTable method to evaluate a decision table rule and save the result as the value of a
property.

9. Explain about Property-Map-DecisionTree method?


The Property-Map-DecisionTree method is used to evaluate a decision tree rule (Rule-Declare-DecisionTree rule type)
and store the result as the value of a property.

10. Explain about Property-Map-Value?


The Property-Map-Value method evaluates a one-dimensional map value (Rule-Obj-MapValue rule type) defined in the
parameter. The method sets the result as a value for a Single Value property.
The related method Property-Map-ValuePair works similarly for two-dimensional map values.

11. Explain about Property-Remove method?


Property-Remove method is used to delete a property or properties and its associated value from the step page or
another specified page. This does not affect the property rule, its definition.

12. Explain about Property-Set method?


Property-Set method is used to set the value of one or more specified properties.

13. Explain about Show-HTML method?


The Show-HTML method is used to cause the activity to process an HTML rule and send the resulting HTML to a user
for display by Internet Explorer. This may involve the interpretation of JSP tags (or the older directives), which can
access the clipboard to obtain property values, or can insert other HTML rules, and so on.

14. Explain about Show-Page method?


The Show-Page method is used to send an XML representation of the step page to a user's Internet Explorer browser
session, as an aid to debugging.
Note: Use Show-Page and Show-Property only for debugging.

15. What is the difference between Call and Branch?


The Call instruction calls the another specified activity and execute it. When that activity completes, control returns to
the calling activity.
Use the Branch instruction to find another specified activity and branch to it without a return.
When the system executes a Branch step, control transfers to another activity found through rule resolution. Execution
of the original activity pauses.
When the branched activity ends, processing of the current activity also ends.
No steps after the Branch step are executed.

OBJ Methods:

16. Explain about Obj-Browse method?


Obj-Browse method is used to search instances of one class and copy the entire instances, or specified properties, to
the clipboard as an array of embedded pages.
Only properties exposed as columns can be used as selection criteria. However, values of properties that are not
exposed as columns, including embedded properties, can be returned.

17. Explain about Obj-List-View method?


Obj-List-View method is used to execute the retrieval and sorting operations, but not the formatting and display
processing, of a list view rule.
The system uses rule resolution to find the list view rule and executes it, but does not produce any HTML output display.

18. Explain about Obj-Open method?


Obj-Open method is used to open an instance stored in the PegaRULES database or in an external database linked to
an external class, and save it as a clipboard page.
The system uses the specified class and key fields to find and open the object and place its data into the specified step
page.

19. Explain about Obj-Open-By-Handle method?


Use the Obj-Open-By-Handle method only if we can determine the unique handle that permanently identifies which
instance to open. Otherwise, use the Obj-Open method.

20. Explain about Obj-Delete method?


Obj-Delete method is used to delete a database instance corresponding to a clipboard page and optionally to delete the
clipboard page too. We can cause the deletion to occur immediately, or until execution of a Commit method.
21. Explain about Obj-Save method?
 Obj-Save method is used to save a clipboard page to the PegaRULES database or if the page belongs to an external
class save a clipboard page to an external database.

22. Explain about Commit method?


Commit method is used to commit all uncommitted database changes. This method writes all the instances specified by
one or more earlier Obj-Save methods to the PegaRULES database (for internal classes) and to external databases (for
external classes).
23. Explain about Obj-Validate method?
Obj-Validate method is used to apply a validate rule (Rule-Obj-Validate rule type) for the object identified on the primary
page or step page. A validate rule (Rule-Obj-Validate rule type) can call edit validate rules (Rule-Edit-Validate rule type).

24. Explain about Obj-Sort method?


Obj-Sort method is used to sort the clipboard pages that are the values of a property of mode Page List.
We can specify one or more properties to sort on, and whether the sort sequence is ascending or descending for each
sort level.
RDB Methods:

Use Connect SQL rules and RDB methods only with an external database. Do not use Connect SQL rules or RDB
methods for the PegaRULES database(s). Because not all properties in the PegaRULES databases are distinct
database columns, use the Obj-Open and Obj-Save methods, not the RDB- methods, with the PegaRULES database to
prevent loss of data.
25. Explain about RDB-List method?
RDB-List method is used to retrieve rows from an external relational database and place the results as embedded pages
in a specified step page of class Code-Pega-List.
This method references a Connect SQL rule instance, and executes SQL statements stored in the Browse tab of that
rule instance. The search can do anything we can specify in a SQL statement, such as a SELECT WHERE statement.
Any constraints on the returned data are in the SQL.
26. Explain about RDB-Open method?
RDB-Open method is used to retrieve a single row (record) of data from an external relational database and add the
retrieved data into a specified clipboard page as property names and values.
Use this method in conjunction with a Connect SQL rule that contains SQL SELECT or EXECUTE statements in the
Open tab. Define the SQL statements so that the database returns exactly one row.

27. Explain about RDB-Save method?


RDB-Save method is used to save the contents of a clipboard page into a row of a relational database. The system
saves the properties on the specified step page to the specified table in the database.This method operates in
conjunction with a Connect SQL rule that contains SQL statements such as INSERT, UPDATE, and CREATE
statements on the Save tab.
28. Explain about RDB-Delete method?
RDB-Delete method is used to delete a row or rows from an external relational database using SQL.
This method operates in conjunction with an SQL statement in the Delete tab of a Connect SQL rule (Rule-Connect-
SQL rule type) that contains the DELETE, TRUNCATE or DROP SQL statement.

What are all the default or Pega OOTB activities that you have used till now?
Work-.Add: Creates a new work item (Work object)
Called AddWork activity
Creates a new work object (without any cover work object) and performs a Commit method, which saves the work object
and releases all locks.
Uses: Called from the Create button on the New harness. Can be used to spin off a new work object from within a flow
Work-.AddWork
Use Work-.AddWork rather than Work-.Add in situations where the Commit method is not wanted until later.
This is called from the Add activity
Creates a new covered or non-covered work object. Called with a primary page that inherits from the Work- base class.
Commits the new work object if there is no flow execution to start; if it starts a flow execution, the commit operation
typically occurs when that flow execution creates an assignment.

AddCoveredWork
Creates a new cover work object but does not perform a Commit method, so current locks are retained.
Creates a new covered work object using the primary page data. This activity assumes the cover is already locked.
Usage:
Call this activity to spin off a new covered work object from a Utility or Post-Processing activity. Prior to calling this
activity, create and populate the new work object page using createWorkPage then use it as the primary page to call this
activity. Caller must commit changes using commitWithErrorHandling.

Work-.AddCovered
Use Work-.AddCovered rather than Work-.AddCoveredWork to commit the new work object.
It means the difference between AddCovered and AddCoveredWork is commit

New
Called by harness processing to create a (non-covered) work object and display the work object form.
Creates a new work page, populates it by applying a model and displays it in the new harness to collect more
information from the user.
Usage: Used from the new work drop down menu.

NewCovered
Called by harness processing to create a covered work object and display the work object form.
Creates a new work page for a covered object, populates it by applying a model and displays it in the new harness to
collect more information from the user.
Usage: This activity gets called when a user adds a covered work object using the add work drop down menu of a cover.

Notify
Send an e-mail message as correspondence to a party identified through a parameter.
NotifyAll Send a single e-mail message to each work party identified in the work object.

ToCreateOperator
Route the assignment to the user who entered the work object.
ToWorkbasket
Routes the assignment to a workbasket identified in a parameter.
ToWorklist
Routes the assignment to the worklist of a specific user, identified in a parameter.

CorrNew
Send correspondence (that requires no user interaction)and save it as an attachment to the work object. For email
output, can send all work object attachments or selected work object attachments as email attachments. The optional
Priority parameter allows the outgoing mail to be marked as high or low priority in certain e-mail client programs, such as
Microsoft Outlook.

NewDefaults: It is an activity that is automatically executed when a workobject is initiated(before Harness is displayed)
which is used to customize or extend the steps.
Assign-.NewDefaults Called from Work-.NewAssign and Work-.NewAssignBasket on the assignment. Allows the
developer to customize or extend the steps that are performed when a new assignment is created.
Work-.NewDefaults Called from Work-.New and Work-.NewCovered. Override to customize or extend the steps that
are performed while creating new work page for the New harness.

1. What's the difference between parameters and local variables? How are they used in an activity?
Values stored in parameter values can be shared between two activities but the scope of local variables is confined to
the activity in which they are declared.
Parameters can be referenced as Param.parametername.
Local variables are referenced as Local.variablename.

2. How can we pass parameters between activities? Explain.


By using In/Out parameters. In parameters means that its expecting a values from another activity and Out parameter
stores the values to be used by another activity.

3. Explain with an example how can we reuse an activity?


By parameters itself. Say for example we have an activity to append two strings which keeps changing as the
application proceeds.
So declare two parameters of type Strings and pass different values to it, but the business logic to append them will
always remain the same, only parameter values keeps on changing.

4. What is a step page what role does it play in an activity?


Each step in an activity may have a designated step page. When creating or updating an activity, the developer
identifies an existing or new clipboard page for the method (or instruction) in that step to act on, in a column of the tab
labeled Step Page.
The step page becomes the primary page for the duration of this step's execution.
So any rule referenced in this step will be looked upon in the class associated with that step page, if there is no step
page than the Applies To class will considered.

5. How to write a java code in a activity? Explain with a small example.


Just by using an API “java” in method tab.
Eg. If we want to access a clipboard property then the java code will be like,
Tools.findPage(“pageName”).getString(“.PropertyName”);

6. Consider this scenario, I have an activity in ruleset A and I want to call this activity from an acitivity in ruleset
B.Is this possible? If yes, how?
Yes, this is possible through ruleset prerequisites.It is defined under Rule-Ruleset-Version.
Note : Process Commander enforces RuleSet version prerequisites only during development (as a developer adds or
saves rules) and as rules are imported during Import Archive operations. Prerequisites are not enforced at runtime;
the user's RuleSet list and the rule resolution algorithm determine which rules are available for the user to execute.

7. How do we create a Work Object from Activity?


First Create NewPage with a Page-New
Within the Page-New step specify the “model” and “NewClass”
On the new page Set the properties
.pyFlowName with FlowName .pyDescription .pyOrigOrg .pyLabel
Call Add activity in the next step and specify the StepPage where we have to call the WorkObject
Call Add Creates the WorkObject where the activity belongs to type of the class.

Property’s :

1. What is the 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.

2. Explain with an example the difference between Rule-Edit-Input and Rule-Edit-Validate?


Edit input rules are instances of the Rule-Edit-Input class. They are part of the Property category.
An Edit Input rule provides a conversion facility.
Use Edit Input rules to convert data entered by a user (or received from an external system) from a format
that our application doesn't use into another format.
Edit input rules perform conversions, not validations. This rule type does not cause any response to a user
about the validity of the input.
Edit input rules use Java code for the conversion.
We can reference an edit input rule in the Edit Input Value field on the Property form.

Edit validate rules are instances of the Rule-Edit-Validate class. They are part of the Property category.
Use the Edit Validate form to define a Java routine that tests the validity of an input value in an activity that
processes user input.
Properties rule (of mode Single Value, Value List or Value Group) may reference an edit validate rule on the
Advanced tab.
Use the Property-Validate method in an activity to execute the edit validate rule when a value is submitted
through a user input form.
3. How Rule-Edit-Validate is different from Rule-Obj-Validate?
Edit Validate is to validate a single property at a time but obj validate rules are used to validate all the properties in a
single go.

4. 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.

5. 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.

6. 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.

7. What is HTML Property?


HTML Property rules are instances of the Rule-HTML-Property class. They are part of the Property category.
Use HTML Property rules to control how properties appear on work object forms, correspondence, and other HTML
forms, for both display and for accepting user input.

8. Explain about Special Properties?


These three prefixes are reserved. We cannot create new properties with such names. We can override these standard
properties with a custom property of the same name (without changing the mode or Type).
Px: Identifies properties that are special, meaning that the values cannot be input by user input on an HTML form.
Py: Properties with names that start with py are not special, meaning that values can be input by users on an HTML
form.
Pz: Properties with names that start with pz support internal system processing. Users cannot directly manipulate pz
properties.
Rules

1. What is the order in which Rule set list is constructed?


Requestor, Organization, Division, Access Group is the order in which this list is constructed.
In access group Application rule set list is in bottom and Production Rule set is on top of it. It follows Top-down
approach.

2. What is RuleSet?
A RuleSet name is an instance of the Rule-RuleSet-Name rule type. Each RuleSet defines a major subset of rules in
the PegaRULES database, because every instance of every rule type references or "belongs to" a RuleSet. A RuleSet
name is a major aspect in:
 Access control
 Grouping interrelated rules
 Managing the rules
 Moving applications — sets of rules — from one Process Commander system to another.

Process Commander itself consists of six standard RuleSets:

 Pega-AppDefinition — Standard rules supporting Direct Capture of Objectives features


 Pega-ProCom — Standard rules that support business process management (BPM) applications
 Pega-IntSvcs — Standard rules that support integration
 Pega-WB — Standard rules that support the portal infrastructure
 Pega-RULES — Standard rules that support business rules engine and rule resolution
 CheckInCandidates — Optional. Empty, used by rule check-in processing. Version 01-01-01 is not locked.

3. What is ruleset versioning ? Explain Major, minor and patch?


A RuleSet version is an instance of the Rule-RuleSet-Version rule type.
Major : for entirely new functionalities or major releases, the first two digits of the version is incremented.
Minor : for enhancements, middle two digits are incremented.
Patch : for bug fixes, last two digits are incremented.
Rule resolution algorithm uses version numbers to find the most appropriate single rule instances to execute in a
specific situation.

4. What are the Few rules that are non versioned?


Application, class, rulset. Ruleset version, Access deny, Library.

5. Explain about RuleSet types and the priority given in Rule Resolution?
Application RuleSet is a RuleSet that appears in any of the following form fields:
 On the General tab of the application rule referenced in the access group for a requestor (when the current work
pool is part of this application)
 (Recursively) On the General tab of a 'parent' application rule, if the Include Parent check box on the General tab
of a 'child' application is checked.
 In the Local Customization field on the Settings tab of the access group

Production RuleSet is a RuleSet that has the Type field set to Standard (on the Category tab of the RuleSet form)
and that typically has at least one open (not secured) RuleSet Version.
Production RuleSets are listed on the General tab of an application rule and on the Layout tab of the Access Group
form.
The application RuleSet does not include rules in RuleSets listed in the Production RuleSets array of the Access tab.

Availability:

1. How to change Rule Availability?


To change the availability setting of a rule, click the Availability toolbar button ( ).
We may need to check out the rule first. A dialog box appears.
Select one of five Availability values
Yes, No/Draft Mode, Blocked, Final, Withdrawn.
NOTE:
Class, library, RuleSet Name, and RuleSet version rules are always available. We cannot change the availability of
instances of these rule types.
Rules in an override RuleSet cannot have availability values of Blocked or Withdrawn.

2. Explain if the Rule Availability is set as YES?


A circle and dot indicates that this rule is available. Rules with a Yes value are visible to rule resolution processing and
can be executed.

3. Explain if the Rule Availability is set as No/Draft Mode?


An empty circle indicates a rule that is not available. Set the Availability of a rule to No/Draft Mode to cause the rule to
become invisible to the rule resolution algorithm for all users (including ourself), and to bypass validation of non-key
fields..

4. Explain if Rule Availability is set as Final?


A rule is marked as final, no one can create a second rule with the same visible key in any RuleSet other than the
RuleSet that the first rule belongs to.

5. Explain if Rule Availability is set as Blocked?


A circle within an X indicates that this rule has Availability set to Blocked. Set the value of this property to Blocked if we
want rule resolution processing to halt (with no rule found) when it encounters this rule. The rule form colors change
from greens to grays.
6. Explain if Rule Availability is set as Withdrawn?
A withdrawn rule is never selected by rule resolution.
Withdrawn rule masks from rule resolution any other rules which meet all of these tests:
 The other rule belongs to the same RuleSet
 The other rule belongs to the same major version of the RuleSet.
 The other rule has the same Applies To class (if relevant and other key parts match)
 If circumstance-qualified, is qualified with the same circumstance type and value.
NOTE: Rules in an override RuleSet cannot have availability values of Withdrawn.
7. Diff b/w Blocked and Withdrawn Rules
A blocked rule and a withdrawn rule are both invisible to rule resolution. Similarly, both blocked rules and withdrawn rules
prevent lower-version rules with the same RuleSet and visible key from being selected by rule resolution. However, a blocked
rule may block other rules in any RuleSet, and a blocked rule stops rule resolution from finding rules in higher Applies To
classes. A withdrawn rule affects other rules only in one RuleSet and one Applies To class.
When you skim a RuleSet version that contains a blocked rule, the resulting RuleSet version does not contain the blocked
rule or any rules that the blocked rule blocks. When you skim a RuleSet version that contains a withdrawn rule, the resulting
RuleSet version contains the withdrawn rule.

Decision and Declarative Rules

Decision Rules : These rules belong to the Decision category.


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-DecisionTable rule type.
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-DecisionTree rule type.
A map value rule is a rule that converts one or two input values .Map value rules are instances of the Rule-Obj-MapValue
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

Declarative Rules

Declare Expression: is an instance of Rule-Declare-Expressions is a declarative processing which defines auto computation
of property values based on expression. This implements Backward Chaining. Declare Expression rules (Rule-Declare-
Expressions rule type)

Backward chaining: is a technique which allows a computation in advance even the input value or parameter is not present.
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. Declare OnChange rules (Rule-Declare-OnChange
rule type)

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 Trigger rules (Rule-
Declare-Trigger rule types)

Declare Constraint: Rule-Declare-Constraint/ is a declarative processing which automatically run validation when a specified
property is touched. This implements Forward Chaining. Constraints rules (Rule-Declare-Constraints rule type).

Declare Index: improve search and reporting access for property. Declare Index rules (Rule-Declare-Index rule type)

Declarative Processing
•Declarative processing simplifies your application and reduces the number of activities you must create

VALIDATIONS

Validation rule is used to validate the value against the some other value. Once the validation fails the system
add error message to that field in clipboard.

1. What types of validations are there?


a. Client Side Validations
b. Server Side Validations

2. What are the Methods we have used for validations??


a. Obj-Validate--we can referred this method in Activities and in flow actions at Validate Rule field.
b. Edit-Validate---- we can refer this in property form at edit-validate field and in activities through property-validate
method.
Note: I think Obj-Validate is used for Server Side Validation and Edit-Validate is used for Client Side Validation.

3. 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.

4. 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

Clipboard and Delegation

1. What is a clipboard and how it is organized?


Each connected Proces Commander requestor has an associated temporary memory area on the server known as the
clipboard.
.
Clipboard: is a tool used for debugging and troubleshooting aid for application developers. Is an temporary memory area on
server.

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:


1. User Pages
2. Data pages
3. System 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

2. Explain about Delegating a rule?


A delegated rule is one that appears for a specific group of users so that they may manage these rules outside the
development environment. Delegated rules appear on the My Rules gadget for a single user or for all the users who are
associated with a specific access group.
An application user who has the PegaRULES:WorkMgr4 access role can update the leftmost tab of existing rules that may
change frequently.
Delegation :In addition, a Declare Expression rule can be delegated to business managers who have the
PegaRULES:WorkMgr4 access role. The business managers can see and update only fields on the Expressions tab.
Opening a delegated rule:
From the WorkManager portal, open the Dashboard workspace, locate the My Business Rules area, and click the link that
labels the delegated rule.
From the Developer portal, select View > My Rules > label.
Delegating a rule :To mark a rule as delegated, click the Favourites toolbar button ( ) and complete the Delegated Rules
dialog box.

Withdrawing delegation
To cancel the delegation of a rule that is delegated to you:
 Using the Developer portal, select Edit > My Rules. Complete the dialog box and click Submit .
 Using the WorkManager portal, click the Edit button in the My Business Rules area of the Process Work
workspace. Complete the dialog box and click Submit .
Notes
Delegation of a rule to a user doesn't eliminate the need for that user to hold an appropriate access role and privileges to
check out the rule, modify the rule, and check it back in.

Rule Resolution:
1. How the system finds rules through rule resolution?
Rule resolution is an internal search algorithm that the system uses to find the best suitable rule to apply in a particular
situation.

Ruletype Name: First rule type is matched.

Class- The search starts at the lowest level of the class hierarchy of the partially-specified rule instance, and works up
to the top (the ultimate base class) gathering all matches on the name found

RuleSet and its Version and Availability- Rule instances are matched against RuleSet list of user and ones not
matching the RuleSet list are excluded

Date & Time range- For time-based rules which are in effect only during specific time interval. System date and time is
used to find those in force. Others are eliminated(the one with soonest end date will be picked).

Circumstance- Circumstance property reference value is compared with the user’s clipboard value for this property
reference(if defined) , if match is found then that rule is picked and the base unqualified rule is dropped.

Security- Rules are filtered based on the access roles and privileges.

To rules that qualifies the above criteria are picked had the one in lowest in the class hierarchy is executed.

Circumstance

1. What is Circumstance? How it works?


A circumstance is an optional qualification available for all rules. Using a circumstance allows our application to support
multiple variants of a rule..

2. How do we create the circumstance-qualified rule?


To create a circumstance-qualified rule, first define an unqualified or base rule instance (with the Circumstance values
left blank).
Then use the toolbar Save As button to create a second rule qualified by a circumstance.
If the original rule has an Applies To class as an initial key part, the circumstance-qualified rule must have the same
Applies To class or a subclass derived from that class.

3. Explain about single circumstance and multivariate circumstancing?


If we use a single circumstance property, we define the property name and its value directly in the Save As form.
If we use multivariate circumstancing, two rules in the Save As form:
Circumstance Templates (Rule-Circumstance-Template rule type)
Circumstance Definitions (Rule-Circumstance-Definition rule type)
4. Explain about circumstance template rule?
Circumstance template rule is used to identify properties for multivariate circumstanced rules.

5. Explain about Circumstance definition rules?


Circumstance definition rules contain a table of values for the properties in circumstance template rules.

USER INTERFACE

A 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.
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.
Section rules are referenced in:
 Harness rules
 Other section rules
 Flow action rules
 Paragraph rules with SmartInfo pop-ups

Show-Harness

@baseClass. Show-Harness

It shows the given Harness

Integrators and Connectors:

1. What are the Integrators worked on?


Integration Services are interfaces between Process Commander and external systems.
These consist of services supplied by Process Commander in response to requests from other systems and
connectors, interfaces initiated by Process Commander.
Integration services category: Service SOAP, Service File
Integration connectors category: Connect SOAP, Connect SQL, Connect File

2. What is service?
A service is a Process Commander programmatic component that defines and implements an interface between an
external application acting as a client and a Process Commander system acting as a server.
Service SOAP (Rule-Service-SOAP rule type)
Service File (Rule-Service-File rule type)

3. What is connector?
A connector is a Process Commander programmatic component that defines and implements an interface between a
Process Commander application acting as a client and an external system acting as a server.
Connect SOAP rules (Rule-Connect-SOAP rule type)
Connect SQL rule (Rule-Connect-SQL rule type)

4. How to integrate with web services?


a. Using apache axis, create WSDL and jar file.
b. Copy the jar file in application server and deploy it.
c. Copy WSDL file in Service Export Directory.
d. Restart Server.
e. Go to integration wizard.
f. Create connector rules.
g. provide the full path of the WSDL and finish the wizard.
h. Run the generated activity.
About Soap Service

SOAP is an XML based protocol used to exchange information in a disturbed and decentralized environment. Services
implemented using SOAP is often called as web services.
SOAP service is an instance of Rule-Service-SOAP class.
Listener

Listener is a PRPC background process that waits for arriving messages in the port.

1. Listeners are defined by Data objects created as follows:


2. Email Listener forms: (Data-Admin-Connect-EmailListener class)

3. File Listeners forms: (Data-Admin-Connect-FileListener class)

4. JMS Listeners forms: (Data-Admin-Connect-JMSListener class)

5. MQ Listeners forms: (Data-Admin-Connect-MQListener class)

To debug listener processing, you can use the Tracer to connect to the listener requestor, remote logging, or the System
Management application.

About Connectors

Connector is PRPC components that act as a interface between a PRPC acting as a client and an external system acting as
a Server.
A connector is implemented by any of these ten rule types:

1. Rule-Connect-BPEL 2. Rule-Connect-dotNet 3. Rule-Connect-SOAP 4. Rule-Connect-EJB


5. Rule-Connect-HTTP 6. Rule-Connect-Java 7. Rule-Connect-JSM 8. Rule-Connect-JCA
9. Rule-Connect-MQ 10. Rule-Connect-SQL
Connect-SQL- is a connector rule which is used when any complex SQL queries such as joins or stored procedures to
update or extract information from an external database.

To configure SQL connection to an external database—

In an activity use any of the RDB methods- RDB-List, RDB-Open, RDB-Save, RDB-Delete
RDB-Open- is used to retrieve a single record from the external DB and place the retrieved data in the clipboard page as a
property name and values.
RDB-List-- is used to retrieve multiple records from the external DB and place the retrieved results as an embedded pages in
a specified step page of class Code-Pega-List
RDB-Delete- is a method used to delete a row or multiple records from the external DB using SQL.
RDB-SAVE- is used to save the content of the clipboard page into a row of an external database from the external DB.

Use the Connect-MQ method to invoke a connector to an external system that uses IBM Web Sphere MQ messaging
services.
Connect-SOAP
Use the Connect-Java method to call a public method of an external Java class, using a Rule-Connect-Java rule
Connect-HTTP- Use the Connect-HTTP method to start an HTTP request/response interaction between Process
Commander and the external system identified by a Connect HTTP rule (Rule-Connect-HTTP rule type).
Connect-JMS
Use the Connect-JMS method to send a JMS message to an external system using the Java Message Service application
programmer interface.
Use the Connect-JCA method to communicate through a JCA resource adapter to an external System

SQL (DataBase)

1. How do we connect to external Data base?


a. Copy the DataBase drivers in to the servers lib folder.
b. Create an instance of Data-Admin-DB-Table.
c. Create a class and do the mapping between table and class.
d. Create Rule-Connect-SQL, write a simple SQL query in it.
e. In an activity use RDB-Open or RDB-List to access this SQL query.

2. How do we map the External data table and class?


Create Data-Admin-DB-Table with Class name (To which class this table map)
In this provide the DataBase name and table name.

3. Generally RDB methods are used for external database, and Obj methods are used for Internal DataBase. Can
they be used vice versa? if not why?
Do not use Connect SQL rules or RDB methods for the PegaRULES database(s). Because not all properties in the
PegaRULES databases are distinct database columns.
use the Obj- methods, not the RDB- methods, with the PegaRULES database to prevent loss of data.

System Management Applications

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.
Tools > System Management Application

 What are the different logging levels

About the Logging Level Settings tool


You can use the Logging Level Settings tool to temporarily override the severity settings in the prlogging.xml file for the current node, and control which logging
events display in the Pega log.

Starting the Logging Level Settings tool


To access the Logging Level tool, click Designer Studio> System > Operations > Logs
Diff Logging Levels

Logger Name - Identify a Java class or other logger category to be logged. Use SmartPrompt to list all Java classes
in com.pega.pegarules, or enter a category.

Current Level - Select the current logging level for the class in the Logger Name field. Each level causes messages of that
level and all lower levels except OFF to be included:
 ALL — Same as DEBUG
 DEBUG — Least severe
 WARN
 ALERT
 ERROR
 FATAL — Most severe
 OFF — No messages logged
Through the Log-Message method or Java oLog() calls, your code determines the severity of each message.
 Reset all loggers to default settings- Click to remove all changes made with this tool by you or others. Logging for
the current node reverts to the original settings in theprlogging.xml file.

What are the different agent modes in pega?

 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.

 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.

What are the different scope of Data Pages and their purpose?

Diff Scope of Data Pages:

Select an option to set who can access the pages loaded by this data page record:

 Node — Any requestor executing on the current node can access the pages.

 Thread — The page is created in a single requestor Thread, and can be accessed as often as needed by
processing in that Thread. Later accesses on another thread cause the data page to load a distinct page which
may have different contents, even if it is by the same requestor.

 Requestor — The requestor can access the page(s) loaded across all threads. Accesses by separate requestors
create distinct pages which may have different contents.

Read / Write pages all have Thread or Requestor scope.

What Category does SLA rule belong to and to what shapes these are associated in flows?

SLA belongs to Process Category

SLA is associated with assignment shape in flows

 Flows — Starts when a flow starts and ends when the flow ends or otherwise stopped. This setting is typically
used for flows in stage-based case management applications. To set the flow service level, open the Process tab
on the flow and select a record.

 Assignments — Starts when the assignment is created and appears in a workbasket or worklist (not when a user
opens the form and begins processing the assignment). The service level ends when the assignment is completed
and the case advances to the next step in the process, or stops due to an error condition. Set the service level
record in the Properties panel of the assignment shape.

What rule type is used for styling/branding in pega?

User Interface-> Skin

Use the Skin rule form to define styles and formats in your applications.

Use the skin to specify the presentation of your content. You can style all presentation elements of your interface
in the skin, including typography, borders, backgrounds, layouts, and UI placement and alignment.
By defining presentation attributes in the skin, you can separate content (which is defined in sections and
harnesses), from its presentation (which is defined in the skin.) This ensures greater consistency and promotes
reuse.

Name some standard OOB Routing activities?

ToWorklist/Worklist

ToWorkbasket/Workbasket

What are the different specialization techniques?

Create specialized or circumstance rules to address dynamic business requirements without changing the core logic every time.

You can create a specialized rule to create a variant of the rule that can be triggered only conditionally. The created rule is
resolved and active only when the specified conditions are met.

Difference between Default/Optimistic Locking. Which is the most preferred locking mechanism?

You can set a locking strategy for a case type to control how cases are accessed in your application. By using locking strategies, you reduce the risk of lost updates
to a case by concurrently working users.

1. Open a top-level case type in Case Designer.


2. On the Settings tab, click Locking.
3. Click a locking strategy.
Options include:

 A case is opened — Allows one user at a time to open and work on a case.
This default strategy locks the case for 30 minutes or until the user submits or closes the case,
whichever comes first.
 An action taken on case — Allows multiple users to work on a case at the same time.
This optimistic strategy allows the first user to submit the case to succeed. All other users who are
working on the case are notified and must review the changes before they can submit their own
updates.
4. Optional: Enter a number of minutes in the Release lock after field to override the default value.
5. Click Save.
The locking strategy is applied to new and existing cases. It is also inherited by all descendants of your case type, but some aspects can be overridden.

Default Locking – Allows one user at a time to open and work on a case.

Optimistic Locking – Allows multiple users to work on a case at the same time.

Optimistic Locking Mechanism is mostly preferred.


Data Page – Keyed Access –Benefits

Keyed Access
For list-structure data pages, you can allow read-only access to embedded pages in the data page, using any
property or properties you want as the key. This permits significantly faster response when dealing with a large
list.

Check the Access pages with user defined keys checkbox to allow read-only access to individual objects in the
list based on the value(s) provided for the key(s).

Check the Allow multiple pages per key checkbox if the keys are not unique across objects in the list. This
provides read-only access to a list of objects that match the value(s) provided for the key(s) in this case.

In the Page List Keys field, select at least one property as the page list key. You can add additional properties by
clicking the + icon.

How can we control access to update/access workobjects to a certain subset of users within a workgroup?

To control Access -> Goto Designer Studio-> Org & Security->Access Manager-> Work & Process

Your access group should provide Full or Conditional Access to the “AccessManager: change authorizations” tool in order to
edit authorization settings in Access Manager, and Full or Conditional Access to the “AccessManager: view authorizations”
tool to view settings in Access Manager

What are the steps involved in setting up custom authentication?

You can configure your PRPC system to authenticate users in one of several ways:

 With the standard PegaRULES application managed authentication routine

 Using the application server´s Java Authentication and Authorization Service (JAAS) implementation (container
managed)

 Through application managed LDAP authentication

 By implementing a custom authentication scheme

In the class structure, at what level are connectors created typically?

Connectors are created to map any External Services in the application.

Ex: WSDL, Java, SQL


Define Service and Connecter?

Service— Pega PRPC acts as server and external system acts as client. Service SOAP

Connect-- Pega PRPC acts as client and external system acts as server. Connect-SOAP, Connect SQl

What are Work parties?


Com,gov,operator,org,Person

Diff b/w BPM and BRE


BPM – automatic processing..
BRE—Only business rules.. flows not required.

What is the rule resolution Algorithm and can you tell me how it works or search?

Rule resolution is the search algorithm that the system uses to find the best or most appropriate rule instance to apply in a situation.
Rule resolution applies to all but a few rule types — classes that inherit from the Rule- base class. Rule resolution does not apply to
instances of classes derived from the Work-, Data-, or any other base class.
While the rule resolution algorithm is fast and invisible, it is important to understand how it operates. As you create applications, make
your choices of values for key parts based on how you want rules to be found by rule resolution.
An in-memory rule cache helps the rule resolution process operate faster. If the system finds an instance (or instances) of the rule in
question in the cache, it accepts what is in the cache as the candidate rules and skips many steps in the resolution process (see below).
Benefits
The benefits of rule resolution include:

 Rules can be shared across applications and organizations. Sharing and reuse are major benefits of object oriented software
development.

 Rules defined at a higher level can be overridden by more specific rules defined at a lower level. While this dilutes the sharing
benefit, it provides often needed flexibility while bringing visibility to exceptions.

 Rules can have multiple versions, even within one RuleSet, and security rules control which users see and execute which versions.
This facilitates application evolution, testing, and patching.

 One PRPC system can host multiple applications, multiple organizations, and multiple versions of one application with minimal
concern for conflicts and interference.

 Applications can be developed independently from other applications, yet all can depend on common rules that are locked (and
so won't change).
Overview
The inputs to the rule resolution process are:

 The key parts of a rule instance being sought, such as its Applies To class and name

 The user's RuleSet list, assembled when the user logs in

 The class hierarchy — The structure of parent classes and subclasses below the ultimate base class

 The user's access roles and privileges held, determined by the access group

 Security and access control rules such as Access of Role to Object rules and Privileges

 Rule availability — Which rules are available, blocked, final, withdrawn or not available

 Whether time and date limitations affect which rules are available for this session

 In some cases, the value of a circumstance property


The output of the resolution process is the first rule found that matches all the criteria. (Sometimes no rule instance is found, and
execution stops.) The system then executes the selected rule. Often this causes one or more additional rules to become needed. These
too are found by rule resolution.

The steps in the rule resolution process are:


Step 1: Check the Rules Cache. If the rule is there, go to Step 8.
Using rules already in the rules cache avoids additional database lookups.
Step 2: Choose instances with the correct purpose.
The purpose, or "family name" combines all the key properties of a rule, excluding the "defined on" class.
For an activity rule, the key properties include:

 the Applies To class that the activity is defined on

 the activity name


The purpose in this case is the activity name.
For a Field Value, the key properties include:

 the Applies To class, as above

 the Field Name

 the Field Value


The purpose in this case is the Field Name plus the Field Value, for example "pyActionPrompt.ViewHistory".
The system chooses all items of the appropriate purpose and puts them in a temporary list.
Step 3: Discard rules where Availability = No.
The system drops unavailable rules from the temporary list.
Step 4: Discard inapplicable RuleSets and Versions .
The system drops from the list rules that belong to RuleSets and Versions that are not enabled for the current requestor. For instance, if
the user's profile includes the RuleSet version ThisRuleSet: 05-01, rules belonging to ThisRuleSet: 04- or ThisRuleSet: 06- are dropped.
Step 5: Discard all candidates not defined in a class in the 'ancestor tree'.
Only rules found in classes from which the current class descends by either pattern or direct inheritance will be retained in the list.
This step is not used for rules which do not have the Use class-based inheritance to arrive at the correct rule to execute box checked in
their class definition.
Step 6: Rank remaining candidates.
The system ranks the remaining rules on the list in order of

 Class

 RuleSet

 Circumstance

 Circumstance Date

 Date/Time Range

 Version
Note that:

 The RuleSet and Version rankings are based on the ordered list in the user's profile.

 A rule with a specific qualifier ranks higher than one with no qualifier.

 Circumstanced rules rank alphabetically by Circumstance value.

 Circumstance Dates rank in descending value.

 Date/Time ranges rank first by their end-date (in ascending order) and then by their start-date (in descending order).

 Rules which do not have the Use class-based inheritance to arrive at the correct rule to execute box checked in their class definition
are not ranked by class.
Step 6a: Discard choices that occur after the first "default" rule
A default rule (with no qualifiers defined) is considered a match for any Circumstance, Circumstance Date, or Date/Time range. Therefore,
the process discards any rules lower in the list than the first default rule it finds.
Step 7: Set the cache.
The process adds the rules that remain on the list to the cache as being selectable for use.
Step 8: Find the best instance and check for duplicates .
The process searches down the list for the first rule that:

 exactly matches a Circumstanced Rule

 has the correct Circumstanced Date


 is in the correct Date/Time Range

 or is the default Rule, with no qualifiers


When it finds a rule that matches these conditions, the process checks whether the next rule in the list is equally correct. If it is, the
process sends a message that there are duplicate rules in the system and stops processing.
If no duplicates are found, the system prepares to use the rule that matched the listed conditions.
Step 9: Check Availability is not Blocked.
The process checks Availability again, to see whether it is set to Blocked for this rule. If it is, the system sends a message that it could not
find an appropriate rule to use.
Step 10: Verify requestor is authorized to see the rule.

 We use Rule-HTML-Property?

A: To display a property in a particular format.

 There is property which stores the value of create date and time or create operator (perhaps for a work object).
What is the prefix for these kinds of properties. Ans: px

 For most of the concrete classes, PRPC comes with a standard model called pyDefault
 We know that if there are multiple instances with same visible key, rule resolution algorithm determines which
one to return. If I want to explicitly specify the version I want (i.e. keeping the rule resolution algorithm aside),
which of the following method need to be used? A: Obj-Open-By-Handle

Abstract Class A class that supports the definition of classes. An instance cannot be created for an
abstract class. Abstract class names end with a hyphen.

Access Group Access Groups determine the layout of a user's home page and the other user roles
available. System administrators define access group sand associate them with users.

Access Role Assigned to individual users to modify their access to rules. Access roles are instances of
Rule-Access-Role-Name.

Action A workflow (business process) action. Actions are defined by instances of Rule-Obj-FlowAction
rules.

Activity A unit of work that an individual is asked to perform. The activity has a clear purpose expressed
in terms of creating or updating some artifacts such as a model, a class, or a plan.

Agent A background process, executing at set intervals or times as an internal thread on the server.
Agents periodically monitor conditions and perform processing as necessary.

Aggregate Property A property of a mode other than single value, such as a value list.
Aggregation An association in which one class belongs to a collection. An aggregation has a diamond
end point to the part containing the whole.

Application Menu Provides access to information about your application.

Application Rule A rule that defines an ordered set of RuleSets that together identify the
components of a PRPC application; listed in the Security rule category.

Assignment Assignments record a temporary condition of an open work object within an executing
flow that requires users or an external system to act on the work object for it to progress to the next step.

Assignment Shape A PRPDC shape that represents a pause or potential pause in a flow. Signifies
that person or system must act on a work object before the flow can progress.

Background Processing Automatic processing, without operator intervention.

Backward Chaining A technique that Process Commander uses to allow a communication to advance
even when the value of an input or parameter property is not available. This capability is provided by
having the Declare Expression rules (Rule-Declare-Expressions rule type) and the Priorty-Seek-Value
method working together. Process Commander also uses the internal dependency network of property
relationships to develop inferences about how to obtain the missing property value.

Business Rules Engine A system that manages business rules. PegaRULES BRE separates business
logic from the mission-critical applications and enables the enterprise to capture, manage, and execute
business policies and practices.

Build Order Part of the Construction phase, the build order specifies the sequence in which rules and
data instances are created when earlier phases are complete. The build order may differ in separate
iterations of the implementation.

Business Architect A business user or business analyst who defines and maintans business rules,
service levels, and flows or processes.

Business Use Case A type of use case that describes a business process from beginning to end
without regard to process ownership.

Business value Assessment A stage of the project implementation methodology that defines the
success factors and expected return on investment of the project. A business architect has a major role in
this stage.
Case A collection of tasks or assignments that are completed to resolve an exception.

Category A way to group information to enhance learning and navigation. categories include rule
types and data classes, attachments and reports.

Circumstance An optional qualification and refinement of the rule resolution algorithm. Using a
circumstance allows your application to support multiple variants of a rule easily. Fo example, variations
of an ordinary rule can be applied to important customers or classes of customers.

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 Explorer Navigation feature that displays portions of the class hierarchy differntiating between
abstract and concrete classes.

Class Group A means to store instances from two or more concrete classes (that share a common key
format) in a single database table. Class groups are commonly used to store intances of similar or related
Work- concrete classes together in a relational database table.

Concrete Class A class that can have instances.

Connector A programmatic component that defines and implements an interface between a PRPC
application, acting as a client, and an external system, acting as a server. Connectors are implemented
through an instance of a connector rule.

Connector Flow Action A flow action that complies an assignment, allowing the flow execution to
progress along a connector arrow to another shape on the diagram.

Constraints Define and enforce comparison relationships among property values within PRPC.
Constraints can provide an automatic form of property validation every time a property value is touched.

Construction Phase In the Construction Phase, all remaining components and application features
are developed and integrated into the product, and lal features are thoroughly tested.

Correspondence An outgoing e-mail message, printed letter, or fascimile transmission produced


by a PRPC application and its users.

Correspondence Template Definition of the format, content, and type of correspondence; refers to a
correspondence rule.

Data Table Wizard Wizard that creates interactive tables for business users to maintain the values of
simple Data- classes without added privileges or programming support; generates the class and
supporting rules that make the data table an interactive data entry tool.

Data- class A concrete class that the system uses internally while it operates. During installation,
instances of Data- classes are created. As the system is used, other instances are created automatically.

Deadline The maximum time allowed for resolving a case, configured in a service level agreement.

Decision Category One of the groupings under the rule types and data classes category. The
decision category includes rule types that test values and include decision trees, decision tables, and
map values.

Decision Rule A rule that defines computations and comparisons that may cause processing of a flow to
continue along one path or another.

Decision Shape A shaped used to call a decision rule such as a decision tree or map value.

Decision Table Defines a series of tests performed on property values to allow an automsated decision.

Decision Tree A decision rule that uses if/then logic to calculate a value in an user-friendly format based
on rows of property values, computations, and comparisons; listed in the ecision rule category.

Declarative Rule A rule that allows for the automatic processing of property values..

Directed Inheritance The method that causes a class to inherit chracteristics directly from a specified
parent class, regardless of any defined pattern inheritance.

Directly Capture Objective DCO is a term used to describe the process for using PRPC as an
integrated solution for capturing objectives, requirements, draft flows, draft UI, Use Cases and reusing
these individual components over and over throughout the delivery methodology.
Edit Validate Rule Defines a java routine that tests the validity of an input value; listed in the
Property rule category.
Elaboration Phase in this Phase you analyze the problem domain, establish a sound architectural
foundation, develop the project plan, and eliminate the highest risk elements of the project. At the end of
this Phase, the hard "engineering" is considered complete and the project undergoes its most important
day of reckoning: the decision on whether or not to commit to the Construction and Transition Phase.

Exception Path The less likely paths paths a process takes to complete a unit of work. Also called
alternate scenarios.

Expression Builder PRPC feature that allows you to build and validate the format of an expression.

External Setup Wizard This wizard prepares the environment for application development by configuring
the prerequisite elements for logging on to PRPC and building applications.

Flow Action Rules known as flow actions determine which data values are requested in the 'Take
Action' area of a work object form. These choices are available as interim or final dispositions of an
assignment they are processing. Rather than crate a new flow action rule from scratch, it is easier to
create the new rule by copying the existing ManageResolve flow action rule. There are two types of flow
actions: connector flow actions and local flow actions.

Folder A folder is a type of work object that loosely packages many related work objects, cover, and
other folders.

Gadget An HTML rule that defines the lable and function of a link on the portal, such as the worklist
display. Gadgets are instances of the Data-Gadget class. By creating portal rules (of type Rule-Portal),
system architects determine the appearance, labeling, and location of secitons on the home page (portal),
and which parts sof the portal are visible to different groups of users.

Goal The expected time to resolve a case or complete an assignment, configured in a service level
agreement (SLA)

Governance The processes that need to exist and be enforced to help guide projects to a successful
completion. All departments associated with a project should participate in project governance for it to be
successful.

Harness Rule A rule that defines the layout of the workspace and contains section rules.
History- Classes These classes are created automatically as a byproduct of the creation of other
classes, to track changes to instances of other classes.
Inception Phase In this Phase, the business case is identified, which takes into account the business
context, success factors, and the financial forecast.

Inheritance The method in which characteristics of ancestor or base classes are automatically
included in a class. You can add application-specific data elements (or properties) and other rules to your
classes. Inheritance is computed by an algrothm in PRPC (known as a Rule Resolution).

Instance A durable, potentially permanent, representation of a concrete class, stored as a row or


record in the PegaRules database. An instance consists of property values, some of which form a unique
key to the instance.

List View A rule that enables report data to display as rows of data in tabular format.

Listener A background Java thread that monitors a TCP/IP port, a mailbox, a messaging facility, or a
directory for arrivin messages or files. Defined by an instance of Data-Admin-Connect-.

Local Flow Actions These Actions permit users at runtim eto update, but not complete, an
assignment; local flow actions are referenced inside an assignment task in a flow.

Map Value Rule A rule that uses a table of numbers, text, or date ranges that converts one or two input
values into a calculated result value; listed in the Decision rule category. At runtime, PRPC evaluates the
rows starting at the top and then columns left to right.

Organization The top level of the standard three-level hierarchy. The organizational structure affects
management reports and statistics and the RuleSet visible to users in that organization when they log in.
Organization is an instance of Data-Admin-Organization.

Page A memory instance on the clipboard.


Page Group A property mode that allows you to embed an unordered array of pages.
Page List A property mode that allows you to embed an ordered array of pages.

PAL A built-in tool that is used to identify resource usage inefficiencies in a PRPC application;
identifies resource bottlenecks; records how many times an event occurs and how long each event took to
complete.
Party A person or entity involved in a case.
Pattern Inheritance A type of inheritance that causes a class to inherit characteristics from classes
that it resembles in name, moving up the visible class hierarchy.
PegaDISTRIBUTION Manager An output correspondence server that sends HTML or Microsoft Word
documents from PRPC to channels available on other systems. Correspondence can be printed, faxed, or
saved in RTF format.

PegaRESEARCH Manager A pegasystem product that provides a central repository for ctirical
SWIFT messages and transaction data. PegaRESEARCH manager can retrieve SWIFT transactions, and
map the results into a case.

PegaRULES Database Relational database that houses PRPC data.

Preflight The Preflight button in the Manage Rules workspace performas a number of checks on
the rules in the currently selected application. These checks are designed to encourage good design and
implementation practices.

Pre-Inception The process, associated with a project, that occur prior to the Inception phase. These
usually include pre-sales activities and are primarily performed by the Sales Executives, Sales
Consultants and/or Practice Leaders.

Privilege An access control element associated with a class and an access role, and is an instance
of the Rule-Access-Privilege rule. Privileges offer finer tuning of access control than access roles alone.

Property Mode Determined by a setting in the Rule-Obj-Property rule. A property has 1 of 11 modes.
Modes are variations of either isngle, array or list, and group.

Rule A rule is a data construct that defines user interface, business logic, or data behvior within PRPC.
Rules are constructed using rule froms, stored in XML format in a PegaRules database, and converted to
Java at runtime.

Rule Cache An internal cache of compiled rules where the Java classed compiled during the rules
assembly reside. The rule cache is specific to a given user.

Rule Resolution Rule resolution is a search algorithm that PRPC uses to find the best or most appropriate
rule instance to apply in a situation. Rule resolution applies to most, but not al, classes derived from the
Rule Resolution Cache An internal cache that maintains sufficient information regarding rules and their
versions to determine the applicable rule to be compiled during rules assembly. Specific to a given user.

Rules Inspector Tool A tool that provides an easy way to locate rules present in the user interface.
RuleSet A group of related object clsases, workflows, and business rules.
RuleSet Hierarchy The ordered list of RuleSets in PRPC applications. The most general RuleSets
that provide basic functions are at the bottom, RuleSets specific to your application are in the middle, and
RuleSets customized for your organization are at the top.

RuleSet Version defines a three-level version number for a RuleSet name; listed in the SysAdmin
rule category. Every instance of every rule type references a RuleSet version.

Section A rule type defining the contents and behavior of a rectangular area on a work object form.
Section rules are included within flow action rules and harness rules.

Single Value A property mode that has built-in data types for lower-level elements such as integer,
decimal, or true/false.

Step The primary processing unit of an activity or business process.

Step page Identify the page on which the step is to act.

Subflow A flow rule (Rule-Obj-Flow class) that is referenced in another flow rule. Also called a subprocess.

Summary View Rule Rule that enables report data to display in two levels, one showing totals or other
summary values, and a second "drill-down" level with supporting details. Also supports charts.

Tracer Tool Provides full debugging facilities including step-by-step execution, breakpoints, and watch
variables. Use to debug flaws, activities, services, parse rules, and declarative rules.

Transition Phase In this Phase the software product is transitioned to the user community. Once
this occurs, issues normally arise that require you to develop new releases, correct problems, or complete
features that were postponed. The Transition Phase is entered when a baseline is mature enough to be
deployed in the end-user domain.

Unit The bottom level of the standard three-level hierarchy. The organizational structure affects
management reports and statistics and the RuleSet visible to users in that organization when they log in.
An instance of Data-Admin-OrgUnit.

Urgency A numeric value between 0 and 100 that defines the importance of speed in completing
and resolving an assignment. Urgency defines the order in which cases appear on a user's worklisst.
Larger values correspond to higher importance.
Use Case Defines a meaningful interaction with a system by detailing the steps takn in each part of
the interaction. Components of a use case include description of the interaction, actors, triggers, data
outputs or updates and work objects and assignments.

Use Case Diagrams A diagram that describes what a system does from the standpoint of an external
observer (emphasis on what a system does rather than how)

Utility Shape Calls an activity rule; specifies automated processing to be performed without any user
interaction or input.

Validate Rule A rule that tests property values, typically immediately after they are submitted on a
browser.

Verification A task performed by a person who is double-checking prior work to catch possible
mistakes or variances with policy before the work becomes final. Verification is common in financial
processes involving large sums, sensitive legal commitments, or correspondence.

Wizards A series of prompts to help you accomplish a task with minimal effort.

Work- classes These classes define the data structures for processing work. You use them as a starting
point for work-related classes in your class structure. Every application requires at least one concrete
class derived from the Work- base class.

Work Group An instance of the Data-Admin- work group class that can identify a user who is a
supervisor, together with a set of workers (users) and wrokbaskets that report to that supervisor. An
operator ID data instance (Data-Admin-Operator-ID) usually identifies a work group to which the users
belong.

Work Object ID An ID associated with a work object that uniquely and permanently identifies the work
object within the work pool. When you create your application, you define the optional prefix and suffix,
and the numbering format, which together represent the unique key.

Work Pool A collection of work objects of a related type. Work pools control how you present work to
users who enter and select work objects for processing from one or more designated work pools.

Work Types A concrete class derived from the Work- base class.
Workbasket A centralized, shared pool of assignments from which users select work.

Workflow A standard set of steps that resolves a case; a sequence of activities that produces a
result of observable value.

Worklist A list of items assigned to a specific user, ordered by urgency.

1. What is Rule.
Rule is instance of a Class. Rule Gets stored into a Table which are mapped to instance
classes. In PRPC Instance classes will have a mapping with DB Tables.
pxObjClass = Holds Instance Class Name of a Rule.
A Class is mapped to which table?
Test connection in the class rue form.

2. Any Rule in Pega that gets stored in Rule base Table will have unique primary Key
“pzInsKey”.
To Open any rule PRPC uses it’s pzInsKey , by performing Obj-OpenBy-Handle and the
respective table.
Operator
“Data-Admin-Operator-ID” + Operator.pyReportTo (Manager)
“Data-Admin-Operator-ID” + Manager.pyReportTo (SeniorManager)

3. Write a generic activity to update the lable of any rule in PRPC.


Obj-Open-By-Handle
Param.instanceclss + Param.RuleClass + Param.RuleName

4. Main columns that one should know in PRPC


pzInsKey = Primary Key
pzPVStream = Hold all the data of rule or transaction(WO)
pxCreateDateTime
pxUpdateDateTime
pxCreateOperator
pxUpdateOperator
pxObjClass = Instance Class
5. I have a flow in production with 4 assignments, one assignment should be removed. I have
inflight cases which should use the deleted assignment after the new release.
We can implement this by Circumstance or Decision or Ticket. The condition property for
either of the above is based on pxCreateDateTime.

6. Name any one of the OOTB properties in PEGA which should never be part of Declare
Expression.
pxCreateDateTime

7. How to restrict a property such that it should never be used in declarative rules.
Property advanced tab – Check the option “Con not be a declarative target”.

8. How to unlock a rule set version when you don’t have a password?
Rule-RuleSet-Version Table has two columns “pyVersionPassword” and “pyVersionSecure”
should be updated to empty and false.

9. What is dual inheritance in Pega?


At a time a class having Direct + Pattern inheritance make the class to have multiple
inheritance. This is in PRPC is called dual inheritance.

10. If child work object saves in PC_Work (same as parent case) which column hold child
work object data is it pzPVStream going to have embedded pages?
Parent children gets stored in separate rows.

12. Dynamic System Settings Vs System Settings?


DSS are data entries, which can be update without check in check out. System setting –
associated rule set versions, we need to patch it and move to production every time you
want to update it.

13. How to call decision table from decision tree?


Configuration tab of the dec tree, “Allow selection of call decision option”.

14. Spinoff will be useful when you want to initiate/start another flow parallelly 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.
Spinoff is available in sub process shape. Selecting spin off option make process flow
asynchronous i.e, process will not wait for the sub flow to get completed.

15. Importance of Lock option in Obj-open method?


Supports some instance of locking. Shouldn’t allow other people to update the case
16. In the Obj-Open or Obj-Open-By-Handle, I don’t want to choose lock check box. But
when I update the instance, we have to make sure the latest data is available on the instance
step page.
Use obj-refresh-and-lock method.

17. How to create temporary Work Object? Also, explain in technically.


Select to indicate that this flow creates a temporary work item. A temporary work item is
created and resolved by a single operator or by straight-through processing and is never
saved as a database object. Use this option only in appropriate situations, as reporting,
history, and attachment features are not available for temporary cases. The following
restrictions apply:
Temporary cases do not have a case ID.
Temporary cases cannot be members of a cover.
History additions performed on such objects do not cause a flow to fail, but have no effect.

18. Can a screen flow be a starter flow of application?


Yes. We can create an activity in the activity call OOTB activity “NewFromFlow” and pass the
parameters “Flow name and Flow class name”.

19. Difference between Obj and RDB methods?


Obj for Internal Rule base tables. RDB for external tables.
Obj Can’t execute Stored procs. RDB can execute Stored procs
Using Obj we can implement joins . RDB can have joins.

20. How to call a report definition rule from an activity.


Call Rule-Obj-ReportDefinitnon.pxReteriveReportData (Pagename, Report class, Report
name)

21. How to call activity from a data transform or Data Table.


Fumction callActivity();

22. What are editable modes in Data Pages? Can a node level data pages are editable?
If you want to update data page it should be editable. These are not available at node level.

23. Keyed page access in Data Pages.


This option is available only for list type data pages. In the page list Pages , one or more
properties can be mentioned as keys.
While we pass this keys the matching page data will be retrieved.
These keys can be passed when the data page is called only at property level but not from
dropdown or repeating layout or activity.
24. How to pass parameter to a data page when it is referred in an activity.
D_AXAStates[Param1:Value1,Param2:value2]

25. Where we see editable D pages on clicpboard.


Under User Pages.

26. Call decision table from the data transform?


@DecisionTable.ObtainValue(tools,myStepPage,"StageCode",true)

27. When two users from diff countries triggers (both GMT and IST formats saves) change
both formats as one format as GMT(because DB people issuing some problems)??
FormatDateTime()

28. When user login the PRPC Portal, the credentials we are providing Authentication or
Authorization?
1 st Authentication and then Authorization.

29. Tell any 3 rules (when we are configuring them) without class and rule set??
System rule, Data instances without versioning.

30. 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 numbers" data
C table has "Addresses" data
Then finally u have to save Both B and C data into A table??
I should not write any queries or I should not use any obj methods to save phone number
and addresses into Table B and C.
We need to create Indexes for Phone Number and address Page List.
When we save customer data automatically index tables gets updated.

31. Append and Append map to (common question recently in every interview)??
This option available in Data Trnasform.
PageListA
PageListA(1) (A-B-C)
PageListA(2) (A-B-C)
PageListA(3) (A-B-C)
PageListB
PageListB(1) (A-B-C)
PageListB(2) (A-B-C)
PageListB(3) (A-B-C)
Append to — Use this action to copy a page to the target. The source and target must be of
the same or compatible classes.
Append and Map to : Use the Append and Map to action to append a page to the target Page
List mode property and set the context to that page for subsequent child actions to map
properties on that page. The target and source can be of different Applies To classes.

32. How many ways we can check checkout rules in Pega platform??
Rule form, Bulk Check in check out.
• MyCheckedOutRules (Code-Pega-List)
o pxResults
▪ pxResults(1)(Data-Rule-Summary)
▪ pxResults(2)(Data-Rule-Summary)
▪ pxResults(3)(Data-Rule-Summary)
▪ pxResults(4)(Data-Rule-Summary)
▪ pxResults(5)(Data-Rule-Summary)
▪ pxResults(6)(Data-Rule-Summary)

33. You have an application for managing a simple workflow across two categories of work;
“new business sales” and “renewing sales”. Your business has many areas that sell
different kinds of the same product, which means the ‘flavour’ of these worktypes will differ
from area to area.
The process for both work types is basically identical, however we can’t discount that new
business might one day be drastically different to renewing business. The content of the
screens between each business area does change a lot.
We may also need to be able to formally restrict work access between the different areas of
the business.
A) We have to implement it by using circumstance (Lease Preferred way )
B) Use privileges accordingly apply on the rules.

34. We want to introduce a new screenflow process for capturing and reviewing data at the
end of the formal workflow process – however the business don’t want to necessarily
complete the screenflow once they have begun processing it (i.e. of a 5- step screenflow, they
may only want to complete step 3 straightaway, and the rest another time)…
Use Tabbed or tree navigation screen flow.

35. 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.
Recruitement (Total Open Positions = 5+9+4 = 18)
Pega (TotalPegaPositions =5)
Dotnet (TotalDotnetPositions =9)
Java ((TotalJavaPositions =4))
We need to use calculations tab of parent case type rule.

36. how will you manage, and what are the considerations of this data propagation
challenge?
A) There should not be any declarative target properties used in this.
B) Make sure by the time child is instantiated the respective source properties must have
values assigned.

37. Passenger,tier,bus,seat----How do we create these classes


Bus (Page)
Tier(List)
Seats(List)
Passengers(List)

38. two page list we have---need to move the data from one pagelist to other pagelist based
on some condition
Activity – Precondition, Loop, Page Copy
Data Transform – Condition , Loop, Append To

39. I have 5 cases, One is Parent remaining are children. My Parent has Default Locking
configured.
Children – Child 1 – Default , Child2 – Optimistic , ….

40. Need to copy data at one stage in child to parent how u will do.
pyWorkPage of child to pyWorkCover Page.

41. Need to change from 1 stage of case to stage 5 and after that again come back to stage1---
How u will do
Change state.

42. we have one parent and 2 children when the lock is there lock on parent case then what is
the functionality…
With default options for locking, when parent is open by requestor1 no one else can work on
children.
With option “do not lock parent when child is open” selected on child cases , when parent
case is been worked on by requestor1 other requestors can work on Children.

43. how many types of sub flow callings shape are there
Sub process, Spilt join, Split for each.

44. write just an example activity? Need to update status of the cases after cretaed 5PM ---
How u will do?
Browse (pxCreateDateTime)
Loop
(Obj-Open-By-Handle)
Property-set
Obj-save
Commitwitherrorhandling.

45. scenario: Create a report to get all assignments from workbasket how u will do
Assign-Workbasket , Work class (Joins)
pxrefObjInsKey

46. Tell me about deferred save


Differ Save means , the data saved into differ queue but not yet committed to DB Tables.

47. scenarion:property1 upadted with X,obj-save and then again same property updsated
with Y with commit what will be the final output
DB value is “X”.

48. What is Organization class structure and Different types oflayers?


Org , Div, Unit(Work) {Implementation Class Group} → Framework Class Group
Org-FW-DivFW-Work {Frame Work Class Group} → Work-CoverAt 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}

49. What are the different mechanisms to initiate case? (what are different options will be
given to users to create case at run time )
Portal – Create Menu (Case Type or Its flow)
Case Type → pyStartCase
Flow → Creates a new work object selected on the flow.
Run Time we can activities to create cases.
Add, AddWork
New , NewFromFlow
Email instantiation, Agents or Listeners.

50. Suppose in a Screen flow, you’re having 4 assignments, all the assignments should be
completed within 2hours. Can we implement this or not? If yes, how will you design this?
In the screen flow/ sub flow on process tab we can call SLA.

51. How can we trace someone’s work in production Environment?


Login to SMA → Choose the requestor Name → Remote Trace.
Verify the Log Files.

52. What is WSDL file? And difference between WSDL URL and End Point URL?
WSDL (Web service description Language)
WSDL contains the meta tags. It describe the service.
What is End Point URL, Methods, Request and Response
Parameters and its XML Data Structure.
WSDL URL points to the location of SWDL Document.
End Point URL is location where your service is Deployed.
53. What is XSD?
XSD will have Meta Description of the service.

54. How will you implement security features in SOAP Rule?


WS Security, Security through Encrypted User Name and Password send in the Headers of
XML.

55. When we have an issue with service, let’s say you are not getting proper response from
service. How would you trouble shoot this.
Check With Web Admin Team.

56. Which Agent process SLA Rules?


Pega-ProCom Rule Set Agents Instance will have an agent “Service Level Events”.

57. There is a concept of soft locking, what it is?


The locking you perform using Obj-Open or Obj-Open by Handle .

58. In ECS, When do we use framework layer and when do we use Organization layer?
Org Layer and FW both will be accessible at all the class group.
But FW layer is a reusable application which can be deployed on multiple pega application
servers.

59. We have Data Page, it is getting populated from external table, then how do we configure
load mechanism?
How would you know when to refresh the data page i.e whenever the data in external tables
changes how come PRPC D Page gets refreshed.
Source Mechanism → Connector
pzFlushDataPage (D_Page)

60. What are different ways to expose a property?


Right click on property and optimize for reporting.
Modify the schema of Table and Run column population Job.

61. Tell me the difference between Associations and join criteria in RD?
Class joins requires a common matching column between classes.
Association rule is a like a reusable rule that defines join of two classes with matching
columns. This gets populated on report rule automatically.

62. What are different types of joins?


Class Joins, Index Joins, Associations.

63. What are the diff between Data Transform and Activity?
Using a Data transform we can run Obj methods (Tables), Connector and Service Methods.
Data Transform purely for property set operations.
64. What are the differences between Declare Trigger and Declare Onchange? In what
scenario you will chose what explain?
Trigger monitors a Table and gets fired when DB Insert, Update Delete operations being
performed by Obj- Methods. On Change gets fired whenever the property values gets
changed on clipboard.

65. What is cover and Covered?


Cover is Parent Case, Covered is Child Case.

66. How to move from 4th stage to 1st stage? What is the activity?
We need to change stage utility. Activity is pxChangeStage.

67. How to create work object for child cases?


On Parent Case Type Rule, Instantiation option.
Automatically by System When Parent Case Stars (When Condition)
All condition related to other children or parent case (based on their status)
Manual Instantiation We can use Create Cases Smart Shape.

68. How to connect to an external DB?


We need to create a Data-Admin-DB-Name Rule.
Pass JNDI Connection Pool or JDBC URL.

69. How to map an external table to the class?


We need to create Data-Admin-DB-Table rule.
DB Name, Schema, Table name we need to pass and do test connection.

70. What are types of parameters in Data page?


Parameters, Keyed Page access.
Keyed Page is available only to list type D Pages and it available to call only on property.

71. Scope of data page?


Thread , Requestor and Node.
Thread : D Page can be shared , With in Work Object
Requestor : D Page can be share within requestor session among multiple WOs.
Node : can be share among multiple requestors who logon to same node.

72. When D page will get created if we chose thread as scope in Data page?
Every time we create a new case. When we have new threads opened.

73. What will happen if the DB got updated but our Data page scope is thread?
Each time we create a case, for each case D Page gets loaded with latest data from DB.

74. When the page will be removed if the data page scope is thread?
Refreshed for each thread.
75. What is edit mode in data pages?
Editable and Read only
Editable D Pages gets created on clipboard under user pages where read only D Pages under
Data Pages.
Editable pages can be updated , deleted. These D Pages will not be available at node level.

76. Can we call connector directly from data page?


Yes, We have connector option available in D Page , Source.

77. When look up option will available as a source for data page?
For D Pages of Type Page, Lookup option is available.

78. Where will you perform exception handling in data page?


Post Load Processing, we can call an activity and here we can handle any exceptions.

79. When will u go for standard and when will go for advanced agent?
Advance agent is for Non-Transactional Processing means there is no WO Processing
involved in this.
Standard agent is for transactional Processing i.e, it involves case processing.

80. What is a Agent QUEUE? why we need to queue ?


When we are working agents, if we want process or execute agent activity multiple times /
wakeup then this is possible through queuing.
Here Queue means PR_SYS_QUEUE Table. For each queue Item in this table agent activity
will be executed once.
The Queue Items with status “Scheduled” will be picked. While Processing the Queue Item
status gets updated to “Now Processing”. If something fails during processing, Queue status
is “Broken Process”.
Broken process Items can be re queued. When we queue the items the status gets updated to
scheduled.

81. What is the access group significance of access group in Agents rule form?
At what access level the agent activity should be executed will be decided by Agents access
group in case of advanced agents.
Standard agents runs on the access group of requestor who put the agent queue item.
For standard agent the access group of requestor overrides the access group in the agent
rule form

82. What will happen if you are not mentioning the access group in advanced agent?
If no access group specified in Agent Rule form, then advanced agents runs on Guest access
group.

83. How can you change the schedule of an agent in Production?


Agent Schedule is a Data Instance of class Data-Agent-Queue. We can directly open Agent
Schedule rule and we can update the “Schedule”.

84. I need to update all work objects daily, what kind of agent I need to select and why?
If we have queue then Standard agent. No Queue then advanced agent.

85. How performance is better when we use report definition compared with Activities.
Activity when we create it’s a used defined one. It may have Bad Coding, It may not be
compatible with the PRPC Existing transaction model.
Coming to report definition, it executes OOTB activity rule pxRetreiveReportData to fetch the
data. This OOTB activity is written following the best practice of PEGA and it will not disturb
the PRPC transaction model.

86. If we want to join 10 tables. How to implement this using RPT rule. It should not impact
application performance.
We need to create a DB view and write report for this View.

87. If we want share Data between two pega applications. Insurance and the other is Claims.
We have to use web services.

88. How many types of reports are there.


List Type Reports, Summary (Charts, Circles, Bar ), Sub Reports.

89. getContent activity?


This is OOTB activity gets executed when we run List View.

90. Get Next Action? Or Get Next Work or Get Most Urgent?
Get most urgent is an OOTB functionality which brings the Urgent Assignment to work on.
By default it brings the assignment from Work List.

91. In the product rule form what is Individual instances to include?


Here we can Query the DB records and include their pzInsKeys.
Then Data Instance will be moved.

92. What is “Exclude non-versioned rules” in Product Rule.


There are rules associated with rule sets but not with versions.
When we select this check box these rules will not be included in the product packaging.
Eg. Work basket, Work Group, Access Group, Operators etc…

93. We have deployed an application and application is running. After some you got a
requirement to modify only one of the rule which we have already moved. How to achieve
this.
We need to get the pzInsKey of Rule Instance and include it in Product Rule, then package it.
When we deploy this only one instance will be deployed into production.
94. We have made some changes and successfully tested in Dev, QA, UAT and Prod also
after deployments.
But When the business starts the latest code changes giving a technical issues which has
broken application functionality and entire is stopped. How to handle this situation?
We need to put the application version back.

95. What are the DB change in Pega 7/8 compared to Pega 6.


From Pega 7 onwards we have , Split Schema Architecture for DB.
We have separate schema for Rule and Data Instance i.e, Pega Rule and Pega Data.
All the rule instances gets stored in Rules Schema whereas Data instances gets stored in Data
Schema.

96. In activity suppose i have existing 10000 customers have common salary now i want to
increase their salary dynamically at a time??
Obj-Browse (Page List)
Loop (for Page List)
Obj-Open (to Open Customer)
Obj-Open (to Open Customer Increment)
Property-Set
Obj-Save
Commit;

97. What is the order of Rule resolution? and can u tell some rule types don’t undergo Rule
resolution??
Rule Cache
If Cache Available Pick the rule from cache, Verify not blocked, Verify user authorized,
Process and Present Rule.
If Cache Not Available Collect all rules matching name and type, Ignore Not Available,
Ignore Not applicable rule set hierarchy, Ignore Withdrawn,
Ignore Not in applicable class hierarchy, Rank by rule set, class, circumstance, find the best
rule and keep in cache, Pick the rule from cache, Verify not blocked, Verify user authorized,
Process and Present Rule.
Data Instances like OpID, Access Group, Work Group, Work Basket etc… will not go through
rule resolution process. Because these instance will not be associated with Rule set versions,
Availability and circumstance.

98. An application testing phase working fine and in production environment becomes slow
what may be reason??
1. Load on the server can be more.
2. Queries may result in huge returns of data in Prod.
3. Log Files Size may be huge on Server (Regularly back up logs files from Linux or other
servers)
4. Net Work Issues.
Difference between Exit-Activity and Activity-End??
Exit-Activity Ends the execution of current activity whereas
Activity-End ends the execution of All the chain of activities which are involved in the calling
processes.

99. What are the process improvements that you have do/Care in the project??
1. Analysis Talk to leads, architects and Business.
2. Design and Development
3. Unit Test (Self Testing)
4. Peer Review by Leads or colleagues.
5. Demo to BA.
6. Handover to tech leads. Patch and move to QA.
7. QA will test ad raise defects in DMS if defects.
8. Dev work on defects and move QA
9. Move to UAT
10. All set for prod deployment.

100. What is the main difference b/w Standard Agent & Advanced Agent.
Standard Agent
1. This is recommended for transactional processing i.e, case processing.
2. Standard used OOTB AQM
3. Standard agent runs on Requestors access group who ever puts the item in agent
queue.
4. Standard runs activity N number time / wake up where N is no of queue items.
5. Activity associated with standard agent should be there in WO class.
6. Standard agent can be on Multi Node Environment.

Advanced Agent
1. This is for Non Transactional Processing i.e, does not involve case processing.
Like Emails, Archival of DB.
2.Advanced agent will not use ,we want to go Queuing we need to design customer Queue
mechanism.
3.Advanced agent runs on the access group specified in agents rule form.

4. Advanced agent exe Agent activity only once per wake up.
5. Advanced agent activity can be there in any class.
6. Advanced is recommended to run on one node even though we have
multiple nodes available.

101. What is AQM. ..? Is AQM supports Standard Agent only r Advanced agent as well??
OOTB AQM being used by standard agent. If we apply AQM with advanced agent, we need to
implement our own Queue Management.
102. Define Assignment Level SLA & Workobject level SLA. .?
Assignment level Sla is only for one particular assignment on which we apply it.
WO level SLA is applicable throughout the case processing till it gets resolved.

103. I have one work object based on some condition I want to route work object to Worklist
or workbasket…? How many ways we can achieve this…? If I want give the condition in
single assignment itself how it is possible…?

We need to write a custom route activity which calls toworklist or toworkbasket activities
based on precondition.

104. What Are the Rule Set Pre Requisite, What are Types of rule Sets, and What is the Rule
set hierarchy in PEGA?
All the Predefined rule Sets Should be Address as “Required Rule Sets” to our application
Rule set then any rules in the predefined rule sets can be used in our application.
1. Application Rule Sets (Which we add in Application Rule Form)
2. Production Rule Sets (Which we will add in the Application Rule Form and Also we can in
Access Group Under Advanced Tab.
3. Branch or Shared Rule Sets.
4. Personal Rule Sets.

105. What is Rule Delegation and Production Rule Set?


The Rules in PRPC like Decision rules, Correspondence Rules etc… can be delegated to
business so that business users can modify the rule as per their requirements.
Rules can be delegated from the action Dropdown of the rule form. When delegating it can
be done to Single Operator OR to an Access Group.
Delegated rules will be available to be accessible through the Portals under the Section “My
Business Rules”.
The OOTB sections rule name “Delegated Rules” which is available in “@baseclass”.
These rules can be created in a separate rule set and we call this rule set under “Production
rule Sets” in the application rule form.
Usually these production rule sets will be left unlocked.

106. What is Application, Production , Branch and Personal Rule Set?


• The rule sets which we regularly user for creating our rules are application rule sets.
• Production Rule Set :- refer above question.
• Branch Rule Set:- It is a share rule set. This allows multiple developers to perform parallel
updates on the rules. After that we can merge the branch rule sets into the original rule set
with all changes. Branch Rule Set can be added in the application rule Form.
• Personal Rule Set :- This is virtual rule set created with the Operator ID name.
When an Operator check out a rule PRPC copies the rule from Original Rule Set to
Personal Rule Set allowing the operator to make changes. After the changes are done/check
in the personal rule set copy will be lost and latest changes will be saved into original ruleset.
• All the Checkout rules will be available in Personal Rule Set.
The Priority when accessing the rule goes to Personal Rule Set.

107. Difference between section and Harness?


A Harness Holds a section rule. Purpose of Section is to design the UI. Harness can be called
from Portal, Assignment shape, Flow under Process Tab.
Harness defines the Appearance and Processing of the WO forms.
Harness rule is at Work Object level or Portal Level.

109. How to Jump From One Stage to Another Stage in PEGA 7?


We can use a utility called “Change Stage”

110. Difference between On change and Trigger?


On Change Rule gets executed when the property value changes anywhere in your
application.
Trigger gets executed only where there is any update or insert or delete operations
performed on Data Tables.

111. How to make a local action available to be accessible at all the assignments in the Flow?
We can call the flow action or local action in the Design tab of the flow. The local action
which are called in the assignment shape properties will be available only to that particular
assignment whereas the local actions which we call in the design of the flow will be available
to access at all the assignments in a flow.

112. What is Forward chaining and Backward chaining?


Declare expression is an example of forward and Backward chaining. We have different
options available to choose those are
1.Whenever Inputs Change (Every time when source properties changing Declare expression
gets executed and assign the target prop value this is FWD chaining.)
2. Whenever Used :- Every time when we use target prop declare expression will be executed
to assign value to target prop. This is backward chaining.

113. What are the OUT-OF-BOX solutions you’ve used in your project?
Below are the basic OOTB Rules used in my application.
SendEmailNotification, Perform Harness, pyID, pyCaseAttachments, pyAttachContent.

114. Can an assignment be completed manually, automatically (without Human


intervention) or BOTH?
FinishAssignment OOTB activity we need to call.

115. What is an Access-group?


Access-group is an interface between Operator and Application, Portal, Access Roles.
Access Group Define the Work pool of an operator.
An Operator Can have Multiple Access Groups Defined but one should be default.
116. What is a Workbasket, Work pool and Workgroup?
Work Basket is an instance of Assign-Workbasket. It is Queue of All the work Items those
can be accessed by Multiple Operators who are connected to the basket via their Work
Group.
Work Group Acts an Interface between Operator and Work Basket. Work Group and
Work Basket can be connected to each other.
Work pool :- Class Group when added in the access group (Under Advanced Tab) it is said
to be work pool. It Identifies which case types should be loaded for an operator to create
work.

117. What is the diff bet Rule and a Rule set?


Anything in PRPC is called as a Rule. For Example Property, Activity, Data Transform etc...
Rule Set is a container to hold all the rules into it and which allows the versioning of
rules.

118. What are the Application Servers that PRPC supports and who maintains these
servers?
Tomcat, Web sphere, Web Logic etc…
Web Admin Team maintains these servers.

119. What is Assignment in PRPC?


An Assignment in PRPC is used to route work to an operator. The primary use of an
assignment is to display or call a flow action into flow.
No assignment can be available without flow actions.
Assignment shape contains the options like
1. Status 2. SLA 3. Notification 4. Harness 5. Local actions etc...
If we want to see the current assignment details we can see on clipboard on a predefined
page "NewAssign" Page (Assign-)"

120. What is the Class Hierarchy in PRPC Or Class Structure.?


121. Can screen flow can generate work objects?
By default screen flow cannot create a work object but we can call OOTB activity rules like
“New or NewFromFlow” and pass the screen flow class and name as parameters then it
creates a Work object.

122. How do u pass more than one page to another activity?


By selecting the check box “Pass Current Page check “.

123. What’s the difference between connector flow action and local flow action?
Flow action performs an action on Work object and it moves WO from one assignment to
another assignment. Whereas local action also performs an action on WO, but it doesn't
move from current assignment i.e, the Work Object will be still on same assignment.

124. What is the list view and summary view?


List View will generate plain reports whereas summary generates reports using Aggregate
Functions.

----------
Personal-Work Experience
Describe about yourself & Describe about your work experience?
• Start with your higher education.
• Example: I am a post graduate in MSc Computer Science. I have done PG from Andhra University.
• Tell about your Professional Career
• Example: I have 6 years of IT exp. I start my career with Infosys and worked for 2 years. Then I joined XXXX in
2014. Since 4 years I am working with Satyam.
• Kind of project like development/ enhancements / maintenances or prod support
• Roles and responsibilities
• Example: I played the different kinds of roles like, Team Member/ Module Lead/ Technical Lead/ and I am also
played as a consultant for onsite assignments/ part of COE Team
• During my professional career I work with different domains like Banking/Finance/healthcare with the different
clients like Assurant/BBT/BCBS/GE
• During 2015/2016 I was in US and worked for BCBS/BBT/Assurant
• My current project Instant Issue and doing for Assurant Client. Its Onsite/Offshore model. I am acting as
Technical Lead from offshore side. We have a team of 8 members. Explain about ur your current project in high
level Functional side

Describe about your currect project?


Tell about your current project in high level.

What are your roles and responsibilities?


• Currently I am acting as tech Lead for the project XXXXX.
• Understanding the requirements from onsite team/Client.
• Explain the requirements/ functionality to the team and discuss the way they can achieve it.
• Identify the reusable components which can be used across the application.
• Break up the requirements as modules and delegate the work to the team.
• Monitoring the code quality (code developed by the Team) and follow the PEGA guardrails/Client.
• I am responsible for monitoring the team and helping if any technical challenges they are facing.
• Meeting the processes and deadlines/deliverables(TAD, TDD, Code Review Report, Deployment/ Configuration
Guide, Making sure the documents are signed off)

What are the challenges you faced during the current project?
What r the challenges you faced in integrations

IS PEGA the complete BPM solution?


Yes. PEGA is a complete BPM Solution.
With the Pegasystems SmartBPM Suite, built on a patented rules engine, you have facilities for the
complete BPM lifecycle (See the following Figure)
PegaRULES: A patented business rules engine (BRE) that enables even the largest enterprises to capture,
execute, and manage their business rules. At the heart of the suite, PegaRULES provides dynamic rule
resolution and drives work to completion with automation.
PegaRULES Process Commander: A highly graphical and rapid solution development environment,
execution engine, and management dashboard Ͷ all in one. Process Commander helps you to plan,
design, manage, and evolve decision-intensive process management solutions quickly and thoroughly:

What is PEGA methodology?


Questions in other way:
a. What is the Pegasystems Implementation Methodology?
b. What is the life cycle of the Pega Project execution?
c. How does it fit with other system development methodologies that are already adapted and in
use by Pegasystems customers and partners?
d. Explain about the execution of PEGA project life cycle? In Other way Describe the steps you
follow while designing an Enterprise Application in PRPC

The Pegasystems implementation methodology (v2) is used within Pegasystems own Professional
Services teams Ͷ and by partners and others Ͷ to organize and run application development projects.
In contrast to many more prescriptive, rigid methodologies, the Pegasystems methodology is an
adaptable process framework. The methodology is closest in approach to the popular Rational Unified
Process (RUP), and is compatible with Unified Modeling Language (UML) approaches.
Flexibility allows the team to adapt the methodology to large and small projects. The processes
can be right-sized to project needs. Experience shows that the Pegasystems methodology can be followed
without conflicting with most organization's existing (post-1990, non-waterfall) methodologies and
project management approaches.
Large applications are subdivided into functional slivers of limited scope, to reduce risk and allow
benefits and return-on-investment to start earlier.
Benefits
The list of expected benefits from the methodology may be familiar Ͷ they are similar to those
claimed by almost every methodology .
However, important differences in Pegasystems' approach help to realize these benefits:
• Manage projects in a structured, repeatable fashion
• Common terms and language used by all stakeholders
• Support iterative, rapid application development
• Generated documentation matches current implementation
• Promote and encourage reuse
• Promote and encourage compliance with industry standards
• Manage project risks

Enabling tools
Wizards and tools built into Process Commander directly support teams during each phase Ͷ not
just during the development (Construction) phase Ͷ of their projects.
By capturing even preliminary ideas about system objectives, system participants (actors),
assumptions, interaction scenarios or use cases, Process Commander provides value and useful
foundations very quickly. Information is saved in a single repository Ͷ a RuleSet Ͷ rather than in
disparate formats based on Microsoft Word, Excel, Visio, and other general-purpose tools.
Since these early ideas naturally evolve and change, the internal Process Commander
representation of them can be updated too, providing a project history and avoiding the need to switch
tools when "real development" starts.

When you are going to give the estimations during the project life cycle?
High-level estimations will be given in Conceptions phase which might deviate plus or minus xxx
Next level estimations will be given in elaboration phase which might deviate plus or minus xxx

When you are going take the requirements during the life cycle?
Elabration

Your project is T&M or Fixed Bid? (management related question)


Assurant project is T&M. GE projects are Fixed Bid. You can get this information from your PM

In case you are not able to deliver the project in time, how you are going to act on that? How you are
going to communicate with Client?
Development team should be transparent to the client. We should not hide the things going on
from technical side. In case of delay on deliverable we should discuss with Project management team as
well as Client. We should explain issues that cause the delay and should take the corrective action.

How you are going to Handel the team? What kind of relation you are going to maintain with team?
Project success or failure is always depends on the team. Team should maintain unity. During the
Project execution I always maintain a healthy relation with my team. In case team is facing any issues,
help them to come into track.

How you are going to design the enterprise architecture?

PRPC is a patented rule engine to deliver integrated business process management (BPM) and business
rules engine (BRE) solution
• Analyze the requirements in the context of the process commander solution
• Apply best practices to design the application, including the class structure, data elements,
forms, flows, process logic, and security.
• Work with the data, including the underlying database and interfaces to other systems or data
sources.
• Take advantage of the reporting and quality improvement features that come with PRPC
The benefits to your business are agility for growth, productivity, and compliance.
PRPC is an object-oriented development environment.
Define object first; then define process flow.
Start with the design process by defining the basic work objects that your application will handle. These
work objects from the skeleton of your class structure, which defines data and design elements
relationship. Finally define the process flows along with the work objects process.
Reuse and iterate:
Reuse is the timesaving advantage of the object-oriented design and iteration is the key to reuse. Always
start simply and add complexity gradually.
Start with a standalone application; connect with other system later.
Review roadmap to building an application
• Identity PRPC components
• Assemble a project team with the right skills and job functions
• Choose a methodology that supports iterative rapid development
• establish the project structure and plan
Analyze requirements
• determine the fundamental units of work
• identify participating business areas, functions, and people
• Identify interested work parties
• identify other impacted systems and data sources
• identify locales to accommodate
• describe major user scenarios for test cases
• Once done the requirement analysis thee should be a business review
Prerequisites and setup
• learn how the application accelerator streamlines development
• identify the and create ruleset
• identify and create the top-level class
• set up the organization hierarchy
• create operator id for the development team
Design the class structure
• Identify work object, cover and folder classes
• Define the class structure
• identify the work pools and work ids
• determine work parties and sources
Build the class structure and review work objects
• Create the class structure and class groups
• create work parties
• add basic flow and connect the user interface
• enter review standard work objects
• Once done the class structure thee should be a business review
Add properties and sample data
• review the standard properties
• Add work properties with qualifiers and aliases
• Create class specific models to set default property values
• Define and create declarative rules to automatically reevaluate properties
• simulate system connections with sample data
Tailor the user interface
• Explore the standard forms and behaviors
• add sections and properties to standard forms
• specify field formatting for added properties
• create custom attachments and links
• create sample attachment data
• Once done the Tailor the user interface thee should be a business review
Design flows and identify flow actions
To be continued. ͙͙..

How many layers do you normally have in your enterprise Class structure?/ What are different layers in
PEGA?
An enterprise level class structure consists of 3 Layers.
• PRPC Shared Layer
• Generalized Application Layer
• Organizational/Specialized Application Layer

PRPC Shared Layer


The PRPC Shared Layer consists of all the RuleSets, classes, rules, etc. shipped with PRPC and are
needed to ensure PRPC runs properly. Do NOT alter any of these classes or add new classes to the standard
RuleSets. This will ensure a smoother migration to new releases of PRPC.
Generalized Application Layer
The Generalized Application Layer stores base rules/processes/components for a given application.
This application would serve as the basis for N number of deployments throughout the enterprise. Aside from
items to test base functionality, implementation specific work instances are not stored in these classes.
Company specific logic/processes/rules are not placed in these classes, only the default edits, values, and
structure of the application. It can be considered the equivalent of an ͞ASP͟ model, where this is the base
application. Pegasystems-built Frameworks would fall under this category. The base framework application is
shipped, installed and developers extend classes from the base application and an Organizational specific
implementation. Application reuse is associated with assets specific to an application and common to more
than one business unit. For example, all divisions across an insurance organization could have some type of
Policy Administration or Billing.
Organizational/Specialized Application Layer
The Organizational/Specialized Application Layer is where your business logic, division or department
thresholds, rules, and other IP would exist. The class levels within this structure inherit from one or more
Generalized Application classes, and/or the Enterprise Shared classes. The class level breakdown is as follows:
OrgName- Your organization name.
OrgName-FuncDiv- The functional division of the organization (i.e. HR, Finance, Claims, IT, etc). This does not
necessarily need to match up to your org chart. In fact, it may be more appropriate to use the org structure. It
is intended to break out applications by the purpose they serve. Companies and departments may go through
several re-orgs, but the purpose of a claims application would remain the same.
OrgName-FuncDiv-Work- and OrgName-FuncDiv-Data- Divisional Work- and Data- classes intended as
placeholders for divisional reuse and specialization of rules. Example: Sales applies a specific commission rule
to all new work, but IT does not want this rule applied. When the commission rule is placed in the OrgNameSales-
class tree it will not affect the class tree OrgName-IT. [Note: if you do not include the directed
inheritance to Work- from OrgName-FuncDiv-Work- and you want rules that are appropriate to all
applications associated with the Functional Division to live in this class, Process Commander can͛t resolve the
rule since it only goes up the tree structure. This is true only during development. No problem at run-time.]
OrgName-FuncDiv-Work-MyAppName This concrete class will serve as the class group for the application.

OrgName-FuncDiv-Work-MyAppName-ObjectType These classes are the application specific


implementations
of Work Objects, Covers, and Folders. They directly inherit from the Generic Application level class
MyAppName-Work-ObjectType and (indirectly) from the Enterprise Shared Rules level class Shared-WorkObject-.

Which layer can be reused?


Generalized layer is reused as we are going to implement the reusable components and it will be
used across the different applications.

What is Abstract and what is Concrete?


An abstract class is a rule (an instance of the Rule-Obj-Class class) created to support the
definition of rules, including other classes. Such rules can be inherited by subclasses of the abstract class.
Rules with a class as a key part (such as properties, activities, flows, models, and so on) can apply to an
abstract class. In the Class Explorer display, a shape identifies an abstract class. An abstract class can be
a child Ͷ a subclass Ͷ of a higher abstract class.
A dash or minus character (-) as the last character in the class name indicates an abstract class.
For example, the Work-Cover- class is an abstract class, while Work-Cover-General is a concrete class.
Classes that are not abstract are concrete. Unlike abstract classes, concrete classes can have instances
stored in the database. A selection on the Class rule form determines whether a new class is abstract or
concrete.
A concrete class can have instances stored in the database. In contrast, an abstract class cannot
have any instances. A selection on the Class form determines whether a class is concrete or abstract. On
the Class Explorer display, the shape identifies a concrete class.
For all but a few classes, a dash or minus sign (-) character as the last character in the class name
indicates that the class is abstract and can contain other (abstract or concrete) classes. For example, the
Rule- class and Work-Cover- class are abstract classes, while Work-Cover-General is a concrete class.
Concrete classes usually appear near or at the bottom (leaf nodes) of the class hierarchy, but may appear
anywhere below the top level.

When you are creating a concrete class, what is Class Type? Explain the following
(a) Is a class group (b) does not belongs to a class group (C) belongs to a class group
If this class is to have persistent instances, select Concrete. (You can't select Concrete if the class name
ends in a dash.)
• Belongs to a class group to indicate that: (1) the key format of this class is identical to the key
format of another class, (2) an existing class group named identically to the other class exists, and
(3) you want to store instances of this class in the same table as instances of other member
classes. Typically, choose this option for a concrete class derived from the Work- base class.
• Does not belong to a class group to indicate that database storage of this class is determined by
the class inheritance and database table data instances.
• is a class group to have Process Commander create a class group data instance with a name
identical to the name of this class, This allows other classes to share a database table associated
with instances of this class.
As a best practice, choose belongs to a class group for any concrete class that is derived (according to
pattern inheritance from a class that has This class set to is a class group. Otherwise, warning message may
appear when you save the Class form. Although possible, avoid creating Database Table mappings for
subclasses of a class group that differ from the Database Table for the entire class group.
What are Directed Inheritance and Pattern Inheritance? What are the differences between directed and
pattern Inheritance? Which comes first in Rule ʹ Resolution and which one is mandatory?
Process Commander provides two types of class inheritance, both of which allow rules of ancestor
classes to be inherited:
• Directed inheritance Ͷ Allows you to name a parent class, choosing a name that's not related to
the name of this class
• Pattern inheritance Ͷ system determines the name of the parent class is based on an initial
portion or substring of the name of the class. Segments of the name are delimited by a dash (-)
character.
For example, the PegaSample-CustomerRequest class, part of the PegaSample sample application,
employs directed inheritance. Its directed parent class is Work-Cover-DupByCus. Based on pattern
inheritance, the parent class is Work-Object-. The class rule controls how inheritance works for a class.
Pattern inheritance
Process Commander provides two kinds of class inheritance, known as directed inheritance and
pattern inheritance. Pattern inheritance, an optional feature you 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. Select the Find by name first (Pattern)? check box on the Class rule form
to instruct the system to use pattern inheritance for this class. This check box corresponds to the
Rule-Obj-Class.pyPatternInheritance property. Pattern inheritance causes the system to search for a rule
in classes derived from the current class name by truncating, from the right, alphanumeric segments that
follow a hyphen (dash) character.
Use the Class Inheritance tool to confirm which classes are ancestor classes to a specific class, and the
order in which Process Commander searches these classes during rule resolution using both pattern
inheritance and directed inheritance. On this display, a dashed black arrow ( ) indicates a pattern
inheritance relationship; the arrow head identifies the pattern parent class.
What is a pattern?
Rule resolution always looks first for a rule it needs in the class initially provided, regardless of
the state of the Find by name first (Pattern)? check box. If the box is selected and the rule is not found,
rule resolution forms a sequence of candidate classes to search by truncating, from the left, portions of
the class name that consist only of a dash character, or consist only of characters other than a dash. If no
class exists for one of these computed names, rule resolution continues with the next prefix.
For example, a request for a rule in the WalCare-Financial-Credit class causes the system to search
through these classes, in the order indicated:
• WalCare-Financial-Credit
• WalCare-Financial-
• WalCare-Financial
• WalCare-
• WalCare
The algorithm
For a class using pattern inheritance, the following is a simplified description of the rule resolution
algorithm:
1. Search each class formed by repeatedly truncating the original class name, stopping if the needed
rule is found.
2. If the pattern search finishes without finding a rule, go back to the original class and use directed
inheritance to find the parent of the original class.
3. If the parent class identified in step 2 was searched during step 1, skip it and skip to step 5.
4. If the parent class was not previously searched, search it. Stop if the needed rule is found.

5. If not found, determine whether the parent class uses pattern inheritance. If so, repeat this
algorithm, starting at step 1, with the parent class.
6. Otherwise, identify the parent of the parent. Continue at step 4.
The ultimate base class @baseclass is searched last.
Example
For example, assume your application requests a rule from WalCare-Financial-Credit, which
derives from PegaCare-Financial-Credit, and WalCare-Financial-Credit uses pattern inheritance.
The system searches for the rule as follows:
1. Is the rule in WalCare-Financial-Credit? If not,
2. Is the rule in WalCare-Financial- ? If not,
3. Is the rule in WalCare-Financial ? If not,
4. Is the rule in WalCare- ? If not,
5. Is the rule in WalCare ? This is the end of the pattern. If the system still cannot find the rule, it
returns to Walcare-Financial-Credit and looks at the parent. If the parent was previously checked
because of a similar pattern, it continues with the parent's parent.
6. Is the rule in PegaCare-Financial-Credit? If not, see if PegaCare-Financial-Credit uses pattern
inheritance first. If so, start the sequence again. If not, go next to the parent of PegaCareFinancial-Credit.
Notes
No inheritance occurs for external classes, even when the class name contains a dash character.
Class hierarchy and inheritance Ͷ Concepts and terms
Process Commander's class hierarchy is a hierarchy for storing rules and data, not for Java
variables or Java methods. Each class, whether abstract or concrete, can contain properties, activities,
models, and many other rules. Only objects in concrete classes can be saved as persistent or enduring
instances in the PegaRULES database.
Use the Explorer to see the structure of classes on your system. In the Explorer display, the
hierarchy grows from left to right. At the top of the hierarchy is the ultimate base class, identified by the
keyword @baseclass. Its immediate child classes are known as the base classes. Concrete classes under
two of these base classes, Rule- and Data-, hold rules and data instances that application developers
create and update to build their application.
Instances of concrete classes derived from the Assign- base class and the Work- base class (and
perhaps a few others) hold the dynamic transaction data and status details as your Process Commander
application operates.
When any object is held in memory, it has an XML (eXtensible Markup Language) format visible
on your clipboard as pages and property name-value pairs. When stored into the PegaRULES database,

the persistent object instance becomes a row in a SQL-based relational database table. Three data classes,
accessed through the Database, Database Table and Class Group forms, together determine how Process
Commander saves and retrieves the XML data as relational database rows.
You application may need custom classes derived from these base classes:
• Work- base class (common)
• Assign- base class (rare)
• Data- base class (common)
• Embed- base class (occasional)
• Index- base class (occasional)
• History- base class (created automatically)
Careful planning and analysis are important before creating the new classes, to understand their
interrelationships and plan their positions in the standard class hierarchy. Maximizing reuse of standard
classes, standard properties, and other standard rules is a proven tactic for fast development at minimum
effort.
A database administrator can help design and plan Database Tables and class groups, as these
decisions can influence database performance and backup needs.
Many rules apply to a specific class, and potentially to subclasses of that class. Rule resolution is
Process Commander's search and lookup algorithm that uses inheritance to search through parent classes
in a defined sequence for a rule. For example, if a property rule named CreditLimit is needed at runtime in
the context of a class named Delta- CustomerCard, the system may search for a property rule with this
name in several classes:
• Delta-CustomerCard
• Delta-
• Work-Object-
• Work-
• @baseclass (the topmost class)
The search ends when a rule is found. Settings in the class rule (Rule-Obj-Class rule type) define
whether and how two mechanisms Ͷ directed inheritance and pattern inheritance Ͷ are employed
during this search.
Use the Class Inheritance diagram to confirm which classes are ancestor classes to a specific class, and
the order in which Process Commander searches these classes during rule resolution using both pattern
inheritance and directed inheritance. On this display, a solid arrow ( ) indicates a directed
inheritance relationship; a dashed black arrow ( ) indicates a pattern inheritance relationship. The
arrowhead of each arrow identifies the class of the immediate parent.

What is Rule-Resolution? How Rule-Resolution will find a rule? What is the background execution
behind that?
Rule resolution is the internal process by which Process Commander decides at runtime which
rule (of a set of candidate rules) to execute.
Rule resolution occurs whenever you need to use a rule to accomplish processing. Since many
different rules could be applied, rule resolution winnows all the candidate rules down to calculate the
most accurate way to do the processing. The rule selected is the one most appropriate for the situation .
For example, you may be working with an instance of the class Acme-Auto-ClaimsEntry, and may
execute an activity named Display. If the system finds that there is an activity Display that is defined both
on Acme-Auto and on Acme-Auto-ClaimsEntry, it chooses the latter instance, as that is closest to the
definition of the class structure of the instance.
Rule resolution begins by selecting all the possible rules with a particular name of a particular
type (activities, when rules, etc.). (In other words, if the system is looking for the activity Display, then it
would not select any flows or properties that were named Display ʹ it would only choose rules that were
activities.) Each rule is named by using one or more key properties which describe that rule͛s purpose or
behavior; all the rules with matching name values are chosen.
For example, the activity Display could be called on the class Acme-Auto-ClaimsEntry. At
runtime, all the activities called Display that are defined on Acme-Auto-ClaimsEntry or ancestors of AcmeAuto-
ClaimsEntry are chosen, including rules in different RuleSets, different versions, different date/time
ranges, and different circumstances. The object in question may be defined differently in all these places,
or there may be duplicate definitions in different classes or RuleSets.
The goal of rule resolution is to select just one rule that is the most accurate to be applied in the
situation. If rule resolution completes and finds s no valid rule, then the system reports a ͞Rule Not
Found͟ error. If instead it finds more than one valid rule, it returns a ͞Multiple Rule Version Exception͟
error.
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

a. Discard all choices that occur in the ranked list after the first ͞default͟ rule
7. Set the cache
8. Find best instance (and check to make sure there is not a duplicate)
9. Check that Availability does not show BLOCKED
10. Security ʹ Verify that the user is authorized to see the rule
NOTES:
• These steps occur in the order listed above. Thus, if there is a rule which has a particular
circumstance defined, but it is discarded due to its RuleSet and Version, the circumstance is never
checked.
• Not all rule types support rule resolution, and not all the qualifiers for rule resolution are valid for
rules which use rule resolution. In releases prior to Version 5.4, Circumstances and Date/Time ranges
are not supported for declarative rules, including:
Rule-Declare-Expressions
Rule-Declare-Constraints
Rule-Declare-OnChange
Rule-Declare-Trigger
Rule-Declare-Index

Have you worked on Reports? Elaborate.


A. What is the difference between summary view and list view?
Process Commander supports three kinds of reports: lists, summaries, and charts.
List reports display lists of data that match selection criteria. For example, an operator͛s work
list is a report of this type.
Summaries present the data that match selection criteria as an aggregate ʹ that is, summarized
lists that are organized by data point. This report shows open work, summarized by work status.

To drill down to the individual records, expand the section in the summary report. For example,
a click on the Status: New category in the preceding example makes the report display a list of those work
objects in a separate window:
Interactive charts display the data from a summary report as a pie, bar, column, area, or line
chart. For information about creating charts.
Reports are implemented through list view rules and summary view rules, which the Report
Wizard can generate for you. If you have a system administrator access role, you can share the reports
you create with other users and embed links to them on the Monitor Activity page.

What are the advantages of Reporting in PEGA?


PRPC includes an extensive set of standard reports in both tabular and chart format that provide
common metrics for business process management (BPM) Applications. We can also use the report
wizard or third party reporting tools to create custom reports
Standard reports are available directly from the monitor activity workspace. Standard reports
support the principle by facilitating data driven improvement of the business process.
PRPC is providing different kinds of Reports (List/Summary/chart) to track the status of the
business.

Have you worked on any Integration, like SOAP? Elaborate.


SOAP stands for Simple Object Access Protocol. SOAP is a W3C standard that provides a way to
communicate between applications running on different operating systems, with different technologies
and different programming languages. Based on XML, SOAP exchanges information over the HTTP
protocol.
A SOAP service (defined as a Rule-Service-SOAP rule) provides developers a way to allow an
external application, written in any language on any platform, a mechanism to execute a activity, pass it
parameters, and get a result. Within Process Commander, this activity can do almost anything: It can
create a work object, kick off a flow, or execute some calculations.
WSDL stands for Web Services Description Language. A WSDL file is a document written in XML;
the document describes a Web service. It specifies the location of the service and the operations (or
methods) that the service exposes. For each exposed method, the WSDL details the format that a request
and response SOAP message will expect or send. Process Commander can automatically generate a WSDL
document from a service package instance (which contains one to many SOAP services).

How Service rules work in PRPC?


At a high level, application integration is the ability of one application to talk to another
application through a series of requests and responses.
• The conversation between two programs is as follows:

• The calling application transforms data to be packaged up in the request


• The request is sent to another application (the receiving application)
• The receiving application parses out data from the request
• The receiving application performs some processing
• The receiving application transforms data to be packaged up in the response
• The response is sent back to the calling application
• The calling application parses out data from the response
As you will see later, in PRPC there are many ways in which you can integrate your PRPC
application to the external world, and they all support this basic definition of integration.
Historically, application integration has been achieved by using proprietary Application Program
Interfaces (APIs) which causes software to become brittle. Why? Because your software code is likely to
contain coding that is very specific to the API.
For example, let's say you have developed a front end for a benefits enrollment application. It
communicates with an ERP (Enterprise Resource Planning) solution as the system of record. Your front
end will have code strewn throughout that specifically references the proprietary API.
What if the API signature in your ERP solution changes? What if you want to dump your current
ERP vendor and go with another? You are forced to rewrite your front-end solution. And with a
proprietary integration solution, the non-integration code is likely to be geared toward the integration
solution. Tight coupling reduces the ability for your software to be used in other contexts reducing
business agility. This is often referred to as a point-to-point integration solution since the two pieces of
software integrate directly with one another.

How you are going to debug the service/Connector?


Services: There are many facilities to help test the services:
• Clipboard: Make use of the clipboard throughout your unit testing.
• Unit Test Service Activities: You can individually unit test your service activity prior to creating a
service package and service rule. It can be unit tested in the same way that you would unit test other
activities. Remember that once the service rule is created; the service rule will be doing things like
creating a Page, executing a Model, and setting data from the Request. You can create a wrapper
activity (that calls the service activity) to set up some of these things, and then unit test by running the
wrapper activity.
• Unit Test Specialized Rules: If you are using specialized rules in your data transformations, they can be
individually unit tested outside of testing your service rule or service activity. For instance, there is a
Run icon available on a Rule-Parse-XML rule. This allows you to enter the text to be parsed in several
different ways, and then see the results of the parse.
• Unit Test Service Rules: There is a run icon available on a service rule that allows you to unit test it.
By unit testing a service rule you can not only test the service activity, but the data transformations as
well. You will be prompted to enter in Request parameters, and if execution is successful, you can see
the Response parameter result. When testing, you can also identify whether you are going to use the
logged in Requestor context or a completely new Requestor context. If you use the logged in
Requestor context, then you can see the results in the Clipboard viewer.
• Trace Open Rule: For some service rules you can perform a Trace Open Rule on the service rule. This
opens up a tracer session and you can trace the service rule, not just the service activity. To make this
work you need to select Services in the trace options. The trace output for a service will show you the
data transformations that take place during Request and Response.

• Tracer: For some service rule types you can open up a tracer session and see the results when testing
directly from the external client application. This is very specific to the service type. It works for Soap
and .Net because these communicate via HTTP.
• PAL: You can run PAL to individually test out your service rules and service activities. It is also possible
to write PAL statistics to a log file using the PAL API.
• prlogging.xml: You can log the execution of PRPC classes that support service processing by
configuring the classes in prlogging.xml.
• Alerts: There are different options for configuring alerts that are relevant to services. Configuration is
done in prconfig.xml.
Connectors:
You can set up a connector simulator prior to having your connector activity and connector rule
created. Often during application development you will stub out your integration points (i.e. the
integration shapes in your process flow that call connector activities). Early in development you may not
have access to the database table you want to connect with, or you may not have access to the SOAP
service you want to connect with. The same goes for other types of connectors. A connector simulator
allows you to temporarily execute an activity that acts as a placeholder until you get the ͞real͟ connector
activity created.
There is the capability on connector rules to test out the connection to an external system. PRPC
makes sure it can ping the external system. For instance, PRPC makes sure it can:
1. Connect to the URL specified in a Soap connector rule
2. Connect to the database specified in a SQL connector rule
You can configure alerts for elapsed time of database operations. This is relevant for SQL
Connectors. Configuration is done in prconfig.xml.

Describe the steps to connect a data base using rule connect sql?
Use Connect SQL rules when your application needs to run complex Structured Query Language
statements such as joins 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:
• An activity that references one or more of four standard methods for operating on relational
databases Ͷ RDB-Open, RDB-List, RDB-Delete, and RDB-Save. The names of the methods match the
names of the tabs in the connector rule. An activity that uses RDB-Open to call a connector rule runs
the SQL statement on that connectors Open tab, and so on.

• A Database instance and one or more Database Table instances that provide access to the tables or
views of the external database.
• A JDBC library that provides access to the external database software.
• Special data mapping syntax to associate properties with database columns.
Use Connect SQL rules with an external database. Except in unusual situations, use the ObjBrowse method or
Obj-List-View method rather than Connect SQL rules and RDB methods for the
PegaRULES database.
When you need to access objects in a PegaRULES database, the RDB- methods and Connect SQL
rules may not work, because not all the properties in the PegaRULES database are distinct database
columns. Use the Obj-Open and Obj-Save methods, not the RDB- methods, with the Process Commander
database.
Debugging
Use the Clipboard tool to see the final SQL statement sent to the database and the results. (Use
the Tracer tool with breakpoints to pause processing before or after the RDB method executes.) For
advanced and detailed debugging, use the DB Trace feature of the Performance tool.
Using views for SQL involving multiple tables
As a best practice, restrict the SQL statements to operate on a single table, aligned with a
database table value and the Applies To key part of the Connect SQL rule.
If your SQL needs to operate on multiple tables, consider implementing a view within the
database that presents the columns. This approach places some responsibility for good database design
and performance with the database administrator and database software.
Testing connectivity
After you save this rule, you can click the Test Connectivity button to confirm that Process
Commander can find, log into, and communicate with the database. This button does not cause the SQL
to be processed and does not alter the contents of the database.
The system presents test results in a separate window, identifying the parameters used in the
test, the steps attempted, and the outcome of each step.
How this rule works
At runtime, the system interprets the keywords in the context of your clipboard, Database Table
and Database information to form the final SQL. It then executes the SQL using standard database access
capabilities.
Each operation involves the SQL statement on one tab of the rule. To determine which database
to access, the system uses this search algorithm:
1. Uses the database table associated with the Class of a {Class } directive in the source SQL statement.

2. When the SQL contains no {Class} directive but contains a {Table} directive, searches through DataAdmin-DB-
Table instances for a match on the table name, and uses the database identified in the
referenced Data-Admin-DB-Name.
3. Uses the database table associated with the Applies To key part of the Connect SQL rule.
Algorithm 2. Can produce uncertain results if two tables in separate databases have the same
name. Use {Class} rather than {Table} when feasible.
Data retrieved from a relational database is saved in clipboard pages.
Your activity can perform two or more RDB methods, for example first to open one record (row)
in the database and later to save the record with updated values. The activity can first execute the RDBOpen
method, referencing the first instance. The row data is then on the clipboard; the activity can
modify the data (using Property-Set and other methods). The same activity can then execute the RDBSave
method, to store the updated row into the database.
Each RDB-Delete and RDB-Save method execution commits the changes to the external
database. You cannot combine the database commit operations of multiple statements.
Notes on date and time values
In its internal PegaRULES database, Process Commander stores date and time information
adjusted to GMT time, based on the time zone of the server. The PegaRULES database contains few dates
without a time and zone, and few times without a zone and a date. This approach facilitates date and time
comparisons and arithmetic regardless of the time zone of users or external systems that interact with
your system. See Understanding the Date, TimeOfDay, and DateTime property types.
If the external database accessed through Connect SQL rules contains dates without a time zone,
or times without a date and time zone, analyze these values carefully. Use caution before making
comparisons of external dates and times with date/time values within Process Commander.
For example, the Oracle DATE data type requires a time. If you store a Process Commander
property of mode Date (which has no time) into an Oracle DATE column, the time portion of the value is
defaulted to 00:00:00 GMT, which may not be appropriate. As a workaround, store Date values into
Oracle columns of data type VARCHAR.
Debugging SQL and SQL Performance
You can use the DB Trace feature of the Performance tool to view in depth the SQL operations of
a Connect SQL rule.
Limitations
The database you reference in the Connect SQL rule must be the default database of the database
user account identified in the Database data instance.
Connect SQL rules can access an IBM DB2/390 database, with two restrictions:
• Do not execute stored procedures

• Do not use the SELECT AS statement with a column name


Connect SQL rules can access an IBM DB2 Universal Database (UDB) database, except for database
columns with a DATE data type. Use syntax similar to the following as a workaround:
SELECT TIMESTAMP(RPT_DATE, ͛00.00.00͛) AS ͞ .RPT_DATE͟
SQL connectors cannot process columns of data type ARRAY, IMAGE, or CLOB (Character Large
Object).
Microsoft does not supply a JDBC driver for Microsoft Access databases, although third-party facilities
are available. As a workaround, some Process Commander applications have converted Microsoft
Access databases to SQL Server databases, or exported the data to CSV files that are then imported
using Service File rules.

What is assignment? Did you work with assignments? explain


An assignment is an instance of a class derived from the Assign- base class. Assignments record a
temporary condition of an open work object within an executing flow. The condition requires a user or an
external system to act on a work object for it to progress.
The phrase " perform an assignment" refers to a user's analysis, research, data input, and
decisions that cause the assignment to be completed. (In certain situations, assignments can be processed
completely or in part by a Process Commander agent rather than by a person.)
Assignments are created by a flow operating on a work object, but assignments are not
themselves part of the work object. The system saves data recording an assignment in instances of the
Assign-Workbasket class, Assign-Worklist class, or other subclasses of the Assign- base class.
In a flow diagram, the symbol identifies an assignment task, which references an activity
with an Activity Type of Assign. At runtime, assignments appear on a user's worklist, or on a workbasket's
list, in decreasing order of urgency. The research, analysis, decision making, and data entry that a user
does to complete the assignment is known as processing the assignment. After the assignment is
complete, it disappears from the worklist.
Optionally, assignments may have an assignment status, with values such as Current or Next. This
status is not related to the work object status, a different property in a different class.
Notes
• From the worklist display, users can click the Where-am-I? button ( ) to identify the current
assignment shape on the Visio diagram representation of the flow rule.
• By default, assignment tasks are designated as entry points, which allows users to return to them
when processing later assignments, by using the breadcrumbs control or the Work-.Previous flow
action.

• By convention, many standard activities assume that an assignment instance when on the clipboard
has a page name of newAssignPage.
• One work object may have multiple flow executions in process and each may have one or more open
assignments. An activity can iterate through property .pxFlow("flowname").pxAssignmentKey to find
the handle of each open assignment.
• Agents can complete assignments and cause a flow execution to progress. The standard activity Work-
.ResumeFlow allows an agent Ͷ typically the Pega-ProCom agent Ͷ to select and complete a flow
action ordinarily routed to a person. When called by a service level rule, this activity can implement a
business practice such as "If the manager does not reject a request within 30 days, the request is
automatically approved."

What is Cover/ Folder? Explain in detail?


Both covers and folders are work objects that can group other work objects. When the use of covers
preferable over use of folders, or vice versa?
Cover: A cover is a work object that is also a parent to one or more related work objects. Typically one
work party Ͷ such as the customer party Ͷ is present in the cover work object and also present in all of
the covered work objects associated with the cover. The covered work objects are the children in a
parent-child relationship.
Folder: A work object folder is a work object in a concrete class that inherits from the Work-Folder- class.
A folder object holds a collection of one or more other work objects (which themselves may be basic work
objects, other folders, or covers) providing access for analysis and reporting. By convention, the work
object ID of folders has the format F-99999.
In contrast to covers:
• One work object may be associated with multiple folders, but only with one cover.
• Members of a folder can belong to different work types, which need not belong all in a single work
pool.
• The relationships between folder work objects and their contents may be many-to-many.
Example
For example, some of our order fulfillment workflows are constructed to never send out partialfill packages if the
order is awaiting a back-order. For other fulfillment workflows, partial shipments are
OK. (These distinctions are based upon a customer-expressed preference).
A third kind defaults to partial shipments unless there are explicit instructions otherwise.
I'm considering the use of covers for the whole-package-only work objects, but folders to group
the partial-package ones. On the other hand, I could implement both processes without covers or folders
at all, using conditionals and service level rules to govern the processing.
Suggested Approach

Process Commander work objects capture 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:
• Covers can be resolved automatically when all their constituent ("member") work objects are
resolved.
• A standard harness rule is available that displays a cover and lists its member work objects.
• Folders offer a vehicle for keeping track of one or more commonalities among otherwise
disparate work objects.
For example, the work objects originated by a specific customer may not have much else in
common, but associating them using a folder provides a means of having the customer's past
requests easily accessible.
There's no single test that determines the better approach.
Example
If each element of a "whole-package-only" order results in a separate work object, all of which
are governed by a cover, then you can indeed use standard rules to prevent resolution of the cover until
all of its constituent items are resolved. Specifically, invoke the ticket rule Work-Cover-
.AllCoveredResolved in your flows.
You could also use covers (rather than folders) to govern the partial-package items, but not
invoke the resolution restriction. This offers the advantage of having a uniform overall structure for
workflows that then differ by only that one aspect (whole or partial shipment).
Alternatively, you could use folders (or even work objects alone, without any grouping) for both
types of order fulfillment workflow - making sure to branch your processing conditionally. One upside to
this approach is that you can tailor it quite specifically. The question is whether such fine-grained control
is more valuable than the out-of-the-box functional power of covers and folders..
Cover:
Some Business Process Management materials refer to cases and case management, rather than
the Process Commander term cover.
Benefits
A cover work object provides a means to coordinate 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.
The cover facility has many practical benefits. For example, if a single customer request causes a
user to create three separate work objects, these work objects may follow separate flows, be handled by
separate departments, and not otherwise affect each other. The cover object provides a way to

consolidate, view, and manage the outstanding service requests of this customer. After all three covered
work objects become resolved, the cover work object can be resolved.
Using the cover facility is optional. You can use the PegaSample sample application to learn
about covers and determine whether this feature is useful in your application:
• Open a WorkManager portal. Select the Process Work workspace.
• Select Sample Work as the current work pool.
• Enter a Customer Request object. These work objects are covers that can cover multiple General
Task work objects.
• To enter the first covered work object, select General Task as the Issue.
• Select Add Work... and select General Task to enter a second and subsequent members of the
cover.
Covers as seen by application users
Work object forms support working with covers and its covered objects:
• Click the View Contents button ( ) at the top right of the cover work object form to access the
member work objects.
• From the ALL tab, select any single cover member work object using the drop-down list or click a
row.
• Click the yellow cover ID link to return to the cover-only display.
By convention, the work object IDs of covers have the format C-999999; basic work objects have
the format W-99999. Your application need not follow these conventions.
Developer facilities for covers
Internally, a cover is a work object that is an instance of a concrete class derived from the WorkCover- abstract
class. Your system includes harness rules, flow action rules, and activities that support
working with covers. The covered work objects can be of differing work types. However, the work type of
the cover and the work type of the covered objects must all belong to the same work pool.
• Locking Ͷ By default, locking a covered work object also locks the cover work object. This is
desirable because the cover work object may contain totals, balances, counts, or other derived
values that require single-threaded access.
• Page Names Ͷ By convention, a cover work object occupies a clipboard page named
pyCoverPage; the covered work object is on a page named pyWorkPage. Many standard
activities depend on these naming conventions.

• Ticket Ͷ The standard ticket rule Work-Cover-.AllCoveredResolved alerts a cover flow that all the
member work objects are resolved. If your application is to incorporate this constraint, include
this ticket in the flow rule or rules for the cover work object.
• User access Ͷ The View Contents button ( ) on a cover work object starts execution of a list
view rule named {AppliesTo class}.WorkInACover.ALL, which is embedded using the
<pega:listView> JSP tag. The standard list view rule Work-.WorkInACover.ALL displays the
urgency (pyUrgencyWork property), work object ID (pyID), subject (pyLabel), and status
(pyStatusWork) fields as columns, without sorting. You can copy and override this list view rule
for your work types, choosing different columns, add sorting as required, and enabling paging if
required. However, note that list view rules with paging enabled cannot sort rows by work object
ID, as the Work-.pyID property has a custom sort function.
• Flow actions Ͷ The standard local flow actions Work-.AddToCover, Work-.AddCover, and Work-
.RemoveFromCover allow user management of cover contents.
• Harness rules Ͷ The Work-.NewCovered harness rule supports entry of a new cover and cover
members.
• Process Engine API Ͷ Activities Work-.AddCoveredWork, Work-.AddCovered, and others support
operations with covers.
Folder: Example
To review or work with a flow rule that creates a folder work object, examine or test the
standard flow rule PegaSample-Folder.NewWork.
As a business example, consider a purchasing application where a basic work object is a line item
on a single purchase order:
• The purchase order corresponds to a cover object. Every line item belongs to one purchase
order.
• Folders organize open purchase order line items by our part number and also by the vendor's
part number. A folder work object (in Work-Folder-OurPartNum work type) may be associated
with several line items, and one line item can simultaneously belong to a Work-FolderOurPartNum work object
and a Work-Folder-TheirPartNum work object.
Standard rules
These standard rules support folders:
• Work-.AddToFolder flow action Ͷ Add a work object to a folder
• Work-.RemoveFromFolder flow actions Ͷ Remove a work object from a folder
• Work-Folder-.Review harness Ͷ Show folder work object, includes the View Folder Contents
button ( ) to access contents

• Work-Folder-.Perform harness Ͷ Update folder work object and contents


• Work-Folder-.ReviewforExplore harness Ͷ Split-screen presentation
• Work-Folder-.FolderContents section Ͷ Show folder contents
• Work-Folder-.NewWork flow Ͷ Create a folder
Notes
A folder work can be a member of other folder work objects.
Instances of the Link-Folder class associate of work objects with folders.

Your applications in production. Because of the business requirement your Flow has been changed.
What will happen to the existing work objects? What are the ways you can use the existing work
objects?
Once an application is in production, care must be taken when changing flow rules already in use.
Some developers mistakenly test such changes (in a development system) with only new work objects.
Later, when their updated but poorly-tested flow rules move to production, the assignments on older,
existing work objects fail.
Failure to consider open work objects progressing through updated flows can result in problem
flows, stuck work objects, assignments in error, orphaned assignments, and other errors.
This article lists the advantages and disadvantages of four approaches to this design issue.
Choose the approach that best fits your needs.
Suggested Approach
Background
Process Commander lets you "build for change." This means that existing assignments and work objects in
the system automatically pick up many of the latest changes to your flow rules.
For instance, if you update a flow rule to add an additional local action to an assignment shape,
users can perform the new local action for existing assignments in the production system, even
assignments that were created long before you changed the flow rule.
Each assignment object (such as instances of the Assign-Worklist or Assign-Workbasket class)
records the following information about their parent flow rule:
• pxTaskName Ͷ The Visio-generated shape ID of the assignment shape it is linked to.
• pxTaskLabel Ͷ The developer-entered text label of the assignment shape.
• pyInterestPageClass - The first key part of the flow rule (pyClassName).
• pyFlowType Ͷ The second key part of the flow rule.
As you can see, the pzInsKey of the flow rule, which uniquely identifies the rule, is not stored, by
design.

What sorts of changes to a flow can cause problems?


• Removing an assignment shape for which one or more open assignments exist. The old
assignments become "orphans".
• Replacing an assignment shape. If you remove an assignment from the flow diagram and later
replace it with a new assignment giving it the same name, internally it may have a distinct
name. Flow processing relies on an internal, Visio-generated name for each shape.
• Removing or replacing the other wait points in the flow, such as the Subflow shape and the Splitfor-each
shape. If you examine an embedded flow page of a work object, you'll see that it keeps
track of the shape ID in the parent flow.
Approaches to safely changing flows
No approach among the following is always best. Each configuration and business setting is is
different and so you must choose the one that best fits your needs.
Approach 1: Create distinct flow rules, either by choosing new flow names or by circumstancing, leaving
the old flow ones as they are.
Copy and clear the Creates a new work object check box on the old flow rules, and check the Creates a
new work object box on the new flow rules, so that new work objects are based only on the new flows.
If you choose circumstancing, you probably want the default v to be the new flow (in the higher version
number), and the circumstanced version to be the older one. You'll probably want to use date
circumstancing as opposed to property circumstancing.
After these changes are moved into production, the New Work gadget will then list only the new flow
rules, and new work objects will thus execute using the new flows.
Advantages: This is straightforward to implement, provided your flows aren't too deeply nested with
subflows.
Drawbacks: After a few releases, your set of flow rules will grow and maintenance may become difficult,
especially if a mix of assignments pointing to the various versions is in production. This approach is not
ercommended if your changes require you to modify 4+-level deep subflows
Approach 2: In the updated flow rules, leave all the old flow wait points unchanged. (Assignment,
Subprocess, Split-for-each). You can drag these shapes off to one side and modify the flow so that these
shjapes no longer have any incoming connectors, but keep their outgoing connectors intact. This way,
new work objects never reach these outdated shapes, but the work objects at older assignments will still
follow the same path.
At some point later, you can run a report that checks whether the old assignments are no longer in use.
If so, you can then remove the flow wait points in the next version of the flow.
Advantages: This allows all your work object to use the same rule names across multiple versions

Drawbacks: This may not be a feasible solution depending upon your configuration changes. This
approach produces cluttered Visio diagrams.
Approach 3: Add tickets in the newly modified flows to control where processing of each type of old
assignments is to resume processing. Run a bulk processing job that finds all the outdated assignments
in the system. For each assignment, the bulk processing should call Work-.OpenAndLockWork, then call
Work-.SetTicket on the work page.
Advantages: Leaves your flow rules clean. Best accomplished as an overnight job.
Drawbacks: This approach may be impractical if the set of assignments is too large, or if there is no
moment when the background processing is guaranteed to acquire the necessary locks.
Also, an administrator may have to run this bulk processing activity several times until all the
assignments are successfully locked and updated.
Approach 4: Revert the user's RuleSet list to the original, lower versions when dealing with the
older assignments.
Advantages: When the changes between versions go beyond just the flow rules, this is the only sure
approach.
Drawbacks: This may easily have unintended consequences, where desirable fixes in the higher RuleSet
version aren't executed because the user's RuleSet list is too low to include them.
Conclusions
Using one or a mixture of these approaches allows you to successfully navigate the challenge of
updating flow rules that are already in production.
The most important thing to remember is to always, always, test updated flow rules with existing
work objects, not just newly created work objects.
If you do encounter problems and some assignments become to problem assignments, utilize the
problem assignment list view to make bulk fixes as necessary. In V5.1, you can access the problem
assignment list view from the Developer portal. Select View > System >Assignment Errors. ( In older
versions you can also access it from the Problem Work link on the Dashboard.)
NOTE: As noted above, if you remove an assignment shape and replace it with a new one but
keep the label the same, the internal Visio ID is changed. In flow rules first saved before V4.2, the label
and Visio ID are often the same, but since V4.2 added assignment shapes have an ID like
"ASSIGNMENT51".
So an error message such as "The task ͚Development͛ cannot be found in this flow͟ can be
confusing, because you see that the label is unchanged, but the error reports the Visio ID, not the label.

How do you monitor performance? How do you get the alarm that application not for or there is not
enough memory? In other words, How you can check the performance of your application?
Investigation Tools
Important tools that are available in the system to track different aspects of performance:
• PAL
• DB Trace
• Garbage Collection
• Log-Usage
PAL
PAL stands for Performance AnaLyzer, and is a collection of counters and timer readings that an
application developer uses to analyze some performance issues in a system. Process Commander
captures the information necessary to identify processing inefficiencies or excessive use of resources in
your application and stores this data in ͞PAL counters͟ or ͞PAL readings͟ for one requestor or node.
PAL is a tool which should be used to gain insight into where the system is spending resources;
poor performance, such as delays in processing, refreshing screens, submitting work objects, or other
application functions, will be highlighted. Use PAL to determine whether there are resource issues
impacting performance, or whether issues may arise when more load is added to the system.
NOTE: These PAL readings are not meant to give developers a definitive answer about
performance problems. PAL readings highlight processes which fall outside of the norm. Depending
upon how the application is constructed, there may be good reasons why a particular application has
readings at a certain level; something which in general might be considered too high a reading might be
correct for your application. PAL gives the developer the capability to analyze and explain these
readings, as well as investigate problem readings.

For full details on how to take and analyze PAL readings, see:
DB Trace
DB Trace is a tracing facility used to assist in tuning system performance. If users are perceiving
that work items in the system take a long time to process, and the PAL readings point to database
interactions, the DBTrace facility might help determine where the time was being spent. DBTrace
displays a lot of low-level detail about system-level interactions with the database.
This function records the sequence of database SQL operations that Process Commander
performs during processing, such as reads, commits, etc. Unlike the Trace facility, DBTrace cannot
support real-time display of operations data. Instead, DBTrace places data into a text output file which
records all the low-level database operations that Process Commander performs. Then you can use an
Excel template included in DBTrace materials to format this data for viewing.
DBTrace should be used when the PAL counts show:
• the Database Access counts are high
• Elapsed Time is high (especially if CPU time is low)
• the Database Threshold is exceeded
• Elapsed Time for Connects is high (this could be some other connect, such as Rule-ConnectSOAP, but it also
tracks Rule-Connect-SQL, which is used for many SQL requests to the database)
If a complex SQL query to the PegaRULES database is taking a long time to return, DBTrace can give
further information on details of the query. For full details on using DBTrace, reference these System
Tools documents:
Garbage Collection
Process Commander runs within the Java Virtual Machine (JVM), which allocates space for
applications to run in virtual memory. This space is known as the ͞heap.͟ On initialization, the JVM
allocates the whole heap in a single contiguous area of virtual storage; within that limit, the heap may
expand or contract, depending upon the space required for various objects. Objects are allocated space
in the heap, used, and then discarded.
An object continues to be ͞live͟ while a reference (or pointer) to it exists somewhere in the
system; when an object ceases to be referenced from the active state, it becomes garbage. Rather than
keeping all the discarded objects in the heap (which would eventually take up all the space in the
system), the Garbage Collector runs and removes the objects from allocation, freeing up the memory
they occupied for reuse.
Garbage collection is a key function to check when troubleshooting performance. The time the
system spends collecting garbage is essentially all CPU processing time; thus, the system can suspend all
user processing while running the garbage collection process. This means that garbage collection can
have a massive effect on performance.

Log Usage
Unlike the PAL tool, which shows data for one node only, Log-Usage reports shows overall
system activity. Based on the number of interactions, the Log Usage will show various Performance
Analyzer counts of system usage, so the system administrator can see what activities are going on from a
system-level perspective.

What are debugging tools?


You can use the Tracer, Clipboard, Performance Tool, System Management application, and the
log files when debugging and monitoring any Process Commander application.
Tracer: The Tracer is a tool that monitors an individual requestor session, tracking the execution of rules.
You can set breakpoints, pause the processing while you examine the results of an action and review
property values.
Clipboard: The Process Commander mechanism for transferring data between an application and the
database is the clipboard. Process Commander keeps XML-based structures called pages in memory, and
pages contain property-value pairs. A page is an instance of a class rule, and the page holds the current
property values for that instance. You use the Clipboard tool (Figure 2-2) to examine property values and
messages associated with them and to determine how to reference properties.
Performance Tool (PAL): The Performance tool (PAL) enables you to gather statistics about the
performance of your Process Commander system. This tool collects ͞snapshots͟ of a requestor on
demand as it executes. You use this tool to display statistics and identify incremental resources consumed
by your processing.
System Management Application: The System Management application uses Java Management
Extensions (JMX) to track the system functions of your Process Commander system. JMX is an industry-

standard, J2EE-compliant administrative interface to applications running in the JVM, and it is used to
administer, monitor and otherwise manage resources that are deployed in the application server.
The System Management application allows system administrators the ability to track all the Process
Commander nodes and examine key indicators for the system across the enterprise.
Log Files: Process Commander uses the Apache Jakarta log4j package for logging and messaging. Log
messages are written to either the Alert log file or the Pega log file.
In addition to the analyzing the information available through the Clipboard, Tracer, and the
Performance tool, you should examine the messages written to the log files when testing your integration
projects.
Process Commander uses the Apache Jakarta log4j package for logging and messaging. By
default, the logging implementation reports messages with a severity level of alert or higher ʹ alert, error,
and fatal ʹ for the Process Commander Java classes and for individual rules like activities or service or
connector rules.
Certain kinds of processing events also cause alert messages to be reported. For example, alert
messages are reported when database operations return too much data or HTTP interactions take too
long.
Log messages are written to one of the following log files:
• 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.
While testing your integration projects, you can increase log level settings, add more loggers, and
examine the results in the log files.
You can access the log files in several ways:
• From the Process Commander menu, choose Tools > Log Files.
• From the System Management application, choose Logging and Tracing.
• For the Pega log only, you can use the Remote Logging feature. This feature uses the log4j socket
server to stream the contents of the standard log file to your PC. That way you can watch the
Pega log as it is updated while you run a service or step through a business process.
Requestor Context and the Tools: Process Commander users are represented or interpreted as
requestors. Requestors are Java objects that hold information about a user and that user͛s session. The
requestor context for a connector is different from that of a service:
• Typically, connectors run in your session as your requestor ID. You create a work object and when the
work object reaches the Integrator task that invokes the connector, it runs in your requestor context.

• A service runs in the background, in a new requestor session with a requestor ID that is not created
until the service begins processing.
When launched from the Process Commander menus, the Tracer, the Clipboard, and the
Performance tool (PAL), show information about your requestor session. This means that it is easy to
gather information when testing connectors. However, there are extra steps that you must take when you
want to gather information about a service.
The System Management application provides on-request monitoring of the entire Process
Commander system, not just the activity of your requestor ID. When you review the output of this
application, you can identify and observe background sessions such as services, listeners, agents, and
connectors that are not visible in other ways. For any requestor that is currently interacting with the
Process Commander system, you can select it from the list and then run the Tracer, the Clipboard, or
examine performance details.

What is class Group?


A class group is an instance of the Data-Admin-DB-ClassGroup class. 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 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.
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.
What is Work Pool?
The work pool for a user is the set of all the work objects (open and resolved) of all the Workclasses that a user
can enter (in one application).
The system determines which work types (which classes derived from the Work- base class) a
user can enter from a list of class groups. These class groups are specified in an access group associated
with that user.
A single user can create work objects that belong to different class groups. For example, suppose
three applications are defined by RuleSets Alpha, Beta, and Gamma. Assume that each application has
one class of work objects, with the class names Work-Alpha, Work-Beta, and Work-Gamma, and that one
class group is defined for each application.

Tom's access group can let Tom be a user of only the Alpha application. Tom can create, review,
and update only Alpha work objects.
User Mary is a user of both Beta and Gamma applications and so can create, review, and update
both Alpha and Beta work objects. User Fred can access all three applications.
The selected work pools also affect the operations of the Application Explorer and the scope of
reports in the Monitor Activity workspace.
On the Requestor page of the clipboard, the property pxRequestor.pxCurrentWorkPool holds the
value of a user's current work pool.

What is Work Group?


A work group is an instance of the Data-Admin-WorkGroup class. A work group can identify a
user who is a supervisor, and a set of workers and workbaskets that report to that supervisor.
For the supervisor of a work group, the My Group area of the Process Work space provides quick
access to the worklists and workbaskets associated with the group. Work groups are a primary unit of
summarization in standard management reports on the Monitor Activity workspace.
An Operator ID data instance (Data-Admin-Operator-ID class) usually identifies a work group to
which a user belongs. If left blank, that operator can enter work objects but not access a worklist or
workbaskets.
Work group information is not related to the three-level organizational hierarchy consisting of
unit, division, and organization. Work group membership does not affect a user's RuleSet list.

What is Access Group?


An access group is an instance of the Data-Admin-Operator-AccessGroup class. Access groups
make a set of RuleSet versions available to requestors.
Developers define access groups and associate an access group with each user (each DataAdmin-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.

What are the difference between Map value and Map value pair?
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-MapValue rule type. This rule type is part of the
Decision category.
Decision Rules VS Declarative Rules

Decision rules perform a calculation or test that often is used to determine the next step in a
flow execution or other calculations. V5.4 contains six types of decision rules:
• case match
• decision table
• decision tree
• hierarchy
• map value
• when

Declarative rules offer an attractive alternative to procedural calculations. Changes in some


property values Ͷ from any source Ͷ are automatically propagated forward or backward to change
other property values. V5.4 contains six types of declarative rules:
• Constraints
• Declare Expression
• Declare Index
• Declare OnChange
• Declare Trigger

Explain about Declare Index, Declare OnChange, Declare Trigger


Declare Index: Indexing can improve performance and facilitate 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 properties that cannot be exposed as database
columns because they are embedded within an aggregate property.
If the data design for your applications includes embedded page properties or other complex
properties whose values you must include in reports or whose values you need to use for sorting and
queries, configure declarative indexing for those properties to expose them.
Index instances are sometimes called alternate keys or secondary keys. The system saves indexes
as instances of concrete classes derived from the Index- base class.
The rules map the individual elements of a complex property from the source object class to the
index class. You use a database table mapping to map the index class to the appropriate index table.
Declare OnChange: A Declare OnChange rule automatically executes an activity, or suspends the current
work object, when the value of a specified property changes.
For each OnChange rule, Process Commander tracks the properties listed for changed values.
After the completion of each activity step Ͷ in any activity that directly or indirectly affects these
properties, any changed values in these tracked properties causes the OnChange rule to execute.
For example, a Declare OnChange rule can update a year-to-date counter property (an integer)
to track how many times a work object status changed in value. Another Declare OnChange rule can
compute the average dollar amount of work objects entered by a work group, in real time.
Declare OnChange rules can force all processing on a work object to be suspended pending an
independent review of the situation. The independent review is supported by one or more flow rules. This
feature can support compliance, fraud detection, and quality control staffs.

Declare trigger: A trigger is the event or method that triggers the processing of a use case. Create Declare
Trigger rules to cause an activity to run when instances of a specific class are created, updated, or deleted
in the database. This implements a form of forward chaining.
For each Declare Trigger rule, Process Commander monitors database operations for objects of
the Applies To class (and concrete classes derived from that class). During database commit processing,
forward chaining processing may trigger Ͷ start execution of Ͷ the activity identified in this rule.
For example, a Declare Trigger rule can execute an activity each time an instance of Data-PartyPerson class is
saved with a modified ZIP code (property Data-Party.pyPostalCode). The activity might
send an e-mail message to the sales representative whose territory includes the new address. Similarly, a
Declare Trigger rule can implement a form of logging or audit history for a class, recording the date, time,
and other facts.

What are the types of activities in PRPC and when you are going use?

Activity: Any activity that is not one of the activity types below.
Assembly: Reserved. Do not use.
Assign: An activity that creates an assignment, an instance of a concrete class derived from the Assignbase class.
Referenced in a flow to support an assignment. These activities may be referenced by an assignment shape ( ) on
a flow rule.
Connect: An activity that calls a Rule-Connect- external system interface. These activities may be
referenced by an Integrator shape on a flow rule.
Locate: An activity that finds a locatable page; referenced on when condition, Declare Expression and
Constraints rules only.
Load Declarative Page: An activity that adds values to declarative pages. Referenced on Declare Pages rules
only.
Notify: An activity that sends correspondence to a work party in a work object. These activities may be
referenced in a notify shape on a flow rule.
OnChange: An activity that starts automatically when another activity step changes certain properties, as
defined through a Declare OnChange rule.
Route: An activity that determines which user worklist or workbasket receives an assignment. These
activities may be referenced in a router shape ( ) on a flow rule.
Trigger: An activity that starts automatically when an object of a certain class is saved, as defined
through a Declare Trigger rule.
Utility An activity that typically updates a work object and is referenced in a flow, but requires no user
interaction. These activities may be referenced in a utility shape ( ) on a flow rule.
Validate An activity that validates the contents of a rule or data form. (Rarely needed in applications.)

What is the difference between the value list and value group, Page list and page Group
Value List: a Value List property is a single property that has as values an ordered list of text values. The
system does not limit the number of entries in a list.
A Value List property may have none, one, or many sequentially numbered strings as values,
indexed by a numeric index (subscript) starting at 1. Elements must be created with contiguous
subscripts: 1 before 2, 2 before 3 and so on.
Value Group: a Value Group property is a single property that has as values an unordered set of values of
any Type. The system does not limit the number of entries in a group.
A Value Group property may have none, one, or many values as values, each uniquely identified
by a constant string value as subscript. Like Value List properties, Value Group properties are known as
aggregate properties.
Page List: A Page List mode property is a data structure consisting of an ordered list of zero or more
pages, each identified by an integer index (starting with 1). Page List is one of the eleven modes a
property rule may have. Pages must be created with sequential subscripts: 1 before 2, 2 before 3 and so
on.
In contrast, a Page Group data structure may be empty or can contain one or more pages, but
the order of the pages is not significant. On the Clipboard tool and Explorer displays, the icon identifies
Page List properties.
You can call one of the standard activities @baseclass.AppendToPageList or Work-
.AppendToPageList to add a page to a Page List property.
Page Group: A Page Group is a data structure consisting of an unordered set of pages, each identified by a
string subscript value. In contrast, a Page List data structure uses numeric indexes (subscripts) 1, 2, 3 to
identify an ordered list of pages.

Security- Access-Skills
Access denied rules?
Use an Access Deny rule to restrict users who have a specified access role from accessing
instances of specific classes under certain conditions. Denial of access to the class can depend on the
production level value (1 to 5) of your system or whether certain Access When rules evaluate to true.
By default, Process Commander denies all access to a class except when explicitly granted by an
Access of Role to Object rule. However, government, or company regulations and policies sometimes
require explicit denial of access to specific capabilities. In these cases, use Access Deny rules to explicitly
deny access to an access role and class combination.
Consult the Administration and Security 5.3 publication for more information about security and
access control.
Access: Use the Application Explorer or Rules by Type Explorer to list access rules available to you.
Category: Access Deny rules are instances of the Rule-Access-Deny-Obj rule type. They belong to the
Security category.

Explain in detail about the access rules in pega


a. What are access roles and how do you define access roles.?
Access Rules: The following are the rules that make up the Process Commander Security model.
Access-role rule (Rule-Access-Role-Name): This rule represents a job position or responsibility with a
distinct level of authority defined for a specific application. For example, an access role can define the
capabilities of LoanOfficer or CallCenterSupervisor in a loan-processing application.
An access role has a collection of access-to-role-to-object rules (Rule-Access-Role-Obj) and
access-deny rules (Rule-Access-Deny-Obj) that map the role to specific work, data, and rule classes,
granting a user with that role access to the mapped items. An access role also determines whether
someone with that role can create, open, or delete instances of that class.
Access roles are conveyed to users through access groups. To deliver these capabilities to users,
you reference the access role name in other access rules to grant or restrict access to certain classes.
Access role names form the first key part of access-to-role-to-object rules (Rule-Access-Role-Obj) and
access-deny rules (Rule-Access-Deny-Obj).
Access-of-role-to-object rule (Rule-Access-Role-Obj): This rule specifies, for each class, new or additional
access permissions based on an access role. If you need to specify new or different access to a class not
already provided by standard access-of-role-to-object rules, you create an access role and then create an
access-of-role-to-object rule for the appropriate classes.
As an analogy, think of Rule-Access-Role-Obj as a set of keys. If any key in the set fits the lock,
then you can open it. Thus, if you have three roles and two of them forbid access but one allows it, you
can still gain access.
Access-deny rule (Rule-Access-Deny-Obj): This rule defines a Boolean test that allows you to deny access
to a rule, work, or data class based on a user͛s role. Typical use is to grant full access with one access role.
You can then deny access to a subset of users through other access roles using access-deny rules. For
example, child classes inherit security settings from their parent classes. Therefore, you could create an
access-of-role-to-object rule for a parent class and use access-deny rules to restrict access to the child
classes.

Access-when rule (Rule-Access-When): This rule is used to allow or not allow a requestor to perform an
operation on an instance of a specific class.

How you are going to provide the security to your Application? What are the different ways to provide
Security?
Security combines authentication ensuring that a person or system is a known, identified person
or system and access control limiting which application facilities and capabilities are available to the
person (or system).

Process Commander provides a built-in authentication scheme, controlled by a password on the


Operator ID form. Optionally, you can implement custom authentication with an activity, or use
repositories such as Microsoft Active Directory (or similar repositories that support the Lightweight
Directory Access Protocol, LDAP) for authentication.
Access control within an application is provided by both rules and data instances:
• Rules in the Security category Ͷ such as access roles and privileges Ͷ assign names to
capabilities and group these capabilities.
• Data instances Ͷ such as requestors,, access groups., and Operator ID instances Ͷ link the
security rules to authenticated individuals.
At runtime, Process Commander compares the capabilities that a user holds with the limitations
and restrictions associated with a rule or an object, to allow or deny access.
Auditing records who changed what and when. Process Commander automatically saves
extensive details for changes to rules. For changes to data instances, the most recent date, time, and
Operator ID are recorded. For changes to work objects, the history records the date, time, Operator ID,
and a text explanation determined in the flow rule.
Illustrates the relationships among the major data and rule components that make up the
Process Commander security model.

You might also like