You are on page 1of 37

OPERATOR AND ACCESS GROUP

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


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

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


groups make a set of RuleSet versions available to requestors.
Developers define access groups and associate an access group with each user (each Data-
Admin-Operator-ID instance). Typically, multiple users are associated with or belong to one
access group.
The access group associated with a user affects access control by determining:
· The portal layout that a user sees first after logging in.
· The local customization RuleSet name and RuleSet version. These usually are defaulted
whenever
this user creates a new rule instance.
· The application rule for this user.
· Optionally, the access roles available to this user.

2. How to associate an Operator with a workbasket?


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

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.

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


The Process Commander portals support two user communities:
· The Developer portal provides an integrated work, test, and development environment to
support application developers. Customization of the Developer portal is typically not
necessary and ordinarily limited to menus and skins.
· User portals support managers and users of applications workers, as they enter, update, and
resolve work objects. User portals may be customized to reflect the terminology, layout,
facilities and styles appropriate to each user community.
This Developer portal provides quick access to dozens of tools, wizards, reports, and other
capabilities.
The appearance and function of our Process Commander portal depends on information in
our access group which references a portal rule (Rule-Portal rule type)
We can create our own portals and define new gadgets (instances of Data-Gadget).
Data-Gadget contains simple HTML rules.. We can change the Pega Logo as well.

5. Define access group and its functionality?


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
a) default and av
b) Primary rulese
c) Assigned roles
d) Portal layout
e) Default rulese
the rule )

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


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

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.

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


A RuleSet version is an instance of the Rule-RuleSet-Version rule type. The version
number in the form AA-AA-AA, defines six digits in three groups that characterize the
evolution and development of a rule instance, and of the application it belongs with. The
three segments are known as the major version, minor version, and patch version.
For eg. LoanAdmin:01-02-03
Here, 01: major version
02: minor version
03: patch version
Major : for entirely new functionalities or major releases, the first two digits of the version
is incremented.
Minor : for enhancements, middle two digits are incremented.
Patch : for bug fixes, last two digits are incremented.

Rule resolution algorithm uses version numbers to find the most appropriate single rule
instances to execute in a specific situation.

Few rules are non versioned


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

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.

During rule resolution, the system:


 First priority given to Production Rulesets. First search the rules in Rulesets available in
Production RuleSet.
 Next Searches the rules in the Rulesets listed in application Rulesets. first using the
topmost RuleSet name and version on the list, then the next, and so on. Override RuleSet
versions (the top layer are searched first; the Pega-RULES RuleSet is searched last)
 Ignores any rule instances that match a RuleSet on the list but contain versions higher
than the version on the list.
PROPERTY’S
10 What is the Property?
A property is an instance of the Rule-Obj-Property rules type.
Property defines and labels a value that can be associated with a class.
For instances contained in the database, a property often corresponds to a relational database
column.
11 What are the Property Modes?

Single Array or List Group


Value modes Single Value Value List Value Group  
  
Page modes Page Page List Page Group
Java Object Java Object Java Object List Java Object
mode Group
Java Property Java Property Java Property List
modes

1. Explain with an example the difference between Rule-Edit-Input and Rule-Edit-


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

Edit validate rules are instances of the Rule-Edit-Validate class. They are part of the
Property category.
Use the Edit Validate form to define a Java routine that tests the validity of an input value
in an activity that
processes user input.
Properties rule (of mode Single Value, Value List or Value Group) may reference an edit
validate rule on the
Advanced tab.
Use the Property-Validate method in an activity to execute the edit validate rule when a
value is submitted
through a user input form.

2. How Rule-Edit-Validate is different from Rule-Obj-Validate?


Edit Validate is to validate a single property at a time but obj validate rules are used to
validate all
the properties in a single go. Obj-Validate method is used for this purpose.

3. How one single property can be represented in different forms on a screen?


By using HTML Properties at the section level, not at the property level.

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.

7. What is HTML Property?


HTML Property rules are instances of the Rule-HTML-Property class. They are part of
the Property category.
Use HTML Property rules to control how properties appear on work object forms,
correspondence, and other HTML forms, for both display and for accepting user input.
For properties of mode Single Value an HTML Property rule may be identified in the
Display Property field
of the Property rule form.
HTML Property rules also may appear in list view and summary view rules to define the
appearance of values in reports, and in harness, section, and flow action rules that define
work object forms.

8. Explain about Special Properties?


