You are on page 1of 99

1) What is your current project? How the flow will be in your current project?

2) In which areas are you confident?


Activities
1) Difference between may start and authenticate in an activity?
May Start
Select to allow users to start this activity directly through user input processing, for
example through a Submit button. Clear this if this activity is to be started only from
another activity, through a Call, Branch, or other means.
For example, select the box for a service activity, or if this activity is called by an AJAX
event from a form, such as a SmartInfo request from a list view display.
If, at runtime, the box is not selected and a user attempts to start this activity by user
input, the activity does not run and returns a method status of Fail:Security.
For most activities, leave this box cleared to promote security of your application.
Unless needed by your design, allowing activities to be started from a URL or other user
input whether the requestor is authenticated or a guest may let users bypass
important checking, security, or setup
Authenticate
Select to require that only authenticated requestors can start this activity.
Clear to allow guest users to run this activity, if they meet other security and access
criteria. Guest users unauthenticated requestors typically have access to rules in
the RuleSets provided in the PRPC:Unauthenticated access group, as referenced in the
Requestor type instance named pega.BROWSER.
If you update the BROWSER requestor type to reference a different access group, or
update the PegaRULES:Unauthenticated access group to make additional RuleSets
available to unauthenticated users, review carefully this checkbox for each activity in the
RuleSets. Select this checkbox for all but those specific activities that guests need
to run.
In most cases, clear this checkbox if the activity is for an agent. Agents are not true
authenticated users and by default cannot run activities that are restricted to
authenticated users. However, this checkbox is ignored by agents for which the Bypass

activity authentication checkbox (on the Security tab is checked; they can run
activities regardless of the Authenticate? value.
2) Difference between rdb methods and obj methods?
(a) Rdb methods used for external database and obj methods used for internal
database.
(b) The primary difference between Obj- and RDB- operations is how they participate in
atomic transactions. RDB operations immediately commit their changes to the
database. If something in your workflow fails, there is not equivalent for Obj-SaveCancel or Rollback methods to stop your changes from being propagated to the
database.
When you use Obj- operations, database operations will not be committed until you
explicitly call Commit or you reach a flow boundary.
(c) Obj methods - can be used in external database as well as PegaRULES database
RDB methods - In all but rare cases, use Connect SQL rules 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.

(d) Obj operations can also be done on External database. It is not mandatory to use
RDB operations for external database. External table can be mapped to a class and
obj- operations can be done on it.
3) Difference between Obj-Open and Obj-Refresh-And-Lock?
Using Obj-Open method you can open any one instance of a particular class in a page
(which is the step page for the method) based on certain criteria.
For Obj-Refresh-And-Lock you need the step page to be already populated with the data
from any particular instance. When the method executes, it checks if the lock on the
page (and hence the instance) is held by the current operator. If the instance is already
locked by the current operator, the method has no effect. If the instance is locked by
another user, this method fails and the lock information is populated in the LockInfo page
provided as parameter. If lock of the instance is not held by anyone ,then the page is

updated based on the most recent version of the instance and the current operator is
given the lock for the instance.

4) Comparing the Obj-List-View, Obj-Browse and Obj-List methods?


Methods below are in ascending order in terms of performance.
OBJ-BROWSE
OBJ-LIST-VIEW
OBJ-LIST - This method can return thousands of database rows and create large
clipboard pages. Use care to retrieve only the rows (instances) and columns (properties)
you truly need.
obj-browse generates a better query than obj-list.The internal implementation in Java is
faster
obj-list is derrogated; obj-browse is the successor

Summary
Version 5.4 introduces two new methods which support searching and selection of objects from
the PegaRULES database:

Obj-Browse Executes an SQL SELECT statement; with the WHERE condition limited
to exposed properties

Obj-List-View Executes the selection, retrieval, and sorting capabilities of a list view
rule, without report display
These new methods can improve performance along multiple dimensions CPU, database
demand, and clipboard size (memory) compared with the Obj-List command. (The Obj-List
command is deprecated as of V5.4, with certain exceptions.)
As demonstrated by one simple comparison, performance improvements with the Obj-Browse
and Obj-List-View methods can be substantial. Results vary depending on the number of rows
of the table, search criteria, and the number and size of columns returned, so a universal best
approach cannot be determined.

Suggested Approach
To make best use of these new methods, plan the row selection criteria. Use the View/Modify
Database wizard or other means to determine which properties in the class to be searched are
exposed as individual database columns.

Only properties exposed as columns can appear in the Criteria area of the Contents tab of the
List View form, and in the parameter array of the Obj-Browse method.
This informal comparison describes three one-step activities that produce similar search and
retrieval results on a clipboard page.

Case 1: Obj-List-View method


The Obj-List-View method uses information in the Content tab and Display Fields tab of a list
view rule to determine which instances to retrieve, and which columns of those instances to
place on the embedded pages of a Code-Pega-List page. Information on other tabs of the List
View form is ignored.
On the Display Fields tab, list the properties to be included.

On the Content tab, list the properties to be retrieved, the selection criteria, and the page name
(in the Content Page Name field). Clear the Maximum Value field to allow unlimited searching.
Note the Read-Only check box setting, which instructs Process Commander to include in
results only the property values from each object that are explicitly requested, not including the
entire Storage Stream or "BLOB" column (pzPVStream property).
This restriction makes each embedded page smaller, saving JVM memory, but means that the
embedded page contains only some, not all, of the object (and so cannot be rewritten back
later).
If the Read-Only check box is checked and the List View references property values that are
present only in the Storage Stream, the Storage Stream is retrieved, the property values
extracted, and then the Storage Stream is discarded to save memory.

The activity Rule-Obj-Property.ObjListView contains only a single step, which references the list
view rule:

Case 2: Obj-Browse method


The activity Rule-Obj-Property.ObjBrowse contains a single step that defines both selection
criteria and properties to be included on embedded pages.

Note the ReadOnly parameter, which marks the embedded pages as using the smallermemory-footprint format that excludes the Storage Stream (blob) column.
As with the Obj-List-View method, when the ReadOnly parameter is checked, the Obj-Browse
method can retrieve property values that are only in the Storage Stream, but the Storage
Stream (BLOB) column is later removed from the results to save memory space.

Case 3: Obj-List method (deprecated)


For comparison purposes, the V5.3 approach using the Obj-List method was included in the
test. This method operates identically in V5.4 as in earlier versions.
However, beginning in V5.4, this method is deprecated for new development, except when used
with an external class.
A list rule defines the properties retrieved for each selected property:

The
activity Rule-Obj-Property.Obj-List contains a single step, specifying the selection criteria and
referencing the list rule:

Results
All three activities produced a Code-Pega-List results page containing 5,320 embedded pages,
one for each property of type Text. In all three cases, the embedded pages included the three
requested properties, plus a few others.

The table compares key performance statistics from these three activities, called for 10
executions by a driver activity that included a Page-Remove step to delete the results page
between the first 9 executions:

Analysis
Note these performance improvements:

The Obj-List-View method (with the ReadOnly setting checked) required 62% less CPU
time, 55% less elapsed time, and produced a final clipboard size 92% smaller in bytes than
the Obj-List method.

The Obj-Browse method (with the ReadOnly parameter setting selected) required 61%
less CPU time, 57% less elapsed time, and produced a final clipboard size about 20% smaller
than the Obj-List method.
The bottom two rows show the substantial performance impact of removing the read-only
restriction on the Obj-Browse and Obj-List-View cases.

For Obj-Browse, CPU times and elapsed times are still better than the Obj-List results,
but by less impressive margins.

For the Obj-List-View case, the entire property instances are loaded into each
embedded page, resulting in a 41 Megabyte clipboard.
In other circumstances, percentages (and relative rankings) of the three methods will differ,
depending on the hardware and software environment, the search criteria, the need to retrieve
the Storage Stream (blob) column, and other conditions. However, the new V5.4 methods are
significantly superior to the deprecated Obj-List method in a wide variety of situations.
5) Difference between Rdb-save and Obj-save?
Obj-save we can use for prpc database or external database, rdb-save we can use only for
external database. what is the difference between the two methodS, why we are not able to use
rdb-save to PRPC database.

Because not all properties in the Process Commander 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.
Obj operations can also be done on External database. It is not mandatory to use RDB
operations for external database. External table can be mapped to a class and obj - operations
can be done on it.
The primary difference between Obj- and RDB- operations is how they participate in atomic
transactions. RDB operations immediately commit their changes to the database. If something
in your workflow fails, there is not equivalent for Obj-Save-Cancel or Rollback methods to stop
your changes from being propagated to the database.
When you use Obj- operations, database operations will not be committed until you explicitly
call Commit or you reach a flow boundary.
6) Use of connect sql?

Purpose
Use Connect SQL rules when your application needs to run complex Structured Query
Language statements such as joins or stored procedures to update or extract
information from an external database.
Connect SQL rules are instances of the Rule-Connect-SQL class. They belong to the IntegrationConnectors category.
Create a Connect SQL rule by selecting Connect SQL from the Integration-Connectors category.
A Connect SQL rule has three key parts

To execute the SQL statement on this tab, an activity uses the RDB-Open method.
Open SQL

Follow the guidelines in Data Mapping in SQL. Enter a single SQL


statement directly into the text box. Typically this tab contains a
SELECT statement, which may include the WHERE and ORDER BY
clauses. You can use an EXECUTE statement (or equivalently a CALL
statement for Oracle) on this tab.
The results of the RDB-Open method are properties and values
added to the step page (of the step that contains the RDB-Open
method) for the selected row. (If the Step Page column of that step
is blank, the system uses the primary page of the activity.)

The SQL statement in this tab operates in conjunction with an activity that uses the
RDB-Delete method.
Delete SQL

Follow the guidelines in Data Mapping in SQL. Enter an SQL


statement directly into the text box. You can use a DELETE
statement, TRUNCATE statement, or DROP statement in this tab.

Enter an SQL statement to be executed by an activity that includes the RDB-Save


method.
Save SQL

Follow the guidelines in Data Mapping in SQL. Enter an SQL


statement directly into the text box. You can use an INSERT
statement, an UPDATE statement, or a CREATE statement on this tab.
For an INSERT statement, ensure that the property values that
define the primary key have appropriate values (unless the primary
key is computed, as through auto-increment.)
Some external database tables may include one or more autoincrement columns. Do not reference such columns in an INSERT
statement or attempt to change values for these columns with an
UPDATE statement.

The system uses information in this tab whenever an activity executes th e RDB-List method. The results of the RDBList method are a user page (of class Code-Pega-List) containing properties that summarize the search, plus a list of
embedded pages named pxResults(1), pxResults(2),... containing the properties from each search result row.
To define a SELECT statement that is expected to return exactly one row, you can complete the Open tab
rather than the Browse tab. The RDB-Open method, used with an SQL command in the Open tab, places properties
from the single selected database row directly into the current step page. The step page can have a class of your
choosing.
By default, properties retrieved by browsing an external database are not tracked for changes by Declare
Expression processing. Your activity can override this and force change tracking through a parameter of the RDBList method.

Browse SQL

Enter an SQL statement that define a sequential search on a portion


of the external database. Follow the guidelines in Data Mapping in
SQL. Any property values mentioned in a WHERE clause must
correspond to exposed columns in the database table.
Enter the SQL statement directly into the text box. You can use a
SELECT, or (for stored procedures) an EXECUTE or CALL statement in
this tab.
For Oracle databases, follow a stored procedure name with
parentheses, in the format:
CALL MYPROC()

Use Connect SQL rules with an external database. Except in unusual situations, use the Obj-Browse
method or Obj-List-View method rather than Connect SQL rules and RDB methods for the PegaRULES
database.
When you need to access objects in a PegaRULES database, the RDB- methods and Connect SQL rules
may not work, because not all the properties in the PegaRULES database are distinct databas e columns.
Use the Obj-Open and Obj-Save methods, not the RDB- methods, with the Process Commander
database.
Debugging
Use the Clipboard tool to see the final SQL statement sent to the database and the results. (Use the
Tracer tool with breakpoints to pause processing before or after the RDB method executes.)
For advanced and detailed debugging, use the DB Trace feature of the Performance tool.
How this rule works
At runtime, the system interprets the keywords in the context of your clipboard, Database Tabl e and
Database information to form the final SQL. It then executes the SQL using standard database access
capabilities.
Each operation involves the SQL statement on one tab of the rule. To determine which database to
access, the system uses this search algorithm:
1.

Uses the database table associated with the Class of a

2.

When the SQL contains no

{Class } directive in the source SQL statement.

{Class} directive but contains a {Table} directive, searches through

Data-Admin-DB-Table instances for a match on the table name, and uses the database identified in the
referenced Data-Admin-DB-Name .
3.

Uses the database table associated with the Applies To key part of the Connect SQL rule.

Debugging SQL and SQL Performance


You can use the DB Trace feature of the Performance tool to view in depth the SQL operations of a
Connect SQL rule.
NOTE:-For example, the Oracle

DATE

data type requires a time. If you store a Process

Commander property of mode Date (which has no time) into an Oracle

DATE

column, the time

portion of the value is defaulted to 00:00:00 GMT, which may not be appropriate. As a
workaround, store Date values into Oracle columns of data type VARCHAR

