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

Pega-FAQ

Embed Size (px)

DESCRIPTION

Pega

Citation preview

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

(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 smaller-

memory-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 Integration-

Connectors 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 auto-

increment 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 the RDB-List method. The results of the RDB-

List 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 RDB-

List 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 database columns.

Use the Obj-Open and Obj-Save methods, not the RDB- methods, with the Process Commander

database.

Debugging

Use the Clipboard tool to see the final SQL statement sent to the database and the results. (Use the

Tracer tool with breakpoints to pause processing before or after the RDB method executes.)

For advanced and detailed debugging, use the DB Trace feature of the Performance tool.

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 {Class } directive in the source SQL statement.

2. When the SQL contains no {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-Connect-

SOAP 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 the

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 indicates that this step has a precondition defined and enabled. When the row is activated,

click 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. What’s 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.

Connect

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

activities may be referenced by an Integrator shape ( or ) on a flow rule.

Locate An activity that finds a locatable page; referenced on when condition, Declare Expression and Constraints rules only.

Load

Declarative

Page

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

Notify

An activity that sends correspondence to a work party in a work 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 An activity that starts automatically when another activity step changes certain properties, as defined through a Declare OnChange rule.

Route

An activity that determines which user worklist or workbasket receives an assignment. In a flow rule, such activities may be referenced in the Properties

panel for an assignment, or explicitly in a Visio router shape ( ).

Trigger An activity that starts automatically when an object of a certain class is saved, as defined through a Declare Trigger rule.

Utility

An activity that typically updates a work 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 Work-

base class as the Applies To portion of their key.

The Activity Type field on the Activity form corresponds to the property Rule-Obj-

Property.pyActivityType.

Debugging and Troubleshoots:-

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

2) In Tracer, parameter page unnamed page click

3) In clipboard page, we cannot see parameters.

4) What are the pages in clipboard? user pages, requestor, thread, process----differences of these

5) When we create pyWorkPage where we will see this in the clipboard?

6) When we create work objects and cover objects where we will see this in the clipboard?

7) How will you trace service rules?

8) Trace open rule how it will work? What is the purpose of that rule?

9) How will you use watch variables in the Tracer?

10) How will you debug local variables in the Tracer?-- (we can see local variables in Tracer—in 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 log-

message 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? What’s 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 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.

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 can’t change the category of the flow. You can see in the 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 won’t 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., Data-

Admin-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

o Review the current schema of a database table.

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

o Expose a single value property as a new column

o 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) Harness Types? Differences of all types?

2) Rule Availabilities? No and Blocked difference?

3) How will you create Circumstance rule? Use of circumstance?

4) UAT and SIT work experience?

5) version 5.4/5.5/6.1/6.2 differences?

6) Case management use?

7) DCO purpose? ---for requirements gathering

8) Purpose of save and commit?

9) 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 Pega-

ProCom 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 rules-

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

o 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

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

Page-Validate method is used to validate all the properties present on a page. If a page has

embedded pages, this method works recursively to validate all the properties. This method

consumes lot of system resources and takes more time. If you want to validate specific

properties use Obj-Validate method with Rule-Obj-Validate rule.

Property-Validate method is used to impose restrictions on a property value. Use Edit validate

rule along with Property-Validate method to impose restrictions. You can validate multiple

properties using Property-Validate method.

2. What is difference between Edit validate and Edit Input rules?

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

rules can be used property-validate, Rule-Obj-Validate and Property rules.

Edit Input : Edit input rules converts user entered data into required format. For example is the

user enters date MM/DD/YYYY format, edit input rule coverts this date into DD-MMM-YYYY

(required format). Again we need to write java code for this transformation.

3. Where assignments will be stored in pega rules database?

Work List related assignments are stored in pc_assign_worklist.

Work basket related assignments are stored in pc_assign_workbasket.

4. Where work objects will be stored ?

Work Objects are stored in pc_work table by default. however if you want to store the work

objects in a user created table, follow the below mentioned steps.

o Create a schema similar to pc_work table. (The best thing is to copy the pc_work schema

and modify the table name and constraints name if any)

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

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

different tables?

Open/Create the Data-Admin-DB-Table instance for each class and mention the table name. By

doing this the individual work objects will be stored in the new table you mentioned in the Data-

Admin-DB-Table instance. This is a best practice if there too many object instances for each

class.

6. What is StepStatusGood, StepStatusFail rules?

StepStatusGood is a when condition defined in @baseclass, this when rule checks whether the