Standard properties means all the properties in the Pega-RULES, Pega-IntSvcs, Pega-WB,
and Pega-ProCom RuleSets have names start with px, py, or pz.
These three prefixes are reserved. We cannot create new properties with such names. We
can override these standard properties with a custom property of the same name (without
changing the mode or Type).
Px: Identifies properties that are special, meaning that the values cannot be input by user
input on an HTML form.
Py: Properties with names that start with py are not special, meaning that values can be
input by users on an HTML form.
Pz: Properties with names that start with pz support internal system processing. Users
cannot directly manipulate pz properties. our application may examine these values, but do
not set them. The meaning of values may change with new product releases.

VALIDATIONS
Validation rule is used to validate the value against the some other value. Once the
validation fails the system add error message to that field in clipboard.
1. What types of validations are there?
a. Client Side Validations
b. Server Side Validations

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


a. Obj-Validate--we can referred this method in Activities and in flow actions at Validate
Rule field.
b. Edit-Validate---- we can refer this in property form at edit-validate field and in activities
through property-validate method.
Note: I think Obj-Validate is used for Server Side Validation and Edit-Validate is used for
Client Side Validation.
3. How do you add custom message to the Property when it fails the Validation.
For this we have to use theProperty.addMessage(“your message”) tag.

4. Message is set to the property and the checked in the clipboard also , the messages got
set successfully. But the message is not displayed beside the field in the screen. Why..?
If the property has a html property, the tag <pega:include name =”Messages”/> tag must be
include
Flow Actions

1. What are the types of Flow Actions?


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

2. What is the Difference between Connector Flow Action and Local Flow Action?
A local flow action permits users at runtime to update, but not complete, an assignment.
Local flow actions always are optional. Users may perform none, one, or multiple local flow
actions, or repeat a local flow action multiple times.
At runtime, users choose a connector flow action, complete the assignment, and advances
the work object along the connector to the next task.
3. Explain about Pre Activity?
At runtime, the system runs this activity before it does other processing for this flow action.
This activity 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.

4. Explain about Post Activity?


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

5. Explain about Local Flow Action?


A local flow action permits users at runtime to update, but not complete, an assignment.
Like connector flow actions, local flow actions are referenced inside an assignment task in a
flow.
At runtime, users can select local flow actions to update assignment or work object
properties, change the assignee, and so on but do not complete the assignment. If a service
level rule is associated with the assignment, the service level continues to run.
Local flow actions always are optional. Users may perform none, one, or multiple local flow
actions, or repeat a local flow action multiple times.
On the Action tab of the Flow Action form, we can mark a flow action rule as local, or
connector, or both.

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


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

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

1. Explain about Assignment shape?


An assignment is an instance of a class derived from the Assign- class.
Assignments record a temporary condition of an open work object within an executing flow.
For every Assignment , add at least one flow action .
The assignment normally appears on the work list of the user who executes the flow.

2. Explain about Connectors?


To connect a shape element in the flow with the next shape element.
To indicate a possible path for the flow execution.

3. Explain about Notify shape?


A Notify can send an e-mail message to a work party.
Connect the notify shape to the bottom edge of an assignment shape.

4. Explain about Router shape?


Sends an assignment to a user, workbasket, or agent other than the current user.
Associate a Router task with an assignment task. This activity determines which worklist or
workbasket is to contain the assignment.

5. Explain about Spin-Off shape?


When a work object advancing through a flow reaches the Spin-Off shape, process
commander starts execution of a different flow, using the current work object or different
work object.
Processing in the current flow rule continues in parallel, without waiting for the other flow
to complete.
Use the Spin-Off shape to start a Synchronous flow execution.

6. Explain about Split-Join shape?


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

7. Explain about Split-ForEach shape?


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

8. Explain about Fork shape?


The fork shape is used to choose one of a few different paths (connectors) based on tests on
the work object.
At runtime, the system evaluates the conditions on each outgoing connector, starting with
the connector assigned the highest likelihood. The flow execution continues along the first
connector that evaluates to True.
9. Explain about Decision shape?
Decision shape is used to reference a map value rule, decision table rule, decision tree rule
or a Boolean expression.
At runtime, the system evaluates the decision rule based on inputs from the flow and the
work object, and chooses one of the outgoing connectors based on the result.

10. Explain about Ticket shape?


We can start the execution point in the flow at any point in the flow by using Ticket shape.
The ticket is same as GOTO in programming language.
Ticket creation:
1. Create the Ticket
2. Drag a ticket shape to where we want to jump in the flow and Complete the Ticket
Properties panel
3. To configure the ticket in activity, Call the SetTicket activity and pass Ticket name
4. Create separate flow action and mention above activity as post activity in flow action.
5. Mention this FLOWACTION as LOCAL ACTION in assignment from where we want
to jump.
6. At the time of running the flow By default Connector Action is Displayed.
At the time of run the flow we need to select the local action at that particular assignment
where we mention the ticket activity.
11. Explain about Utility shape?
Each utility task references an activity with an Activity Type of Utility.
Utility activity is defined in a class derived from the Work- or Data- base class and activity
of type Utility.