7) Options in the activity?---May Start and Authenticate under security tab

8) In activity, connect-soap method parameters.

Use the Connect-SOAP method to invoke a Web service identified in a Connect SOAP
rule (Rule-Connect-SOAP rule type).
ServiceName

Enter the Service Name (second key part) of a Connect SOAP rule, an instance of the Rule-ConnectSOAP rule type. The system uses the class of the step page as the first key part of the rule.

Execution Mode

Select to indicate the timing of execution

Run Execute the connector synchronously; the next step of the activity containing the
Connect-SOAP method does not execute until the connector response is received.

Run in Parallel This connector is to run in parallel as a child requestor of the


current requestor. If selected, use the Connect-Wait method later in the current or a

follow-on activity to access results from the connector. Do not select this value if the
Connect SOAP rule supports compensating actions.

Queue Add this connector request to a queue, defined by a Connect Request Processor
data instance, for background processing by the Pega-IntSvcs ProcessConnectQueue
agent. This mode works only if the Request Processor field on the Service tab of the SOAP
Service rule identifies a Data-Admin-RequestProcessor-Connect data instance. When the
agent executes a queued connector request, the execution is performed with t he
authorization profile of the original requestor.

EndPointURL

Optional. Enter an endpoint URL value to override the value in the Connect SOAP rule.

9) In Activity, Difference between precondition and transition?


Use a precondition to conditionally skip execution of a step. The system evaluates
whether specified conditions are met before it executes the method or instruction
referenced in the step. If false, the rest of the step is skipped.
The

icon on the Steps tab identifies the precondition column. When a step is not selected, a

checkmark
click

indicates that this step has a precondition defined and enabled. When the row is activated,

to add a precondition or the

to access the details of the precondition. Alternatively, click

at

the left of the step row to view all step fields, including the precondition fields.

Use the standard add row (

), append row (

), and delete row (

) buttons with this array. Order is

significant.

The column identifies transitions, optional fields that can end iteration,
terminate the activity, or cause control to jump to a later (higher-numbered)
labeled step. Use transitions to specify conditions that are evaluated after the
method in the step is performed, but before the execution continues with other
steps.

Often a transition condition tests whether the method in the current step was
successful. See How to test method results using a transition for more on this
use of transitions.
When a row is not selected, a checkmark

indicates that this step has a

transition defined. When the row is activated, click

to add a transition or the

to access the details of the transition.


Use the standard add row (

), append row (

), and delete row (

) buttons

with this array. Order is significant.

10) In Activity, we have four when conditions. Whats the use of continue whens, skip whens and
also when u will use for each embedded page, param.pyForEachCount?
11) Exception handling in activities?(in transition we use stepstatus good)
12) In Activity, how to use page list?
13) In activity, param.pyIndex, append, last where to use?
14) FOR LOOP USE?
15) Types of Activities?
The Activity Type is a field on the security tab of the Activity form describing the activity's
characteristics. An Activity Type has one of the twelve values listed here. Five of these types
identify activities that you can reference directly in flow rules.

Activity Type

Description

Activity

Any activity that is not one of the activity types below.

Assembly

Reserved. Do not use.

Assign

An activity that creates an assignment, an instance of a concrete class


derived from the Assign- base class. Referenced in a flow to support an
assignment. These activities may be referenced by an assignment shape
(

or

) on a flow rule.

An activity that calls a Rule-Connect- external system interface. These


Connect

activities may be referenced by an Integrator shape (


flow rule.

or

) on a

Locate

An activity that finds a locatable page; referenced on when condition, Declare


Expression and Constraints rules only.

Load
Declarative
Page

An activity that adds values to declarative pages. Referenced on Declare


Pages rules only.

Notify

An activity that sends correspondence to a work party in a work item. In a flow


rule, such activities may be referenced in the Properties panel for an
assignment, or explicitly in a Visio notify shape (

OnChange

Route

).

An activity that starts automatically when another activity step changes certain
properties, as defined through a Declare OnChange rule.
An activity that determines which user worklist or workbasket receives an
assignment. In a flow rule, such activities may be referenced in the Properties
panel for an assignment, or explicitly in a Visio router shape (

Trigger

Utility

).

An activity that starts automatically when an object of a certain class is saved,


as defined through a Declare Trigger rule.
An activity that typically updates a work item and is referenced in a flow, but
requires no user interaction. In a flow rule, these activities may be referenced
in a utility shape (

or

).

Validate

An activity that validates the contents of a rule or data form. (Rarely needed in
applications.)

The Assign, Connect, Route, Notify and Utility types identify activities that are directly
referenced in flow rules. Typically, activities used in flows have a class derived from the Workbase class as the Applies To portion of their key.
The Activity Type field on the Activity form corresponds to the property Rule-ObjProperty.pyActivityType.

Debugging and Troubleshoots:1)


2)
3)
4)
5)
6)
7)
8)
9)
10)

How to trace parameters (clipboard or tracer)? -----Tracer


In Tracer, parameter page unnamed page click
In clipboard page, we cannot see parameters.
What are the pages in clipboard? user pages, requestor, thread, process----differences of these
When we create pyWorkPage where we will see this in the clipboard?
When we create work objects and cover objects where we will se e this in the clipboard?
How will you trace service rules?
Trace open rule how it will work? What is the purpose of that rule?
How will you use watch variables in the Tracer?
How will you debug local variables in the Tracer?-- (we can see local variables in Tracerin v6.x)
Local Variables are usually used in an activity. They are valid only within the context of the
activity.
One way to view the value of the local variable is to write it out to the log files using logmessage in your activity.
Copy the local variable to a param, or use the log-message method. Then we see in Tracer.
Log-message method with "pass onto tracer" param checked can do that..
You can know the value of local variable by using Java method in the activity.
Ex:mention Parameter as CurrValue in Parameter Tab .
local variable name is TempValue
use below Java code in Java Method of your activity
tools.putParamValue("CurrValue",TempValue);
see ParameterPage in Tracer to know the local variables .

11) Iam in Developer Portal and logged in Work User portal. I want to trace in work user portal.
Using Remote Tracer, using requestor id we can trace.

12) now three users are using the work user portal, how will you find which is your requestor id?
Ans- IP Address will be displayed.
13) What are Tracer options?
SERVICES and Integrations:1) Have you worked on services and integrations wizards?
2) What is connector and metadata wizard?
3) What are the rules created when you run that wizard?
4) What are the options that are available when you run that wizard?
5) document url ,wsdl, xsd's from where you will load these?
6) How to take images comes from local folder?
7) Run time exceptions? How much time it will take?
8) What are the classes and properties created? Parse XML, XML Stream
9) Will you run the wizard more than once?
Let's say we have 5req, 5response variables. If we want to add from one request, then will you
run the wizard once again OR else you will change set of rules physically?
10) Request and response xml?
11) Common Exception handling how will you handle?
12) What are the issues you faced in your project?
13) When you acted as a SERVICE? How you used it? How you executed wsdl?
14) Exception handling in integrations?
15) parse xml? request/ response xml?
16) SOAP service creation steps?
17) Connector rules creation steps?
Declarative rules and Decision rules:1) What are Declare expressions? Whats the use of declare expressions?
2) Can we execute Declare expressions forcibly?

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

Don't confuse Declare Expression rules with simple expressions. Expressions a syntax that
includes constants, function calls, operators, and property references are used in many
situations in addition to Declare Expression rules
3) If we use declare expression on the property can we use the same property in the activity? ANS-cannot be able to compile we are trying the set the property (which is already used in declare
expression) in the activity.
4) Declare constraint means?
5) Declare trigger means? When and where you will use this? What you will give in that form? How
the trigger activity will be executed?
6) Declare onChange means?
7) Declare-Constraints and Obj-Validate difference?
Constraints are Declarative rules.Where as the other are procedural.

Create constraints rules to define and enforce comparison relationships among property values.
Constraints rules can provide an automatic form of property validation every time the property's
value is "touched", in addition to the validation provided by the property rule or other means.

The system evaluates constraints automatically each time a property identified in a constraints
rule is changed. This technique is known as forward chaining.
Where referenced
No other rules explicitly reference constraints rules. When you save a constraints rule, Process
Commander enforces it immediately and thereafter. The system automatically adds a message
to any property that is present on the clipboard and fails a constraint. This message marks the
page containing the property as invalid and ordinarily prevents the page from being saved.
Access
Use the Application Explorer to access the constraints rules that apply to work types in your
application. Use the Rules Explorer to list all the constraints rules available to you.
Delegation
After you complete initial development and testing, you can delegate selected constraints rules
to line business managers. The Constraints tab of the Constraints form provides m anagers with
access to the fields most often updated.
Obj-Validate method
Use this method to apply a validate rule (Rule-Obj-Validate rule type) for the object identified on
the primary page or step page.
Use the Page-Validate method not this method to validate all the properties on a page
against the requirements defined in their respective Rule-Obj-Property rule instances.
A later Page-Clear-Messages method applied to the same page removes the messages set
by this method.
A validate rule (Rule-Obj-Validate rule type) can call edit validate rules (Rule-Edit-Validate
rule type). However, note that the current step page is not the primary page for evaluation of the
edit validate rules.
This method has two parameters
1) Validate ---Enter the second key part of a validate rule to apply.
2)OverrideClass --Optional. Enter the name of a class where rule resolution will begin searching
for the Validate rule.
If blank, rule resolution begins searching for the validate rule on the class of the step page. You
can override the class of the step page with a higher or lower class.

8) Forward chaining and Backward chaining means? Examples.

Forward chaining
Often, Process Commander recomputes target property values automatically each time
any of the other input values in the expression change, or when a value for this
property is accessed, changed, or using other criteria. This technique is known as
forward chaining.
For example, you can declare that a property named Order.TotalPrice is always the sum
of:

OrderLine(1).TotalPrice

OrderLine(2).TotalPrice

OrderLine(3).TotalPrice

and so on. You can also declare that OrderLine().TotalPrice is always equal to .Quantity
multiplied by.UnitPrice.

Backward chaining
In an activity, the Property-Seek-Value method can access the computational
relationships among properties in a Declare Expression rule to identify source values
needed to compute a missing property value. This technique is known as backward
chaining.
For example, consider a single Declare Expression rule defining Circumference as
3.1416 times Diameter with Change Tracking set to Whenever used. This rule can be
used in either forward-chaining or backward-chaining mode:

If step 3 of an activity causes the value of Diameter to be set, an updated value for the Circumference
property is available at the start of step 4 (forward chaining).

If step 1 of another activity uses the Property-Seek-Value method with Circumference as the target, and no
value for Circumference is found, the system seeks a value for Diameter (backward chaining).

Access
Use the Application Explorer to access the Declare Expression rules that apply to work
types in your application. Use the Rules Explorer to list all Declare Expression rules
available to you.

Delegation

After you complete initial development and testing, you can delegate selected Declare
Expression rules to line business managers. The Expressions tab of the form provides
managers access to the fields most often updated.
9) Decision tree, decision table, when rule, Map Value is there? if there is one requirement then
what will you choose among these? Which one you will take first?
10) Can we do multiple property-settings in the Decision Table? Ans in the Results tab
11) Can we give privileges in the Decision Table? (It's not compulsory that decision table should
return a value).
12) Can we give privileges to one column of output?
13) In the Results tab of show/hide, Can we set the values for property1, property2?
14) What are Decision rules? Decision Tree and Decision Table difference?
SLA's:- Goal , Deadline, Passed Deadline
1) How will you set SLA for Workobjects?--------pyDefault, pySLAName--Then it will trigger the SLA
2) Assignment SLA----------- we can set in the flow.
Dynamically it will change urgency.
If Goal is there, it will show Yellow Color. If Deadline is there, then it will show Red color.
3) Scenario: I am setting an SLA for WorkObject.
Goal one day.
Deadline two days.
Passed Deadline four days. With this interval repeating four cycles.
What happens after post deadline?
4) Open SLA rule and see what happens in that?
Declare Pages:1) Why we use Declare pages?
----We will use to fetch all country currency codes, and also we use Endpoint urls.
If we want to change Endpoint url in future we will do it in pyDefault in Declare pages.

2) Why will use for node level, thread level?


3) Purpose of node level in Declare pages
4) In activity what will be the type for the Declare pages?---load declarative page
5) Why we use Declare pages?
6) purpose of node level in Declare pages
FLOWS.
1) In how many ways, we can create a WO?
2) If activity, what's the method to create a WO?
3)

If process, how to create a WO?----create a new work object to be checked

4) How will you the prefix of WorkObject In the Flow rule?---Under Design tab, specifications we
can change prefix of WO to u-.
5) How will you change the prefix of WorkObject in the process?----In the Data Transform we will
change in pyDefault.
6) Where will you modify Work Object status?
7) Flow Shapes? Split-ForEach and Spin-Off difference?
8) Screen Flow and Regular Flow difference?
9) Converting regular flow to screen flow is not possible.
After the flow is created you cant change the category of the flow. You can see in th e flow form
> Design > Category is read only. It can only be selected when you create the flow in the Create
new flow form "Template".
10) In a Flow, we have A1,A2,A3,A4,A5 assignments. I want to go from A2 to A5 directly. How?
11) Estimations and RAP?
12) What's the tool you use for Flows? viso or modeler???
13) What are different Flow shapes? Which version you used?
14) How Routing will be done? Worklist and workbasket?
Ans:In assignment tab, toworklist, toworkbasket
toworklist ---- to operator.
to workbasket------ create workbasket.
operator-workgroup(123)-(246),obj-browse using pyWorkGroup