value of pxMethodStatus property is "Good".

StepStatusFail is a when condition defined in @baseclass, this when rule checks whether the

value of pxMethodStatus property is "Fail".

2

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.

3

Developers define access groups and associate an access group with each user (each Data-Admin-

Operator-ID instance). Typically, multiple users are associated with or belong to one access group.

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

Ticket?

What is the Declare expression?

Harness : Use harness rules to define the appearance and processing of work object forms used in your

application to create work objects and process assignments.

Where referenced --- Flow, Activity

Sections : A section is a portion or area of a standard work object form that is incorporated on a harness form.

Sections may contain other sections, informally called subsections.

The appearance, behavior, and contents of a section are defined by a section rule (Rule-HTML-Section rule type).

Section rules are referenced in:

Harness rules

Other section rules

Flow action rules

Paragraph rules with SmartInfo pop-ups

Flow Action :-

A flow action is a choice available to users as an interim or final disposition of an assignment they process. Each

flow action is defined by an instance of the Rule-Obj-FlowAction rule type.

Flow actions are of two types:

Connector flow actions appear as lines on Visio presentation in the Diagram tab of a flow rule. A line exits

from an assignment shape and ends at the next task in the flow. At runtime, users choose a connector flow

action, complete the assignment, and advance the work object along the connector to the next task.

A local flow action, when selected at runtime, causes the assignment to remain open and on the current

user's worklist. Local flow actions are recorded in the Assignment Properties panel and are not visible on

the Visio flow diagram.

ClipBoard :-

Every connected Process Commander requestor as an associated temporary memory area on the server known as

the clipboard . Clipboard consisting of nodes known as pages, most of which have a name and an associated

class.

Pages act as buffers or temporary copies of object instances (of that class) that are 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.

4

System-managed pages, including the requestor page, process page, application page, thread page,

Operator ID, Organization, OrgDivision, and OrgUnit.

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

of each page. Start the SMA using > System > Tools > System Management App, select a node, and then click

the Requestor Management menu item.

Clipboard Action Tab has the following options :-

Refresh, Refresh Current Page , Find, Create Page, Update Page, Delete Page, Execute Activity, Save Page, Start

Flow, Analyze Clipboard, Collect Details.

Clipboard Tool :-

Use the Clipboard tool when developing and debugging to:

Examine property values and messages associated with them

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

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

Quickly start activities and flows using the Action menu

Debugging with the Clipboard tool :

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

results with the Clipboard tool.

For example, when you execute an activity that contains a Page-New method, you can see the resulting named top-

level page in the User Pages section. If you execute an activity that uses the Property-Set method (on a named

clipboard page), you can see the new values.

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 few seconds until the Tracer

connects.

5

SMA :-

The System Management application (SMA) is a Web application that developers can use to monitor and control

caches, agents, listeners, and other processing in your Process Commander system. The URL name is prsysmgmt.

select > System > Tools > System Management App or type the equivalent keyboard shortcut CTRL

+ALT+M.

Using the System Management application, you can:

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

Review the most recent ServletRequest and HTTPRequest details.

Display the prconfig.xml file.

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

View rule cache statistics, and empty the cache.

Ticket :-

Tickets will provide an event-driven override to normal sequential processing. A Ticket rule only

defines a name and its description.

Where referenced

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

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

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

the current application.

6

Note :- As a best practice to simplify your application, call the standard activity Work-.SetTicket

from your activity rather than reference this method. That activity sets and later resets a

single ticket, identified in an activity parameter.

Declarative Rules :-

A declarative rule is an instance in a class derived from the Rule-Declare- class.

You can establish required relationships among properties in a Declare Expression, Constraints, Declare OnChange

or Declare Trigger rule

1. Declare Expression --- Forward and backward chaining

2. Declare Constraint -- Forward chaining

3. Declare Onchange -- Forward chaining

4. Declare Index -- -- Forward chaining

5. Declare Trigger -- Forward chaining

6. Declare Pages -- Forward chaining

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

expressions.

Category

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

category.

Declare Constraint : -Create constraints rules to define and enforce comparison relationships among property

values. Constraints rules can provide an automatic form of property validation every time the property's value is

"touched",

Category

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

Declare Onchange :- Create Declare OnChange rules to run an activity automatically at activity step boundaries

when the value of a specified property changes.

Category

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

Declare Trigger :-

Create Declare Trigger rules to cause an activity to run when instances of a specific class are created, updated, or

deleted in the database.