12. Explain about Integrator shape?


Integrator activity identifies an activity that connects our process commander system to an
external system to send or receive data.
For example integration task can connect to a customer data base to retrieve account balances
or verify account numbers and status.
Integrator task use activities that call connector rules.

13. Explain about SubFlow shape?


Sub Flow shape may represent any of the following:
 A branch to another flow without returning (one or more incoming connectors, no
outgoing connectors)
 A call to another flow with return (one or more incoming connectors, one or more
outgoing connectors)
 Part of a Split/Join or Split-forEach shape (at least one incoming and one outgoing
connector)
A flow rule that is branched to or called by another is sometimes informally called a
subflow.
In subflow we can define flow on current work item or another work item.

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.

4. Explain if Rule Availability is set as Final?


A rule is marked as final, no one can create a second rule with the same visible key in any
RuleSet other than the RuleSet that the first rule belongs to. If the RuleSet version of a final
rule is locked, we cannot create a second rule with the same visible key in any RuleSet.
We can override a final rule through a higher version in the same RuleSet.
Many rules in the Pega-RULES and Pega-ProCom RuleSets are marked Final because
correct operation of these rules is essential to ensure the integrity and security of our system.
Other standard rules have the Available field set to Yes rather than Final we can override
those rules in our application.
NOTE:
We cannot use circumstances or time-qualified rules to override a final rule.
5. Explain if Rule Availability is set as Blocked?
A circle within an X indicates that this rule has Availability set to Blocked. Set the value of
this property to Blocked if we want rule resolution processing to halt (with no rule found)
when it encounters this rule. The rule form colors change from greens to grays.
This is a stronger form of No/Draft, because it affects all lower-numbered versions of the
rule, and versions (in other RuleSets) that are below this version in the user's RuleSet list. A
blocked rule does not prevent rule resolution from finding (and running) higher-numbered
versions in the same RuleSet, or finding rules with the same visible key in a different
RuleSet that is higher on the RuleSet list.
NOTE:
Rules in an override RuleSet cannot have availability values of Blocked.
6. Explain if Rule Availability is set as Withdrawn?
A withdrawn rule is never selected by rule resolution.
Withdrawn rule masks from rule resolution any other rules which meet all of these tests:
 The other rule belongs to the same RuleSet
 The other rule belongs to the same major version of the RuleSet.
 The other rule has the same Applies To class (if relevant and other key parts match)
 If circumstance-qualified, is qualified with the same circumstance type and value.
NOTE:
Rules in an override RuleSet cannot have availability values of Withdrawn.

DECISIONS:
Decision Rules are categorized into
1) When condition rule
2) Decision tree rule
3) Decision table rule
4) Map value rule

1. Explain about WHEN condition rule?


This returns True or False as result.
Evaluates relationship among one or more property values and return true or false.
Based on simple if/then/else conditions.

2. Explain about DecisionTree rule?


DecisionTrees are instances of the Rule-Declare-DecisionTree rule type.
Decision tree accepts one input property value, but can evaluates numerous properties.
Best used for complex if/then/else statements.
DecisionTree can capture and present business logic in the form of one or more if/then/else
conditions.
DecisionTree can be refer from three other rules
From decision shape of flow rule.
In an activity we can evaluate the DecisionTree using Property-Map-DecisionTree.
DecisionTree can be referring from Rule-Declare-Expression.

3. Explain about DecisionTable?


Decision table are instances of the Rule-Declare-DecisionTable rule type.
Decision table contain one or more rows each containing test conditions and a result to
return.
Returns a value when all tests are true for a row.
If there is no result in a cell it is true by default.
If no rows are true it returns the otherwise row.
Decision tables can capture and present business logic in the form of one or more if... then...
else conditions.
Decision table can be referred from three other rules:
From decision shape of floe rule.
In an activity we can evaluate the decision table using Property-Map-DecisionTable
Decision Table can be referred from Rule-Declare-Expression

4. Explain about Map Value Rule?


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.

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.

1. Name some declarative rules?


Rule-Declare-Expressions, OnChange , Contraints, Trigger, Index.

2. What is Declare-Expression? Explain?


An Expression executed automatically in response to a property value change in with the
expression.
Declare Expression rules are instances of the Rule-Declare-Expressions rule type. They are
part of the Decision category.
We can create Declare-Expression rule instead of using a property set method in an Activity.
3. What is the use of PageContext?
PageContext is used if target property is in PageList or PageGroup.
If target property has mode single value and appears directly on the page of applied to class,
PageContext should be blank. This called Context-Free expression.