15) Difference between Worklist and WorkBasket ?


16) What is Flow Action? Difference between local Flow Action and Connector Flow Action?
17) Where we will specify menu, link or buttons in Flow Action?---- in pyActionArea
18) When to use pyNewDefault activity?
19) Screen Flow? shapes used in this?
20) Breadcrumb purpose in screen flow?
21) Utility shape purpose?----to automate the process. if we want to send an email if an action
done.--email notification
22) In MainFlow we have Starter flow, Assignments and no end shape. How will you save the Flow
without changing the status of WO?----------- Use utility shape
23) Can we have both Router and Notify shapes in Assignment? --------Yes
24)
VALIDATIONS:1) Types of validations? Where will you use validations?
2) Edit validations, Obj validations difference?
3) standard obj validation? form validate
LIST VIEW:1) I want to display index in the list view? ---use declare index in the Joins tab.
2) I am using list view in the section, But I am not getting the values in dropdown of rule-obj-list
view? -------Ans use embedded page to be checked.
3) Purpose of Joins tab in ListView? ListView and Summary View difference
AGENTS:I have created agents and moved to the production/ without unlocking that ruleset, how can I change
that agent rules?----Data-agent scheduler will be created for the agents. We can change here as we
there wont be any lock for this data-agent.
DB related questions:
1) Why we have Data- classes in Work-?
Work- classes used to create work objects and Data- classes used to store data. We can use
work- class properties and vice versa with using page and pages tab.

Work- classes are intended for Work instances and Data- classes are intended for data instances.
Work- inherited classes have useful reusable rules for work objects such as for adding work.
Data- classes have reusable rules such as properties in Data-Party-. A proper class structure
leads to a good design of an application.
Scenario:If I have 10(Few number) propertis in Data- class , I need to call them in section (which is in
work- Class) without using "PageList & PageGroup" ?
In the Work- class you need to have an instance of the Data- .This will be a page because you
have multiple properties on it. It does not have to be a page list or page group. I would say
define a section in data class for these properties and the use this section in work class ("using
page" method).
In your work section uncheck the auto generated html option under html tab and define the
page of data class and modify below sample code accordingly.
<pega:withPage name="TestPage">
<pega:include name="Your section name" type="Rule-HTML-Section"/>
</pega:withPage>
2) How will you map class to Data table?
Database table is an instance of Data-Admin-DB-Table. This is not a table. This rules
actually consists the name of the table in the DB and maps it to a class in PRPC which is
the name of the database table.
Every operation you perform, whether it is obj-browse or exposing of the columns, the
results are fetched/updated on the table mentioned in the database tabel.i.e., DataAdmin-DB-Table instance.

3) How to map Work group in table?


Normally Work group information are been saved in PRPC "pr_data_admin" table. you
can't change this mapping.
if you want to map the work pool
1) Create a new class group instance and mention the keys by default it's pyID.
2) Create a new DB table instance map with new table.
Test the Connectivity ..Now all the WO will be saved into that tables
4) How will you expose a property without using pega?--pc_work, pr_other
Exposed property - definition
A Single Value property that is visible as a column in a database table is said to be
exposed. Aggregate properties, properties within an embedded page, and properties that are
not exposed are contained in a specially formatted Storage Stream or BLOB column. Most
PegaRULES database tables contain a Storage Stream column named pzPVStream.
Which properties are exposed affects the record selection operations in list view and summary
view rules. In many cases, your database administrator can cause a property previously stored
only inside the Storage Stream column to become a separate exposed column.
Only top-level Single Value properties can be exposed. If your application needs a column
corresponding to an embedded property values, the values can be copied to the top level or
exposed indirectly through instances of an Index- class.
Don't confuse an exposed property with an indexed database column. For example, the
property Work-.pyID is an exposed property in the table pc_work. However, if this table
contains several million work items, a list view search for a .pyID value of "W-135" causes an
expensive database table scan. Creating database indexes can speed database operations in
such situations.
How to expose a property as a database column?
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.
expose properties as distinct columns can significantly improve performance.

You can expose a property even after the property has values.

Tools
You can use any of these tools to expose a top-level Single Value property as a column:

Modify Schema wizard

> System > Database > Modify Schema

Review the current schema of a database table.

Change the width in bytes of a column in the database table.

Expose a single value property as a new column

Create a text file with Structured Query Language defining a table.


You can use this facility to copy a single value property from the BLOB
column and "expose" it as a column. This change may affect database
performance and database size, but has no functional effect on activities, the
property rule, or other rules referencing the property.

Property Optimization tool From the Application Explorer right-click menu


The Property Optimization tool is available only on development systems systems
where the production level is 1 or 2.
1. Access the property through the Application Explorer.
2. Right-click. Choose Optimize for Reporting from the menu.
3. Wait. The new column is created immediately, but property values in the new
column are copied (from the BLOB) by a background process. This may take
from a few seconds to hours, depending on volume.

Database Class Mapping gadget


> Data Model > Classes and Properties > Database
Class Mappings, for tables in external SQL databases.
using the Database Class Mappings gadVGEget, you can compare the values in this field
with the current schema, identifying properties marked as Required which are not exposed
SMA:
The System Management Application (SMA) is set of utilities distributed with PegaRULES
Process Commander that enable system administrators and developers to monitor and manage
Process Commander nodes. SMA is a standalone implementation and requires a separate
installation. SMA is built on Java Management Extensions (JMX) interface.
Through Process Commander: Start PRPC as a developer. From the Pega button, select
System > Tools > System Management Application.
the prsysmgt link.

Access and Node Management


Listener Management
Memory Management
Requestor Management
System Management

Administration tools include:

Agent Management

The Agent Management tools collect information about all agents that are
running on the specified node. Note that when an agent is active, it may also
be viewed as a requestor (beginning with B) in the Requestor Management
screen.


Logging and tracing functions include:
Garbage Collector and Log Usage

How will you trace an agent running in Node level? refer above
OTHERS
1)
2)
3)
4)
5)
6)
7)
8)
9)

Harness Types? Differences of all types?


Rule Availabilities? No and Blocked difference?
How will you create Circumstance rule? Use of circumstance?
UAT and SIT work experience?
version 5.4/5.5/6.1/6.2 differences?
Case management use?
DCO purpose? ---for requirements gathering
Purpose of save and commit?
Two Phase commit means what?
PRPC support two phase commit using
1. CMT(Container Managed Transaction) with XA driver, EAR file
2. BMT(Bean Managed Transaction) with XA driver, EAR file
3. Compensating transaction
In two phase commit, all the data that has to be written in the database will be saved in
temporary location first that is called as deferred location. From that deferred location data
ultimately saved into target database.
Whereas Single phase commit is nothing but directly writing data into database, without saving
it to temporary location.
Two phase commit - definition
A two-phase commit capability is a Java Transaction API (JTA) feature supporting distributed
transactions.
When Process Commander is installed as an Enterprise tier application (and the XA version of
JDBC database drivers are installed) the Commit and Rollback methods apply to both internal
and external classes, implementing a Java EE distributed transaction.

For example, a flow may update tables in external relational database such as a customer
master file, and also update assignments and properties in the work item. If when the Commit
method occurs either the PegaRULES database or the customer master database operation fails,
a rollback occurs automatically.
10) Locking concept in PRPC? object locking and requestor locking difference?
Locking concept in PRPC.

A Process Commander requestor can lock an open instance if all of the following are true:

The instance belongs to a concrete class that has Allow Locking? checked in the class rule and

The instance has ever been saved and committed to the PegaRULES database.

The requestor has an access role that conveys the privilege needed.

Locking By default, locking a covered work object also locks the cover work object. This is des irable
because the cover work object may contain totals, balances, counts, or other derived values that require
single-threaded access.
Whenever you open a work object in a modifiable mode, such as the Perform form, your requestor
acquires a system lock so that no one else can alter the work object until you are done with it. If you lose
your session while such a form is presented, for instance by closing the browser window, or if your
session times out from inactivity, the lock is later released, normally one hour after the time the lock
was established.
Locking can arise from three sources:

The most common reason a work object is locked is that someone else is working on it. The Lock
form indicates who has the object locked.

The next most common reason is that you were working on this work object earlier, but then
your session timed out or you lost the browser -- and the time since this occurred is still within
the one hour that the lock is held. In this case, you can click the Release Lock button at the
bottom of the form.

Rarely and briefly, a work object is locked by the operator System. This occurs when an
assignment on that work object has reached its goal, deadline, or late time, and the PegaProCom agent locks the work object for a short time to process the service level event. If you
receive such an indication that a work object is locked by the system, just close the Lock form
and try again.

11) Application profiler, app acc, app process doc wizard means? how will you use this the
application?
12) What is Enterprise Class Structure?--- org, div, implementation layer and shared layer (when you
run dco this will come). Integration layers where will you use?
13) Inheritance means? Directed inheritance and pattern inheritance?
14) what are the options available in the class?----class group -belongs to cg, is a cg, not belongs to
cg
15) Which table is mapped by default? ---pr_other
16) How to change pr_other to pc_work?----create database name and map that. In database table
we will change
17) If we uncheck allow pattern inheritance. Will pattern inheritance works or not? Tell me in which
scenarios we will uncheck/remove the allow pattern inheritance?------ rule resolution if we don't
have direct access then from different departments we will use this.
18) traditional portal and composite portal difference?
19) logged in as user portal. I don't want developer portal. Where will you change? ---Ans in the
access group, settings lo default primaryDefault.
20) SYS ADMIN , CONFIG, LOG FILES?
21) How to give Rules Privileges to the Developer?
22) What are built-in Wizards in pega? Which wizards is used for property creation?
23) Purpose of Frameworks? Reusability?
24) SECURITY ?
25) Pega Guardrails?
Ten Guardrails to Success
The Ten Guardrails to Success are design guidelines and recommended best practices for
Process Commander implementations.
Following the fundamental principles promoted in the Ten Guardrails to Success leads to rulesbased applications that are well designed, straightforward to maintain, and architected to Build
for Change. They are your keys to success with Process Commander.

1. Adopt an Iterative Approach

Define an initial project scope that can be delivered and provide business benefit within
60-90 days from design to implementation.

Document five concrete use case scenarios up front and evaluate them at the end to
calibrate benefits.

Use your scenarios as story boards and ensure that each delivers a measurable
business benefit.

2. Establish a Robust Foundation

Design your class structure complying with the recommended class pattern.
It should be understandable, be easy to extend, and utilize the standard work and data
classes appropriately.

Use your organization entities as a starting pattern, and then proceed with class groups.

Lead with work objects. Create the class structure and completed work objects early.

Position rules correctly by class and/or RuleSet.

Actively use inheritance to prevent rule redundancy.

3. Do Nothing That is Hard

Use out of the box functionality as much as possible, especially in the initial project
release.

Avoid creating custom HTML screens or adding buttons.

Always use the Auto Generated HTML feature for harness sections and flow actions.

Always use the standard rules, objects, and properties. Reporting, Urgency, Work
Status, and other built-in behaviors rely on standard properties.

Never add a property to control typical work or for managing the status or timing of work.

4. Limit Custom Java

Avoid Java steps in activities when standard Process Commander rule types, library
functions, or activity methods are available.

Reserve your valuable time and Java skills for implementing things that do not already
exist.

5. Build for Change

Identify and define 10-100 specific rules that business users own and will maintain.

Activities should not be on this list. Use other rule types for business-maintained logic.

6. Design Intent-driven Processes

Your application control structure must consist of flows and declarative rules, calling
activities only as needed.
Use flow actions to prompt a user for input.
Present fewer than five connector flow actions for any individual assignment. If you need
more than that, you need to redesign the process.
Create activity rules that implement only a single purpose to maximize reuse.

7. Create Easy-to-Read Flows

Your flows must fit on one page and must not contain more than 15 SmartShapes
(excluding Routers, Notify shapes and Connectors) per page.

If a flow has more than 15 SmartShapes:


o

Create a subflow.

Use parallel flows to perform additional functions

8. Monitor Performance Regularly

Evaluate and tune application performance at least weekly using Performance Analyzer
(PAL) to check rule and activity efficiency.

Use PAL early to establish benchmarks. Compare these readings to follow on readings;
correct application as required.

9. Calculate and Edit Declaratively, Not Procedurally

Whenever the value of a property is calculated or validated, you must use declarative
rules wherever appropriate.

Create a Declare Expressions rule instead of using a Property-Set method in an activity.

Use a Declare Constraints rule instead of a Validation rule.

10. Keep Security Object-Oriented, Too

Your security design must be rule-based and role-driven based on who should have
access to each type of work.
Never code security controls in an activity.

Use the standard access roles that ship with Process Commander only as a starting
point.

