Professional Documents
Culture Documents
3. 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.
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.
7. What is RuleSet?
A RuleSet name is an instance of the Rule-RuleSet-Name rule type. Each RuleSet defines a
major subset of rules in the PegaRULES database, because every instance of every rule type
references or "belongs to" a RuleSet. A RuleSet name is a major aspect in:
Access control
Grouping interrelated rules
Managing the rules
Moving applications — sets of rules — from one Process Commander system to another.
Process Commander itself consists of six standard RuleSets:
Pega-AppDefinition — Standard rules supporting Direct Capture of Objectives features
Pega-ProCom — Standard rules that support business process management (BPM)
applications
Pega-IntSvcs — Standard rules that support integration
Pega-WB — Standard rules that support the portal infrastructure
Pega-RULES — Standard rules that support business rules engine and rule resolution
CheckInCandidates — Optional. Empty, used by rule check-in processing. Version 01-
01-01 is not locked.
Any application developer who can checked out rules has a private RuleSet.
The system creates each private ruleset automatically named to match the developers
operator ID value.
We create one ruleset per application.
Rule set names are part of SysAdmin category.
Rule resolution algorithm uses version numbers to find the most appropriate single rule
instances to execute in a specific situation.
9. 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.
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.
4. 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.
5. How to implement dynamic select and smart prompt? What's the major difference
between them?
Implementation of Dynamic Select:
In properties panel select Display As is DynamicSelect.
Write Activity for generating Dynamic Select.
By using Show-Page method display the data in XML format.
Dynamic Select is a drop down from which we can only select a value.
Smart prompts acts both as a text box and a drop down.
Smart prompts are implemented by using ISNS_FIELDTYPE, ISNS_CLASS,
ISNS_DATANODE.
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.
VALIDATIONS
Validation rule is used to validate the value against the some other value. Once the
validation fails the system add error message to that field in clipboard.
1. What types of validations are there?
a. Client Side Validations
b. Server Side Validations
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
Flow Actions
2. What is the Difference between Connector Flow Action and Local Flow Action?
A local flow action permits users at runtime to update, but not complete, an assignment.
Local flow actions always are optional. Users may perform none, one, or multiple local flow
actions, or repeat a local flow action multiple times.
At runtime, users choose a connector flow action, complete the assignment, and advances
the work object along the connector to the next task.
3. Explain about Pre Activity?
At runtime, the system runs this activity before it does other processing for this flow action.
This activity is not visible on the Visio flow diagram. This activity executes only once, the
first time a user selects this flow action for this assignment.
SHAPES
The available shapes are
1) Start task
2) Assignment
3) Assignment service
4) Comment
5) Connector
6) Decision
7) Subflow
8) Flow end
9) Fork
10) Integrator
11) Notification
12) Router
13) Spin-off
14) Split-join
15) Split-for each
16) Pool with swin lanes
17) Ticket
18) Utility
14. Explain with an example, the difference between a Decision shape and a Fork?
A decision task is a shape on a flow rule that references a rule of one of three types:
· A map value rule (Rule-Obj-MapValue rule type)
· A decision tree rule (Rule-Declare-DecisionTree rule type)
· A decision table rule (Rule-Declare-DecisionTable rule type)
At runtime, the system evaluates the decision rule to determine how a work object
progresses through the flow. The work object progresses along one of the connectors leading
from this shape, depending on the outcome of the decision rule.
On the other hand fork checks the conditions directly on the object and unlike decision
shape it never asks for a Decision tree, table or map value and two or more connectors can
emanate from a fork shape.
15. Consider this scenario: After a work object had reached a particular stage in a flow, I
need to run two flows in parallel to each other. How this can be achieved?
This can be achieved by using Spin-Off shape. Just drag the spin off smart shape and fill in
the appropriate values depending upon what you choose among “On Current Work item”,
“On Another Work Item” or “On Embedded Page”.
So the flow started by this shape will be called a subflow and the original flow as parent
flow.
FLOWS
Flow rule is the fundamental representation of a business process in process commander.
1. Explain about types of Flows?
A flow rule that contains no assignments, and so can execute from start to end without
human input, is known as a straight-through process.
A flow rule that consists only of assignments or decisions and meets other criteria is
known as a screen flow.
A flow that creates a new work object is called a starter flow.
A flow that is called by another flow is known as a subflow, the calling flow is called
parent flow.
2. What is a screen flow, why it is used?
A series of forms that each require only one or few questions to be answered. After
submitting a form, user receives with another simple forms with more fields that my depend
on previous answers. At any point user can go to previous forms to review or change
previous answers.
To make a screen flow, create a new flow rule and select screen flow in the Template field.
3. Can we start an application with a screen flow? If yes, how? If no, why?
A screen flow rule can’t be a starter flow rule. Use the regular flow to create WorkObject.
Call the screen flow as sub flow
we can’t start an application with a screen flow because “Create New Object” option is
disabled under process tab.
A screen flow can operate on a temporary work object, this is never saved to Data Base.
In screen flow Flowactions are referenced by assignment shape rather than connectors.
4. How can we call one flow from another flow?
By using subflow shape. Just drag a subflow shape and fill in appropriate values ,depending
upon what we choose among “On Current Work item”, “On Another Work Item” or “On
Embedded Page”.
5. When do we say that a work object is resolved? Can a work object be resolved
manually?
When the flow reached the end shape, the work object gets resolved.
Manually it can be resolved through UpdateStatus activity and provide the values for
“StatusWork” parameter as Resolved.
6. How to restrict a flow to particular users?
By using privileges and when conditions under process tab of the flow instance.
RULE AVAILABILITY
1. How to change Rule Availability?
To change the availability setting of a rule, click the Availability toolbar button ( ).
We may need to check out the rule first. A dialog box appears.
Select one of five Availability values
Yes, No/Draft Mode, Blocked, Final, Withdrawn.
NOTE:
Class, library, RuleSet Name, and RuleSet version rules are always available. We cannot
change the availability of instances of these rule types.
Rules in an override RuleSet cannot have availability values of Blocked or Withdrawn.
2. Explain if the Rule Availability is set as YES?
A circle and dot indicates that this rule is available. Rules with a Yes value are visible to rule
resolution processing and can be executed.
3. Explain if the Rule Availability is set as No/Draft Mode?
An empty circle indicates a rule that is not available. Set the Availability of a rule to
No/Draft Mode to cause the rule to become invisible to the rule resolution algorithm for all
users (including ourself), and to bypass validation of non-key fields. The No/Draft Mode
setting is useful in experimentation and troubleshooting to assess the effect of two rule
versions.
DECISIONS:
Decision Rules are categorized into
1) When condition rule
2) Decision tree rule
3) Decision table rule
4) Map value rule
DECLARATIVES
Declarative rule is an instance of a class derived from Rule-Declared-
They allow for automatic processing of Property values.
No need to be called Explicitly.
No need to run in sequential fashion.
System manages re-evaluation when it detects change.
Almost all the declarative rules implement only forward chaining, except the Rule-Declare-
Expression.
In rule-Declare-Expression, we have a choice to decide either we should go to Forward
chaining or Backward chaining.
REPORTS
1. What type of reporting features are provided by Pega?
A. List View and Summary View
A summary view rule defines a two-level report display, presenting summary counts, totals
or averages to be displayed initially, and allowing users to click a row to drill down to
supporting detail for that row.
Summary view rules support interactive charts, trend reports, and the use of AJAX for pop-up
Smart Info windows.
A summary view rule is an instance of the Rule-Obj-SummaryView rule type. This rule type
is part of the Reports category.
A list view rule, an instance of the Rule-Obj-ListView rule type, defines a report. Users can
personalize list view reports easily and interact with them.
Use the Report wizard to define list view reports and link them to our portal.
13. How do we get the data from the two different tables?
Using Join tab in Reports
14. 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.
16. 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 route work according to the rules in our application.
Agents also perform system tasks such as sending e-mail notifications about assignments
and outgoing correspondence, generating updated indexes for the full-text search feature,
synchronizing caches across nodes in a multiple node system, and so on.
Pega-IntSvcs,
Five agents in the Pega-IntSvcs RuleSet process queued service and connector requests and
perform maintenance for PegaDISTRIBUTION MANAGER (formerly called
Correspondence Output Server, or COS).
Pega-ProCom,
The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and
assignments, archive work objects, and so on. The agents in this rule provide the
following types of processing:
Processing service level events and escalation
Applying a flow action to assignments in bulk
Sending out e-mail correspondence
Archiving and purging work objects, attachments, and history
Retrieving PDF files from the PegaDISTRIBUTION Manager
Checking incoming e-mail (deprecated in V5.3)
Pega-RULES
The agents in the Pega-RULES RuleSet perform general system housecleaning and periodic
processing. The agents in this rule provide the following processing:
System Cleaner Rule Usage Snapshot
System Pulse Static Content Cleaner
System Indexer System Work Indexer
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.
The numeric property known as urgency determines the order that assignments for that work
object appear on worklists. Escalation recalculates the urgency value to reflect its age,
impending due date, or explicit management inputs.
Escalation can occur through a service level rule associated with the flow and through
background processing by the Pega-ProCom agent.
4. What are SLA's, how are they different from Agents?
A service level rule is an instance of the Rule-Obj-ServiceLevel type. The service
level can define a goal and a deadline times for processing an assignment, and can
execute activities if the goal or the deadline is not met. This assignment-level service
level is distinct from any service level associated with the entire flow.
At runtime, an internal countdown clock (measuring the completion of the assignment
against the goal and deadline times computed from the service level rule) starts when the
assignment task is created.
An agent is a background internal requestor operating on the server. These requestors can
periodically monitor conditions and perform processing as necessary.
Most agents are defined by an Agent Queue rule (Rule-Agent-Queue), which includes a
list of the activities they perform.
5. How to implement SLA's? Is is possible to define a SLA for the entire work object? If
yes, how?
SLA’s are always associated with an assignment. Just drag a SLA shape and provide an
instance of Rule-Obj-ServiceLevel.
Yes, SLA can be defined for the entire workobject by defining it in the model.
The property for this is pySLAName.
6. How to restrict a flow to particular users?
By using privileges and when conditions under process tab of the flow instance.
CIRCUMSTANCE
1. What is Circumstance? How it works?
A circumstance is an optional qualification available for all rules. Using a circumstance
allows our application to support multiple variants of a rule. For example, variations of an
ordinary rule instance can be created for different customer status levels or for different
geographic locations.
A circumstance-qualified rule instance (often referred to as a "circumstanced rule") is
always based upon an unqualified rule instance (base rule).
We can circumstance a base rule with a single property and its value, or with multiple
properties and their values (called multivariate circumstancing).
The circumstanced rule is executed during rule resolution if the value of the circumstance
property on the rule matches that property's value on the clipboard at runtime.
OBJ Methods:
At runtime, five methods (Obj-Browse, Obj-Filter, Obj-List, Obj-List-View, and RDB-List),
list view rules, and summary view rules use a page of the class Code-Pega-List
Code-Pega-List class as a source of search criteria and to hold output. Typically, such pages
are named Results, pyQueryResultPage, or pyViewLookupList. Search results (which support
rows of report output) are stored as pages in the pxResults() property, a Page List.
Code-Pega-List is a concrete class, pages of this class exist only on the clipboard. They are
never saved to the PegaRULES database.
RDB Methods:
Use Connect SQL rules and RDB methods only with an external database. Do not use
Connect SQL rules or RDB methods for the PegaRULES database(s). Because not all
properties in the PegaRULES databases are distinct database columns, use the Obj-Open and
Obj-Save methods, not the RDB- methods, with the PegaRULES database to prevent loss of
data.
26. 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.
27. 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.
28. Explain about RDB-Save method?
RDB-Save method is used to save the contents of a clipboard page into a row of a relational
database. The system saves the properties on the specified step page to the specified table in
the database.
This method operates in conjunction with a Connect SQL rule that contains SQL statements
such as INSERT, UPDATE, and CREATE statements on the Save tab.
29. Explain about RDB-Delete method?
RDB-Delete method is used to delete a row or rows from an external relational database
using SQL.
This method operates in conjunction with an SQL statement in the Delete tab of a Connect
SQL rule (Rule-Connect-SQL rule type) that contains the DELETE, TRUNCATE or DROP
SQL statement.
1. Difference between Work- and Data- classes?
The Work- base class, one of thirteen standard top level abstract classes, is a superclass to
all the classes that define work objects. A work object is the fundamental unit that records
processed work in an application.
The Data- base class is an abstract class above various classes that define and contain static
data and cumulative data. For example, the Data-Admin- classes contain information created
by your Process Commander developers defining who can use the application, their
privileges and security, and where they belong in the organization.
The class structure provides the first and most important layer of reuse and specialization in
PRPC due to its precedents in the rule resolution algorithm.
The class structure provides us with a hierarchy in which rules can be placed. The higher a
rule is in the hierarchy, the more potential reuse there is. However, a rule can only reference
other rules at the same level in the hierarchy or higher. For example, a rule X at class A-
cannot call Rule Y defined at A-B if no rule Y exists at A-.
The key to a good class structure is that there are enough layers and classes to hold the most
fundamental levels of reuse but not too many that it becomes cumbersome to navigate and
unclear as to the intent.
Shared RuleSets provide a grouping mechanism for sharing both class resolved and non-
class resolved rules. For example Rule HTML properties and utility functions are non-class
resolved. RuleSets are key to reusability as they are the mechanism by which shared rules
are moved to different rule bases and/or environments.
Delegating a rule
To mark a rule as delegated, click the Favorites toolbar button ( ) and complete the
Delegated Rules dialog box.
Withdrawing delegation
To cancel the delegation of a rule that is delegated to you:
Using the Developer portal, select Edit > My Rules. Complete the dialog box and click
Submit .
Using the WorkManager portal, click the Edit button in the My Business Rules area of
the Process Work workspace. Complete the dialog box and click Submit .
Notes
Delegation of a rule to a user doesn't eliminate the need for that user to hold an appropriate
access role and privileges to check out the rule, modify the rule, and check it back in.
RULE RESOLUTION
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.
A service is implemented through an instance of one of the rule types below, plus
appropriate calling code in the external client system:
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.
A connector is implemented by any of these rule types:
Connect SOAP rules (Rule-Connect-SOAP rule type)
Connect SQL rule (Rule-Connect-SQL rule type)
SOAP
1. What is SOAP?
SOAP (Simple Object Access Protocol) is a protocol that is used for the exchange of
information in a decentralized, distributed environment. SOAP is an XML-based protocol
with three components:
An envelope for describing what is in a message and how to process it
Encoding rules for expressing instances of application-defined data types
A convention for remote procedure calls and responses
Services implemented using SOAP are often called Web services.
2. What is WSDL?
WSDL (Web Services Description Language) is an XML format defined by the World Wide
Web Consortium (W3C). Each WSDL file describes network services as a set of endpoints
operating on messages containing either document-oriented or procedure-oriented
information.
A WSDL file describes a SOAP service. It includes XML schema information that describes
the input parameter values that need to be sent in a SOAP request message, and the output
parameter values that can be extracted from a SOAP response message.
3. What is RPC and Document? When they can be used?
SOAP messages are formatted in two different ways:
RPC – Remote procedure call for simple data exchange.
Document – for more complex data structures.
3. Where we determine the prefix and suffix of of the Work Object ID?
The prefix and suffix are determined by a model rule pyDefault for the work type or the
class corresponding to the class group. The model is referenced on the Process tab of the
flow rule that creates the work object.
Cover:
4. Explain about Cover?
a cover is a work object in a concrete class derived from the Work-Cover- abstract class
A cover work object is parent to one or a few other related work objects.
Typically one work party such as the customer party is present in the cover work object and
also present in all the covered work objects associated with it. The covered work objects are
the children in a parent-child relationship.
A cover work object provides a 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.
By convention, the work object IDs of covers have the format C-999999; basic work objects
have the format W-99999.
Folders:
8. Explain about Folder?
A work object folder is a work object in a concrete class that inherits from the Work-
Folder- class.
A folder object holds a collection of one or more other work objects (which themselves may
be basic work objects, other folders, or covers) providing access for analysis and reporting.
By convention, the work object ID of folders has the format F-99999.
9. How do we create a Folder by using Activity?
AddToFolder Activity Adds a work item to the folder.
This activity creates a link between work item and folder and adds appropriate status
messages.
10. What is the difference between a Cover and a Folder? Which one is tightly coupled?
A cover is a work object that is also a parent to one or a few other related work objects.
Internally, a cover is a work object in a concrete class derived from the Work-Cover-
abstract class. A cover work object provides a means to coordinate processing of the related
work objects. Normally, the system resolves a cover work object once all its "member"
covered work objects are resolved.
A folder is a work object in a concrete class that inherits from the Work-Folder- class. A
folder object holds a collection of one or more other work objects (which themselves may be
basic work objects, other folders, or covers) providing access for analysis and reporting, but
not for primary processing.
Cover is tightly coupled because a Workobject can be associated with many folders but it
can be associated with only one cover.
SIX R’S
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.
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.
Resolving — Through automated processing and automated support of users, completing the
work and
updating downstream systems promptly.