4. What is Forward Chaining?


Forward Chaining provides the automatic calculation of the property by executing the
declarative rule, when any one of the input property value is changed.
For example, if the area property depends on the length and width property, then Forward
Chaining causes the area property to be recalculated every time either length or width values
changes.

5. What is Backward Chaining?


Back Ward chaining provides the automatic calculation of the property by executing the
declarative rule, when the value is needed for property, rather than when input change.
For example, if the area property depends on length and width property, the back ward
chaining causes the area property to be recalculated each time the area property is required.

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.

6. Explain about Rule-Declare Onchange?


Runs an activity automatically when the value of a specified property changes.
It is always Forward Chaining.
If we specified more than one property, they all must be on same page.

7. How to implement Rule-Declare-Onchange?


a. Create an instance of Rule-declare-onchange
b. Select the properties we want this rule to keep a track of.
c. Optionally enter a when condition rule to be evaluated.
d. Provide the acitivty name of type OnChange.

8. Explain about Declare Triggers?


Declare Trigger runs an activity when instances of a specific class are created, updated, or
deleted in the DataBase.
Declare Trigger is always Forward Chaining.

9. Explain about Constraints?


Constraints used to validation purpose.
Define and enforce relationship among property values.
Prevent user from advancing if constraint is not satisfied.
Prevent invalid data entered.
Constrains is always Forward Chaining.
10. What is the difference between Constraints and Validation Rules?
Constraints are declarative rules triggered automatically when a property value changes.
Validation rules must be told when to run, When a form is submitted or Prior to running a
Flow Action.

11. Explain about Declare Index?


Declare Index rules are instances of the Rule-Declare-Index class.
Declare Index Automatically extracts a value from an embedded property when its value has
changed.
They are part of sysadmin category.

12. How do we implement the Declare Index?


Step 1: Create a class inherits from the Index- class.
Provide these three properties: pxInsIndexedKey, pxIndexCount, pxIndexPurpose.
Step 2: Create Rule-Declare-Index And provide Source Page Context and Source page
context class, Index class to write.
Step 3: In list view, Join tab provide Declare Index name.

REPORTS
1. What type of reporting features are provided by Pega?
A. List View and Summary View

2. What is the difference between List View and Summary View ?

A summary view rule defines a two-level report display, presenting summary counts, totals
or averages to be 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.

3. How to call a listview from an Activity?


In an activity, the Obj-List-View can execute a list view rule.

4. What is Paging in a listview?


To divide the ListView in to different pages and set the number of records to be displayed in
a page.
5. What is exposing a property?
Exposing a property means to make a property as a separate independent column so that it can
be used in sql queries and as a criteria in reporting.
Steps are as follows,

6. How to expose a single value property?


Process Commander stores the values of all aggregate properties and some Single
Value properties in a BLOB column (the Storage Stream) usually in a compressed
form. Such properties cannot support selection in list view and summary view
reports, and can slow retrieval and processing in other operations
1. Select Tools > Database > Modify Database Schema.
2. A list of databases identified in Database data instances appears. Select a
database and click  Next  .
3. A list of tables in the selected database appears from Database Table
instances. Select a table.
4. Click  Explore Columns .
5. The resulting List of Classes window displays the number of rows in the table,
the number of columns in the table and a list of the classes assigned to that
table. The Properties Set to Be Visible value counts the properties for which
the Column Inclusion value is Required or Recommended. This Column
Inclusion value is advisory, and does not indicate whether the property is
exposed — corresponds to a column. The Count column shows the total count
of properties in this class plus those its parent classes.
6. To see the columns currently defined in this table, click the numeric link
labeled Number of columns in this table.
7. The List of Database Columns window shows the column name, column data
type, and column width in bytes for each column in the table.

7. How to expose aggregate property?


Declare Index rule is a better approach.
1. Create a concrete class derived from the Index- base class.
2. Create Single Value properties in the new class to hold values of the
embedded values.
3. Create a Declare Index rule with the appropriate embedded Page Context value
that copies the embedded values into a new Index- instance.
4. Save the Declare Index rule. It executes immediately, adding and deleting
instances of the new class.
5. Expose database columns corresponding to the Index- class.
6. Reference the Index- properties in the list view rule.

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


We can refer the propertys in Display tab without exposing.
But we can’t refer the property without exposing in Critera fields of the Content tab.
9. What is the activity responsible for getting the data in List View?
getContent Activity

10. What the class of getContent Activity?


Embed-ListParams class.

11. Can or have you customize the getContent Activity?


Yes