Use RuleSets to segment related work for the purpose of introducing rule changes to the
business, not as a security measure.
Other User Interface guardrails:
1.Be consistent
2.Pay attention to alignment and whitespace
3.Don't ignore the user
4.Minimize data entry
5.Customize thoughtfully
6.Avoid visual clutter
7.Watch out for excessive clicking
8.Balance content and navigation
9.Less is more
10.Test your design's usability!

1.

What is the difference between Page-Validate and Property-Validate methods?


Page-Validate method is used to validate all the properties present on a page. If a page has
embedded pages, this method works recursively to validate all the properties. This me thod
consumes lot of system resources and takes more time. If you want to validate specific
properties use Obj-Validate method with Rule-Obj-Validate rule.
Property-Validate method is used to impose restrictions on a property value. Use Edit validate
rule along with Property-Validate method to impose restrictions. You can validate multiple
properties using Property-Validate method.

2.

What

is

difference

between

Edit

validate

and

Edit

Input

rules?

Edit Validate : Use edit validate rule to validate the property value using java code. Edit validate
rules

can

be

used

property-validate,

Rule-Obj-Validate

and

Property

rules.

Edit Input : Edit input rules converts user entered data into required format. For example is the
user enters date MM/DD/YYYY format, edit input rule coverts this date into DD-MMM-YYYY
(required format). Again we need to write java code for this transformation.
3.

Where assignments will be stored in pega rules database?


Work List related assignments are stored in pc_assign_worklist.
Work basket related assignments are stored in pc_assign_workbasket.

4.

Where work objects will be stored ?


Work Objects are stored in pc_work table by default. however if you want to store the work
objects in a user created table, follow the below mentioned steps.
o

Create a schema similar to pc_work table. (The best thing is to copy the pc_work schema
and modify the table name and constraints name if any)

o
5.

Change the class group mapping (Data-Admin-DB-Table) to the newly created table.

If I have 3 different work objects in my application, how to store them in three


different tables?
Open/Create the Data-Admin-DB-Table instance for each class and mention the table name. By
doing this the individual work objects will be stored in the new table you mentioned in the Data Admin-DB-Table instance. This is a best practice if there too many object instances for each
class.

6.

What is StepStatusGood, StepStatusFail rules?


StepStatusGood is a when condition defined in @baseclass, this when rule checks whether the
value of pxMethodStatus property is "Good".
StepStatusFail is a when condition defined in @baseclass, this when rule checks whether the
value of pxMethodStatus property is "Fail".

7. What is the work object?


A work object is the primary unit of work completion in an application, and the primary collection
of data that a flow operates on.
Workers using an application create, update, and eventually resolve and close work objects.
Every work object has a unique ID (property pyID), an urgency value, and a status (property
pyStatusWork).
8. what is The Class structure?
Ans : Classes are organized into a hierarchy. The ultimate base class named @baseclass is at
the top (or left). The base classes Data-, Rule-, Work- and others are immediate child classes of
the ultimate base class. Other classes are derived from the base classes.
Concrete classes derived from the Rule- base class are known as rule types. Concrete classes derived
from the Work- base class are known as work types.
9. How polymorphism can be achieved in PEGA ?
Ans : Polymorphism means

--- over loading & over riding

Overloading can be achieved through --- Inheritance (Direct or Pattern)


Overriding can be achieved through

--- Circumstance

10. What is Inheritance ?


Process Commander provides two types of class inheritance, both of which allow rules of ancestor
classes to be inherited:

Directed inheritance Allows you to name a parent class, choosing a name that's not related to
the name of this class

Pattern inheritance The system determines the name of the parent class is based on an initial
portion or substring of the name of the class. Segments of the name are delimited by a dash ( -)
character.
Pattern inheritance, an optional feature

During rule resolution, pattern inheritance causes a class to inherit rules first from classes that match a
prefix of the class name.
11. How to create Class , class group?
A class group is an instance of the Data-Admin-DB-ClassGroup class.
A class group instance causes the system to store the instances corresponding to two or more concrete
classes that share a common key format in a single database table.
Class groups are commonly used to cause the system to store instances of similar or related work object
concrete classes together in one relational database table. This is known as a work pool. Work pools are
referenced in access group instances.
12. Access group? How to create Access group?
An access group is an instance of the Data-Admin-Operator-AccessGroup class. Access groups make a set
of RuleSet versions available to requestors.

Developers define access groups and associate an access group with each user (each Data-AdminOperator-ID instance). Typically, multiple users are associated with or belong to one access group.

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


Ticket?
What is the Declare expression?

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

Where referenced --- Flow, Activity


Sections : A section is a portion or area of a standard work object form that is incorporated on a harness form.
Sections may contain other sections, informally called subsections.
The appearance, behavior, and contents of a section are defined by a section rule (Rule-HTML-Section rule type).
Section rules are referenced in:

Harness rules

Other section rules

Flow action rules

Paragraph rules with SmartInfo pop-ups

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

Connector flow actions appear as lines on Visio presentation in the Diagram tab of a flow rule. A line exits
from an assignment shape and ends at the next task in the flow. At runtime, users choose a connector flow
action, complete the assignment, and advance the work object along the connector to the next task.

A local flow action, when selected at runtime, causes the assignment to remain open and on the current
user's worklist. Local flow actions are recorded in the Assignment Properties panel and are not visible on
the Visio flow diagram.

ClipBoard :Every connected Process Commander requestor as an associated temporary memory area on the server known as
the clipboard . Clipboard consisting of nodes known as pages, most of which have a name and an associated
class.
Pages act as buffers or temporary copies of object instances (of that class) that are cop ied from, or may later be
stored into, the PegaRULES database or another database.
The clipboard contains three broad categories of top-level pages:

User pages

Declared pages, produced by Declare Page rules.

System-managed pages, including the requestor page, process page, application page, thread page,
Operator ID, Organization, OrgDivision, and OrgUnit.

Using the System Management Application (SMA), you can learn the size of each requestor's clipboards, and the size
of each page. Start the SMA using

> System > Tools > System Management App, select a node, and then click

the Requestor Management menu item.


Clipboard Action Tab has the following options :Refresh, Refresh Current Page , Find, Create Page, Update Page, Delete Page, Execute Activity, Save Page, Start
Flow, Analyze Clipboard, Collect Details.
Clipboard Tool :Use the Clipboard tool when developing and debugging to:

Examine property values and messages associated with them

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

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

Quickly start activities and flows using the Action menu

Debugging with the Clipboard tool :


Several methods manipulate the clipboard. As you execute activities that affect your clipboard, you can examine the
results with the Clipboard tool.
For example, when you execute an activity that contains a Page -New method, you can see the resulting named toplevel page in the User Pages section. If you execute an activity that uses the Property-Set method (on a named
clipboard page), you can see the new values.

Debugging with the Tracer tool :


Use the Tracer to test and debug activities, decision rules, service rules, parse rules, and flows.

You can view trace events for any requestor connected to your server node, not just your own
session.
Connection --------- Choose a requestor session other than your own. Wait a fe w seconds until the Tracer
connects.

SMA :The System Management application (SMA) is a Web application that developers can use to monitor and control
caches, agents, listeners, and other processing in your Process Commander system. The URL name is prsysmgmt.

select
+ALT+M.

> System > Tools > System Management App

or type the equivalent keyboard shortcut

CTRL

Using the System Management application, you can:

Review the memory used by the Java Virtual Machine on the server.

Review the most recent ServletRequest and HTTPRequest details.

Display the prconfig.xml file.

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

View rule cache statistics, and empty the cache.

Ticket :-

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

Where referenced
Add a ticket shape (

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

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


Select

> Process and Rules > Work Management > Tickets to review the tickets rules that are referenced in

the current application.

Note :- As a best practice to simplify your application, call the standard activity Work-.SetTicket
from your activity rather than reference this method. That activity sets and later resets a
single ticket, identified in an activity parameter.
Declarative Rules :A declarative rule is an instance in a class derived from the Rule-Declare- class.
You can establish required relationships among properties in a Declare Expression, Constraints, Declare OnChange
or Declare Trigger rule
1.
2.
3.
4.
5.
6.

Declare
Declare
Declare
Declare
Declare
Declare

Expression --- Forward and backward chaining


Constraint -- Forward chaining
Onchange -- Forward chaining
Index -- -- Forward chaining
Trigger -- Forward chaining
Pages -- Forward chaining

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

Category
Declare Expression rules are instances of the Rule-Declare-Expressions rule type. They are part of the Decision
category.
Declare Constraint : -Create constraints rules to define and enforce comparison relationships among property
values. Constraints rules can provide an automatic form of property validation every time the property's value is
"touched",

Category
Constraints rules are instances of the Rule-Declare-Constraints class. They are part of the Decision category.
Declare Onchange :- Create Declare OnChange rules to run an activity automatically at activity step boundaries
when the value of a specified property changes.

Category
Declare OnChange rules are instances of the Rule-Declare-OnChange class. They are part of the Decision category.
Declare Trigger :Create Declare Trigger rules to cause an activity to run when instances of a specific class are created, updated, or
deleted in the database.

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

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

A declarative page is a clipboard page created by execution of a declare pages rule ( Rule-Declare-Pages rule
type).
The name of a declarative page starts with the prefix Declare_. Such pages are created and updated only through
operation of activities identified in a Declare Pages rule. The contents of these pages are visible but read -only to
requestors.

Benefits
Declarative pages can improve performance and reduce memory requirements when all or many requestors in an
application need to access static information or slowly changing information.

Notes
Declarative pages are not created at system startup; they are created only when first accessed.
Page
Scope

Select to determine the scope of requestors that can access the declarative pages created by this rule:

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

Thread The page is created in a single requestor Thread, and can be accessed as often as
needed by processing in that Thread. Accesses by separate requestors cause the rule to create
distinct pages, which may have different contents.

Load
Activity

Identify the Activity Name key part of an activity that the system uses to create and update (refresh)
declarative pages.

Select an activity that has LoadDeclarativePage as the Activity Type


Options available
Conditional Refresh Strategy
Refresh if Older Than
Page is Fresh When

Forward chaining :- Forward chaining is an internal mechanism that provides the automatic propagation of
changes in one property value to changes in other property values.
In a Declare Expression rule, constraints rule, or Declare Index rule, you can establish required relationships among
properties. When an activity step changes the value of a property that is defined in such rules, the system
automatically consults an internal dependency network to see if other values are affected, and performs property
value computations. This is known as forward chaining.
backward chaining : - Through a powerful technique known as backward chaining, Process Commander
allows a computation to advance even when the value of an input or parameter property is not available.
Declare Expression rules and the Property-Seek-Value method work together to provide this capability. The system
uses the internal dependency network of property relationships to develop inferences about how to obtain the
missing property value.
Decision Table :- A decision table is a rule defining a series of tests performed on property values to allow an
automated decision. Decision table are instances of the Rule-Declare-DecisionTable rule type.
Decision tables can capture and present business logic in the form of one or more if... then... else conditions.

You can incorporate decision tables in a flow rule using the Decision task shape (

). At runtime, the system

evaluates the decision tree using the Property-Map-DecisionTable method and stores the result in a property value.

Where referenced
Rules of four other types can reference decision table rules:

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

).

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

A Declare Expression rule can call a decision table rule.

A collection rule can call a decision table rule.

Decision Tree :- A decision tree rule defines a series of tests that are performed on property value s to allow an
automated decision. Decision trees are instances of the Rule-Declare-DecisionTree rule type.
Decision trees can capture and present business logic in the form of one or more if... then... else conditions.
You can incorporate decision trees in a flow using the Decision Task shape (

). At runtime, the system

evaluates the decision tree (using the Property-Map-DecisionTree method) and stores the result in a property value.

Where referenced
Rules of four other types can reference decision tree rules:

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

).

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

A Declare Expression rule can call a decision tree rule.

A collection rule can call a decision table rule.

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

Circumstance Templates (Rule-Circumstance-Template rule type)

Circumstance Definitions

(Rule-Circumstance-Definition rule type)

Multivariate circumstancing enable you to specialize a rule by more than one feature. example may be the need for a
rule that is specialized by an age range and not an absolute value.

To create a circumstance-qualified rule, first define an unqualified or base rule instance (with the Circumstance
values left blank). Then use the toolbar Save As button (

) to create a second rule qualified by a circumstance.

About Circumstance Definition rules

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

Where referenced
Circumstance template rules reference circumstance definition rules.
About Circumstance Template rules

Purpose
Use a circumstance template rule to identify properties fo r multivariate circumstanced rules. A circumstance template
rule contains an array of properties such as .State, .Channel, and .ClaimAmount that reference property values
in one or more

circumstance definition rules .

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

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

What is the major difference between the Cover and Folder?