Where referenced

No other rules explicitly reference Declare Trigger rules. After you save a Declare Trigger rule, Process Commander

immediately begins to run it when and as needed.

Category

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

Declare Pages :-

7

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.

8

You can incorporate decision tables in a flow rule using the Decision task shape ( ). At runtime, the system

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

Where referenced

Rules of four other types can reference decision table rules:

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

( ).

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

A Declare Expression rule can call a decision table rule.

A collection rule can call a decision table rule.

Decision Tree :- A decision tree rule defines a series of tests that are performed on property values to allow an

automated decision. Decision trees are instances of the Rule-Declare-DecisionTree rule type.

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

You can incorporate decision trees in a flow using the Decision Task shape ( ). At runtime, the system

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

Where referenced

Rules of four other types can reference decision tree rules:

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

( ).

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

A Declare Expression rule can call a decision tree rule.

A collection rule can call a decision table rule.

Circumstance :-

A circumstance is an optional qualification available for all rules. Using a circumstance allows your application to

support multiple variants of a rule. For example, 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.

9

To create a circumstance-qualified rule, first define an unqualified or base rule instance (with the Circumstance

values left blank). Then use the toolbar Save As button ( ) to create a second rule qualified by a circumstance.

About Circumstance Definition rules Purpose

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

Where referenced

Circumstance template rules reference circumstance definition rules.

About Circumstance Template rules

Purpose

Use a circumstance template rule to identify properties for multivariate circumstanced rules. A circumstance template

rule contains an array of properties such as .State, .Channel, and .ClaimAmount that reference property values

in one or more circumstance definition rules.

Where referenced

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

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

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

Ans : Cover has tightly coupled work objects whereas folder has loosely coupled.

Cover has one-one , one-many relationships with its work objects(meaning that a work object only one

cover and a cover can have many work objects.). Folder has many-many relationship.

A cover can have a cover but a cover can NEVER have a folder in it. Folder can have covers.

Note: A cover can hold upto 20 work objects.

2. PEGA-prpc

Ans : Pega/PRPC is a popular rules engine and BPM tool from Pega systems that is

gaining good market share among large corporations. Architects and developers build

the Pega/PRPC instance while administrators and even select business analysts have

the option of changing workflow rules during runtime. Infact, their motto itself is

"Build for change". The goal is to "eliminate software coding" and "automate manual

work" to the minimum and build complex systems at the enterprise level with features right out-of-the-box.

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

10

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.

11

For example, the standard Page Group property named Work-.pyWorkParty can contain

pyWorkParty(Lawyer), pyWorkParty(Customer), pyWorkParty(Staff), and so on.

Advanced Tab :

Define a length in characters (for text properties)

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

Define edits and validation criteria

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

database column

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

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

Applying a model.

Including the reference directive with the INPUT keyword (or the equivalent p:r JSP tag) in

HTML text. This lets a user enter a value into an HTML form.

Px,py,pz

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

Edit Input :-

1. An edit input rule provides a conversion facility.

2. Edit input rules perform conversions, not validations.

3. Use validate rules and edit validate rules for validations.

4. Edit input rules use Java code for the conversion.

5. You can reference an edit input rule in the Edit Input Value field on the Property form.

Edit Validate :-

1. Edit Validate Tests the validity of an input value in an activity that processes user input. The activity

calls the Property-Validate method .

2. A property rule (of mode Single Value, Value List or Value Group) may reference an edit

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

validate rule.

3. If an input field is blank, the edit validate rule associated with the property is not called. You can't

create an edit validate rule that checks whether a value is empty.

Field Value :-

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

Edit feature of the Property form.

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

Access Role :-

12

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 capabilit ies 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

13

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?

14

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

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

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-Admin-

DB-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

o Review the current schema of a database table.

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

o Expose a single value property as a new column

o 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) Rdb-save and Obj-save difference?

10) Rdb methods and obj methods difference?

11) Declare Expressions? Can we execute them forcibly?

12) 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 log-

message 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) SOAP service creation steps?

14) Connector rules creation steps?

15) Flow Shapes? Split-ForEach and Spin-Off difference?

16) Screen Flow and Regular Flow difference?

17) In a Flow, we have A1,A2,A3,A4,A5 assignments. I want to go from A2 to A5 directly. How?

18) Purpose of Joins tab in ListView?

19) ListView and Summary View difference?

20) Harness Types? Differences of all types?

21) Rule Availabilities? No and Blocked difference?