12. How to customize the getContent Activity?


Step1: Create Activity in Our Class and create the New page
Step2: write a query and store in variable.
Step3: call the listview as Call Rule-Obj-ListView
Step4: Write the another activity in Embed-ListParams
Step5: create the parameter. This parameter get the sql query from previous activity
Step6: write Java method The java code in this method is
Get the page from pyContentPage if page already exists. If page is not available it creates
the new ContentPage.
In this code get the sql query from the above parameter and pass this query and above
created ContentPage as parameters to this tools.getDatabase().executeRDB(query,
pagename) method.

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.

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

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.

17. What is the difference between List View and Obj-List?


List view is generally used for complex queries where sorting is required and also we can
retrieve less information using Paging.

18. Explain in brief the configuration of a list view?


List view (an instance of Rule-Obj-ListView ) is used to define a custom report or personal
version of a report.

A list view can be configured as follows:


- Applies to class of list view will be taken as the database table map for the search criteria.
- Display fields tab is used to depict the fields that are displayed along with category and to
enable/disable
sorting
- Content tab is used to depict the criteria, fields to be retrieved, key of each row (if
selected) and Report
source (Page name where the values should be saved and the activity to be called)
- In organize tab we specify to enable/disable paging, page size, mode, alignment etc.
We can also configure additional buttons and their fragments here.
- Format tab is used to depict the formatting of the list (like even/odd coloring) and details
on single click etc.
List view can be accessed from an activity or html as follows:
- Call Rule-Obj-ListView.ShowView activity with classname and list view name as
parameters
- <pega: ListView name=” {name of list view}” classname= “{Class name of list view}”>
A list view can be used for complex retrievals from database by not specifying the display,
format and Organize tabl.
PyAction in that case would perform instead of refresh.

19. Explain in brief about the configuration of a summary view?


Summary views are used to create reports which are grouped by certain criteria and can be
later drilled down.
A Summary view can be configured as follows:
- Applies to class of summary view will be taken as the database table map for the search
criteria
- Category is used to know under which tab the report should come.
- Criteria is used in the where class (this can be asked to user by enabling prompt user)
- Group by and field functions (like count) are used for initial display. If we have more than
one group by
it is Displayed one after another on clicking +
- Drill down fields are used to display the fields when we click on the assignment.
- Format is used to tell how to format the display and charts can also be used.
Summary view can be accessed from an activity or html as follows:
- Call Rule-Obj-ListView.ShowView activity with classname and summary view name as
parameters
- <pega: SummaryView name=”{name of summary view}” classname={Class name of
summary view}”>

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.

2. How do we create an Agent?


New  SysAdmin  Agents
Rule Set name is the Agent name
Agent is instance of Rule-Agent-Quiee.

3. Do we need to create Agent Schedule?


No. Agent schedules cannot be created manually.
The Agent Manager on our Process Commander system generate at least one agent schedule
instance for each agents rule.
By default, the Agent Manager checks for new or updated agents rule once every ten
minutes.
After we create an agents rule, the Agent Manager generates one Agent Schedule instance
for each node running on your Process Commander system the next time it checks for new
agents rules.

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


No

5. What are the Agent running time intervals?


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

6. What are the Agent Running modes?


Queue mode indicates whether the agent uses the agent queue capability to process items
from the agent queue. This feature allows the agent to temporarily skip over items that fail
— for example, because a needed resource is locked — and try again later to process the
item later.
 Standard — Specifies that this agent processes items from an agent queue and that it
relies on the system to provide object locking and other transactional support.
 Advanced — Specifies that this agent uses custom queuing
 Legacy — specifies that this is an agent that was created in a version prior to V5.4 and
has not yet been updated. This option is not available for agents created in V5.4 or later.

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


Agent activity calls another activity. This called activity may not appear in agent rule set. So
setup of the Rule set list and Roles by providing Access group in security Tab.
Select the access group to use for the legacy and advanced agents listed in this rule. This
field is ignored for agents with a type of Standard.

8. How do we Troubleshoot or Trace an Agent?


1. < env name="agent/enable" value="true" />
Verify above tag in prconfig file. Value of the above tag is true or false.
2. In Agent Schedule, schedule tab verify the check box Enable this agent is Checked or
Not. And also verify the Enabled? Check box is checked or Not.
3. Same thing also check in Agents Rule.

In Tracer we can trace the particular operator or particular Agent.


In prsysmgmt portal, In Agent Management select the particular Agent and Delay the
Agent and then run the
Tracer.
We can use the Agent Management link in the System Management Application to
monitor and control agent
processing.
Agent runs on different nodes, select the particular node and run the Tracer.

9. What are the Agents for SLA and Correspondence?


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