Ans : Cover has tightly coupled work objects whereas folder has loosely coupled.
Cover has one-one , one-many relationships with its work objects(meaning that a work object only one
cover and a cover can have many work objects.). Folder has many-many relationship.
A cover can have a cover but a cover can NEVER have a folder in it. Folder can have covers.
Note: A cover can hold upto 20 work objects.
2. PEGA-prpc
Ans : Pega/PRPC is a popular rules engine and BPM tool from Pega systems that is
gaining good market share among large corporations. Architects and developers build
the Pega/PRPC instance while administrators and even select business analysts have
the option of changing workflow rules during runtime. Infact, their motto itself is
"Build for change". The goal is to "eliminate software coding" and "automate manual
work" to the minimum and build complex systems at the enterprise level with
features right out-of-the-box.
3. What are availability of rules?
4. How do you build a new Rule-Form?
5. What are the various ways to restrict user to edit the rules?
Ans : give User portal instead Developer portal

6.

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

Rule-Declare-Expressions
Rule-Declare-Constraints
Rule-Declare-OnChange
Rule-Declare-Trigger
Rule-Declare-Index
Rule-Declare-Pages

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

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


Declare rules, text file, binary file
8. Suppose I need to access the Google service, how can I achieve in Pega?
PEGA Provided Google maps --9. How do you purge the work objects?
10. What is Rule Resolution Algorithm?
11. What is order of execution in Decision Table and Decision Tree?
Decision Table can be called form decision tree but reverse is not possible
12. Have you used spin-off shapes in your application, if so what is the case?

1. Rules and their which category they fall


2. Service Package
Property : Property rules are normally stored in the PegaRULES database as rows of the pr4_rule_property table.
A property rule has one of eleven modes
Single Value, Value List, Value Group, Page, Page List, Page Group, Java Object, Java
Object List, Java Object Group, Java Property, Java Property List.
Page List Select Page List to create a property that can contain an ordered list of embedded pages.
For example, a Page List property named Contacts can contain the pages Contact(1), Contact(2),
Contact(3), and so on.
Work-.pyFlowActionCosts is an example of a standard Page List property.
Page
Group

Select Page Group to create a property that can contain an unordered group of embedded pages.

10

For example, the standard Page Group property named Work-.pyWorkParty can contain
pyWorkParty(Lawyer), pyWorkParty(Customer), pyWorkParty(Staff), and so on.
Advanced Tab :

Define a length in characters (for text properties)

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

Define edits and validation criteria

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


database column

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

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

Applying a model.

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

Px,py,pz
pz support internal system processing. Users cannot directly manipulate pz properties.

Edit Input :-

1.
2.
3.
4.
5.

An edit input rule provides a conversion facility.


Edit input rules perform conversions, not validations.
Use validate rules and edit validate rules for validations.
Edit input rules use Java code for the conversion.
You can reference an edit input rule in the Edit Input Value field on the Property form.

Edit Validate :1.

Edit Validate Tests the validity of an input value in an activity that processes user input. The activity
calls the Property-Validate method .

2.

A property rule (of mode

Single Value, Value List

or

Value Group) may reference an edit

validate rule on the Advanced tab. Use the Property-Validate method in an activity to execute the edit
validate rule.

3.

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

Field Value :Use field value rules to define items in a selection list presented to users or a set of values for the Ta ble
Edi t feature of the Property form.
Abstract Cant create instances, Where as concrete class can create instances.
Access Role :-

11

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

Guests

Authenticated users

Work managers

Developers

Asked about file and email listener


activity
aggregate property and it's related to which class type
about reporting
,About Sub Flow
Decision Table, Decision Tree
Declarative Expression Reports(list and summary view)
PEGA Configuration.
Intergations.
Deployment.
how to connect external DB.
About the product and Product Patch?
Diff. b/w Major, Minor and patch.
About obj-open,obj-save, obj-list, rdb-open,rdb-save?
Diff b/w flowaction and harness.
Whats are stepmethods you used while developing Activity
SOAP integration using PEGA --------- Techincal/Functional
Harness,HTML,Section rules----------- Technical
Activities---------------------------------------- Technical
Agents------------------------------------------ Technical
Pega Guadrials
SMART BUILD methodology
Debugging tools(tracer, PAL etc)----------------------- In depth
Exception Handling--------------------Various ways
Declarative rules-----------Expressions, triggers, onchange etc
Reports creation--------------List Views/Summary Views/Charts/Graphs

12

Rule Resolution-------------Advantages/Disadvantages
CACHE mechanism
Performance Evaluation----------Using PAL, SMA(System Mgmt App)
prconfig,prlogging xmls -----------Idea on configuration
Pega application deployment on various servers like DEV/QA/PROD
Differences between V5.x and V4.2
Migration of Rules
Test cases generation using V5.4
Unit testing from developer perspective
Various type of flows, flow shapes, flow actions
Security
Accessgroups,portal,operators profile,workbaskets,worklists,workmanager,classgroup
Work-, Embed- and Data- classes
Roles, Privileges-------Creation and Manage
Decision Trees/Decision Maps/Decision Tables ----------Creation and differences among them
Column exposing and the advantage of it
Pega DB schema--------pc_work,pr_other,pc_link etc
Application Accelrator, Rules Inspector
1.how to IAC to connect to web application in Pega
2.How to use existing css in PEga
Add CSS rules in Skin rule and apply skins in portal rules to reflect the selected CSS.

What is a screenflow.Difference between screen flow and processflow?


How do you provide SLA for the workobject? A : Model
In Connect Sql rule stored procedures are written in which tab?
Save,Browse,Delete etc tabs present in Sql rule.Which tab will be called when?
What is the difference between workobject and worktype?
Work Type : - Type odf the work we r going to create ex: is of type Trx and is of Type Policy
If you have work experience on Soap Service.What are the rules required for Soap Service?
In which tab WSDL file will be generated in the Service Package? Imp
About the debuggine tools like Clpboard,Tracer etc.
Some times performance tool.
About dynamic select.
declarative rules like declare constraint,onchane,trigger etc.
How do you expose a property?

13

What is the need of exposing a property?


DCO Application Profiler , Application Accelerator
. He asked about the agents.
2. How to trace an Agent.
3. What is IAC, when did you use in the project.
4. What is cover and covered objects.
5. Have you used spin-off shapes in your application, if so what is the case.
6. What are the type of log files we have
Ans: AlertSecurity, Services-PAL, Log Files and Alert Files
7. Do you know the concept of validation rules?
8. How do you a log a message in PRPC?
9. Tell me about the locking concept in PRPC.
10. What is DWA (Direct Web Access)

4) How do u connect to the Web service


5) What is xml file name created during connection of web -service

5) Asking a scenario (If an organization has 60 branches and a rule has to be used in all the
based on the branch name the question was not asked clearly) Ans: Multivariate Circumstance
property.
7) How do you purge the work objects?
Will you try to remove the assignments shape of a flow in the production system
) What is the role of the master agent
1) What are the rules which are not rule resolved?
2) What is the actual usage of the blocked, with drawn, NO. When you use it?
4) What are the various ways to restrict user to edit the rules.
7) What is the major difference between the Cover and Folder
How do you build a new Rule -Form

14

1) Can we have both Router and Notify shapes in Assignment? --------Yes


2) SMA?
The System Management Application (SMA) is set of utilities distributed with PegaRULES
Process Commander that enable system administrators and developers to monitor and manage
Process Commander nodes. SMA is a standalone implementation and requires a separate
installation. SMA is built on Java Management Extensions (JMX) interface.
Through Process Commander: Start PRPC as a developer. From the Pega button, select
System > Tools > System Management Application.
the prsysmgt link.

Access and Node Management


Listener Management
Memory Management
Requestor Management
System Management

Administration tools include:

Agent Management

The Agent Management tools collect information about all agents that are
running on the specified node. Note that when an agent is active, it may also
be viewed as a requestor (beginning with B) in the Requestor Management
screen.

Logging and tracing functions include:

3) Why we have Data- classes in Work-?


Work- classes used to create work objects and Data- classes used to store data. We can use
work- class properties and vice versa with using page and pages tab.
Work- classes are intended for Work instances and Data- classes are intended for data instances.
Work- inherited classes have useful reusable rules for work objects such as for adding work.
Data- classes have reusable rules such as properties in Data-Party-. A proper class structure
leads to a good design of an application.
Scenario:If I have 10(Few number) propertis in Data- class , I need to call them in section (which is in
work- Class) without using "PageList & PageGroup" ?
In the Work- class you need to have an instance of the Data- .This will be a page because you have
multiple properties on it. It does not have to be a page list or page group. I would say define a section in
data class for these properties and the use this section in work class ("using page" method).
In your work section uncheck the auto generated html option under html tab and define the page of
data class and modify below sample code accordingly.
<pega:withPage name="TestPage">
<pega:include name="Your section name" type="Rule-HTML-Section"/>
</pega:withPage>
4) How will you trace an agent running in Node level?------Refer Agent Management
5) In MainFlow we have Starter flow, Assignments and no end shape. How will you save the Flow
without changing the status of WO?----------- Use utility shape
6) PreCondition and Transition difference?
Use a precondition to conditionally skip execution of a step. The system evaluates whether
specified conditions are met before it executes the method or instruction referenced in the step.
If false, the rest of the step is skipped.
The

icon on the Steps tab identifies the precondition column. When a step is not selected, a checkmark

indicates that this step has a precondition defined and enabled. When the row is activated, click
precondition or the

to access the details of the precondition. Alternatively, click

view all step fields, including the precondition fields.

to add a

at the left of the step row to

Use the standard add row (

), append row (

), and delete row (

) buttons with this array. Order is

significant.

The

column identifies transitions, optional fields that can end iteration, terminate

the activity, or cause control to jump to a later (higher-numbered) labeled step. Use
transitions to specify conditions that are evaluated after the method in the step is
performed, but before the execution continues with other steps.
Often a transition condition tests whether the method in the current step was
successful. See How to test method results using a transition for more on this use of
transitions.
When a row is not selected, a checkmark

indicates that this step has a transition

defined. When the row is activated, click


details of the transition.

to add a transition or the

Use the standard add row (

), append row (

), and delete row (

to access the
) buttons with

this array. Order is significant.

7) How will you map class to Data table?


Database table is an instance of Data-Admin-DB-Table. This is not a table. This rules
actually consists the name of the table in the DB and maps it to a class in PRPC which is
the name of the database table.
Every operation you perform, whether it is obj-browse or exposing of the columns, the
results are fetched/updated on the table mentioned in the database tabel.i.e., Data-AdminDB-Table instance.

How to map Work group in table?

Normally Work group information are been saved in PRPC "pr_data_admin" table. you can't
change this mapping.
if you want to map the work pool
1) Create a new class group instance and mention the keys by default it's pyID.
2) Create a new DB table instance map with new table.
Test the Connectivity ..Now all the WO will be saved into that tables
8) How will you expose a property?
Exposed property - definition
A Single Value property that is visible as a column in a database table is said to be
exposed. Aggregate properties, properties within an embedded page, and properties that are
not exposed are contained in a specially formatted Storage Stream or BLOB column. Most
PegaRULES database tables contain a Storage Stream column named pzPVStream.
Which properties are exposed affects the record selection operations in list view and summary
view rules. In many cases, your database administrator can cause a property previously stored
only inside the Storage Stream column to become a separate exposed column.
Only top-level Single Value properties can be exposed. If your application needs a column
corresponding to an embedded property values, the values can be copied to the top level or
exposed indirectly through instances of an Index- class.
Don't confuse an exposed property with an indexed database column. For example, the
property Work-.pyID is an exposed property in the table pc_work. However, if this table
contains several million work items, a list view search for a .pyID value of "W-135" causes an
expensive database table scan. Creating database indexes can speed database operations in
such situations.
How to expose a property as a database column?
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.
expose properties as distinct columns can significantly improve performance.

You can expose a property even after the property has values.

Tools
You can use any of these tools to expose a top-level Single Value property as a column:
Modify Schema wizard

> System > Database > Modify Schema

Review the current schema of a database table.

Change the width in bytes of a column in the database table.

Expose a single value property as a new column

Create a text file with Structured Query Language defining a table.


You can use this facility to copy a single value property from the BLOB
column and "expose" it as a column. This change may affect database
performance and database size, but has no functional effect on activities, the
property rule, or other rules referencing the property.

Property Optimization tool From the Application Explorer right-click menu

The Property Optimization tool is available only on development systems systems


where the production level is 1 or 2.
1. Access the property through the Application Explorer.
2. Right-click. Choose Optimize for Reporting from the menu.
3. Wait. The new column is created immediately, but property values in the new
column are copied (from the BLOB) by a background process. This may take
from a few seconds to hours, depending on volume.

Database Class Mapping gadget


> Data Model > Classes and Properties >
Database Class Mappings, for tables in external SQL databases.
using the Database Class Mappings gadVGEget, you can compare the values in this field with
the current schema, identifying properties marked as Required which are not exposed
9)
10)
11)
12)

Rdb-save and Obj-save difference?


Rdb methods and obj methods difference?
Declare Expressions? Can we execute them forcibly?
Can we see local variables in clipboard?----(need to check on clipboard)
Local Variables are usually used in an activity. They are valid only within the context of the
activity.
One way to view the value of the local variable is to write it out to the log files using logmessage in your activity.
Copy the local variable to a param, or use the log-message method. Then we see in Tracer.

