PEGA Interview Questions
PEGA Interview Questions
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.
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 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 Access Group and Access roles and difference between them?
A) Access groups make a set of RuleSet versions available to requestors.
Use an access role name to convey permissions (capabilities) to a user or a group of users. Access roles can be referenced
in requestor instances, Operator ID instances, in access group instances, in activities, and in queries.
How many requestor types are there and what are they?
A) Application, Batch, Browser, Portal.
Backward Chaining: It provides the automatic calculations of a property value by executing the declarative rule, when a
value is needed for property rather than whenever inputs change.
EX: If the Area property depends on the Length and Width property, then backward chaining causes the Area property
recomputed each time the Area property is required.
Virtusa
Declarative rules?
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.
What is circumstance?
A) Circumstance is the optional condition and enhancement of rule resolution alg. diff variations of the rules within the
same version created for diff flavors suit for different situation. circumstance works during the rule resolution, at run time
system first find the rules based on class hierarchy then searches for a rules the requestors session needs, it compares the
values of rule set, version, availability to determine which rule executed.
call, branch?
A) call Activity: the call activity instructs the current activity to find and run another activity using rule resolution.After the
called activity completes the calling activity processing.the called activity can use its parameter page. the main advantage of
call activity is reuse.
Branch Activity: it is similar to call method. Branch activity refers to the another activity. the execution of the original
activity ends the execution of the branched activity completed without return..
Mphasis
What is Access Group?
A) Access Group controls the security basing on the job functions. It is instance of Data-Admin-Operator-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 Agent?
A) Agents are internal background process operating on the server to run an activities. Agents are asynchronous and
independent. They also perform system tasks such as sending email notifications and synchronizing caches across nodes.
Activities they call run individually on their own scheduled and one activity doesn't have to finish another activity
what is exact difference between step page and page new(both will create the pages)?
A) Step page defines the page context on which a method is going to be executed. step page does not creates a page..while
page-new is used to create page
What is flow-action?
A) it is the instance of Rule-Obj-Flow Action rule type. it is the one category in UI specifies the choices to user performing
assigned work object.
Local FA: if action is finished, work object returns to same level.
Connector FA: if action is finished, work object moves to next level.
Have you used spin-off shapes in your application, if so what is the case?
A) The work object processing in the current flow in parallel without waiting in the other flow to continue.
If you have work experience on Soap Service. What are the rules required for Soap Service?
A) Service Package, Service SOAP, Activity
What is SLA’s & what are the types of SLA’s. where we can put these?
A) It is the instance of Rule-Obj-Service Level Rule type. It can be added to Assignment and work object.
Service level contains 2 time intervals Goal and Deadline. it indicates the expected time for the assignment and time to
resolve the WO.
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.
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)
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
applications used by that employee across the enterprise can consistently rely on
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
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.
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
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
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
Process
Similar Java, XML, or
Commander Rule type
database concepts
term
activities Rule-Obj-Activity public Java instance methods with a void return type
An activity is an instance of the Rule-Obj-Activity rule type. An activity is the fundamental sequential
processing unit of the Process Commander system.
The shape in a Visio flow diagram, references an activity that updates a work object, but does not
require user interaction and input. Your system includes standard activities for utility tasks, and you
can create additional ones.
Each utility task references an activity with an Activity Type of Utility ss from utility shape we can
call activity but vise versa not possible.
Obj-Open : we will get multiple records from table based on the criteria from the specified
class. Or Opens an instance of a given class
OBJ-open-handle: here we have have to pass the pzInskey as a instance handle, this mehod will
open only one record at time. Or Open object by handle to the pzInsKey value
The handle of an instance is a unique key, in an internal format, assembled by the system that
identifies an instance in the PegaRULES database. It may differ from the visible key generally used
to identify instances. (Every instance has a unique handle, but more than one instance may share
the same visible key.) For rule instances, the handle includes system-generated identifying values
(including the create date and time) that make it unique.
Use the Obj-Open-By-Handle method only if you can determine the unique handle that permanently
identifies which instance to open. Otherwise, use the Obj-Open method.
Rules: inheritance that can maximize reuse of your rules while allowing localized overriding as
appropriate. Also called polymorphism, inheritance allows a rule created for one class (possibly an
abstract class) to be applied to other classes that inherit from it.
Class inheritance searches for rules from a concrete, lower class, up the class hierarchy to find
available rules.
1. DBTrace: DBTrace is a feature in the Performance Analysis Tool (PAL) that creates a detailed log
of calls to the PegaRULES database. DBTrace displays SQL statements sent to the database and the
time spent for each operation.
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.
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
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.
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
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.
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
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.
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:
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
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.
Ticket :-
Tickets will provide an event-driven override to normal sequential processing. A Ticket rule only defines a name
and its description.
Where referenced
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.
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
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.
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
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.
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)
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
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.
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.
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?
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
6. Suppose I need to access the Google service, how can I achieve in Pega?
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?
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.
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 :
Prohibit this property from being the target property in Declare expression rules.
Recommend to a database administrator that the property is to be exposed as a separate database column
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
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:
Flows:
UI:
Integration:
Activities:
Rules:
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:
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 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
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 ?
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 ? -
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: 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 ?
Q: Daily i want to Add,Update ,Delete records from the DB Table .what are the rules get created ?
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.
You can designate subreports within report definition reports to simplify assembling data from
several classes, or to satisfy complex conditions
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.
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.
Case management: Access Groups, Work group, Work pool ,Work list, Work basket
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
An access group is an instance of the Data-Admin-Operator-AccessGroup class. Access groups make a set of RuleSet
versions available to requestors.
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
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.
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.
Flow Actions
Flow actions specify the choices that users have when performing an assigned work object.
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.
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
.
Service Level Agreements:
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.
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.
Reports
5. What is the activity responsible for getting the data in List View?
getContent Activity
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.
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:
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
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.
OBJ 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.
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.
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.
Property’s :
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.
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.
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.
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:
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.
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
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.
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
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
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)
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.
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:
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)
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.
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
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.
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.
What are the different scope of Data Pages and their purpose?
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.
What Category does SLA rule belong to and to what shapes these are associated 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.
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.
ToWorklist/Worklist
ToWorkbasket/Workbasket
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.
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.
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
You can configure your PRPC system to authenticate users in one of several ways:
Using the application server´s Java Authentication and Authorization Service (JAAS) implementation (container
managed)
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 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 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
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.
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:
We use Rule-HTML-Property?
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 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.
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.
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 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).
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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
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”.
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.
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.
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.
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)
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.
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.
66. How to move from 4th stage to 1st stage? What is the activity?
We need to change stage utility. Activity is pxChangeStage.
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.
77. When look up option will available as a source for data page?
For D Pages of Type Page, Lookup option is available.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
----------
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
What are the challenges you faced during the current project?
What r the challenges you faced in integrations
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
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.
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
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
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.
• 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
• 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."
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
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.
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.
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.
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 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
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.
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).