10. Who will create Data-Agent-Queue?


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

11. What are the Standard Agents?


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

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

Pega-ProCom,
The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and
assignments, archive work objects, and so on. The agents in this rule provide the
following types of processing:
 Processing service level events and escalation
 Applying a flow action to assignments in bulk
 Sending out e-mail correspondence
 Archiving and purging work objects, attachments, and history
 Retrieving PDF files from the PegaDISTRIBUTION Manager
 Checking incoming e-mail (deprecated in V5.3)
Pega-RULES
The agents in the Pega-RULES RuleSet perform general system housecleaning and periodic
processing. The agents in this rule provide the following processing:
 System Cleaner  Rule Usage Snapshot
 System Pulse  Static Content Cleaner
 System Indexer  System Work Indexer

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


When you need to modify the behavior of an agent listed in an agents rule in a locked
RuleSet (any of the standard Process Commander agents rules, for example) you do so by
editing one or more of the generated agent schedule instances.
 To monitor the Agents the url path is
http://portNo:8888/prsysmgmt/

SERVICE LEVEL AGREEMENTS


1. What is a Service Level Agreement?
A service level rule is an instance of the Rule-Obj-ServiceLevel type. Each service level
rule defines one to three time intervals, known as goals, deadlines, and late intervals, that
indicate the expected or targeted turnaround time for the assignment, or time-to-resolve for
the work object.
The goal time is the smallest time interval, the deadline time is a longer interval, and the late
interval defines post-deadline times. Each time interval is in days, hours, minutes, and
seconds.
2. What are the types of SLA? Where they can be defined?
Service level rules can be associated with a work object or an assignment.
 For assignments, the service level rule is referenced in the Assignment Properties panel of
the assignment task.
 For the overall work object, the service level rule is identified in the standard property
.pySLAName, typically set up through a model for the class. (The default value is the
Default service level.)

3. How do we do Escalation?
Escalation refers to any processing within a Process Commander application that causes
high-priority work objects to become visible to users and managers and to be processed
sooner rather than later.
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.

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


To create a circumstance-qualified rule, first define an unqualified or base rule instance
(with the Circumstance values left blank).
Then use the toolbar Save As button to create a second rule qualified by a circumstance.
If the original rule has an Applies To class as an initial key part, the circumstance-qualified
rule must have the same Applies To class or a subclass derived from that class.
3. Explain about single circumstance and multivariate circumstancing?
If we use a single circumstance property, we define the property name and its value directly
in the Save As form.
If we use multivariate circumstancing, two rules in the Save As form:
Circumstance Templates (Rule-Circumstance-Template rule type)
Circumstance Definitions (Rule-Circumstance-Definition rule type)
4. Explain about circumstance template rule?
Circumstance template rule is used to identify properties for multivariate circumstanced
rules.
5. Explain about Circumstance definition rules?
Circumstance definition rules contain a table of values for the properties in circumstance
template rules.
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.
Ex:if Alpha calls Beta, which calls Gamma, which calls Delta, which performs the Activity-
End method, all four activities are ended.

2. Explain about Exit-Activity method?


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

3. Explain about Page-Copy method?


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

4. Explain about Page-New method?


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

5. Explain about Page-Remove method?


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

6. Explain about Page-Set-Messages method?


Use the Page-Set-Messages method to add a message to a clipboard page. Like a message
associated with a property, a message associated with a page normally prevents the page
from being saved into the database.

7. Explain about Property-Set-Message?


Property-Set-Message method is used to associate a text message with a property or a step
page. The system reads the appropriate property and adds the message to the page. We can
provide the entire literal text of the message, or reference a message rule key that in turn
contains message text. (Rule-Message rule type).

8. Explain about Property-Map-DecisionTable method?


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

9. Explain about Property-Map-DecisionTree method?


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

10. Explain about Property-Map-Value?


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

11. Explain about Property-Remove method?


Property-Remove method is used to delete a property or properties and its associated value
from the step page or another specified page. This does not affect the property rule, its
definition.
12. Explain about Property-Set method?
Property-Set method is used to set the value of one or more specified properties.
13. Explain about Show-HTML method?
The Show-HTML method is used to cause the activity to process an HTML rule and send
the resulting HTML to a user for display by Internet Explorer. This may involve the
interpretation of JSP tags (or the older directives), which can access the clipboard to obtain
property values, or can insert other HTML rules, and so on.
14. Explain about Show-Page method?
The Show-Page method is used to send an XML representation of the step page to a user's
Internet Explorer browser session, as an aid to debugging.
Note: Use Show-Page and Show-Property only for debugging.
15. What is the difference between Call and Branch?
The Call instruction calls the another specified activity and execute it. When that activity
completes, control returns to the calling activity.
Use the Branch instruction to find another specified activity and branch to it without a
return.
When the system executes a Branch step, control transfers to another activity found through
rule resolution. Execution of the original activity pauses.
When the branched activity ends, processing of the current activity also ends.
No steps after the Branch step are executed.