Log-message method with "pass onto tracer" param checked can do that..
You can know the value of local variable by using Java method in the activity.
Ex:mention Parameter as CurrValue in Parameter Tab .
local variable name is TempValue
use below Java code in Java Method of your activity
tools.putParamValue("CurrValue",TempValue);
see ParameterPage in Tracer to know the local varaibe .
13)
14)
15)
16)
17)
18)
19)
20)
21)
22)
23)
24)
25)

SOAP service creation steps?


Connector rules creation steps?
Flow Shapes? Split-ForEach and Spin-Off difference?
Screen Flow and Regular Flow difference?
In a Flow, we have A1,A2,A3,A4,A5 assignments. I want to go from A2 to A5 directly. How?
Purpose of Joins tab in ListView?
ListView and Summary View difference?
Harness Types? Differences of all types?
Rule Availabilities? No and Blocked difference?
How will you create Circumstance rule? Use of circumstance?
Local Action and Flow Action difference?
Where will you modify Work Object Status?
Pega Guardrails?

Ten Guardrails to Success


The Ten Guardrails to Success are design guidelines and recommended best practices for
Process Commander implementations.
Following the fundamental principles promoted in the Ten Guardrails to Success leads to rulesbased applications that are well designed, straightforward to maintain, and architected to Build
for Change. They are your keys to success with Process Commander.

1. Adopt an Iterative Approach

Define an initial project scope that can be delivered and provide business benefit within
60-90 days from design to implementation.

Document five concrete use case scenarios up front and evaluate them at the end to
calibrate benefits.

Use your scenarios as story boards and ensure that each delivers a measurable
business benefit.

2. Establish a Robust Foundation

Design your class structure complying with the recommended class pattern.
It should be understandable, be easy to extend, and utilize the standard work and data
classes appropriately.

Use your organization entities as a starting pattern, and then proceed with class groups.

Lead with work objects. Create the class structure and completed work objects early.

Position rules correctly by class and/or RuleSet.

Actively use inheritance to prevent rule redundancy.

3. Do Nothing That is Hard

Use out of the box functionality as much as possible, especially in the initial project
release.

Avoid creating custom HTML screens or adding buttons.

Always use the Auto Generated HTML feature for harness sections and flow actions.

Always use the standard rules, objects, and properties. Reporting, Urgency, Work
Status, and other built-in behaviors rely on standard properties.

Never add a property to control typical work or for managing the status or timing of work.

4. Limit Custom Java

Avoid Java steps in activities when standard Process Commander rule types, library
functions, or activity methods are available.

Reserve your valuable time and Java skills for implementing things that do not already
exist.

5. Build for Change

Identify and define 10-100 specific rules that business users own and will maintain.

Activities should not be on this list. Use other rule types for business-maintained logic.

6. Design Intent-driven Processes

Your application control structure must consist of flows and declarative rules, calling
activities only as needed.

Use flow actions to prompt a user for input.

Present fewer than five connector flow actions for any individual assignment. If you need
more than that, you need to redesign the process.

Create activity rules that implement only a single purpose to maximize reuse.

7. Create Easy-to-Read Flows

Your flows must fit on one page and must not contain more than 15 SmartShapes
(excluding Routers, Notify shapes and Connectors) per page.

If a flow has more than 15 SmartShapes:


o

Create a subflow.

Use parallel flows to perform additional functions

8. Monitor Performance Regularly

Evaluate and tune application performance at least weekly using Performance Analyzer
(PAL) to check rule and activity efficiency.

Use PAL early to establish benchmarks. Compare these readings to follow on readings;
correct application as required.

9. Calculate and Edit Declaratively, Not Procedurally

Whenever the value of a property is calculated or validated, you must use declarative
rules wherever appropriate.

Create a Declare Expressions rule instead of using a Property-Set method in an activity.

Use a Declare Constraints rule instead of a Validation rule.

10. Keep Security Object-Oriented, Too

Your security design must be rule-based and role-driven based on who should have
access to each type of work.
Never code security controls in an activity.

Use the standard access roles that ship with Process Commander only as a starting
point.

Use RuleSets to segment related work for the purpose of introducing rule changes to the
business, not as a security measure.
Other User Interface guardrails:
1.Be consistent
2.Pay attention to alignment and whitespace
3.Don't ignore the user
4.Minimize data entry
5.Customize thoughtfully
6.Avoid visual clutter
7.Watch out for excessive clicking
8.Balance content and navigation
9.Less is more
10.Test your design's usability!
26) Worklist and WorkBasket difference?
27) ForwardChaining and Backward Chaining difference?
28) Declare-Constraints and Obj-Validate difference?
Constraints are Declarative rules.Where as the other are procedural.

Create constraints rules to define and enforce comparison relationships among property values.
Constraints rules can provide an automatic form of property validation every time the property's
value is "touched", in addition to the validation provided by the property rule or other means.
The system evaluates constraints automatically each time a property identified in a constraints
rule is changed. This technique is known as forward chaining.
Where referenced
No other rules explicitly reference constraints rules. When you save a constraints rule, Process
Commander enforces it immediately and thereafter. The system automatically adds a message
to any property that is present on the clipboard and fails a constraint. This message marks the
page containing the property as invalid and ordinarily prevents the page from being saved.
Access
Use the Application Explorer to access the constraints rules that apply to work types in your
application. Use the Rules Explorer to list all the constraints rules available to you.

Delegation

After you complete initial development and testing, you can delegate selected constraints rules
to line business managers. The Constraints tab of the Constraints form provides managers with
access to the fields most often updated.

Obj-Validate method
Use this method to apply a validate rule (Rule-Obj-Validate rule type) for the object identified on
the primary page or step page.
Use the Page-Validate method not this method to validate all the properties on a page
against the requirements defined in their respective Rule-Obj-Property rule instances.
A later Page-Clear-Messages method applied to the same page removes the messages set
by this method.
A validate rule (Rule-Obj-Validate rule type) can call edit validate rules (Rule-Edit-Validate
rule type). However, note that the current step page is not the primary page for evaluation of the
edit validate rules.
This method has two parameters
1) Validate ---Enter the second key part of a validate rule to apply.
2)OverrideClass --Optional. Enter the name of a class where rule resolution will begin searching
for the Validate rule.
If blank, rule resolution begins searching for the validate rule on the class of the step page. You
can override the class of the step page with a higher or lower class.

Declare Expressions

Purpose

Use Declare Expression rules to define automatic computations of property values


based on expressions.
Don't confuse Declare Expression rules with simple expressions. Expressions a
syntax that includes constants, function calls, operators, and property references are
used in many situations in addition to Declare Expression rules.

Forward chaining
Often, Process Commander recomputes target property values automatically each time
any of the other input values in the expression change, or when a value for this
property is accessed, changed, or using other criteria. This technique is known as
forward chaining.
For example, you can declare that a property named Order.TotalPrice is always the sum
of:

OrderLine(1).TotalPrice

OrderLine(2).TotalPrice

OrderLine(3).TotalPrice

and so on. You can also declare that OrderLine().TotalPrice is always equal to .Quantity
multiplied by.UnitPrice.

Backward chaining
In an activity, the Property-Seek-Value method can access the computational
relationships among properties in a Declare Expression rule to identify source values
needed to compute a missing property value. This technique is known as backward
chaining.
For example, consider a single Declare Expression rule defining Circumference as
3.1416 times Diameter with Change Tracking set to Whenever used. This rule can be
used in either forward-chaining or backward-chaining mode:

If step 3 of an activity causes the value of Diamet er to be set, an updated value for the Circumference
property is available at the start of step 4 (forward chaining).

If step 1 of another activity uses the Property-Seek-Value method with Circumference as the target, and no
value for Circumference is found, the system seeks a value for Diameter (backward chaining).

Access

Use the Application Explorer to access the Declare Expression rules that apply to work
types in your application. Use the Rules Explorer to list all Declare Expression rules
available to you.

Delegation
After you complete initial development and testing, you can delegate selected Declare
Expression rules to line business managers. The Expressions tab of the form provides
managers access to the fields most often updated.

29) Types of Activities?


Activity Type - definition

The Activity Type is a field on the security tab of the Activity form describing the activity's
characteristics. An Activity Type has one of the twelve values listed here. Five of these types
identify activities that you can reference directly in flow rules.

Activity Type

Description

Activity

Any activity that is not one of the activity types below.

Assembly

Reserved. Do not use.

Assign

An activity that creates an assignment, an instance of a concrete class


derived from the Assign- base class. Referenced in a flow to support an
assignment. These activities may be referenced by an assignment shape
(

or

) on a flow rule.

An activity that calls a Rule-Connect- external system interface. These


Connect

activities may be referenced by an Integrator shape (


flow rule.

or

) on a

Locate

An activity that finds a locatable page; referenced on when condition, Declare


Expression and Constraints rules only.

Load
Declarative
Page

An activity that adds values to declarative pages. Referenced on Declare


Pages rules only.

Notify

An activity that sends correspondence to a work party in a work item. In a flow


rule, such activities may be referenced in the Properties panel for an
assignment, or explicitly in a Visio notify shape (

OnChange

Route

).

An activity that starts automatically when another activity step changes certain
properties, as defined through a Declare OnChange rule.
An activity that determines which user worklist or workbasket receives an
assignment. In a flow rule, such activities may be referenced in the Properties
panel for an assignment, or explicitly in a Visio router shape (

Trigger

Utility

An activity that starts automatically when an object of a certain class is saved,


as defined through a Declare Trigger rule.
An activity that typically updates a work item and is referenced in a flow, but
requires no user interaction. In a flow rule, these activities may be referenced
in a utility shape (

Validate

).

or

).

An activity that validates the contents of a rule or data form. (Rarely needed in
applications.)

The Assign, Connect, Route, Notify and Utility types identify activities that are directly
referenced in flow rules. Typically, activities used in flows have a class derived from the Workbase class as the Applies To portion of their key.
The Activity Type field on the Activity form corresponds to the property Rule-ObjProperty.pyActivityType.
30) May start and Authenticate difference in Activity?
May Start
Select to allow users to start this activity directly through user input processing, for
example through a Submit button. Clear this if this activity is to be started only from
another activity, through a Call, Branch, or other means.
For example, select the box for a service activity, or if this activity is called by an AJAX
event from a form, such as a SmartInfo request from a list view display.
If, at runtime, the box is not selected and a user attempts to start this activity by user
input, the activity does not run and returns a method status of Fail:Security.
For most activities, leave this box cleared to promote security of your application.
Unless needed by your design, allowing activities to be started from a URL or other user
input whether the requestor is authenticated or a guest may let users bypass
important checking, security, or setup
Authenticate
Select to require that only authenticated requestors can start this activity.
Clear to allow guest users to run this activity, if they meet other security and access
criteria. Guest users unauthenticated requestors typically have access to rules in
the RuleSets provided in the PRPC:Unauthenticated access group, as referenced in the
Requestor type instance named pega.BROWSER.
If you update the BROWSER requestor type to reference a different access group, or
update the PegaRULES:Unauthenticated access group to make additional RuleSets
available to unauthenticated users, review carefully this checkbox for each activity in the
RuleSets. Select this checkbox for all but those specific activities that guests need
to run.