22) How will you create Circumstance rule? Use of circumstance?

23) Local Action and Flow Action difference?

24) Where will you modify Work Object Status?

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 rules-

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

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

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.

Connect

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

activities may be referenced by an Integrator shape ( or ) on a flow rule.

Locate An activity that finds a locatable page; referenced on when condition, Declare Expression and Constraints rules only.

Load

Declarative

Page

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

Notify

An activity that sends correspondence to a work party in a work 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 An activity that starts automatically when another activity step changes certain properties, as defined through a Declare OnChange rule.

Route

An activity that determines which user worklist or workbasket receives an assignment. In a flow rule, such activities may be referenced in the Properties

panel for an assignment, or explicitly in a Visio router shape ( ).

Trigger An activity that starts automatically when an object of a certain class is saved, as defined through a Declare Trigger rule.

Utility

An activity that typically updates a work 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 Work-

base class as the Applies To portion of their key.

The Activity Type field on the Activity form corresponds to the property Rule-Obj-

Property.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 in external systems, via connectors).

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

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

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

the same serial number property for the same employee.

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

Service Level rules) and division-wide data assets (such as classes and rules for data stored in the system, and classes and rules for access to data in external systems, via connectors).

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

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

consistently enforce a focus on meeting its customer relationship commitments.

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

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

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

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

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

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

line division.

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

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

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

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

line division layer and the auto loan framework layer.

PRPC Base 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 integration-related 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 o Application Profile delegation for shared authoring

o Option to build only a framework layer

o Enhanced framework support to build another framework and implementation on top of an existing framework

o Improved capabilities for class structure generation and data mapping

o 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. Create a sandbox ruleset and version

2. Update ruleset restrictions in classes to include the sandbox ruleset

3. Create a separate sandbox application rule and include the sandbox ruleset and put

your main application as the Built on Application

4. Create a sandbox access group and include the sandbox application

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

Property methods

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

Local variables

StringBuffer-Append

StringBuffer-Insert

StringBuffer-Reset

Other

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

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

term

Rule type 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

Type for Value mode properties

primitive data types.

Most Java primitive data types are available as Process

Commander Types.

primary page of an activity this keyword

ultimate base class @baseclass Object class — topmost class

Value Group property mode HashMap

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 it’s 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

What’s 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 action—updates the work item..never advances the flow.. Connector—advances the flow..

9. What are SLA type’s 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 Definition—Can 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..

33. Tracer 34. How to connect External DB from your application

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.. BRE—Only 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 Ruleset—multiple 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 inheritance will be

retained in the list.

This step is not used for rules which do not have the Use class-based inheritance to arrive at the correct rule to

execute box checked in their class definition.

Step 6: Rank remaining candidates.

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

Class

RuleSet

Circumstance

Circumstance Date

Date/Time Range

Version

Note that:

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

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

Circumstanced rules rank alphabetically by Circumstance value.

Circumstance Dates rank in descending value.

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

descending order).

Rules which do not have the Use class-based inheritance to arrive at the correct rule to execute box checked in

their class definition are not ranked by class.

Step 6a: Discard choices that occur after the first "default" rule

A default rule (with no qualifiers defined) is considered a match for any Circumstance, Circumstance Date, or

Date/Time range. Therefore, the process discards any rules lower in the list than the first default rule it finds.

Step 7: Set the cache.

The process adds the rules that remain on the list to the cache as being selectable for use.

Step 8: Find the best instance and check for duplicates.

The process searches down the list for the first rule that:

exactly matches a Circumstanced Rule

has the correct Circumstanced Date

is in the correct Date/Time Range

or is the default Rule, with no qualifiers

When it finds a rule that matches these conditions, the process checks whether the next rule in the list is equally

correct. If it is, the process sends a message that there are duplicate rules in the system and stops processing.

If no duplicates are found, the system prepares to use the rule that matched the listed conditions.

Step 9: Check Availability is not Blocked.

The process checks Availability again, to see whether it is set to Blocked for this rule. If it is, the system sends a

message that it could not find an appropriate rule to use.

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

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. Rule resolution algorithm? How it works? Already given 67. Where did you include activity in the flow action? Already given 68. What are the decision rules? Can you explain me? Decision tree,table,when condition ----Already given 69. Can you call decision tree or table in the R-D-E? How? Use obtainvalue pega function 70. 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 agent’s 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. What is work party? Already given 102. 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. What is spin-off? Already given 114. Types of inheritance Already given 115. What is AES?