OBJ Methods:
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.

16. Explain about Obj-List Method?


Obj-List method is used to retrieve data to the clipboard as an array of embedded pages.
This method creates one embedded page for each instance retrieved.
The Obj-List-View method often produce more efficient SQL statements and provide better
performance than the Obj-List method.

17. Explain about Obj-Browse method?


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

18. Explain about Obj-List-View method?


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

19. Explain about Obj-Open method?


Obj-Open method is used to open an instance stored in the PegaRULES database or in an
external database linked to an external class, and save it as a clipboard page.
The system uses the specified class and key fields to find and open the object and place its
data into the specified step page. The system searches up the class hierarchy as appropriate
to find the instance. If it finds the specified step page, the system clears any data that is on it
and reuses the page. If no existing page has a name matching the specified step page, the
system creates a new page.
20. Explain about Obj-Open-By-Handle method?
Use the Obj-Open-By-Handle method only if we can determine the unique handle that
permanently identifies which instance to open. Otherwise, use the Obj-Open method.
21. Explain about Obj-Delete method?
Obj-Delete method is used to delete a database instance corresponding to a clipboard page
and optionally to delete the clipboard page too. We can cause the deletion to occur
immediately, or until execution of a Commit method.
This method can operate on objects of both internal classes (corresponding to rows in a table
in the PegaRULES database) and external classes (corresponding to rows in an external
relational database).
The Obj-Delete method uses the class of the page to obtain the appropriate Rule-Obj-Class
instance. It uses the table name, key fields, and other aspects of the class rule to mark the
instance for deletion.
We can reverse or cancel a previously executed Obj-Delete method by using the Obj-Save-
Cancel method.

22. Explain about Obj-Save method?


 Obj-Save method is used to save a clipboard page to the PegaRULES database or if the
page belongs to an external class save a clipboard page to an external database.
The Obj-Save method uses properties on the page to derive the internal key under which it
will be saved.
This method can create a new database instance or overwrite a previous instance with that
key.
We cannot save a page that is locked by another requestor.
We cannot save a page that our session does not hold a lock on (if the page belongs to a
lockable class),
unless the object is new, never yet saved.
We cannot save pages of any class derived from the Code- base class or the Embed- base
class. Such pages
exist only on the clipboard.

23. Explain about Commit method?


Commit method is used to commit all uncommitted database changes. This method writes
all the instances specified by one or more earlier Obj-Save methods to the PegaRULES
database (for internal classes) and to external databases (for external classes).

24. Explain about Obj-Validate method?


Obj-Validate method is used to apply a validate rule (Rule-Obj-Validate rule type) for the
object identified on the primary page or step page.
A validate rule (Rule-Obj-Validate rule type) can call edit validate rules (Rule-Edit-Validate
rule type).

25. Explain about Obj-Sort method?


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

RDB Methods:
Use Connect SQL rules and RDB methods only with an external database. Do not use
Connect SQL rules or RDB methods for the PegaRULES database(s). Because not all
properties in the PegaRULES databases are distinct database columns, use the Obj-Open and
Obj-Save methods, not the RDB- methods, with the PegaRULES database to prevent loss of
data.
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.

2. What are the different layers in Architecture?


A robust class structure is the foundation of reuse throughout our application. The PRPC
recommended class structure design pattern offers flexibility in our design and provides for
more levels of reuse. 
There are 4 distinct layers in the PRPC best practice class structure design pattern:
1. PRPC Shared Product:  The PRPC Shared Product represents the out-of-the-box
Process Commander classes such as Work-, Work-Object-, Work-Folder-, Work-Cover-,
and Data-
2. Enterprise Shared Product Layer:  The Enterprise Shared Product Layer is a library of
extensions to the PRPC base functionality.  You should always include this layer.  It is
rare, but this layer may be omitted in some very small one-off applications.
3. Generalized Application Layer:  The Generalized Application Layer represents a
generic base application to use as a framework for application instances.  Here we will
define most of the rules for our base application.
4. Organizational and Specialized Application Layer:  The Organizational and
Specialized Application Layer represents an organizational application instance.  Here
we will be implementing the generic application.

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.

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