In most cases, clear this checkbox if the activity is for an agent. Agents are not true
authenticated users and by default cannot run activities that are restricted to authenticated
users. However, this checkbox is ignored by agents for which the Bypass activity
authentication checkbox (on the Security tab is checked; they can run activities regardless of
the Authenticate? value.

Implementation and Methodology Overview


Pegasystems offers two methodologies -- SmartBPM and Pega Scrum -- that you can use to
manage application development projects. Both provide an adaptable process framework which
is flexible and can be blended without conflict with organization's methods and project
management approach.
The methodologies are designed to work together with Process Commander's Direct Capture of
Objectives capabilities and integrate with Pegasystems' Project Management and Test
Management frameworks.
What is the SmartBPM Methodology?
SmartBPM methodology takes an iterative development approach that is structured around four
phases and two supplemental activities. It is not a concrete prescriptive process. It is designed
to be flexible so your implementation team can adapt it to any size project.

Project Initiation Activity Kicks off project development. The goal of this activity is to
prepare, organize, and set the proper expectations for the project initiative to follow. Performed
at the beginning of the project, its goal is knowledge transfer and education. This is to provide
business participants with terminology that assists them with requirements gathering, objective
determination and scope definition.

Inception Phase Defines the scope, captures business requirements and organizes them
into projects that result in an approved proposal. The current process is evaluated to identify
possible improvements. Projects are broken down into manageable development units called
slivers. Requirements, use cases, and work types are captured and entered into the Application
Profiler. The development effort is estimated.

Elaboration Phase Builds out the foundation of the proposed implementation using the
Application Profile in the Application Accelerator. Requirements, use cases, and work types are
expanded to include further details. Process discovery is performed to identify the initial flow of
work and user interface design. Application standards are established. Testing and migration
plans are drafted.

Construction Phase Builds the implementation on the foundation created in the


Elaboration phase. Configuration tasks are assigned using an iterative implementation model.
Components are unit tested as they are completed and test scripts are developed.

Transition Phase Moves the implementation to the end user and testing teams. The focus
is on end to end testing and user acceptance to ensure the quality of the application and its
readiness for migration and deployment to production.

Go-Live Activity Occurs when a completed sliver is launched into a production


environment and business users begin to use the live application.
Pega Scrum is a good fit for implementations where:

Results must be achieved quickly

Product quality is of the utmost importance

Business wants to be fully engaged throughout the process

Requirements are changing and prioritized constantly

An enterprise commitment to Scrum exists

Teams are enabled and skilled


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

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

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

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

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

Release Retrospective Evaluates, adjusts, and improves the process to promote


continuous process improvement.

Important Terminology
Application Accelerator An automated Process Commander tool that uses input from an
application profile to create the foundation rules for a new implementation.

Application Profiler An automated Process Commander tools that creates a high-level


scoping document produced that can be used as a project proposal and an application profile
that can be consumed by the Appliation Accelerator to create rules. It details work types,
requirements, use cases, actors, interfaces and reports/correspondence for an implementation.

Atomic Use Case A subset of a business use case that describes a portion of the process
that is performed by a single actor in the process. Corresponds to actions performed by that
actor.

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

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

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

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


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

Understanding the Class structure and RuleSets generated by the Application


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

Generated enterprise class structure


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

Layers in the generated class structure


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

Purpose

Enterprise Reuse

For assets that need to be reused on an enterprise-widebasis. Such assets are


rules for enterprise-wide business logic (such as standard properties, decision
tables, Service Level rules) and enterprise-wide data assets (such as classes and
rules for data stored in the system, and classes and rules for access to data i n
external systems, via connectors).
For example, the MyCo enterprise wants to reuse the property that holds an
employee's serial number on an enterprise-wide basis, so that the various
applications used by that employee across the enterprise can consiste ntly rely on
the same serial number property for the same employee.

Divisional Reuse

For assets that need to be reused on a division-widebasis. Such assets are rules
for division-wide business logic (such as standard properties, decision tables,

Service Level rules) and division-wide data assets (such as classes and rules for
data stored in the system, and classes and rules for access to data in external
systems, via connectors).
For example, a division wants to reuse a service level rule that defines the expected
response time to a customer complaint in all of its applications, so that it can
consistently enforce a focus on meeting its customer relationship commitments.

Framework

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


implementations.
For example, the MyCo enterprise makes auto loans, and has an auto loan
framework that is comprised of all of the assets needed for MyCo's standard auto
loan process. Each division of MyCo extends that basic auto loan application to
meet their specific divisional needs: the commercial business line division's auto
loan application needs to handle loan requests distinct from that of MyCo's personal
line division.

Implementation

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


For example, the commercial business line's auto loan application reuses assets
from the commercial business line division layer and from the auto loan framework
layer, while the personal line's auto loan application reuses assets from the personal
line division layer and the auto loan framework layer.

PRPC Base
Product

Consists of the PRPC system's built-in classes and rules necessary for processing
cases and other work in PRPC applications, as well as for areas of PRPC itself.

A system architect starts the Application Accelerator, and in the Application Overview window,
chooses the application profile the team created. To generate the application structure that
supports both the framework and the equipment setup sliver, the system architect specifies a
framework named OnboardingFW and an implementation named Equipment in the
Application Overview window.

On the Base and RuleSets step of the Application Accelerator, the system architect replaces
the displayed default organization and division values with the official ones: GLBX.com and HR,
and keeps the default class structure of Standard. The displayed values refresh to reflect the
input values:

Clicking

Preview

displays the enterprise class structure that will be generated by the Application

Accelerator given those input values:

Why do non-work classes, like Org-, inherit from Work- (in 6.1+) or Work-Cover- (in 6.2+)
Because of rule resolution, inheriting from Work- or Work-Cover- on those levels allows
for increased sharing of case-management-related or work-related assets across
multiple applications. For example, if a company creates two top-level classes for some
reason (such as when two organizations do not currently work with each other and they
want to develop applications independently), the applications can still share work-related
assets.
Why does the Org RuleSet have the OrgInt RuleSet as a prerequisite (required) RuleSet?
So that business logic rules in the Org RuleSet have the ability to reference integrationrelated rules and classes stored in the OrgInt RuleSet.

About the Direct Capture of Objectives (DCO)


Direct Capture of Objectives (DCO) is the set of tools designed to capture and tie business
objectives, project goals, requirements, and use cases to actual implementations.
Rules and tools include:
A. Application Profiler
B. Application Accelerator
C. Application Document Wizard
D. DCO Enablement Wizard
E. Application Use Case rules
F. Application Requirement rules
DCO 3.2 - What's New

Application Profile and Application Accelerator

Application Profile delegation for shared authoring

Option to build only a framework layer

Enhanced framework support to build another framework and implementation on


top of an existing framework

Improved capabilities for class structure generation and data mapping

Improved management of references between use cases and their respective


implementations

A. Application Profiler
An Application Profile is an auto-generated Microsoft Word document designed to help you in
the information-gathering phase of a project's life cycle.
The document is created by the Application Profiler -- an automated tool that guides you
through a series of input steps to collect organization, use case, requirements, and other
application information to produce a comprehensive and professional looking work-based
proposal and sizing estimate for your projects.
The profiler supports an iterative approach to information gathering that allows you to
create, update, and save profiles, and to generate in-process documents as you collect project
data during the inception process.
From the File menu on the developer portal, select one of these options:
o

New > Application Profile to create a new application profile

B. Application Accelerator
The Application Accelerator is a Direct Capture tool that speeds the creation of new
applications, frameworks, or the extension of an existing application or framework.
It guides you though a series of steps to gather and review the information that is used to create
the class structure and rules for your application. It supports an iterative development approach
that allows you to enter, update, and save data until you are ready to create the application.
The data transferred from the profile includes:

Application name

Organization

Business objectives

Work types

Requirements

Detailed reports and correspondence

From the resolve screen of the application profile, click Generate this Application.
From the File menu on the developer portal, select one of these options:
New > Enterprise Application to create a new application
The accelerator can be launched from a completed application profile or a menu on the
developer portal.

C. Application Document Wizard


Application Document wizard allows you to specify reusable document settings and application
data content to create professional looking documentation of application assets throughout a
project lifecycle or in support of your day to day maintenance updates.
From the developer portal, select Application > Document.
D. DCO Enablement Wizard
DCO Enablement wizard allows you to add or update requirements, use cases, actors and work
types to an existing application that is either partially DCO enabled or not at all.
The wizard is structured to guide you through a series of input steps that prompt you for
information about the following elements of your application:

Requirements

Actors

Work Types

Use Cases
From the Application menu, select Direct Capture of Objectives > Enable this Application
From the File menu, select Open > All Wizards to open an existing enablement instance from a
list of open and resolved records.
E. Application Use Case rules
Application Use Cases allow business users to describe the processing steps required to build
an application in their business language. In a Process Commander application, use cases are
atomic. use case that are created and stored as rules in the application.
Using Direct Capture tools, use cases are initially specified in the Application Profiler and
transferred to the Application Accelerator to create the use case rules.
F. Application Requirement rules
Application Requirements allow business users to describe requirements for an application in
their business language. Requirements are simply an inventory of events, conditions, or
functions that need to be satisfied and tracked in a project.
For example:

System needs to have 2-3 seconds screen to screen interaction is a non-functional


requirement tied to the overall application

First Name should not be longer than 20 characters is an a business rule requirement
tied a specific use case
The requirement rule contains the following sections:

Definition tab describes the requirement; specifies the type and development status
Implementation tab adds and deletes requirement links to application, flow, and use

case rules

Attachments tab used to display, add, and delete attachments associated with the
requirement such as UML diagrams, Power Point presentations, or other project documents
that provide additional details about the requirement

Importance of Sandbox ruleset


One of the major problems that Pega projects face with time is build up of test rules within
the official business rulesets. If not properly managed these rules could end up in
production environment which is not an ideal situation to have. But can we really stop
creating test rules, for me the answer is no, because creating test rules is also an integral
part of the iterative development process. So how can we maintain a clean development
environment while also allowing the creation of test rules.
The answer is the Sandbox ruleset. By creating a separate ruleset only for test rules it is
possible to have a clean development environment while allowing the creation of test rules
in development process.
Following are the steps that has to be followed
1.
2.
3.
4.
5.

Create a sandbox ruleset and version


Update ruleset restrictions in classes to include the sandbox ruleset
Create a separate sandbox application rule and include the sandbox ruleset and put
your main application as the Built on Application
Create a sandbox access group and include the sandbox application
Include the sandbox access group as an optional entry in the operator access group
list
Now you will get the sandbox application as an optional application rule when you log in as
a developer. So next time when you want to create a test rule, switch the application to the
sandbox application and use the sandbox rule set to save your test rule.
If your team is not used to this process, it will take some time for them to adjust to this
new way of working, but with time you will see better results.

Methods and Instructions


This table lists Process Commander methods grouped by function, plus six instruction keywords
(Call, Collect, Branch, Queue, Rule, and Java).

The Call, Branch, Collect, Java, Queue, and Rule operations are technically
"instructions", not methods. For information on these instructions, see:
BRANCH Branching to another activity
CALL Calling another activity
COLLECT Begin execution of a collection rule
FLOW-NEW Start a flow execution
JAVA Using Java in an activity step
QUEUE Execute another activity asynchronously
RULE Using the Rule instruction to implement a custom rule type

Methods and instructions by function


Methods for entire clipboard pages
Page-Change- Class
Page-Clear- Messages
Page-Copy
Page-Merge-Into
Page-New
Page-Remove
Page-Rename
Page-Set-Messages
Page-Unlock
Page-Validate

Methods for persistent instances


Commit
Obj-Brow se
Obj-Delete
Obj-Delete-By-Handle
Obj-Filter
Obj-List
Obj-List-View
Obj-Open
Obj-Open-by-Handle
Obj-Refresh-and-Lock
Obj-Save
Obj-Save-Cancel
Obj-Sort
Obj-Validate
Rollback

Control methods and instructions


Activity-Clear-Status
Activity-Set-Status
Activity-End
Activity-List-Add
Branching to another activity
Calling another activity
Collect
Exit-Activity
Requestor-Stop
Thread-Clear
Wait

Flow-related methods
Flow -End
Flow -New
Obj-Set-Tickets
TaskStatus-Set

History methods
History-Add
History-List

Methods for connectors


Connect-dotNet
Connect-EJB
Connect-File
Connect-HTTP
Connect-Java
Connect-JCA
Connect-JMS
Connect-MSMQ
Connect-MQ
Connect-SOAP
Connect-Wait
RDB-Delete
RDB-List
RDB-Open
RDB-Save

Structured parsing
Apply-Parse-Delimited
Apply-Parse-Structured
Apply-Parse-XML
Map-Structured
Parse-Byte-Pos
Parse-Char-Pos
Parse-Fixed-Binary
Parse-Packed-Dec imal
Text-Infer
Text-Normalize

Methods for HTML and XML streams


Show -HTML
Show -Page
Show -Property
Show -Stream

Local variables
StringBuffer-Append
StringBuffer-Insert
StringBuffer-Reset

Other

Property methods

Assert-No-Invocation
Connect-FTP
Link-Objects
Log-Message
Privilege-Check
Property-Map-DecisionTable
Property-Map-DecisionTree
Property-Map-Value
Property-Map-ValuePair
Queue-for-Agent
Queue instruction

Apply-Model
Obj-Sort
Property-Remove
Property-Seek-Value
Property-Set
Property-Set-Corr
Property-Set-HTML
Property-Set-Messages
Property-Set-Stream
Property-Set-XML
Property-Validate

Advanced
Java in activity steps
Rule instruction
Start-Validate
End-Validate

Relating Java terms to Process Commander terms


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

Process
Commander

Rule type

term

Similar Java, XML, or


database concepts

expressions

Java expressions

models

Rule-Obj-Model

initializers, constructors

activities

Rule-Obj-Activity

public Java instance methods with a void return type

method

Rule-Method

system-supplied stored procedure

properties

Rule-Obj-Property

instance variables

Single Value property

Java String object

rule resolution

inheritance

property of mode Page List

repeating group

overridden rule

overloaded method

When condition rule

Rule-Obj-When

if statement

decision tree rule

Rule-Declare-DecisionTree nested if statement


primitive data types.
Most Java primitive data types are available as Process

Type for Value mode properties

Commander Types.
this keyword

primary page of an activity


ultimate base clas s
Value Group property mode

@baseclass

Object class topmost class


HashMap

Work Types and Work Items


Work Type: the information required for a type of business transaction
Work Item: the submitted information pertinent to a specific business transaction

Every transaction in business has to be reviewed and logged before its completed. Transactions
have been carried out with paper forms, and documented steps or informal communication
among employees. In PegaRULES Process Commander we design a Work Type for each
transaction, which will have defined process steps, and form fields to be filled in.
When an applicant fills out and submits a form, an active instance of the Work Type is created,
called a Work Item, also sometimes referred to as a Work Object or Case.
A Work Type defines the information required. The Work Item is the submission of information
pertinent to an individual or a specific transaction.
Submission of the form will start the process on this Work Item assigning tasks to staff,
handling data retrieval and updates, executing automated decisions.
Tasks to be completed by back office staff and other business users are called Assignments.
An assignment presents the user with a choice of actions, each with its own user interface. Each
of the possible actions is called a Flow Action.
After the last Assignment is complete, the work item is Resolved and, and the Work Item along
with all its associated information, including how it was processed, is stored in the PRPC
database.

push routing :-Assigning work to a worklist is an example of push routing and


pull routing :-using get next work to grab work from a workbasket is an example of pull routing.

Differences betweent pegav5x and v6x

differences
betweent pegav5x and v6x.ppt

Whats new in PRPC 6.2

whats new in PRPC


6.2.pdf

WhatsNewin_PRPC_6_3_Presentation

WhatsNewin_PRPC_
6_3_Presentation.pdf

Effort estimation

effort estimation.ppt

PRPC FAQs
1. Define Service and Connecter?
Service Pega PRPC acts as server and external system acts as client.
Service SOAP
Connect-- Pega PRPC acts as client and external system acts as server.
Connect-SOAP, Connect SQl
2. Which type of Service or Connecter used in your project?

Service-SOAP, Connect-SOAP, Connect-SQL


3. How to call one activity from other Activity

Call/branch
4. How to run 2 activities in parallel?

We will have run in parallel option to run Connect-SOAP activity..


5. Diff b/w Decision tree, Table, Map-Value?

Tree Complex if else structure..


Table- if else in tabular format.. less complex..
Map-Value based of single property..
6. Class group, work pool, workbasket, work group?
7. Different type of connecter in a flow?

Status,else,always
8. Flow, flow action, local action difference?

Flow---defines process
Local actionupdates the work item..never advances the flow..
Connectoradvances the flow..
9. What are SLA types types?

Workobject level give sla name at pySLAName property of data transform,


Assignment level..Give a Assignement shape
10. How you configure SLA in assignment?

At assignment shape in flow


11. What are Work parties?

Interested to know about the work but do not directly resolve WO ex


Com,gov,operator,org,Person
12. What are different methods used in activities?

Page-New, Page-Remove, Obj-open,Obj-List, Obj-Save, RDB-Save,RDB-List,RDB-Delete etc..


13. Activity types

Activity, utility, LoadDeclarativePage, Trigger,Validate,Assembly etc..,

14. How to create work object through an activity and which method to use to create work object

Call Work-.new
15. Case Management

16. Different type of flow

ScreenFlow, SubFlow starter flow..


17. Different types of container in section
18. Types of Harness

New, Confirm, Perform Review Reopen


19. Agent types

Standard,Advanced,Legacy
20. How you trace an agent

Using SMA
Agent Mgnt select the required agent-> delay the agent->
Find the requestor id..
Requestor Mgt -> trace the agent by selecting requestor id..
21. Data Queue agents

Created by PRPC system.. for Rule-Agent-Queue


22. Obj-open ,Obj-Browse

Obj-open to open single instance..


Browse is to form the list of embedded pages for the given cri teria..
23. Diff b/w Obj type methods and RDB type methods

Obj-used for both internal and external DBs


RDB used for only External databases..
RDB methods working with Pega internal DBs causes Loss of data.
24. Different types of properties

11 modes
Single aggregate..
25. Diff b/w single property , aggregate property

Single-Property simple integer, text, decimal, date, etc..,


Aggregate --- List, group properties
26. Define report and types

Reporting--- detailed display of records from DB..


27. Diff b/w list view ,Summary View and Report Definition

List view--- Detailed record by record display


Summary View--- Chart representation of data
Report DefinitionCan be used as both List View and Summary view
28. Email Listener ,File listener
29. Access Groups, access roles
30. Parameter values ,local values

Parameter values are across activities..


Local values available only in that activity..
31. Different types of pages in clipboard

Declare pages, user pages, operator ,Organization, division etc.,


32. PAL, Pre-flight

Preflight facilitates to find warnings in activities and decision rules..


Tracer
34. How to connect External DB from your application

33.

create

Data-Admin-DB-Name with java bridge details..


Data-Admin-DB-Table with schema name and Table name.
Click on test connectivity

35. Smart BPM Methodologies

14 steps..
36. Diff b/w BPM and BRE

BPM automatic processing..


BREOnly business rules.. flows not required.
37. Circumstance and types simple circumstance (value based,time based), multiple circumstance (circumstance
definition, circumstance template)
38. Rule set and Rule set Versions

Container of Rules id Rulesetmultiple versions can be created for a single ruleset


39. What is grid layout tree layout
40. Guardrails in Pega

Limit custom java, establish robust foundation, build for change, do nthing hard,etc..,
41. Import ,export rules Product, ProductPatch
42. Production rule set
43. Agile Methodologies SCRUM
44. Work Type:
fundamental unit of work .can be create, update and resolve
45. Work Item:
Unique Id, Urgency and status.
6R`s Automation: Receive (accepting), Routing, Report, Respond, Research (decision), Resolve
46. What are the fields in the properties panel of an assignment shape?

Route Notify Ticket Status Localactions Harness


47.

Where can we call the activities in a flow action?

Post activity Preactivity at action tab


48. What is Class structure of your Project? Explain about the project Flow?

Organizatin-> Division-> Framework->Implementation


49. What is the Rule availability?

Rule available for Rule Resolution algorithm, Yes,No,Final,Blocked,Wirhtdrawn


50.

What is the Final availability and how can change availability of Rule?

Save into different Ruleset


51. Can you Override Final rule?

S.

Only in same Ruleset

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

Benefits

The benefits of rule resolution include:

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

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

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

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

Applications can be developed independently from other applications, yet all can depend on common
rules that are locked (and so won't change).

Overview
The inputs to the rule resolution process are:

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

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

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

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

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

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

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

In some cases, the value of a circumstance property

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

The steps in the rule resolution process are:


Step 1: Check the Rules Cache . If the rule is there, go to Step 8.
Using rules already in the rules cache avoids additional database lookups.

Step 2: Choose instances with the correct purpose.

The purpose, or "family name" combines all the key properties of a rule, excluding the "defined on" class.
For an activity rule, the key properties include:

the Applies To class that the activity is defined on

the activity name

The purpose in this case is the activity name.


For a Field Value, the key properties include:

the Applies To class, as above

the Field Name

the Field Value

The purpose in this case is the Field Name plus the Field Value, for example "pyActionPrompt.ViewHistory".
The system chooses all items of the appropriate purpose and puts them in a temporary list.

Step 3: Discard rules where Availability = No.

The system drops unavailable rules from the temporary list.

Step 4: Discard inapplicable RuleSets and Versions .


The system drops from the list rules that belong to RuleSets and Versions that are not enabled for the current
requestor. For instance, if the user's profile includes the RuleSet version ThisRuleSet: 05-01, rules belonging to
ThisRuleSet: 04- or ThisRuleSet: 06- are dropped.
Step 5: Discard all candidates not defined in a class in the 'ancestor tree'.

Only rules found in classes from which the current class descends by either pattern or direct inh eritance will be
retained in the list.
This step is not used for rules which do not have the Use class-based inheritance to arrive at the correct rule to
execute box checked in their class definition.

Step 6: Rank remaining candidates.

The system ranks the remaining rules on the list in order of

Class

RuleSet

Circumstance

Circumstance Date

Date/Time Range

Version

Note that:

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

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

Circumstanced rules rank alphabetically by Circumstance value.

Circumstance Dates rank in descending value.

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

Rules which do not have the Use class-based inheritance to arrive at the correct rule to execute box checked in
their class definition are not ranked by class.

Step 6a: Discard choices that occur after the first "default" rule
A default rule (with no qualifiers defined) is considered a match for any Circumstance, Circumstance Date, or
Date/Time range. Therefore, the process discards any rules lower in the list than the first default rule it finds.

Step 7: Set the cache.

The process adds the rules that remain on the list to the cache as being selectable for use.
Step 8: Find the best instance and check for duplicates .
The process searches down the list for the first rule that:

exactly matches a Circumstanced Rule

has the correct Circumstanced Date

is in the correct Date/Time Range

or is the default Rule, with no qualifiers

When it finds a rule that matches these conditions, the process checks whether the next rule in the list is equally
correct. If it is, the process sends a message that there are duplicate rules in the system and stops processing.
If no duplicates are found, the system prepares to use the rule that matched the listed conditions.

Step 9: Check Availability is not Blocked.

The process checks Availability again, to see whether it is set to Blocked for this rule. If it is, the system sends a
message that it could not find an appropriate rule to use.

Step 10: Verify requestor is authorized to see the rule.

53. How it works in the while in Inheritance rule?

First checks pattern inheritance if rule not found then checks direct inheritance.
54. Can you tell me the direct inheritance and Pattern inheritance?

Direct inheritance inherits from immediate base class specified at creation of class.
Pattern inheritance inherits from classes having the same pattern
55. What is the Work object?

Basic unit of work in PRPC..


56. Where is the work object stored? Pc_work
57. Can you change the Work object table? S. create a table having schema similar to pc_work.. create a data
admin-db-table instance for this work class by giving the newly created table name.
58. What are the standard properties? PZ-cant read & write ,PX-Can read , Py- we can directly input to this
property.
59. Can you Change the py Standard properties prefix? If yes how can you Change property prefix? Method?

60. What is the difference between local flow action and connector flow action?
61. How one local flow action available at all the assignment? Create Flow action,,, add this at Design tab of
Flow ..
62. What are the assignment shape properties? Already given
63. What are the standard assignment properties? Already given
64. What is the inheritance? Explain? Already given
65. For example test property, test class, test class group are there. How the rule resolution work which rule is
find correctly (I need test property)?
66.
67.
68.
69.
70.

Rule resolution algorithm? How it works? Already given


Where did you include activity in the flow action? Already given
What are the decision rules? Can you explain me? Decision tree,table,when condition ----Already given
Can you call decision tree or table in the R-D-E? How? Use obtainvalue pega function
What is the Map value and Map value pair? Map value is for single property nd value pair is for 2
properties
71. Scenario ..
72. Decision tree call another decision tree? S use @obtainvalue function
73. How to call decision tree in the activity? Property-map-decision-tree
74. How to call decision table in the activity? Property-map-decision-table
75. How to get data from an external table? Already given
76. What are the parameters? In out parameters
77. What is the purpose of get content in list view? Contains java code for generating the pxresults for selected
criteria
78. How to retrieve embedded properties from list view? Use declare index
79. Can you tell the purpose of May I start in activity? Security purpose.. use this when a button needs to call
an activity.
80. Explain about spin off or split Join or Split for Each? Spin off is asynchronous.. parallel flows are executed
split-for-each based on the values in Page List flow is repeated for multiple number of times..
81. Can you create work object in the screen flow? Not possible
82. Without exposing the properties can you retrieve the properties? If criteria is used property exposing is
required
83. How can you expose the properties? Property->optimize this property or modifydatabase schema->selet
DB->select table-> selet property to expose..
84. What is the SLA? How can you create the SLA? Service Level agreements.. contains activities to be executed
on reaching goal deadline and post deadline times by adding the urgency value..
85. How to calculate urgency in SLA? Initial urgency + goal + deadline + past deadline
86. Example assignment urgency 50, work object urgency is 30, initial urgency 20, goal time 5,deadline =20 ,
passed deadline=25 20+5+20+25 (not sure)
87. How urgency calculated?
88. How many types of SLAs Explain? Already given
89. How many Max Records are retrieved from the list view? 10000
90. 60000 records are how to retrieves through list view? How can you solve it through list view?
91. What is the Agent? Can you tell me the agents type? Already given
92. One Html property is not worked well when flow execution time?
93. How can you Debug It? How can you fix the bugs? Rules inspector or F12 not sure
94. What is the pre-flight? Pre-flight tool how it runs? Already given
95. What is rule inspector? What Purpose We Use It? Finds rules such as Properties, Sections, Harnesses, HTML
Properties, field values.
96. What is the List view? If List view not appears in the Flow What We do? Select embedded option at list view
and place the listview in section
97. What is the Section and harness? Can you do customization in harness? Remove autogenerated code check
box & customize
98. What is Access Group?
99. What are different types of inheritance? Already given
100.
What is the difference between Abstract Class and Concrete class for Abstarct classes we can define
instances.. they are just definition pupose..

For concrete classes we can create instances,,


101.
102.

What is work party? Already given


What is a Product? Contains Rulesets Data instances to be moved from one environment to other,

103.
What Covers and Folders? Covers are tightly coupled.. contains covered work objects. Folders are
loosely coupled. Folder can contains folders in it..
104.
What is Split-Join? Already given
105.
What is Split-For Each? Already given
106.
What is Ticket? Used to jump in a flow from one shape to other shape without following a
sequence..
107.
What is skimming? Creating a new major ruleset for the existing rulesets. And placing the highest
versioned rules in the new ruleset
108.
What is clipboard? Temporary memory area for holding Pages Properties and values
109.
What is pyWorkPage? Holds work object details
110.
What is pz* properties? Already given
111.
What is py* properties? Already given
112.
What is declared page? Declarative pages are readonly pages.. reduces number of DB hits..

Available globally. Once they are referred in activities using the Delare page name they
are created..
When condition, Time can be specified for refresh strategy..
113.
114.
115.

What is spin-off? Already given


Types of inheritance Already given
What is AES?