A Class Group is an instance of the Data-Admin-DB-ClassGroup class.
A class group instance causes the system to store the instances corresponding to two or more
concrete classes that have a common key format in a single database table. Class groups are
commonly used to cause the system to store instances of similar or related Work- concrete
classes together in one relational database table.
All the classes who belong to a class group can inherit all the rulesclared and defined at the
class group level.

4. What are the Inheritance types?


Process Commander provides two kinds of class inheritance, known as directed inheritance
and pattern inheritance.
Pattern inheritance, an optional feature we can set up for a class in the Rule-Obj-Class
rule, affects the first steps in the rule resolution algorithm. This approach is sometimes
called "dual" inheritance.
During rule resolution, pattern inheritance causes a class to inherit rules first from classes
that match a prefix of the class name.
Directed inheritance — Allows us to name a parent class, choosing a name that's not
related to the name of this class

5. How pattern and directed inheritance works?


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

6. What are the types of classes?


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

7. What are Pega default classes?


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

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


Each connected Process Commander requestor has an associated temporary memory area on
the server known as the clipboard. The clipboard has a hierarchical structure, 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.

2. Explain about Delegating a rule?


A delegated rule is one that appears for a specific group of users so that they may manage
these rules outside the development environment. Delegated rules appear on the My Rules
gadget for a single user or for all the users who are associated with a specific access group.
An application user who has the PegaRULES:WorkMgr4 access role can update the leftmost
tab of existing rules that may change frequently.

Opening a delegated rule


To open a rule delegated to you:
 From the WorkManager portal, open the Dashboard workspace, locate the My Business
Rules area, and click the link that labels the delegated rule.
 From the Developer portal, select View > My Rules > label.

Delegating a rule
To mark a rule as delegated, click the 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

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.
IT USES THE FOLLOWING AS INPUT :
a. name of the rule.
b. availability.
c. date and time of creation.
d. rule set list.
e. circumstance, if any.
f. position in the class hierarchy.
g. inheritance type, pattern or directed.
h. access roles and privileges held.
IT WORKS AS FOLLOWS:
a. First rule type is matched.
b. Then the Class name of the rule instance is matched bottom up in the class
hierarchy and all rules matching this criteria are filtered.
c. Then the rules are filtered on the basis of ruleset, its versoin and its availability.
d. If they are time based rules then the one with soonest end adte will be picked.
e. Then the circumstance values is checked, the property value in the ruke is checked
against the user clipboard value, if match is found then that rule is picked and the base
unqualified rule is dropped.
f. Then the rules are filtered based on the access roles and privileges.
g. Te rules that qualifies the above criteria are picked nad the one in lowest in the
class hierarchy is executed.
INTEGRATORS AND CONNECTORS
1. What are the Integrators worked on?
Integration Services are interfaces between Process Commander and external systems.
These consist of services supplied by Process Commander in response to requests from
other systems and connectors, interfaces initiated by Process Commander.
Integration services category: Service SOAP, Service File
Integration connectors category: Connect SOAP, Connect SQL, Connect File

2. What is service?
A service is a Process Commander programmatic component that defines and implements
an interface between an external application acting as a client and a Process Commander
system acting as a server.
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)

4. How to integrate with web services?


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

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.

4. What is the difference between HTTP and SOAP?


The HTTP integration interface supports interactions between our Process Commander
applications and other systems through HyperText Transport Protocol.
Using Simple Object Access Protocol (SOAP) over HTTP, the SOAP integration interface
in Process commander supports interactions with external systems through Web services.
Use SOAP connector rules when our Process Commander applications need to call an
external Web service.
5. What are the necessary rules to create a Connector?
6. What are the necessary rules to create a service?
CASE MANAGEMENT:
1. Explain about Work Object?
A work object is the primary unit of work completion in an application, and the primary
collection of data that a flow operates on.
As an application is used, work objects are created, updated, and eventually closed
(resolved).
Every work object has a unique ID (property pyID), an urgency value, and a status (property
pyStatusWork).

2. Explain about Work Object ID?


A work object ID is the permanent, external identifier of a work object.
If we don't specify a prefix (on the Details tab of the application rule), the
Work-.GenerateID activity uses W- as the prefix and no suffix. The Work-
Cover-.GenerateID activity uses C- as the default prefix. Conventionally, the F- prefix is
used to identify folder work objects.

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.

5. How do we create the Cover Work Object from Activity?


In activity We are creating Work Object and Add to the Cover At a time By using the
method AddCoveredWork.
AddCoveredWork Creates a new covered work object using the primary page data. This
activity assumes the cover is already locked. Due to above Reason we are locked the cover
by using Activity Obj-Refresh-And-Lock.
This activity saves the new covered work object on the deferred list.

6. How the Cover Work Objects are Working?


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.

7. How the 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.

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.

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

You might also like